Ծրագրային փաթեթների կառավարում yum-ով RHEL7/CENTOS7-ում


Red Hat Enterprise Linux-ում և CENTOS-ում ծրագրային փաթեթները կառավարելու համար օգտագործվող լռելյայն օգտակար ծրագիրը yum-ն է, որը նշանակում է Yellowdog թարմացման կառավարիչ: Yum-ը նախատեսված է պահեստների հետ աշխատելու համար, որոնք հասանելի ծրագրային փաթեթների առցանց պահեստներ են:

YUM (yellowdog Updater Փոփոխված)

Red Hat Enterprise Linux-ը տեղադրելիս խնդրում է գրանցվել Red Hat ցանցում (RHN): RHN-ից տրամադրվում են տարբեր շտեմարաններ: RHN-ում գրանցվելուց հետո կարող եք տեղադրել ծրագրային փաթեթներ, որոնք ավտոմատ կերպով ստուգվում են Red Hat-ի կողմից: Եթե դուք օգտագործում եք CentOS, դուք ստանում եք մուտք դեպի CentOS պահեստներ: Եթե դուք ընտրում եք տեղադրել Red Hat Enterprise Linux-ը առանց գրանցման բանալիի, այնուամենայնիվ, այն չի կարող կապ հաստատել RHN պահոցների հետ, և դուք ընդհանրապես պահեստներ չեք ունենա: Այդ դեպքում դուք պետք է կարողանաք ինքներդ նշել, թե որ պահոցն եք ուզում օգտագործել: Նկատի ունեցեք, որ պահեստները հատուկ են օպերացիոն համակարգին:

Որպեսզի ձեր սերվերին ասեք, թե որ պահոցն օգտագործի, դուք պետք է ստեղծեք ֆայլ անունով, որը վերջանում է .repo-ով: Այդ ֆայլում ձեզ հարկավոր է հետևյալ բովանդակությունը.

[label] .repo ֆայլը կարող է պարունակել տարբեր պահոցներ, որոնցից յուրաքանչյուրը սկսվում է պիտակով, որը նույնականացնում է կոնկրետ պահոցը:
 name= Օգտագործեք սա՝ նշելու այն պահեստի անունը, որը ցանկանում եք օգտագործել:
 baseurl= Պարունակում է URL-ը, որը մատնանշում է պահեստի կոնկրետ վայրը:
Պահեստի ֆայլերում, որոնք տրամադրվում են լռելյայնորեն, դուք կարող եք գտնել մի քանի պահեստներ մեկ ֆայլում, . Սա օգտակար է պահոցների խմբավորման համար, որոնք պատկանում են միասին մեկ ֆայլի մեջ, և հաճախ արվում է պահեստային ֆայլերում, որոնք տրամադրվում են որպես լռելյայն: Եթե դուք ինքներդ եք ստեղծում պահեստային ֆայլեր, դուք ազատ եք ստեղծելու առանձին ֆայլեր յուրաքանչյուր պահոցի համար:

Աշխատում է yum որոնման հետ

Yum-ով փաթեթներ տեղադրելու համար նախ պետք է իմանաք փաթեթի ճշգրիտ անվանումը: yum որոնման հրամանը կարող է օգնել ձեզ այդ հարցում: Երբ դուք օգտագործում եք yum որոնումը, այն նախ կապի մեջ է մտնում առցանց պահոցների հետ (որը կարող է տևել մեկ րոպե), որից հետո այն ներբեռնում է պահեստի ամենավերջին մետատվյալները տեղական մեքենա: Այնուհետև, yum որոնումը փնտրում է փաթեթի անվանումը և նկարագրությունը այն տողի համար, որը դուք փնտրում էիք:

[root@centos Desktop]# yum search nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
============================== N/S matched: nmap ===============================
nmap-frontend.noarch : The GTK+ front end for nmap
nmap-ncat.x86_64 : Nmap's Netcat replacement
nmap.x86_64 : Network exploration tool and security scanner

 Name and summary matches only, use "search all" for everything.
yum info

Երբ որոնեք փաթեթ՝ օգտագործելով yum որոնումը, կարող եք օգտագործել «yum info փաթեթը» փաթեթի մասին լրացուցիչ տեղեկություններ դիտելու համար:

