20 YUM skipanir fyrir Linux pakkastjórnun


Í þessari grein munum við læra hvernig á að setja upp, uppfæra, fjarlægja, finna pakka, stjórna pakka og geymslum á Linux kerfum með því að nota YUM (Yellowdog Updater Modified) tól þróað af RedHat.

Dæmiskipanirnar sem sýndar eru í þessari grein eru nánast prófaðar á RHEL vottunum okkar, eða bara til að kanna leiðir til að setja upp nýja pakka og halda kerfinu þínu uppfærðu.

Grunnkrafa þessarar greinar er að þú verður að hafa grunnskilning á skipunum og virku Linux stýrikerfi, þar sem þú getur skoðað og æft allar skipanir sem taldar eru upp hér að neðan.

Hvað er YUM?

YUM (Yellowdog Updater Modified) er opinn uppspretta skipanalína sem og grafískt byggt pakkastjórnunartæki fyrir RPM (RedHat Package Manager) byggt Linux kerfi.

Það gerir notendum og kerfisstjórum kleift að setja upp, uppfæra, fjarlægja eða leita í hugbúnaðarpökkum á kerfi auðveldlega. Það var þróað og gefið út af Seth Vidal undir GPL (General Public License) sem opinn uppspretta, sem þýðir að allir geta fengið leyfi til að hlaða niður og fá aðgang að kóðanum til að laga villur og þróa sérsniðna pakka.

YUM notar fjölmargar geymslur frá þriðja aðila til að setja upp pakka sjálfkrafa með því að leysa ósjálfstæðisvandamál þeirra.

Uppfærsla: Skipuninni yum er skipt út fyrir dreifingar sem byggja á RPM.

Til að setja upp pakka sem heitir Firefox, keyrðu bara skipunina hér að neðan, það mun sjálfkrafa finna og setja upp allar nauðsynlegar ósjálfstæðir fyrir Firefox.

# yum install firefox
Loaded plugins: fastestmirror
Dependencies Resolved

================================================================================================
 Package                    Arch        Version                    Repository            Size        
================================================================================================
Updating:
firefox                        i686        10.0.6-1.el6.centos     updates             20 M
Updating for dependencies:
 xulrunner                     i686        10.0.6-1.el6.centos     updates             12 M

Transaction Summary
================================================================================================
Install       0 Package(s)
Upgrade       2 Package(s)

Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm                                |  20 MB   01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm                              |  12 MB   00:52
------------------------------------------------------------------------------------------------
Total                                                           63 kB/s |  32 MB   02:04

Updated:
  firefox.i686 0:10.0.6-1.el6.centos

Dependency Updated:
  xulrunner.i686 0:10.0.6-1.el6.centos

Complete!

Ofangreind skipun mun biðja um staðfestingu áður en einhver pakki er settur upp á vélinni þinni. Ef þú vilt setja upp pakka sjálfkrafa án þess að biðja um staðfestingu skaltu nota valkostinn -y eins og sýnt er hér að neðan.

# yum -y install firefox

Til að fjarlægja pakka alveg með öllum ósjálfstæðum, keyrðu bara eftirfarandi skipun eins og sýnt er hér að neðan.

# yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                    Arch        Version                        Repository            Size        
====================================================================================================
Removing:
 firefox                    i686        10.0.6-1.el6.centos            @updates              23 M

Transaction Summary
====================================================================================================
Remove        1 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : firefox-10.0.6-1.el6.centos.i686                                                                                                                          1/1

Removed:
  firefox.i686 0:10.0.6-1.el6.centos

Complete!

Á sama hátt mun ofangreind skipun biðja um staðfestingu áður en pakki er fjarlægður. Til að slökkva á staðfestingarkvaðningu skaltu bara bæta við valkostinum -y eins og sýnt er hér að neðan.

# yum -y remove firefox

Segjum að þú sért með gamaldags útgáfu af MySQL pakkanum og þú vilt uppfæra hann í nýjustu stöðugu útgáfuna. Keyrðu bara eftirfarandi skipun, það mun sjálfkrafa leysa öll ósjálfstæðisvandamál og setja þau upp.

# yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved

============================================================================================================
 Package            Arch                Version                    Repository                    Size
============================================================================================================
Updating:
 vsftpd             i386                2.0.5-24.el5_8.1           updates                       144 k

Transaction Summary
============================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : vsftpd                                                                     1/2
  Cleanup        : vsftpd                                                                     2/2

Updated:
  vsftpd.i386 0:2.0.5-24.el5_8.1

Complete!

Notaðu listaaðgerðina til að leita að tilteknum pakka með nafni. Til dæmis til að leita að pakka sem heitir OpenSSH, notaðu skipunina.

# yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nus.edu.sg
Installed Packages
openssh.i386                                       4.3p2-72.el5_6.3                                                                      installed
Available Packages                                 4.3p2-82.el5                                                                          base

