Website-Suche

20 YUM-Befehle für die Linux-Paketverwaltung


In diesem Artikel erfahren Sie, wie Sie mit dem von RedHat entwickelten Tool YUM (Yellowdog Updater Modified) auf Linux-Systemen installieren, aktualisieren, entfernen, Pakete finden, Pakete und Repositories verwalten.

Die in diesem Artikel gezeigten Beispielbefehle wurden praktisch auf unserem RHEL 8-Server getestet. Sie können diese Materialien zu Studienzwecken, für RHEL-Zertifizierungen oder einfach nur zur Erkundung von Möglichkeiten zur Installation neuer Pakete und zur Aktualisierung Ihres Systems verwenden.

Die Grundvoraussetzung für diesen Artikel ist, dass Sie über ein grundlegendes Verständnis von Befehlen und ein funktionierendes Linux-Betriebssystem verfügen, in dem Sie alle unten aufgeführten Befehle erkunden und üben können.

Was ist YUM?

YUM (Yellowdog Updater Modified) ist ein Open-Source-Befehlszeilen- und grafikbasiertes Paketverwaltungstool für RPM (RedHat Package Manager) basierte Linux-Systeme.

Es ermöglicht Benutzern und Systemadministratoren, Softwarepakete auf einem System einfach zu installieren, zu aktualisieren, zu entfernen oder zu suchen. Es wurde von Seth Vidal unter der GPL (General Public License) als Open Source entwickelt und veröffentlicht, was bedeutet, dass jeder den Code herunterladen und darauf zugreifen kann, um Fehler zu beheben und benutzerdefinierte Pakete zu entwickeln.

YUM verwendet zahlreiche Repositories von Drittanbietern, um Pakete automatisch zu installieren, indem ihre Abhängigkeitsprobleme gelöst werden.

Update: Der Befehl yum wird durch den Befehl dnf ersetzt, der eine Version von yum der nächsten Generation ist und als Ersatz für YUM in den meisten neueren RPM-basierten Distributionen gilt.

1. Installieren Sie ein Paket mit YUM

Um ein Paket namens Firefox zu installieren, führen Sie einfach den folgenden Befehl aus, es wird automatisch alle erforderlichen Abhängigkeiten für Firefox finden und installieren.

# 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!

Der obige Befehl fragt nach einer Bestätigung, bevor ein Paket auf Ihrem System installiert wird. Wenn Sie Pakete automatisch installieren möchten, ohne nach einer Bestätigung zu fragen, verwenden Sie die Option -y, wie im folgenden Beispiel gezeigt.

# yum -y install firefox

2. Entfernen eines Pakets mit YUM

Um ein Paket mit allen Abhängigkeiten vollständig zu entfernen, führen Sie einfach den folgenden Befehl aus, wie unten gezeigt.

# 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!

Auf die gleiche Weise fragt der obige Befehl nach einer Bestätigung, bevor ein Paket entfernt wird. Um die Bestätigungsaufforderung zu deaktivieren, fügen Sie einfach die Option -y hinzu, wie unten gezeigt.

# yum -y remove firefox

3. Aktualisieren eines Pakets mit YUM

Nehmen wir an, Sie haben eine veraltete Version des MySQL-Pakets und möchten sie auf die neueste stabile Version aktualisieren. Führen Sie einfach den folgenden Befehl aus, um automatisch alle Abhängigkeitsprobleme zu lösen und sie zu installieren.

# 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. Auflisten eines Pakets mit YUM

Verwenden Sie die Funktion list, um nach dem spezifischen Paket mit einem Namen zu suchen. Um beispielsweise nach einem Paket mit dem Namen OpenSSH zu suchen, verwenden Sie den Befehl.

# 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

Um Ihre Suche genauer zu gestalten, definieren Sie Paketnamen mit ihrer Version, falls Sie es wissen. Um beispielsweise nach einer bestimmten Version OpenSSH-4.3p2 des Pakets zu suchen, verwenden Sie den Befehl.

# yum list openssh-4.3p2

5. Suchen Sie mit YUM nach einem Paket

Wenn Sie sich nicht an den genauen Namen des Pakets erinnern, verwenden Sie die Suchfunktion , um alle verfügbaren Pakete nach dem Namen des von Ihnen angegebenen Pakets zu durchsuchen. Zum Beispiel, um alle Pakete zu durchsuchen, die mit dem Wort übereinstimmen.

# 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. Abrufen von Informationen über ein Paket mit YUM

Angenommen, Sie möchten die Informationen über ein Paket wissen, bevor Sie es installieren. Um Informationen über ein Paket zu erhalten, geben Sie einfach den folgenden Befehl ein.

