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.
# 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/