Til að gera leitina nákvæmari skaltu skilgreina pakkanöfn með útgáfu þeirra, ef þú veist það. Til dæmis til að leita að ákveðinni útgáfu OpenSSH-4.3p2 af pakkanum, notaðu skipunina.

# yum list openssh-4.3p2

[Þér gæti líka líkað við: Hvernig á að tryggja og herða OpenSSH Server ]

Ef þú manst ekki nákvæmlega nafn pakkans, notaðu þá leitaraðgerðina til að leita í öllum tiltækum pakka til að passa við nafn pakkans sem þú tilgreindir. Til dæmis til að leita í öllum pökkunum sem passa við orðið.

# yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon

Segðu að þú viljir vita upplýsingar um pakka áður en þú setur hann upp. Til að fá upplýsingar um pakka skaltu bara gefa út skipunina hér að neðan.

# yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
Available Packages
Name       : firefox
Arch       : i386
Version    : 10.0.6
Release    : 1.el5.centos
Size       : 20 M
Repo       : updates
Summary    : Mozilla Firefox Web browser
URL        : http://www.mozilla.org/projects/firefox/
License    : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
           : compliance, performance and portability.

Til að skrá alla tiltæka pakka í Yum gagnagrunninum skaltu nota skipunina hér að neðan.

# yum list | less

Til að skrá alla uppsettu pakka á kerfi skaltu bara gefa út skipunina hér að neðan, hún mun birta alla uppsettu pakka.

# yum list installed | less

Yum veitir aðgerð er notuð til að finna hvaða pakka tiltekin skrá tilheyrir. Til dæmis, ef þú vilt vita nafnið á pakkanum sem hefur /etc/httpd/conf/httpd.conf.

# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo        : installed
Matched from:
Other       : Provides-match: /etc/httpd/conf/httpd.conf

Til að finna hversu margir uppsettir pakkar á kerfinu þínu hafa uppfærslur tiltækar skaltu athuga hvort þú notir eftirfarandi skipun.

# yum check-update

Til að halda kerfinu þínu uppfærðu með öllum öryggis- og tvíundarpakkauppfærslum skaltu keyra eftirfarandi skipun. Það mun setja upp alla nýjustu plástra og öryggisuppfærslur á kerfið þitt.

# yum update

Í Linux er fjöldi pakka settur í ákveðinn hóp. Í stað þess að setja upp einstaka pakka með yum geturðu sett upp ákveðinn hóp sem mun setja upp alla tengda pakka sem tilheyra hópnum. Til dæmis til að skrá alla tiltæka hópa skaltu bara gefa út eftirfarandi skipun.

# yum grouplist
Installed Groups:
   Administration Tools
   DNS Name Server
   Dialup Networking Support
   Editors
   Engineering and Scientific
   FTP Server
   Graphics
   Java Development
   Legacy Network Server
Available Groups:
   Authoring and Publishing
   Base
   Beagle
   Cluster Storage
   Clustering
   Development Libraries
   Development Tools
   Eclipse
   Educational Software
   KDE (K Desktop Environment)
   KDE Software Development

Til að setja upp ákveðinn pakkahóp notum við valkostinn sem groupinstall. Til dæmis, til að setja upp „MySQL Database“ skaltu bara framkvæma skipunina hér að neðan.

# yum groupinstall 'MySQL Database'
Dependencies Resolved

=================================================================================================
Package								Arch      Version			 Repository        Size
=================================================================================================
Updating:
 unixODBC                           i386      2.2.11-10.el5      base              290 k
Installing for dependencies:
 unixODBC-libs                      i386      2.2.11-10.el5      base              551 k

Transaction Summary
=================================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : unixODBC-libs	1/3
  Updating       : unixODBC         2/3
  Cleanup        : unixODBC         3/3

Dependency Installed:
  unixODBC-libs.i386 0:2.2.11-10.el5

Updated:
  unixODBC.i386 0:2.2.11-10.el5

Complete!

Til að uppfæra núverandi uppsetta hóppakka skaltu bara keyra eftirfarandi skipun eins og sýnt er hér að neðan.

# yum groupupdate 'DNS Name Server'

Dependencies Resolved
================================================================================================================
 Package			Arch	        Version				Repository           Size
================================================================================================================
Updating:
 bind                           i386            30:9.3.6-20.P1.el5_8.2          updates              981 k
 bind-chroot                    i386            30:9.3.6-20.P1.el5_8.2          updates              47 k
Updating for dependencies:
 bind-libs                      i386            30:9.3.6-20.P1.el5_8.2          updates              864 k
 bind-utils                     i386            30:9.3.6-20.P1.el5_8.2          updates              174 k

Transaction Summary
================================================================================================================
Install       0 Package(s)
Upgrade       4 Package(s)

Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : bind-libs            1/8
  Updating       : bind                 2/8
  Updating       : bind-chroot          3/8
  Updating       : bind-utils           4/8
  Cleanup        : bind                 5/8
  Cleanup        : bind-chroot          6/8
  Cleanup        : bind-utils           7/8
  Cleanup        : bind-libs            8/8

