20 YUM-komentoa Linux-pakettien hallintaan


Tässä artikkelissa opimme asentamaan, päivittämään, poistamaan, löytämään paketteja, hallitsemaan paketteja ja tietovarastoja Linux-järjestelmissä YUM (Yellowdog Updater Modified) -työkalulla, jonka on kehittänyt RedHat.

Tässä artikkelissa näkyvät esimerkkikomennot on käytännössä testattu RHEL 8 -palvelimellamme, voit käyttää näitä materiaaleja opiskelutarkoituksiin, RHEL-sertifioinneissa tai vain tutkiaksesi tapoja asentaa uusia paketteja ja pitää järjestelmäsi ajan tasalla.

Tämän artikkelin perusvaatimus on, että sinulla on oltava perustiedot komennoista ja toimivasta Linux-käyttöjärjestelmästä, jossa voit tutkia ja harjoitella kaikkia alla lueteltuja komentoja.

Mikä on YUM?

YUM (Yellowdog Updater Modified) on avoimen lähdekoodin komentorivi sekä graafinen pohjainen paketinhallintatyökalu RPM:lle ( RedHat Package Manager) -pohjaiset Linux-järjestelmät.

Sen avulla käyttäjät ja järjestelmänvalvojat voivat helposti asentaa, päivittää, poistaa tai etsiä ohjelmistopaketteja järjestelmään. Sen kehitti ja julkaisi Seth Vidal GPL:llä (General Public License) avoimena lähdekoodina, mikä tarkoittaa, että kuka tahansa voi ladata sen. ja käytä koodia virheiden korjaamiseksi ja räätälöityjen pakettien kehittämiseksi.

YUM käyttää lukuisia kolmannen osapuolen tietovarastoja pakettien automaattiseen asentamiseen ratkaisemalla niiden riippuvuusongelmat.

Päivitä: yum-komento korvataan dnf-komennolla, joka on seuraavan sukupolven yum-versio ja jonka katsotaan korvaavan YUM useimmissa uudemmissa RPM-pohjaisissa jakeluissa.

1. Asenna paketti YUM:n kanssa

Jos haluat asentaa Firefox-nimisen paketin, suorita alla oleva komento, joka löytää ja asentaa automaattisesti kaikki Firefoxin tarvittavat riippuvuudet.

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!

Yllä oleva komento pyytää vahvistusta ennen paketin asentamista järjestelmääsi. Jos haluat asentaa paketit automaattisesti ilman vahvistusta, käytä vaihtoehtoa -y alla olevan esimerkin mukaisesti.

yum -y install firefox

2. Paketin poistaminen YUM:lla

Jos haluat poistaa paketin kokonaan kaikkine riippuvuuksineen, suorita seuraava komento alla olevan kuvan mukaisesti.

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!

Samalla tavalla yllä oleva komento pyytää vahvistusta ennen paketin poistamista. Voit poistaa vahvistuskehotteen käytöstä lisäämällä vaihtoehdon -y alla olevan kuvan mukaisesti.

yum -y remove firefox

3. Paketin päivittäminen YUM:n avulla

Oletetaan, että sinulla on vanhentunut versio MySQL-paketista ja haluat päivittää sen uusimpaan vakaaseen versioon. Suorita vain seuraava komento, se ratkaisee automaattisesti kaikki riippuvuusongelmat ja asentaa ne.

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!

4. Listaa paketti YUM:n avulla

Käytä luettelo-toimintoa etsiäksesi tiettyä pakettia nimellä. Jos haluat esimerkiksi etsiä pakettia nimeltä OpenSSH, käytä komentoa.

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

Jotta hakusi olisi tarkempi, määritä pakettien nimet niiden versioineen, jos tiedät. Jos haluat esimerkiksi etsiä paketin tiettyä versiota OpenSSH-4.3p2, käytä komentoa.

yum list openssh-4.3p2

5. Etsi paketti YUM:n avulla

Jos et muista paketin tarkkaa nimeä, käytä haku-toimintoa etsiäksesi kaikki saatavilla olevat paketit vastaamaan määrittämääsi paketin nimeä. Esimerkiksi etsiäksesi kaikki paketit, jotka vastaavat sanaa.

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

6. Hanki tietoja paketista YUM:n avulla

Oletetaan, että haluat tietää paketin tiedot ennen sen asentamista. Saadaksesi tietoja paketista, anna alla oleva komento.

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.

