Zoeken op website

20 YUM-opdrachten voor Linux-pakketbeheer


In dit artikel leren we hoe u pakketten kunt installeren, bijwerken, verwijderen, zoeken, pakketten en opslagplaatsen kunt beheren op Linux-systemen met behulp van de YUM (Yellowdog Updater Modified) tool ontwikkeld door RedHat.

De voorbeeldopdrachten in dit artikel zijn praktisch getest op onze RHEL 8-server. U kunt dit materiaal gebruiken voor studiedoeleinden, RHEL-certificeringen of gewoon om manieren te verkennen om nieuwe pakketten te installeren en uw systeem up-to-date te houden.

De basisvereiste van dit artikel is dat u een basiskennis van opdrachten en een werkend Linux-besturingssysteem moet hebben, waar u alle onderstaande opdrachten kunt verkennen en oefenen.

Wat is YUM?

YUM (Yellowdog Updater Modified) is een open-source opdrachtregel- en grafisch gebaseerde pakketbeheertool voor RPM ( Op RedHat Package Manager) gebaseerde Linux-systemen.

Hiermee kunnen gebruikers en systeembeheerders eenvoudig softwarepakketten op een systeem installeren, bijwerken, verwijderen of zoeken. Het is ontwikkeld en uitgebracht door Seth Vidal onder GPL (General Public License) als open source, wat betekent dat iedereen mag downloaden en krijg toegang tot de code om bugs op te lossen en aangepaste pakketten te ontwikkelen.

YUM gebruikt talloze opslagplaatsen van derden om pakketten automatisch te installeren door hun afhankelijkhedenproblemen op te lossen.

Update: het yum commando is vervangen door het dnf commando, wat een volgende generatie versie van yum is en wordt beschouwd als de vervanging van YUM in de meeste nieuwere op RPM gebaseerde distributies.

1. Installeer een pakket met YUM

Om een pakket genaamd Firefox te installeren, voert u gewoon de onderstaande opdracht uit. Het zal automatisch alle vereiste afhankelijkheden voor Firefox vinden en installeren.

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!

De bovenstaande opdracht vraagt om bevestiging voordat een pakket op uw systeem wordt geïnstalleerd. Als u pakketten automatisch wilt installeren zonder om enige bevestiging te vragen, gebruikt u de optie -y zoals hieronder weergegeven.

yum -y install firefox

2. Een pakket verwijderen met YUM

Om een pakket volledig te verwijderen met alle afhankelijkheden, voert u gewoon de volgende opdracht uit, zoals hieronder weergegeven.

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!

Op dezelfde manier zal het bovenstaande commando om bevestiging vragen voordat een pakket wordt verwijderd. Om de bevestigingsprompt uit te schakelen, voegt u eenvoudig de optie -y toe, zoals hieronder weergegeven.

yum -y remove firefox

3. Een pakket bijwerken met YUM

Stel dat u een verouderde versie van het MySQL-pakket heeft en deze wilt bijwerken naar de nieuwste stabiele versie. Voer gewoon de volgende opdracht uit. Alle afhankelijkheden worden automatisch opgelost en geïnstalleerd.

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. Maak een lijst van een pakket met YUM

Gebruik de functie lijst om naar het specifieke pakket met een naam te zoeken. Als u bijvoorbeeld wilt zoeken naar een pakket met de naam OpenSSH, gebruikt u de opdracht.

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

Om uw zoekopdracht nauwkeuriger te maken, definieert u pakketnamen met hun versie, voor het geval u dit weet. Als u bijvoorbeeld naar een specifieke versie OpenSSH-4.3p2 van het pakket wilt zoeken, gebruikt u de opdracht.

yum list openssh-4.3p2

5. Zoek naar een pakket met YUM

Als u de exacte naam van het pakket niet meer weet, gebruik dan de zoekfunctie om alle beschikbare pakketten te doorzoeken, zodat deze overeenkomen met de naam van het pakket dat u heeft opgegeven. Om bijvoorbeeld alle pakketten te doorzoeken die overeenkomen met het woord.

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. Krijg informatie over een pakket met YUM