Updated:
  bind.i386 30:9.3.6-20.P1.el5_8.2                  bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Dependency Updated:
  bind-libs.i386 30:9.3.6-20.P1.el5_8.2             bind-utils.i386 30:9.3.6-20.P1.el5_8.2

Complete!

Til að eyða eða fjarlægja núverandi uppsettan hóp úr kerfinu, notaðu bara skipunina hér að neðan.

# yum groupremove 'DNS Name Server'

Dependencies Resolved

===========================================================================================================
 Package                Arch              Version                         Repository          Size
===========================================================================================================
Removing:
 bind                   i386              30:9.3.6-20.P1.el5_8.2          installed           2.1 M
 bind-chroot            i386              30:9.3.6-20.P1.el5_8.2          installed           0.0

Transaction Summary
===========================================================================================================
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : bind                                                   1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
  Erasing        : bind-chroot                                            2/2

Removed:
  bind.i386 30:9.3.6-20.P1.el5_8.2                                        bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Complete!

Til að skrá allar virkar Yum geymslur í kerfinu þínu skaltu nota eftirfarandi valmöguleika.

# yum repolist

repo id                     repo name                                            status
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
mod-pagespeed               mod-pagespeed                                        enabled:      1
rpmforge                    RHEL 5 - RPMforge.net - dag                          enabled: 11,290
updates                     CentOS-5 - Updates                                   enabled:    743
repolist: 20,824

Eftirfarandi skipun mun sýna allar virkjaðar og óvirkar yum geymslur á kerfinu.

# yum repolist all

repo id                     repo name                                            status
C5.0-base                   CentOS-5.0 - Base                                    disabled
C5.0-centosplus             CentOS-5.0 - Plus                                    disabled
C5.0-extras                 CentOS-5.0 - Extras                                  disabled
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
repolist: 20,824

Til að setja upp ákveðinn pakka úr tiltekinni virkjaðri eða óvirkri geymslu verður þú að nota --enablerepo valmöguleika í yum skipuninni þinni. Til dæmis til að setja upp PhpMyAdmin pakkann skaltu bara framkvæma skipunina.

# yum --enablerepo=epel install phpmyadmin

Dependencies Resolved
=============================================================================================
 Package                Arch           Version            Repository           Size
=============================================================================================
Installing:
 phpMyAdmin             noarch         3.5.1-1.el6        epel                 4.2 M

Transaction Summary
=============================================================================================
Install       1 Package(s)

Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm                       | 4.2 MB     00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : phpMyAdmin-3.5.1-1.el6.noarch             1/1
  Verifying  : phpMyAdmin-3.5.1-1.el6.noarch             1/1

Installed:
  phpMyAdmin.noarch 0:3.5.1-1.el6

Complete!

Yum tólið býður upp á sérsniðna skel þar sem þú getur framkvæmt margar skipanir.

# yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
 * base: mirrors.sin3.sg.voxel.net
 * epel: ftp.riken.jp
 * extras: mirrors.sin3.sg.voxel.net
 * updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>

Sjálfgefið er að yum geymir öll pakkagögn sem eru virkt fyrir geymslu í /var/cache/yum/ með hverri undirmöppu, til að hreinsa allar skyndiminni skrár úr virku geymslunni þarftu að keyra eftirfarandi skipun reglulega til að hreinsa allt skyndiminni og gera viss um að það er ekkert óþarfa pláss er að nota. Við viljum ekki gefa út úttak skipunarinnar hér að neðan, vegna þess að okkur finnst gott að halda gögnum í skyndiminni eins og þau eru.

# yum clean all

Til að skoða allar fyrri færslur yum skipunarinnar, notaðu bara eftirfarandi skipun.

# yum history

Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root               | 2012-08-11 15:19 | Install        |    3
     9 | root               | 2012-08-11 15:11 | Install        |    1
     8 | root               | 2012-08-11 15:10 | Erase          |    1 EE
     7 | root               | 2012-08-10 17:44 | Install        |    1
     6 | root               | 2012-08-10 12:19 | Install        |    2
     5 | root               | 2012-08-10 12:14 | Install        |    3
     4 | root               | 2012-08-10 12:12 | I, U           |   13 E<
     3 | root               | 2012-08-09 13:01 | Install        |    1 >
     2 | root               | 2012-08-08 20:13 | I, U           |  292 EE
     1 | System            | 2012-08-08 17:15 | Install        |  560
history list

Við höfum reynt að ná yfir allt grunnatriði til að koma yum skipunum á framfæri með dæmum þeirra. Ef eitthvað sem tengist yum skipunum gæti hafa misst af. Vinsamlegast uppfærðu okkur í gegnum athugasemdareitinn okkar. Þannig að við höldum áfram að uppfæra það sama byggt á viðbrögðum sem berast.