[root@centos Desktop]# yum info nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.riken.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
Available Packages
Name        : nmap
Arch        : x86_64
Epoch       : 2
Version     : 6.40
Release     : 7.el7
Size        : 4.0 M
Repo        : base/7/x86_64
Summary     : Network exploration tool and security scanner
URL         : http://nmap.org/
License     : GPLv2 and LGPLv2+ and GPLv2+ and BSD
Description : Nmap is a utility for network exploration or security auditing.
            : It supports ping scanning (determine which hosts are up), many
            : port scanning techniques (determine what services the hosts are
            : offering), and TCP/IP fingerprinting (remote host operating system
            : identification). Nmap also offers flexible target and port
            : specification, decoy scanning, determination of TCP sequence
            : predictability characteristics, reverse-identd scanning, and more.
            : In addition to the classic command-line nmap executable, the Nmap
            : suite includes a flexible data transfer, redirection, and
            : debugging tool (netcat utility ncat), a utility for comparing scan
            : results (ndiff), and a packet generation and response analysis
            : tool (nping).

Ծրագրաշարի տեղադրում yum-ով

մենք կարող ենք փաթեթներ տեղադրել՝ օգտագործելով yum install package-name հրամանը:

# yum install -y nmap

[root@centos ~]# yum install nmap
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirrors.vinahost.vn
Resolving Dependencies
--> Running transaction check
---> Package nmap.x86_64 2:6.40-7.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
 Package                          Arch                               Version                                   Repository                        Size
======================================================================================================================================================
Installing:
 nmap                             x86_64                             2:6.40-7.el7                              base                             4.0 M

Transaction Summary
======================================================================================================================================================
Install  1 Package

Total download size: 4.0 M
Installed size: 16 M
Is this ok [y/d/N]: y
Downloading packages:
nmap-6.40-7.el7.x86_64.rpm                                                                                                     | 4.0 MB  00:00:31     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 
  Verifying  : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 

Installed:
  nmap.x86_64 2:6.40-7.el7                                                                                                                            

Complete!

Լռելյայն «yum install»-ը ձեզ հուշում է ընդունել կամ մերժել փաթեթները տեղադրելուց առաջ: Եթե ցանկանում եք, որ yum-ը ավտոմատ կերպով տեղադրվի առանց հուշելու, օգտագործեք -y տարբերակը:

Մենք կարող ենք նաև թարմացնել nmap փաթեթը: Պարզապես փոխեք հրամանը install-ից թարմացման

# yum թարմացում -y nmap

