Das Installieren, Entfernen und Aktualisieren von Paketen ist eine typische Tätigkeit unter Linux. Die meisten Linux-Distributionen bieten eine Art Paketmanager-Dienstprogramm. Zum Beispiel apt-get, dpkg, rpm, yum, etc.
Bei einigen Linux-Distributionen ist yum der Standard-Paketmanager.
Yum steht für Yellowdog Updater Modified.
In diesem Artikel werden die 15 am häufigsten verwendeten yum-Befehle mit Beispielen erklärt.
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 Paket postgresql.
# yum install postgresql.x86_64Resolving DependenciesInstall 2 Package(s)Is this ok : yPackage(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 ‚yum install‘ Sie vor der Installation der Pakete auf, diese zu akzeptieren oder abzulehnen. Wenn Sie möchten, dass yum automatisch ohne Abfrage installiert, verwenden Sie die Option -y wie unten gezeigt.
# yum -y install postgresql.x86_64
Deinstallieren eines Pakets mit yum remove
Um ein Paket zu entfernen (zusammen mit all seinen Abhängigkeiten), verwenden Sie „yum remove package“ wie unten gezeigt.
# yum remove postgresql.x86_64Resolving Dependencies---> Package postgresql.x86_64 0:9.0.4-5.fc15 will be erasedIs this ok : yRunning Transaction Erasing : postgresql-9.0.4-5.fc15.x86_64 1/1 Removed: postgresql.x86_64 0:9.0.4-5.fc15Complete!
Upgrade eines vorhandenen Pakets 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
Suchen Sie mit yum search nach einem zu installierenden Paket
Wenn 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 sie 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 firefoxLoaded plugins: langpacks, presto, refresh-packagekit============== N/S Matched: firefox ======================firefox.x86_64 : Mozilla Firefox Web browsergnome-do-plugins-firefox.x86_64 : gnome-do-plugins for firefoxmozilla-firetray-firefox.x86_64 : System tray extension for firefoxmozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefoxmozilla-noscript.noarch : JavaScript white list extension for Mozilla FirefoxName and summary matches only, use "search all" for everything.
Zusätzliche Informationen zu einem Paket mit yum info anzeigen
Nachdem Sie mit yum search nach einem Paket gesucht haben, können Sie ‚yum info package‘ verwenden, um zusätzliche Informationen über das Paket anzuzeigen.
Das folgende Beispiel zeigt zusätzliche Informationen über das Paket samba-common an.
# yum info samba-common.i686Loaded plugins: langpacks, presto, refresh-packagekitAvailable PackagesName : samba-commonArch : i686Epoch : 1Version : 3.5.11Release : 71.fc15.1Size : 9.9 MRepo : updatesSummary : Files used by both Samba servers and clientsURL : http://www.samba.org/License : GPLv3+ and LGPLv3+Description : Samba-common provides files necessary for both the server and client : packages of Samba.
Alle verfügbaren Pakete mit yum list anzeigen
Der folgende Befehl listet alle in der yum-Datenbank verfügbaren Pakete auf.
# yum list | less
Nur die installierten Pakete auflisten mit yum list installed
Um alle Pakete anzuzeigen, die auf Ihrem System installiert sind, führen Sie den folgenden yum-Befehl aus.
# yum list installed | less
Zu welchem Paket gehört eine Datei? – Verwenden Sie yum provides
Verwenden Sie „yum provides“, wenn Sie wissen möchten, zu welchem Paket eine bestimmte Datei gehört. Wenn Sie beispielsweise den Namen des Pakets wissen möchten, zu dem die Datei /etc/sysconfig/nfs gehört, gehen Sie wie folgt vor.
# yum provides /etc/sysconfig/nfsLoaded plugins: langpacks, presto, refresh-packagekit1:nfs-utils-1.2.3-10.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : fedoraMatched from:Filename : /etc/sysconfig/nfs1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : updatesMatched from:Filename : /etc/sysconfig/nfs1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : installedMatched from:Other : Provides-match: /etc/sysconfig/nfs
Verfügbare Softwaregruppen mit yum grouplist auflisten
In yum werden mehrere zusammengehörige Pakete in einer bestimmten Gruppe zusammengefasst. Anstatt alle einzelnen Pakete, die zu einer bestimmten Funktion gehören, zu suchen und zu installieren, können Sie einfach die Gruppe installieren, wodurch alle Pakete, die zu der Gruppe gehören, installiert werden.
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 grouplistInstalled Groups: Administration Tools Base Design Suite ....Installed Language Groups: Arabic Support Armenian Support Bengali Support ....Available Groups: Authoring and Publishing Books and Guides Clustering DNS Name Server Development Libraries Development Tools Directory Server Dogtag Certificate System ...
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 ResolvedInstall 2 Package(s)Is this ok : yPackage(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:15Installed: bind-chroot.x86_64 32:9.8.0-9.P4.fc15Dependency Installed: bind.x86_64 32:9.8.0-9.P4.fc15Complete!
Hinweis: Sie können auch die MySQL-Datenbank mit yum groupinstall installieren, wie wir bereits besprochen haben.
Upgrade einer bestehenden 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 ResolvedUpgrade 5 Package(s)Is this ok : 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!
Deinstallieren einer Softwaregruppe mit yum groupremove
Um eine bestehende Softwaregruppe zu löschen, verwenden Sie ‚yum groupremove‘ wie unten gezeigt.
# yum groupremove 'DNS Name Server'Dependencies ResolvedRemove 2 Package(s)Is this ok : yRunning 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!
Die aktuellen yum-Repositories anzeigen
Alle yum-Befehle gehen gegen 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 repolistrepo id repo name statusfedora Fedora 15 - x86_64 24,085updates Fedora 15 - x86_64 - Updates 5,612
Um alle Repositories (sowohl aktivierte als auch deaktivierte) anzuzeigen, verwenden Sie ‚yum repolist all‘.
# yum repolist allrepo id repo name statusfedora Fedora 15 - x86_64 enabled: 24,085fedora-debuginfo Fedora 15 - x86_64 - Debug disabledfedora-source Fedora 15 - Source disabledrawhide-debuginfo Fedora - Rawhide - Debug disabledrawhide-source Fedora - Rawhide - Source disabledupdates Fedora 15 - x86_64 - Updates enabled: 5,612updates-debuginfo Fedora 15 - x86_64 - Updates - Debug disabledupdates-source Fedora 15 - Updates Source disabledupdates-testing Fedora 15 - x86_64 - Test Updates disabledupdates-testing-debuginfo Fedora 15 - x86_64 - Test Updates Debug disabledupdates-testing-source Fedora 15 - Test Updates Source disabled
Um nur die deaktivierten Repositories anzuzeigen, verwenden Sie ‚yum repositories disabled‘.
Installieren Sie von einem deaktivierten Repositories mit yum -enablerepo
Standardmäßig installiert yum nur von den aktivierten Repositories. Wenn Sie aus irgendeinem Grund ein Paket aus einem deaktivierten Repository installieren möchten, verwenden Sie die Option -enablerepo im ‚yum install‘ wie unten gezeigt.
# yum --enablerepo=fedora-source install vim-X11.x86_64Dependencies ResolvedInstall 1 Package(s)Is this ok : yRunning Transaction Installing : 2:vim-X11-7.3.138-1.fc15.x86_64 1/1 Complete!
Yum-Befehle interaktiv mit der Yum-Shell ausführen
Yum stellt die interaktive Shell zur Verfügung, um mehrere Befehle auszuführen, wie unten gezeigt.
# yum shellSetting up Yum Shell> info samba.x86_64Available PackagesName : sambaArch : x86_64Epoch : 1Version : 3.5.11Release : 71.fc15.1Size : 4.6 MRepo : updatesSummary : Server and Client software to interoperate with Windows machinesURL : 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 einlesen und sie nacheinander ausführen. Dies ist sehr hilfreich, wenn Sie mehrere Systeme haben. Anstatt den gleichen 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.txtrepolistinfo nfs-utils-lib.x86_64# yum shell yum_cmd.txt repo id repo name statusfedora Fedora 15 - x86_64 24,085updates Fedora 15 - x86_64 - Updates 5,612Available PackagesName : nfs-utils-libArch : x86_64Version : 1.1.5Release : 5.fc15Size : 61 kRepo : fedoraSummary : Network File System Support LibraryURL : http://www.citi.umich.edu/projects/nfsv4/linux/License : BSDDescription : Support libraries that are needed by the commands and : daemons the nfs-utils rpm.Leaving Shell