# 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. Listen Sie alle verfügbaren Pakete mit YUM auf

Um alle verfügbaren Pakete in der Yum-Datenbank aufzulisten, verwenden Sie den folgenden Befehl.

# yum list | less

8. Listen Sie alle installierten Pakete mit YUM auf

Um alle installierten Pakete auf einem System aufzulisten, geben Sie einfach den folgenden Befehl ein, es werden alle installierten Pakete angezeigt.

# yum list installed | less

9. Yum sorgt für Funktion

Die Funktion Yum provides wird verwendet, um herauszufinden, zu welchem Paket eine bestimmte Datei gehört. Zum Beispiel, wenn Sie den Namen des Pakets wissen möchten, das die Datei /etc/httpd/conf/httpd.conf hat.

# 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. Mit Yum nach verfügbaren Updates suchen

Um herauszufinden, für wie viele installierte Pakete auf Ihrem System Updates verfügbar sind, aktivieren Sie den folgenden Befehl.

# yum check-update

11. Aktualisieren Sie das System mit Yum

Um Ihr System mit allen Sicherheits- und Binärpaket-Updates auf dem neuesten Stand zu halten, führen Sie den folgenden Befehl aus. Es werden die neuesten Patches und Sicherheitsupdates auf Ihrem System installiert.

# yum update

12. Listen Sie alle verfügbaren Gruppenpakete auf

Unter Linux werden eine Reihe von Paketen in einer bestimmten Gruppe gebündelt. Anstatt einzelne Pakete mit yum zu installieren, können Sie eine bestimmte Gruppe installieren, die alle zugehörigen Pakete installiert, die zu der Gruppe gehören. Um beispielsweise alle verfügbaren Gruppen aufzulisten, geben Sie einfach den folgenden Befehl ein.

# 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. Gruppenpakete installieren

Um eine bestimmte Paketgruppe zu installieren, verwenden wir die Option groupinstall. Um beispielsweise "MySQL Database" zu installieren, führen Sie einfach den folgenden Befehl aus.

# 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. Aktualisieren Sie ein Gruppenpaket

Um vorhandene installierte Gruppenpakete zu aktualisieren, führen Sie einfach den folgenden Befehl aus, wie unten gezeigt.

# 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. Gruppenpakete entfernen

Um eine vorhandene installierte Gruppe vom System zu löschen oder zu entfernen, verwenden Sie einfach den folgenden Befehl.

# 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. Auflisten aktivierter Yum-Repositories

Um alle aktivierten Yum-Repositories in Ihrem System aufzulisten, verwenden Sie die folgende Option.

# 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. Listen Sie alle aktivierten und deaktivierten Yum-Repositories auf

Der folgende Befehl zeigt alle aktivierten und deaktivierten yum-Repositories auf dem System an.

# 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. Installieren Sie ein Paket aus einem bestimmten Repository

Um ein bestimmtes Paket aus einem bestimmten aktivierten oder deaktivierten Repository zu installieren, müssen Sie --enablerepo verwenden, eine Option in Ihrem yum-Befehl. Um beispielsweise das PhpMyAdmin-Paket zu installieren, führen Sie einfach den Befehl aus.

# 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. Interaktive Yum-Hülle

Das Yum-Dienstprogramm bietet eine benutzerdefinierte Shell, in der Sie mehrere Befehle ausführen können.

# 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. Yum Cache reinigen

Standardmäßig speichert yum alle Repository-fähigen Paketdaten in /var/cache/yum/ mit jedem Unterverzeichnis, um alle zwischengespeicherten Dateien aus dem aktivierten Repository zu bereinigen, müssen Sie den folgenden Befehl regelmäßig ausführen, um den gesamten Cache zu bereinigen und sicherzustellen, dass kein unnötiger Speicherplatz verwendet wird. Wir möchten die Ausgabe des folgenden Befehls nicht geben, da wir die zwischengespeicherten Daten so behalten möchten, wie sie sind.

# yum clean all

20. Geschichte von Yum anzeigen

Um alle vergangenen Transaktionen des yum-Befehls anzuzeigen, verwenden Sie einfach den folgenden Befehl.

# 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

Wir haben versucht, alle grundlegenden bis voranschreitenden Yum-Befehle mit ihren Beispielen abzudecken. Wenn irgendetwas, das mit Yum-Befehlen zu tun hat, möglicherweise übersehen wurde. Bitte informieren Sie uns über unser Kommentarfeld. Daher aktualisieren wir diese auf der Grundlage des erhaltenen Feedbacks ständig.

Verwandte Artikel: