L'installation, la suppression et la mise à jour de packages est une activité typique sous Linux. La plupart des distributions Linux fournissent une sorte d'utilitaire de gestion de packages. Par exemple, apt-get, dpkg, rpm, yum, etc.
Sur certaines distributions Linux, yum est le gestionnaire de packages par défaut.
Yum signifie Yellowdog Updater Modified.
Cet article explique les 15 commandes yum les plus fréquemment utilisées avec des exemples.
1. Installer un paquet en utilisant yum install
Pour installer un paquet, faites « yum install packagename ». Cela identifiera également les dépendances automatiquement et les installera.
L'exemple suivant installe le package postgresql.
# 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!
Par défaut, "yum install", vous demandera d'accepter ou de refuser avant d'installer les packages. Si vous voulez que yum s'installe automatiquement sans invite, utilisez l'option -y comme indiqué ci-dessous.
# yum -y install postgresql.x86_64
2. Désinstaller un paquet en utilisant yum remove
Pour supprimer un package (ainsi que toutes ses dépendances), utilisez "yum remove package" comme indiqué ci-dessous.
# 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. Mettre à niveau un package existant à l'aide de yum update
Si vous avez une ancienne version d'un package, utilisez «yum update package» pour le mettre à niveau vers la dernière version actuelle. Cela identifiera et installera également toutes les dépendances requises.
# yum update postgresql.x86_64
4. Rechercher un package à installer à l'aide de yum search
Si vous ne connaissez pas le nom exact du package à installer, utilisez "yum search keyword", qui recherchera tous les packages correspondant au "mot clé" et l'affichera.
Les exemples suivants recherchent dans le référentiel yum tous les packages correspondant au mot-clé "firefox" et répertorient les packages disponibles.
# 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. Afficher des informations supplémentaires sur un paquet en utilisant yum info
Une fois que vous avez recherché un package à l'aide de la recherche yum, vous pouvez utiliser "yum info package" pour afficher des informations supplémentaires sur le package.
Les exemples suivants affichent des informations supplémentaires sur le paquet 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. Afficher tous les packages disponibles à l'aide de la liste yum
La commande suivante listera tous les packages disponibles dans la base de données yum.
# yum list | less
7. Répertorier uniquement les packages installés à l'aide de la liste yum installé
Pour afficher tous les packages installés sur votre système, exécutez la commande yum suivante.
# yum list installed | less
8. A quel paquet appartient un fichier ? – Utilisez yum fourni
Utilisez 'yum fournit' si vous souhaitez savoir à quel paquet appartient un fichier particulier. Par exemple, si vous souhaitez connaître le nom du package contenant le fichier /etc/sysconfig/nfs, procédez comme suit.
# 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. Répertorier les groupes de logiciels disponibles à l'aide de yum grouplist
Dans yum, plusieurs packages liés sont regroupés dans un groupe spécifique. Au lieu de rechercher et d'installer tous les packages individuels appartenant à une fonction spécifique, vous pouvez simplement installer le groupe, qui installera tous les packages appartenant au groupe.
Pour afficher tous les groupes de logiciels disponibles, exécutez "yum grouplist" comme indiqué ci-dessous. La sortie est répertoriée en trois groupes :Groupes installés, Groupes linguistiques installés et Groupes disponibles.
# 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. Installez un groupe de logiciels spécifique à l'aide de yum groupinstall
Pour installer un groupe de logiciels spécifique, utilisez l'option groupinstall comme indiqué ci-dessous. Dans l'exemple suivant, le groupe "DNS Name Server" contient bind et 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!
Remarque :Vous pouvez également installer la base de données MySQL à l'aide de yum groupinstall, comme nous l'avons vu précédemment.
11. Mettre à niveau un groupe de logiciels existant à l'aide de groupupdate
Si vous avez déjà installé un groupe de logiciels à l'aide de yum groupinstall et que vous souhaitez le mettre à niveau vers la dernière version, utilisez "yum groupupdate" comme indiqué ci-dessous.
# 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. Désinstaller un groupe de logiciels à l'aide de yum groupremove
Pour supprimer un groupe de logiciels existant, utilisez "yum groupremove" comme indiqué ci-dessous.
# 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. Affichez vos dépôts yum actuels
Toutes les commandes yum vont contre un ou plusieurs référentiels yum. Pour afficher tous les dépôts yum qui sont configurés dans votre système, faites "yum repolist" comme indiqué ci-dessous.
Ce qui suit affichera uniquement les référentiels activés.
# yum repolist repo id repo name status fedora Fedora 15 - x86_64 24,085 updates Fedora 15 - x86_64 - Updates 5,612
Pour afficher tous les référentiels (activés et désactivés), utilisez "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
Pour afficher uniquement les référentiels désactivés, utilisez "yum référentiels désactivés".
14. Installer à partir d'un référentiel désactivé à l'aide de yum –enablerepo
Par défaut, yum s'installe uniquement à partir des référentiels activés. Pour une raison quelconque, si vous souhaitez installer un package à partir d'un référentiel désactivé, utilisez l'option –enablerepo dans « yum install », comme indiqué ci-dessous.
# 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. Exécutez les commandes yum de manière interactive à l'aide de Yum Shell
Yum fournit le shell interactif pour exécuter plusieurs commandes comme indiqué ci-dessous.
# 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 peut également lire les commandes d'un fichier texte et les exécuter une par une. Ceci est très utile lorsque vous avez plusieurs systèmes. Au lieu d'exécuter la même commande sur tous les systèmes, créez un fichier texte avec ces commandes et utilisez "yum shell" pour exécuter ces commandes comme indiqué ci-dessous.
# 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