Տեղադրեք փաթեթը` օգտագործելով yum remove

[root@centos ~]# yum remove nmap
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package nmap.x86_64 2:6.40-7.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================
 Package                          Arch                               Version                                  Repository                         Size
======================================================================================================================================================
Removing:
 nmap                             x86_64                             2:6.40-7.el7                             @base                              16 M

Transaction Summary
======================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 
  Verifying  : 2:nmap-6.40-7.el7.x86_64                                                                                                           1/1 

Removed:
  nmap.x86_64 2:6.40-7.el7                                                                                                                            

Complete!

Օգտագործելով Yum list հրամանը կարող եք թվարկել yum պահեստներում առկա փաթեթները

#yum ցուցակ

[root@centos Desktop]# yum list |grep less
java-1.7.0-openjdk-headless.x86_64         1:1.7.0.91-2.6.2.3.el7     @anaconda 
java-1.8.0-openjdk-headless.x86_64         1:1.8.0.65-3.b17.el7       @anaconda 
less.x86_64                                458-9.el7                  @anaconda 
java-1.7.0-openjdk-headless.x86_64         1:1.7.0.95-2.6.4.0.el7_2   updates   
java-1.8.0-openjdk-headless.x86_64         1:1.8.0.71-2.b15.el7_2     updates   
java-1.8.0-openjdk-headless-debug.x86_64   1:1.8.0.71-2.b15.el7_2     updates   
lesstif.x86_64                             0.95.2-8.el7               epel      
lesstif-clients.x86_64                     0.95.2-8.el7               epel      
lesstif-devel.x86_64                       0.95.2-8.el7               epel      
lesstif-mwm.x86_64                         0.95.2-8.el7               epel      
libreoffice-headless.x86_64                1:4.3.7.2-5.el7_2.1        updates   
nodejs-less.noarch                         1.7.0-2.el7                epel      
php-lessphp.noarch                         0.5.0-2.el7                epel      
python-blessings.noarch                    1.5-3.el7                  epel      
python-lesscpy.noarch                      0.9j-4.el7                 epel      
wireless-tools.x86_64                      1:29-13.el7                epel      
wireless-tools-debuginfo.x86_64            1:29-9.1.el7.nux           nux-dextop
wireless-tools-devel.x86_64                1:29-13.el7                epel

Եթե ցանկանում եք տեսնել, թե որ փաթեթներն են տեղադրված ձեր սերվերի վրա, դրա փոխարեն կարող եք օգտագործել yum list installed հրամանը:

տեղադրված է #yum ցուցակը

[root@centos Desktop]# yum list installed |grep less
java-1.7.0-openjdk-headless.x86_64    1:1.7.0.91-2.6.2.3.el7         @anaconda  
java-1.8.0-openjdk-headless.x86_64    1:1.8.0.65-3.b17.el7           @anaconda  
less.x86_64                           458-9.el7                      @anaconda  

«Yum list» հրամանը կարող է նաև օգտակար լինել, երբ օգտագործվում է որոշակի փաթեթի անունը որպես իր արգումենտ:

Linux ապարատի վրա հատուկ ծառայություններ կառավարելիս ձեզ հաճախ անհրաժեշտ են մի քանի տարբեր փաթեթներ: Եթե, օրինակ, ձեր սերվերը որպես վեբ սերվեր կարգավորելիս, դուք պետք է տեղադրեք լրացուցիչ փաթեթներ, ինչպիսին է PHP-ն, ինչպես նաև շատ դեպքերում: Որոնելու և տեղադրելու փոխարեն բոլոր առանձին փաթեթները, որոնք պատկանում են որոշակի ֆունկցիայի, կարող եք պարզապես տեղադրել խումբը: , որը կտեղադրի խմբին պատկանող բոլոր փաթեթները։

[root@centos ~]# yum group list


Available Groups:
   CIFS file server
   Compatibility Libraries
   Console Internet Tools
   Desktop
   Desktop Platform
   Desktop Platform Development
   Development Tools
   Eclipse
   Educational Software
   Electronic Lab
   FCoE Storage Client
   Fedora Packager
   General Purpose Desktop
   Graphical Administration Tools
   Haskell
   Legacy UNIX Compatibility
   Messaging Client Support
   Messaging Server Support
   Milkymist
   MySQL Database client
   MySQL Database server
   NFS file server
   Network Storage Server
   SNMP Support
   Scientific Support
   Security Tools
   Server Platform
   Server Platform Development
   Smart Card Support
   Storage Availability Tools
   System Administration Tools
   System Management
   TeX support
   TurboGears application framework
   Virtualization
   Web-Based Enterprise Management
   Xfce
   iSCSI Storage Client
Done
yum groupinstall "<group name>"

մենք կարող ենք տեղադրել հատուկ ծրագրային խումբ՝ օգտագործելով  groupinstall տարբերակը:

Եթե դուք արդեն տեղադրել եք ծրագրաշարի խումբ՝ օգտագործելով yum groupinstall, և ցանկանում եք այն թարմացնել վերջին տարբերակին, օգտագործեք «yum groupupdate», և մենք կարող ենք հեռացնել այն՝ օգտագործելով yum groupremove

Yum repolist

Բոլոր yum հրամանները դեմ են մեկ կամ մի քանի yum պահեստներին: Բոլոր yum պահեստները դիտելու համար, որոնք կազմաձևված են ձեր համակարգում, կատարեք «yum repolist», ինչպես ցույց է տրված ստորև:

Հետևյալը կցուցադրի միայն միացված պահեստները:

[root@centos Desktop]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: mirror.nbrc.ac.in
 * nux-dextop: mirror.li.nux.ro
 * updates: mirror.nbrc.ac.in
repo id                repo name                                         status
!adobe-linux-x86_64    Adobe Systems Incorporated                            2
!base/7/x86_64         CentOS-7 - Base                                   9,007
!bsrtech               bsrtech                                           1,164
*!epel/x86_64          Extra Packages for Enterprise Linux 7 - x86_64    9,627
!extras/7/x86_64       CentOS-7 - Extras                                   226
!nux-dextop/x86_64     Nux.Ro RPMs for general desktop use               2,360
!updates/7/x86_64      CentOS-7 - Updates                                  919
repolist: 23,305

Yum-ը ապահովում է

Օգտագործեք «yum provides», եթե ցանկանում եք իմանալ, թե որ փաթեթին է պատկանում տվյալ ֆայլը: Օրինակ, եթե ցանկանում եք իմանալ փաթեթի անունը, որն ունի /etc/httpd/conf/httpd.conf ֆայլը, արեք հետևյալը.

[root@centos Desktop]# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror, langpacks

httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf



httpd-2.4.6-40.el7.centos.x86_64 : Apache HTTP Server
Repo        : @anaconda
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

Հաճելի է

«Yum clean all» հրամանը ոչ միայն կհեռացնի քեշավորված փաթեթները, այլև ցանկացած վերնագիր: Ես դա անում եմ երբեմն, որպեսզի ամբողջությամբ մաքրեմ ամեն ինչ, եթե կան հնացած վերնագրեր, որոնք նույնպես կարող են տեղ գրավել:

համ մաքուր փաթեթներ
Հեռացրեք ցանկացած քեշավորված փաթեթներ համակարգից: Նկատի ունեցեք, որ փաթեթը-
տարիքները ներբեռնվելուց հետո ինքնաբերաբար չեն ջնջվում:

շատ մաքուր վերնագրեր
Ջնջեք բոլոր ֆայլերը, որոնք yum-ն օգտագործում է
-ը որոշելու համար փաթեթների հեռավոր հասանելիություն: Այս տարբերակի օգտագործումը կստիպի
yum՝ հաջորդ անգամ գործարկվելիս բոլոր վերնագրերը ներբեռնելու համար:

yum clean all
Աշխատում է yum մաքուր փաթեթներ և yum մաքուր վերնագրեր, ինչպես վերևում»:

[root@centos Desktop]# yum clean
Loaded plugins: fastestmirror, langpacks
Error: clean requires an option: headers, packages, metadata, dbcache, plugins
, expire-cache, rpmdb, all
[root@centos Desktop]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: adobe-linux-x86_64 base bsrtech epel extras nux-dextop updates
Cleaning up everything
Cleaning up list of fastest mirrors

Yum History

yum-ի հետ աշխատելիս բոլոր գործողությունները գրանցվում են /var/log/yum.log ֆայլում: Դուք կարող եք օգտագործել yum history հրամանը՝ թողարկված բոլոր գործողությունների ակնարկ ստանալու համար:

[root@centos ~]# yum history
Loaded plugins: fastestmirror, langpacks
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root <root>              | 2016-03-16 15:32 | Erase          |    1   
     9 | root <root>              | 2016-03-16 15:23 | Install        |    1   
     8 | root <root>              | 2016-03-16 14:52 | Install        |    1   
     7 | root <root>              | 2016-03-14 13:49 | Install        |    1   
     6 | root <root>              | 2016-03-14 13:48 | Install        |   37   
     5 | root <root>              | 2016-03-14 13:25 | Install        |    1   
     4 | root <root>              | 2016-03-14 13:25 | Update         |    1   
     3 | root <root>              | 2016-03-14 13:17 | Install        |    1  
     2 | root <root>              | 2016-03-14 12:47 | Install        |    1  
     1 | System <unset>           | 2016-03-14 11:17 | Install        | 1939   
history list

Պատմության ֆայլից հնարավոր է հետարկել կոնկրետ գործողություններ. օգտագործեք yum history undo որին հաջորդում է հատուկ գործողության թիվը (վերևում նշված է որպես ID), որը ցանկանում եք հետարկել:

Ձեր համակարգում պահպանվում են երկու փաթեթի տվյալների բազա՝
Yum տվյալների բազան և
  rpm տվյալների բազա:
Երբ դուք փաթեթներ եք տեղադրում yum-ի միջոցով, սկզբում թարմացվում է yum տվյալների բազան, որից հետո թարմացված տեղեկատվությունը համաժամացվում է RPM տվյալների բազայի հետ: Եթե դուք փաթեթներ եք տեղադրում՝ օգտագործելով rpm հրամանը, թարմացումը գրվում է միայն rpm տվյալների բազայում և չի թարմացվի yum տվյալների բազայում, ինչը կարևոր պատճառ է rpm հրամանն այլևս չօգտագործելու ծրագրային փաթեթներ տեղադրելու համար: