Das Installieren, Entfernen und Aktualisieren von Paketen ist eine typische Aktivität unter Linux. Die meisten Linux-Distributionen bieten eine Art Paketmanager-Dienstprogramm. Zum Beispiel apt-get, dpkg, rpm, yum usw.
Bei einigen Linux-Distributionen ist yum der Standard-Paketmanager.
Yum steht für Yellowdog Updater Modified.
Dieser Artikel erklärt die 15 am häufigsten verwendeten yum-Befehle mit Beispielen.
1. Installieren Sie ein Paket mit yum install
Um ein Paket zu installieren, führen Sie „yum install packagename“ aus. Dadurch werden auch die Abhängigkeiten automatisch erkannt und installiert.
Das folgende Beispiel installiert das postgresql-Paket.
# yum install postgresql.x86_64 Resolving Dependencies Install 2 Package(s) Is this ok [y/N]: y Package(s) data still to download: 3.0 M (1/2): postgresql-9.0.4-5.fc15.x86_64.rpm | 2.8 MB 00:11 (2/2): postgresql-libs-9.0.4-5.fc15.x86_64.rpm | 203 kB 00:00 ------------------------------------------------------------------ Total 241 kB/s | 3.0 MB 00:12 Running Transaction Installing : postgresql-libs-9.0.4-5.fc15.x86_64 1/2 Installing : postgresql-9.0.4-5.fc15.x86_64 2/2 Complete!
Standardmäßig fordert Sie „yum install“ auf, vor der Installation der Pakete zu akzeptieren oder abzulehnen. Wenn Sie möchten, dass yum automatisch ohne Aufforderung installiert wird, verwenden Sie die Option -y wie unten gezeigt.
# yum -y install postgresql.x86_64
2. Deinstallieren Sie ein Paket mit yum remove
Um ein Paket (zusammen mit all seinen Abhängigkeiten) zu entfernen, verwenden Sie „yum remove package“, wie unten gezeigt.
# yum remove postgresql.x86_64 Resolving Dependencies ---> Package postgresql.x86_64 0:9.0.4-5.fc15 will be erased Is this ok [y/N]: y Running Transaction Erasing : postgresql-9.0.4-5.fc15.x86_64 1/1 Removed: postgresql.x86_64 0:9.0.4-5.fc15 Complete!
3. Aktualisieren Sie ein vorhandenes Paket mit yum update
Wenn Sie eine ältere Version eines Pakets haben, verwenden Sie „yum update package“, um es auf die neueste aktuelle Version zu aktualisieren. Dadurch werden auch alle erforderlichen Abhängigkeiten identifiziert und installiert.
# yum update postgresql.x86_64
4. Suchen Sie mit yum search
nach einem Paket, das installiert werden sollWenn Sie den genauen Namen des zu installierenden Pakets nicht kennen, verwenden Sie „yum search keyword“, das alle Pakete sucht, die mit dem „keyword“ übereinstimmen, und es anzeigt.
Das folgende Beispiel durchsucht das yum-Repository nach allen Paketen, die mit dem Schlüsselwort „firefox“ übereinstimmen, und listet die verfügbaren Pakete auf.
# yum search firefox Loaded plugins: langpacks, presto, refresh-packagekit ============== N/S Matched: firefox ====================== firefox.x86_64 : Mozilla Firefox Web browser gnome-do-plugins-firefox.x86_64 : gnome-do-plugins for firefox mozilla-firetray-firefox.x86_64 : System tray extension for firefox mozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefox mozilla-noscript.noarch : JavaScript white list extension for Mozilla Firefox Name and summary matches only, use "search all" for everything.
5. Zeigen Sie zusätzliche Informationen zu einem Paket mit yum info
anSobald Sie mit yum search nach einem Paket gesucht haben, können Sie mit 'yum info package' zusätzliche Informationen über das Paket anzeigen.
Das folgende Beispiel zeigt zusätzliche Informationen über das Paket samba-common.
# yum info samba-common.i686 Loaded plugins: langpacks, presto, refresh-packagekit Available Packages Name : samba-common Arch : i686 Epoch : 1 Version : 3.5.11 Release : 71.fc15.1 Size : 9.9 M Repo : updates Summary : Files used by both Samba servers and clients URL : http://www.samba.org/ License : GPLv3+ and LGPLv3+ Description : Samba-common provides files necessary for both the server and client : packages of Samba.
6. Alle verfügbaren Pakete mit yum list anzeigen
Der folgende Befehl listet alle Pakete auf, die in der yum-Datenbank verfügbar sind.
# yum list | less
7. Nur die installierten Pakete mit yum list installed auflisten
Um alle auf Ihrem System installierten Pakete anzuzeigen, führen Sie den folgenden yum-Befehl aus.
# yum list installed | less
8. Zu welchem Paket gehört eine Datei? – Yum-Angebote verwenden
Verwenden Sie „yum provided“, wenn Sie wissen möchten, zu welchem Paket eine bestimmte Datei gehört. Wenn Sie beispielsweise den Namen des Pakets wissen möchten, das die Datei /etc/sysconfig/nfs enthält, gehen Sie wie folgt vor.
# yum provides /etc/sysconfig/nfs Loaded plugins: langpacks, presto, refresh-packagekit 1:nfs-utils-1.2.3-10.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS server Repo : fedora Matched from: Filename : /etc/sysconfig/nfs 1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS server Repo : updates Matched from: Filename : /etc/sysconfig/nfs 1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS server Repo : installed Matched from: Other : Provides-match: /etc/sysconfig/nfs
9. Verfügbare Softwaregruppen mit yum grouplist auflisten
In yum werden mehrere verwandte Pakete in einer bestimmten Gruppe zusammengefasst. Anstatt alle einzelnen Pakete zu suchen und zu installieren, die zu einer bestimmten Funktion gehören, können Sie einfach die Gruppe installieren, die alle Pakete installiert, die zu der Gruppe gehören.
Um alle verfügbaren Softwaregruppen anzuzeigen, führen Sie „yum grouplist“ wie unten gezeigt aus. Die Ausgabe wird in drei Gruppen aufgelistet:Installierte Gruppen, Installierte Sprachgruppen und Verfügbare Gruppen.
# yum grouplist Installed Groups: Administration Tools Base Design Suite .... Installed Language Groups: Arabic Support [ar] Armenian Support [hy] Bengali Support [bn] .... Available Groups: Authoring and Publishing Books and Guides Clustering DNS Name Server Development Libraries Development Tools Directory Server Dogtag Certificate System ...
10. Installieren Sie eine bestimmte Softwaregruppe mit yum groupinstall
Um eine bestimmte Softwaregruppe zu installieren, verwenden Sie die Option groupinstall wie unten gezeigt. Im folgenden Beispiel enthält die Gruppe „DNS Name Server“ bind und bind-chroot.
# yum groupinstall 'DNS Name Server' Dependencies Resolved Install 2 Package(s) Is this ok [y/N]: y Package(s) data still to download: 3.6 M (1/2): bind-9.8.0-9.P4.fc15.x86_64.rpm | 3.6 MB 00:15 (2/2): bind-chroot-9.8.0-9.P4.fc15.x86_64.rpm | 69 kB 00:00 ----------------------------------------------------------------- Total 235 kB/s | 3.6 MB 00:15 Installed: bind-chroot.x86_64 32:9.8.0-9.P4.fc15 Dependency Installed: bind.x86_64 32:9.8.0-9.P4.fc15 Complete!
Hinweis:Sie können die MySQL-Datenbank auch mit yum groupinstall installieren, wie wir bereits besprochen haben.
11. Aktualisieren Sie eine vorhandene Softwaregruppe mit groupupdate
Wenn Sie bereits eine Softwaregruppe mit yum groupinstall installiert haben und diese auf die neueste Version aktualisieren möchten, verwenden Sie „yum groupupdate“ wie unten gezeigt.
# yum groupupdate 'Graphical Internet' Dependencies Resolved Upgrade 5 Package(s) Is this ok [y/N]: y Running Transaction Updating : evolution-data-server-3.0.2-1.fc15.x86_64 1/10 Updating : evolution-3.0.2-3.fc15.x86_64 2/10 Updating : evolution-NetworkManager-3.0.2-3.fc15.x86_64 3/10 Updating : evolution-help-3.0.2-3.fc15.noarch 4/10 Updating : empathy-3.0.2-3.fc15.x86_64 5/10 Cleanup : evolution-NetworkManager-3.0.1-1.fc15.x86_64 6/10 Cleanup : evolution-help-3.0.1-1.fc15.noarch 7/10 Cleanup : evolution-3.0.1-1.fc15.x86_64 8/10 Cleanup : empathy-3.0.1-3.fc15.x86_64 9/10 Cleanup : evolution-data-server-3.0.1-1.fc15.x86_64 10/10 Complete!
12. Deinstallieren Sie eine Softwaregruppe mit yum groupremove
Um eine vorhandene Softwaregruppe zu löschen, verwenden Sie „yum groupremove“ wie unten gezeigt.
# yum groupremove 'DNS Name Server' Dependencies Resolved Remove 2 Package(s) Is this ok [y/N]: y Running Transaction Erasing : 32:bind-chroot-9.8.0-9.P4.fc15.x86_64 1/2 Erasing : 32:bind-9.8.0-9.P4.fc15.x86_64 2/2 Complete!
13. Zeigen Sie Ihre aktuellen Yum-Repositories
anAlle yum-Befehle gelten für ein oder mehrere yum-Repositories. Um alle Yum-Repositories anzuzeigen, die in Ihrem System konfiguriert sind, führen Sie „yum repolist“ wie unten gezeigt aus.
Im Folgenden werden nur die aktivierten Repositories angezeigt.
# yum repolist repo id repo name status fedora Fedora 15 - x86_64 24,085 updates Fedora 15 - x86_64 - Updates 5,612
Um alle Repositories (sowohl aktivierte als auch deaktivierte) anzuzeigen, verwenden Sie „yum repolist all“.
# yum repolist all repo id repo name status fedora Fedora 15 - x86_64 enabled: 24,085 fedora-debuginfo Fedora 15 - x86_64 - Debug disabled fedora-source Fedora 15 - Source disabled rawhide-debuginfo Fedora - Rawhide - Debug disabled rawhide-source Fedora - Rawhide - Source disabled updates Fedora 15 - x86_64 - Updates enabled: 5,612 updates-debuginfo Fedora 15 - x86_64 - Updates - Debug disabled updates-source Fedora 15 - Updates Source disabled updates-testing Fedora 15 - x86_64 - Test Updates disabled updates-testing-debuginfo Fedora 15 - x86_64 - Test Updates Debug disabled updates-testing-source Fedora 15 - Test Updates Source disabled
Um nur die deaktivierten Repositories anzuzeigen, verwenden Sie „yum repositories disabled“.
14. Installieren Sie von einem deaktivierten Repository mit yum –enablerepo
Standardmäßig installiert yum nur aus den aktivierten Repositories. Wenn Sie aus irgendeinem Grund ein Paket aus deaktivierten Repositories installieren möchten, verwenden Sie die Option –enablerepo in der ‚yum install‘ wie unten gezeigt.
# yum --enablerepo=fedora-source install vim-X11.x86_64 Dependencies Resolved Install 1 Package(s) Is this ok [y/N]: y Running Transaction Installing : 2:vim-X11-7.3.138-1.fc15.x86_64 1/1 Complete!
15. Führen Sie yum-Befehle interaktiv mit der Yum-Shell
ausYum bietet die interaktive Shell, um mehrere Befehle auszuführen, wie unten gezeigt.
# yum shell Setting up Yum Shell > info samba.x86_64 Available Packages Name : samba Arch : x86_64 Epoch : 1 Version : 3.5.11 Release : 71.fc15.1 Size : 4.6 M Repo : updates Summary : Server and Client software to interoperate with Windows machines URL : http://www.samba.org/ License : GPLv3+ and LGPLv3+ Description : : Samba is the suite of programs by which a lot of PC-related : machines share files, printers, and other information (such as : lists of available files and printers). The Windows NT, OS/2, and : Linux operating systems support this natively, and add-on packages : can enable the same thing for DOS, Windows, VMS, UNIX of all : kinds, MVS, and more. This package provides an SMB/CIFS server : that can be used to provide network services to SMB/CIFS clients. : Samba uses NetBIOS over TCP/IP (NetBT) protocols and does NOT : need the NetBEUI (Microsoft Raw NetBIOS frame) protocol. >
Yum kann auch Befehle aus einer Textdatei lesen und einzeln ausführen. Dies ist sehr hilfreich, wenn Sie mehrere Systeme haben. Anstatt denselben Befehl auf allen Systemen auszuführen, erstellen Sie eine Textdatei mit diesen Befehlen und verwenden Sie „yum Shell“, um diese Befehle wie unten gezeigt auszuführen.
# cat yum_cmd.txt repolist info nfs-utils-lib.x86_64 # yum shell yum_cmd.txt repo id repo name status fedora Fedora 15 - x86_64 24,085 updates Fedora 15 - x86_64 - Updates 5,612 Available Packages Name : nfs-utils-lib Arch : x86_64 Version : 1.1.5 Release : 5.fc15 Size : 61 k Repo : fedora Summary : Network File System Support Library URL : http://www.citi.umich.edu/projects/nfsv4/linux/ License : BSD Description : Support libraries that are needed by the commands and : daemons the nfs-utils rpm. Leaving Shell