20 Linux YUM (Yellowdog Updater, Modified) Befehle für Paketverwaltung

In diesem Artikel werden wir lernen, wie man Pakete installiert, aktualisiert, entfernt, findet, verwaltet und Repositorien auf Linux-Systemen mithilfe des YUM (Yellowdog Updater Modified) Tools, das von RedHat entwickelt wurde.

Die in diesem Artikel gezeigten Beispielbefehle wurden praktisch auf unserem RHEL 8 Server getestet, und Sie können diese Materialien zum Lernen, für RHEL-Zertifizierungen oder einfach, um Wege zur Installation neuer Pakete und zur Aktualisierung Ihres Systems zu erkunden, verwenden.

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

Was ist YUM?

YUM (Yellowdog Updater Modified) ist ein quelloffenes, kommandozeilen- 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 (Allgemeine Öffentliche Lizenz) als Open Source entwickelt und veröffentlicht, was bedeutet, dass jeder berechtigt ist, den Code herunterzuladen und auf Fehler zu prüfen sowie benutzerdefinierte Pakete zu entwickeln.

YUM verwendet zahlreiche Drittanbieter-Repositories, um Pakete automatisch zu installieren, indem es ihre Abhängigkeitsprobleme löst.

Aktualisierung: Der yum-Befehl wird durch den dnf-Befehl ersetzt, der als eine neuere Version von yum gilt und in den meisten neueren RPM-basierten Distributionen als Ersatz für YUM angesehen wird.

1. Ein Paket mit YUM installieren

Um ein Paket namens Firefox zu installieren, führen Sie einfach den untenstehenden 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 wird vor der Installation eines Pakets auf Ihrem System um Bestätigung bitten. Wenn Sie Pakete automatisch installieren möchten, ohne um Bestätigung zu bitten, verwenden Sie die Option -y wie im folgenden Beispiel gezeigt.2. Ein Paket mit YUM entfernen

# yum -y install firefox

2. Entfernen eines Pakets mit YUM

Um ein Paket vollständig zusammen mit allen Abhängigkeiten 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 wird der obige Befehl eine Bestätigung vor dem Entfernen eines Pakets abfragen. Um die Bestätigungsprüfung zu deaktivieren, fügen Sie einfach die Option -y wie unten gezeigt hinzu.

# yum -y remove firefox

3. Aktualisieren eines Pakets mit YUM

Angenommen, 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, der automatisch alle Abhängigkeitsprobleme auflöst und sie installiert.

# 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 list Funktion, um nach dem spezifischen Paket mit einem Namen zu suchen. Um beispielsweise nach einem Paket namens 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 sie kennen. Um beispielsweise nach einer bestimmten Version OpenSSH-4.3p2 des Pakets zu suchen, verwenden Sie den Befehl.

# yum list openssh-4.3p2

[ Vielleicht gefällt Ihnen auch: Wie man einen OpenSSH-Server sichert und härtet ]

5. Suche nach einem Paket mit YUM

Wenn Sie den genauen Namen des Pakets nicht erinnern, verwenden Sie die Suche, um alle verfügbaren Pakete zu durchsuchen, um den Namen des von Ihnen angegebenen Pakets abzugleichen. Zum Beispiel, um alle Pakete zu durchsuchen, die das Wort

# 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. Informationen zu einem Paket mit YUM abrufen

Angenommen, Sie möchten Informationen über ein Paket erhalten, bevor Sie es installieren. Um Informationen zu einem Paket abzurufen, 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. Alle verfügbaren Pakete mit YUM auflisten

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

# yum list | less

8. Alle installierten Pakete mit YUM auflisten

Um alle auf einem System installierten Pakete aufzulisten, geben Sie einfach den folgenden Befehl ein, er wird alle installierten Pakete anzeigen.

# yum list installed | less

9. Yum Bietet Funktion

Die Yum bietet Funktion wird verwendet, um herauszufinden, welchem Paket eine bestimmte Datei zugeordnet ist. Zum Beispiel, wenn Sie den Namen des Pakets wissen möchten, das die /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. Prüfen auf verfügbare Updates mit Yum

Um herauszufinden, wie viele installierte Pakete auf Ihrem System Updates verfügbar haben, überprüfen Sie, um den folgenden Befehl zu verwenden.

# yum check-update

11. System mit Yum aktualisieren

Um Ihr System auf dem neuesten Stand mit allen Sicherheits- und Binär-Paket-Updates zu halten, führen Sie den folgenden Befehl aus. Es wird alle neuesten Patches und Sicherheitsupdates auf Ihr System installieren.

# yum update

12. Alle verfügbaren Gruppenpakete auflisten

Unter Linux werden mehrere Pakete zu einer bestimmten Gruppe zusammengefasst. Anstatt einzelne Pakete mit yum zu installieren, können Sie eine bestimmte Gruppe installieren, die alle zugehörigen Pakete installiert, die zu dieser Gruppe gehören. Um beispielsweise alle verfügbaren Gruppen aufzulisten, führen Sie einfach den folgenden Befehl aus.

# 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. Installieren von Gruppenpaketen

Um eine bestimmte Paketgruppe zu installieren, verwenden wir die Option als groupinstall. Um beispielsweise “ MySQL-Datenbank “ zu installieren, führen Sie einfach den unten stehenden 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 von Gruppenpaketen

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

# 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. Entfernen von Gruppenpaketen

Um eine vorhandene installierte Gruppe aus dem System zu entfernen, verwenden Sie einfach den unten stehenden 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 aller aktivierten 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. Auflisten aller aktivierten und deaktivierten Yum-Repositories

Der folgende Befehl zeigt alle aktivierten und deaktivierten Yum-Repositories im 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 eines Pakets aus einem bestimmten Repository

Um ein bestimmtes Paket aus einem spezifischen aktivierten oder deaktivierten Repository zu installieren, müssen Sie die Option --enablerepo in Ihrem yum-Befehl verwenden. Um beispielsweise das Paket PhpMyAdmin 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. Interaktiver Yum Shell

Die Yum-Anwendung 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. Leeren des Yum-Cache

Standardmäßig speichert yum alle Repository-aktivierten Paketdaten im Verzeichnis /var/cache/yum/ mit jedem Unterverzeichnis. Um alle zwischengespeicherten Dateien aus dem aktivierten Repository zu löschen, müssen Sie regelmäßig den folgenden Befehl ausführen, um alle Cache-Daten zu bereinigen und sicherzustellen, dass kein unnötiger Speicherplatz verwendet wird. Wir möchten das Ergebnis des unten stehenden Befehls nicht geben, weil wir die zwischengespeicherten Daten beibehalten möchten.

# yum clean all

20. Anzeigen der Historie von Yum

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 fortgeschrittenen yum-Befehle mit ihren Beispielen abzudecken. Wenn etwas im Zusammenhang mit yum-Befehlen ausgelassen wurde, teilen Sie es uns bitte über unseren Kommentarfeld mit. So werden wir das gleiche basierend auf den erhaltenen Rückmeldungen aktualisieren.

Source:
https://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/