7. Listaa kaikki saatavilla olevat paketit YUM:n avulla

Listaaksesi kaikki Yum-tietokannan saatavilla olevat paketit käytä alla olevaa komentoa.

yum list | less

8. Listaa kaikki asennetut paketit YUM:n avulla

Listaaksesi kaikki järjestelmään asennetut paketit antamalla alla oleva komento, se näyttää kaikki asennetut paketit.

yum list installed | less

9. Yum tarjoaa toiminnon

Yum tarjoaa -toimintoa käytetään etsimään, mihin pakettiin tietty tiedosto kuuluu. Jos esimerkiksi haluat tietää paketin nimen, jossa on /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

10. Tarkista saatavilla olevat päivitykset Yumin avulla

Jos haluat selvittää, kuinka monessa järjestelmässäsi asennetussa paketissa on päivityksiä, käytä seuraavaa komentoa.

yum check-update

11. Päivitä järjestelmä Yumin avulla

Jos haluat pitää järjestelmäsi ajan tasalla kaikilla suojaus- ja binääripakettien päivityksillä, suorita seuraava komento. Se asentaa kaikki uusimmat korjaustiedostot ja tietoturvapäivitykset järjestelmääsi.

yum update

12. Listaa kaikki saatavilla olevat ryhmäpaketit

Linuxissa joukko paketteja on niputettu tiettyyn ryhmään. Sen sijaan, että asentaisit yksittäisiä paketteja yumin avulla, voit asentaa tietyn ryhmän, joka asentaa kaikki ryhmään kuuluvat paketit. Jos haluat esimerkiksi luetella kaikki käytettävissä olevat ryhmät, anna vain seuraava komento.

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

13. Asenna ryhmäpaketit

Tietyn pakettiryhmän asentamiseksi käytämme vaihtoehtoa ryhmäasennus. Jos esimerkiksi haluat asentaa MySQL-tietokannan, suorita alla oleva komento.

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!

14. Päivitä ryhmäpaketit

Päivitä olemassa olevat asennetut ryhmäpaketit suorittamalla seuraava komento alla olevan kuvan mukaisesti.

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!

15. Poista ryhmäpaketit

Voit poistaa tai poistaa olemassa olevan asennetun ryhmän järjestelmästä käyttämällä alla olevaa komentoa.

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!

16. Listaa käytössä olevat Yum-arkistot

Käytä seuraavaa vaihtoehtoa luetellaksesi kaikki käytössä olevat Yum-varastot järjestelmässäsi.

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

16. Listaa kaikki käytössä olevat ja poistetut Yum-arkistot

Seuraava komento näyttää kaikki käytössä olevat ja käytöstä poistetut yum-varastot järjestelmässä.

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

17. Asenna paketti tietystä arkistosta

Jos haluat asentaa tietyn paketin tietystä käyttöönotetusta tai käytöstä poistetusta arkistosta, sinun on käytettävä --enablerepo-vaihtoehtoa yum-komennossasi. Jos haluat esimerkiksi asentaa PhpMyAdmin-paketin, suorita komento.

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!

18. Interaktiivinen Yum Shell

Yum-apuohjelma tarjoaa mukautetun kuoren, jossa voit suorittaa useita komentoja.

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
>

19. Puhdista Yum-välimuisti

Oletuksena yum säilyttää kaikki arkiston käytössä olevat pakettitiedot hakemistossa /var/cache/yum/ jokaisen alihakemiston kanssa. Puhdistaaksesi kaikki välimuistissa olevat tiedostot käytössä olevasta arkistosta sinun on suoritettava seuraava komento säännöllisesti puhdista kaikki välimuisti ja varmista, että mitään tarpeetonta tilaa ei käytetä. Emme halua antaa alla olevan komennon tulosta, koska haluamme säilyttää välimuistissa olevat tiedot sellaisenaan.

yum clean all

20. Näytä Yumin historia

Voit tarkastella kaikkia yum-komennon aiempia tapahtumia käyttämällä seuraavaa komentoa.

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

Olemme yrittäneet kattaa kaikki perusasiat yum-komentojen edistämiseksi heidän esimerkeillään. Jos jotain yum-komentoihin liittyvää on saattanut jäädä huomaamatta. Päivitä meille kommenttilaatikkomme kautta. Päivitämme siis edelleen samaa saamamme palautteen perusteella.