Stel dat u de informatie over een pakket wilt weten voordat u het installeert. Om informatie over een pakket te krijgen, geeft u gewoon het onderstaande commando op.

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. Maak een lijst van alle beschikbare pakketten met YUM

Om alle beschikbare pakketten in de Yum-database weer te geven, gebruikt u de onderstaande opdracht.

yum list | less

8. Maak een lijst van alle geïnstalleerde pakketten met YUM

Om alle geïnstalleerde pakketten op een systeem weer te geven, hoeft u alleen maar de onderstaande opdracht uit te voeren. Alle geïnstalleerde pakketten worden weergegeven.

yum list installed | less

9. Yum biedt functie

De Yum biedt functie wordt gebruikt om te vinden tot welk pakket een specifiek bestand behoort. Als u bijvoorbeeld de naam wilt weten van het pakket met de /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. Controleer op beschikbare updates met Yum

Om te zien voor hoeveel geïnstalleerde pakketten op uw systeem updates beschikbaar zijn, controleert u of u de volgende opdracht gebruikt.

yum check-update

11. Update het systeem met Yum

Om uw systeem up-to-date te houden met alle beveiligings- en binaire pakketupdates, voert u de volgende opdracht uit. Het installeert de nieuwste patches en beveiligingsupdates op uw systeem.

yum update

12. Maak een lijst van alle beschikbare groepspakketten

In Linux zijn een aantal pakketten gebundeld in een bepaalde groep. In plaats van individuele pakketten met yum te installeren, kun je een bepaalde groep installeren die alle gerelateerde pakketten installeert die tot de groep behoren. Om bijvoorbeeld alle beschikbare groepen weer te geven, geeft u gewoon de volgende opdracht.

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. Installeer groepspakketten

Om een bepaalde pakketgroep te installeren, gebruiken we de optie groupinstall. Om bijvoorbeeld “MySQL Database“ te installeren, voert u gewoon de onderstaande opdracht uit.

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. Update een groepspakket

Om bestaande geïnstalleerde groepspakketten bij te werken, voert u gewoon de volgende opdracht uit, zoals hieronder weergegeven.

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. Groepspakketten verwijderen

Om een bestaande geïnstalleerde groep van het systeem te verwijderen of te verwijderen, gebruikt u gewoon de onderstaande opdracht.

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. Maak een lijst van ingeschakelde Yum-opslagplaatsen

Om alle ingeschakelde Yum-opslagplaatsen in uw systeem weer te geven, gebruikt u de volgende optie.

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. Maak een lijst van alle ingeschakelde en uitgeschakelde Yum-opslagplaatsen

De volgende opdracht zal alle ingeschakelde en uitgeschakelde yum-opslagplaatsen op het systeem weergeven.

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. Installeer een pakket vanuit een specifieke opslagplaats

Om een bepaald pakket te installeren vanuit een specifieke ingeschakelde of uitgeschakelde repository, moet je --enablerepo gebruiken, een optie in je yum-opdracht. Om bijvoorbeeld het PhpMyAdmin-pakket te installeren, voert u gewoon de opdracht uit.

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. Interactieve Yum-shell

Het Yum-hulpprogramma biedt een aangepaste shell waarin u meerdere opdrachten kunt uitvoeren.

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. Maak de Yum-cache schoon

Standaard bewaart yum alle pakketgegevens die in de repository zijn ingeschakeld in /var/cache/yum/ met elke submap. Om alle in de cache opgeslagen bestanden uit de ingeschakelde repository op te schonen, moet je de volgende opdracht regelmatig uitvoeren ruim alle cache op en zorg ervoor dat er niets onnodige ruimte wordt gebruikt. We willen de uitvoer van het onderstaande commando niet geven, omdat we de gegevens in de cache graag willen behouden zoals ze zijn.

yum clean all

20. Bekijk de geschiedenis van Yum

Om alle eerdere transacties van de yum-opdracht te bekijken, gebruikt u gewoon de volgende opdracht.

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

We hebben geprobeerd alle basis- en geavanceerde yum-opdrachten te behandelen met hun voorbeelden. Als er iets met betrekking tot yum-opdrachten mogelijk is gemist. Update ons alstublieft via ons opmerkingenveld. We blijven dit dus bijwerken op basis van de ontvangen feedback.