introduction
La plupart des systèmes d'exploitation de type Unix modernes offrent un mécanisme centralisé de recherche et d'installation de logiciels. Les logiciels sont généralement distribués sous la forme depackages, conservés enrepositories. Travailler avec des packages est connu sous le nom depackage management. Les packages fournissent les composants de base d'un système d'exploitation, ainsi que des bibliothèques, des applications, des services et de la documentation partagés.
Un système de gestion de paquets effectue beaucoup plus qu'une installation ponctuelle de logiciels. Il fournit également des outils pour la mise à niveau des packages déjà installés. Les référentiels de packages permettent de s'assurer que le code a été approuvé pour une utilisation sur votre système et que les versions installées du logiciel ont été approuvées par les développeurs et les responsables de la maintenance du package.
Lors de la configuration de serveurs ou d’environnements de développement, il est souvent nécessaire d’aller au-delà des référentiels officiels. Les packages de la version stable d'une distribution peuvent être obsolètes, en particulier pour les nouveaux logiciels ou les logiciels en évolution rapide. Néanmoins, la gestion des packages est une compétence essentielle pour les administrateurs système et les développeurs, et la richesse des logiciels fournis pour les distributions majeures est une ressource formidable.
Ce guide constitue une référence rapide sur les principes fondamentaux de la recherche, de l’installation et de la mise à niveau de paquetages sur diverses distributions et devrait vous aider à traduire ces connaissances entre systèmes.
Systèmes de gestion de paquets: un bref aperçu
La plupart des systèmes de paquets sont construits autour de collections de fichiers de paquets. Un fichier de package est généralement une archive qui contient les fichiers binaires compilés et les autres ressources composant le logiciel, ainsi que les scripts d'installation. Les packages contiennent également des métadonnées précieuses, y compris leursdependencies, une liste d'autres packages nécessaires pour les installer et les exécuter.
Bien que leurs fonctionnalités et leurs avantages soient globalement similaires, les formats et les outils de packaging varient selon les plateformes:
Système opérateur | Format | Outils) |
---|---|---|
Debian |
|
|
Ubuntu |
|
|
CentOS |
|
|
Feutre |
|
|
FreeBSD |
Ports, |
|
Dans Debian et les systèmes basés sur celui-ci, comme Ubuntu, Linux Mint et Raspbian, le format du paquet est le fichier.deb
. APT, Advanced Packaging Tool, fournit des commandes utilisées pour les opérations les plus courantes: recherche de référentiels, installation de collections de packages et de leurs dépendances, et gestion des mises à niveau. Les commandes APT fonctionnent comme une interface pour l'utilitaire de niveau inférieurdpkg
, qui gère l'installation des fichiers.deb
individuels sur le système local, et est parfois appelée directement.
Les versions récentes de la plupart des distributions dérivées de Debian incluent la commandeapt
, qui offre une interface concise et unifiée aux opérations courantes qui étaient traditionnellement gérées par lesapt-get
etapt-cache
plus spécifiques. Son utilisation est facultative, mais peut simplifier certaines tâches.
CentOS, Fedora et d’autres membres de la famille Red Hat utilisent des fichiers RPM. Dans CentOS,yum
est utilisé pour interagir avec les fichiers de package individuels et les référentiels.
Dans les versions récentes de Fedora,yum
a été supplanté pardnf
, un fork modernisé qui conserve la majeure partie de l'interface deyum
.
Le système de paquets binaires de FreeBSD est administré avec la commandepkg
. FreeBSD propose également Ports Collection, une structure de répertoires locaux et des outils permettant à l'utilisateur d'extraire, de compiler et d'installer des packages directement à partir des sources à l'aide de Makefiles. Il est généralement beaucoup plus pratique d’utiliserpkg
, mais il arrive parfois qu’un package précompilé n’est pas disponible ou que vous deviez modifier les options de compilation.
Mettre à jour les listes de paquets
La plupart des systèmes conservent une base de données locale des packages disponibles à partir de référentiels distants. Il est préférable de mettre à jour cette base de données avant d’installer ou de mettre à jour des paquetages. En tant qu'exception partielle à ce modèle,yum
etdnf
vérifieront les mises à jour avant d'effectuer certaines opérations, mais vous pouvez leur demander à tout moment si des mises à jour sont disponibles.
Système | Commander |
---|---|
Debian / Ubuntu |
|
|
|
CentOS |
|
Feutre |
|
Paquets FreeBSD |
|
Ports FreeBSD |
|
Mettre à jour les paquets installés
S'assurer que tous les logiciels installés sur une machine restent à jour serait une entreprise énorme sans système de paquet. Vous devez suivre les modifications en amont et les alertes de sécurité pour des centaines de packages différents. Bien que le gestionnaire de packages ne résolve pas tous les problèmes rencontrés lors de la mise à niveau de logiciels, il vous permet de gérer la plupart des composants système avec quelques commandes.
Sous FreeBSD, la mise à niveau des ports installés peut introduire des modifications radicales ou nécessiter des étapes de configuration manuelle. Il est préférable de lire/usr/ports/UPDATING
avant de procéder à la mise à niveau avecportmaster
.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
Ne met à jour que les packages installés, si possible. |
|
Peut ajouter ou supprimer des packages pour satisfaire de nouvelles dépendances. |
|
|
Comme |
|
|
Comme |
|
CentOS |
|
|
Feutre |
|
|
Paquets FreeBSD |
|
|
Ports FreeBSD |
|
Utilise |
|
Installe |
Trouver un forfait
La plupart des distributions offrent une interface graphique ou un menu pour les collections de paquets. Celles-ci peuvent constituer un bon moyen de naviguer par catégorie et de découvrir de nouveaux logiciels. Cependant, le moyen le plus rapide et le plus efficace de localiser un package consiste souvent à effectuer une recherche à l'aide d'outils de ligne de commande.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
|
|
||
CentOS |
|
|
|
Recherche tous les champs, y compris la description. |
|
Feutre |
|
|
|
Recherche tous les champs, y compris la description. |
|
Paquets FreeBSD |
|
Recherche par nom. |
|
Recherches par nom, renvoyant des descriptions complètes. |
|
|
Description de la recherche. |
|
Ports FreeBSD |
|
Recherche par nom. |
|
Recherche les commentaires, les descriptions et les dépendances. |
Afficher les informations sur un package spécifique
Lorsque vous décidez quoi installer, il est souvent utile de lire les descriptions détaillées des packages. Outre le texte lisible par l’homme, ils incluent souvent des métadonnées telles que les numéros de version et une liste des dépendances du paquet.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
Affiche les informations mises en cache localement sur un package. |
|
||
|
Affiche l'état actuel de l'installation d'un package. |
|
CentOS |
|
|
|
Répertorie les dépendances pour un package. |
|
Feutre |
|
|
|
Répertorie les dépendances pour un package. |
|
Paquets FreeBSD |
|
Affiche des informations pour un package installé. |
Ports FreeBSD |
|
Installer un paquet à partir de référentiels
Une fois que vous connaissez le nom d'un paquet, vous pouvez généralement l'installer et ses dépendances avec une seule commande. En général, vous pouvez fournir plusieurs packages à installer simplement en les listant tous.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
|
|
Installe tous les packages répertoriés. |
|
|
Suppose «oui» où |
|
|
Affiche une barre de progression colorée. |
|
CentOS |
|
|
|
Installe tous les packages répertoriés. |
|
|
Suppose «oui» où |
|
Feutre |
|
|
|
Installe tous les packages répertoriés. |
|
|
Suppose «oui» où |
|
Paquets FreeBSD |
|
|
|
Installe tous les packages répertoriés. |
|
Ports FreeBSD |
|
Construit et installe un port à partir de la source. |
Installer un paquet à partir du système de fichiers local
Parfois, même si le logiciel n’est pas officiellement intégré à un système d’exploitation donné, un développeur ou un fournisseur propose des fichiers à télécharger. Vous pouvez généralement les récupérer avec votre navigateur Web ou viacurl
sur la ligne de commande. Une fois qu'un paquet est sur le système cible, il peut souvent être installé avec une seule commande.
Sur les systèmes dérivés de Debian,dpkg
gère les fichiers de paquets individuels. Si un paquet a des dépendances non satisfaites,gdebi
peut souvent être utilisé pour les récupérer à partir des référentiels officiels.
Sur les systèmes CentOS et Fedora,yum
etdnf
sont utilisés pour installer des fichiers individuels et gèrent également les dépendances nécessaires.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
|
|
Installe et utilise |
|
CentOS |
|
|
Feutre |
|
|
Paquets FreeBSD |
|
|
|
Installe le package même s'il est déjà installé. |
Supprimer un ou plusieurs packages installés
Comme un gestionnaire de paquets sait quels fichiers sont fournis par un paquet donné, il peut généralement les supprimer proprement d'un système si le logiciel n'est plus nécessaire.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
|
|
||
|
Supprime les packages inutiles. |
|
CentOS |
|
|
Feutre |
|
|
Paquets FreeBSD |
|
|
|
Supprime les packages inutiles. |
|
Ports FreeBSD |
|
|
|
Désinstalle un port installé. |
La commandeapt
Les administrateurs des distributions de la famille Debian sont généralement familiers avecapt-get
etapt-cache
. L'interface simplifiéeapt
, conçue spécifiquement pour une utilisation interactive, est moins connue.
Commande traditionnelle | apt équivalent |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Bien queapt
soit souvent un raccourci plus rapide pour une opération donnée, il n’est pas destiné à remplacer complètement les outils traditionnels et son interface peut changer entre les versions pour améliorer la convivialité. Si vous utilisez des commandes de gestion de packages dans un script ou un pipeline shell, il est judicieux de vous en tenir àapt-get
etapt-cache
.
Obtenir de l'aide
En plus de la documentation Web, gardez à l'esprit que les pages de manuel Unix (généralement appeléesman pages) sont disponibles pour la plupart des commandes du shell. Pour lire une page, utilisezman
:
man page
Dansman
, vous pouvez naviguer avec les touches fléchées. Appuyez sur/ pour rechercher du texte dans la page et surq pour quitter.
Système | Commander | Remarques |
---|---|---|
Debian / Ubuntu |
|
Mise à jour de la base de données locale des packages et utilisation des packages. |
|
Interrogation de la base de données de packages locale. |
|
|
Travailler avec des fichiers de package individuels et interroger les packages installés. |
|
|
Travailler avec une interface plus concise et conviviale pour la plupart des opérations de base. |
|
CentOS |
|
|
Feutre |
|
|
Paquets FreeBSD |
|
Travailler avec des packages binaires précompilés. |
Ports FreeBSD |
|
Travailler avec la collection de ports. |
Conclusion et lectures complémentaires
Ce guide fournit une vue d'ensemble des opérations de base pouvant être référencées entre systèmes, mais ne fait qu'effleurer la surface d'un sujet complexe. Pour plus de détails sur un système donné, vous pouvez consulter les ressources suivantes:
-
This guide couvre en détail la gestion des paquets Ubuntu et Debian.
-
Il y a unofficial CentOS guide to managing software with
yum
. -
Il y a unFedora wiki page about
dnf
et unofficial manual fordnf
itself. -
This guide couvre la gestion des paquets FreeBSD en utilisant
pkg
. -
LeFreeBSD Handbook contient unsection on using the Ports Collection.