Translation(s): English - español - Français - Italiano - 한국어(Korean)
Sujets avancés sur la gestion des paquets Debian
La gestion des paquets Debian se compose de plusieurs couches. Les couches les plus basses sont constituées de dpkg et des programmes associés. Au-dessus de ces couches se trouve la famille d'outils Apt tels que 'apt', 'apt-get', 'apt-cache' et autres. Consultez la page Package Management Tools pour une description d'autres outils permettant de travailler avec les fichiers de paquet Debian.
Contents
- Apt
- Outils de bas niveau
- Contenu d'un fichier Debian
- Reconfiguration de debconf
-
Gestion des paquets avec apt-get et dpkg
- Liste des sources de paquets pour APT
- Récupérer une nouvelle liste de paquets
- Mise à jour de tous les fichiers
- Mise à jour d'une distribution et de tous ses fichiers
- Découvrir un paquet
- Installer un paquet
- Supprimer un paquet
- Forcer la suppression d'un paquet
- Connaître le contenu d'un paquet installé
- Obtenir la description d'un paquet
- Chercher le paquet dont est issu un fichier
Vous connaissez peut-être certains logiciels comme Firefox, GIMP, etc., mais en réalité, ils ne sont que de très nombreux fichiers qui ont été compilés en un seul. Les personnes (ou parfois une seule personne) qui écrivent ce logiciel sont appelées fournisseurs en amont, elles compilent leur code et écrivent comment l'installer.
Ces fournisseurs en amont travaillent à la sortie de nouveaux logiciels et à la mise à jour des logiciels existants. Lorsqu'ils sont prêts à le diffuser dans le monde entier, ils envoient le tout aux responsables du paquet qui s'occupent de mettre ce logiciel entre les mains des utilisateurs. Ces responsables de paquets examinent, gèrent et distribuent ces logiciels sous forme de paquets. Ainsi, au lieu de télécharger des paquets/logiciels un par un à partir de sites aléatoires (comme sous Windows), il existe quelque chose de mieux : des dépôts de paquets tel qu'appelés dans Debian.
Les dépôts ne sont qu'un emplacement de stockage central pour les paquets. De nombreux dépôts en ligne contiennent de nombreux paquets. Votre machine ne sait pas où chercher ces dépôts à moins que vous ne lui disiez explicitement où chercher. Debian est déjà livré avec des sources pré-approuvées pour obtenir des paquets et c'est ainsi qu'il installe tous les paquets de base que vous voyez sur votre système (si un utilisateur a effectué une installation réseau). Sur un système Debian, ce fichier sources est le fichier/etc/apt/sources.list. Votre machine saura y chercher et vérifier tous les dépôts sources que vous avez ajoutés.
Apt
apt fournit une interface de ligne de commande de haut niveau pour le système de gestion de paquets Debian, avec tous les outils nécessaires en un seul endroit. apt vise à fournir un moyen simple et efficace de gérer les paquets pour les utilisateurs finaux.
Mettre à jour vos listes de paquets
Pour utiliser apt, il est important de récupérer une nouvelle copie des listes de paquets à partir des sources configurées :
# apt update
Mettre à niveau votre système
Vous devez mettre à jour votre système tous les jours, cela vous apporte une sécurité et des corrections de bugs :
# apt upgrade
Il est parfois utile d'utiliser "full-upgrade". Il réalise la fonction de mise à niveau mais enlèvera les paquets actuellement installés si cela est essentiel pour mettre à niveau le système dans son ensemble. Cette commande est habituellement émise lors des mises à niveau du système.
# apt full-upgrade
Avant de mettre à niveau votre système Debian vers la version suivante, accédez à une console tty en appuyant sur CTRL+ALT+F3/F4/F5, etc., car dpkg redémarre certains gestionnaires de connexion qui vous déconnecteront de force lors de la mise à niveau, entrainant une mise à niveau interrompue/partielle
Installer et supprimer des paquets
Pour installer un paquet, Firefox dans cet exemple :
# apt install firefox
Pour supprimer le paquet :
# apt remove firefox
Vous pouvez aussi installer un fichier .deb` avec :
# apt install </path/to/deb/file/debfile.deb>
Note
apt effectue l'action demandée sur un ou plusieurs paquets spécifiés via regex, glob ou correspondance exacte. L'action demandée peut être remplacée pour des paquets spécifiques en ajoutant un plus (+) au nom du paquet pour installer ce paquet ou un moins (-) pour le supprimer.
Une version spécifique d'un paquet peut être sélectionnée pour l'installation en suivant le nom du paquet avec un égal (=) et la version du paquet à sélectionner. Alternativement, une version spécifique peut être sélectionnée en faisant suivre le nom du paquet avec une barre oblique (/) et le nom de code (stretch, buster, sid...) ou le nom de la suite (stable, testing, unstable). Cela sélectionnera également les versions pour les dépendances de ce paquet si nécessaire pour satisfaire la demande. La suppression d'un paquet supprime toutes les données de celui-ci, mais laisse généralement de petits fichiers de configuration utilisateur (modifiés), au cas où la suppression serait un accident. Le simple fait d'émettre une demande d'installation pour le paquet supprimé accidentellement restaurera sa fonction comme avant dans ce cas. D'un autre côté, vous pouvez vous débarrasser de ces restes en invoquant 'purge' même sur les paquet déjà supprimés. Notez que cela n'affecte pas les données ou configurations stockées dans le répertoire personnel des utilisateurs.
Trouver des paquets
Chercher un paquet :
$ apt search <searchterm>
Par exemple, pour trouver un paquet avec le mot 'cats' dans le nom du paquet ou sa description :
$ apt search cats
Pour plus d'informations au sujet d'un paquet :
$ apt info chameleon-cursor-theme
Nettoyer
Après avoir supprimé un paquet, si vous voulez supprimer tous les autres paquets qui ont été automatiquement installés pour satisfaire les dépendances et qui ne sont désormais plus nécessaires :
# apt autoremove
On peut aussi le faire durant la suppression du paquet :
# apt remove clang --auto-remove
Vous devez vérifier que cela n'inclut pas les applications que vous avez appris à apprécier, même si elles ont déjà été installées simplement en tant que dépendance d'un autre paquet. Vous pouvez marquer un tel paquet comme installé manuellement en utilisant apt install foo ou apt-mark auto/manual foo. Les paquets que vous avez installés explicitement/directement via l'installation ne sont également jamais proposés pour une suppression automatique.
Modifier les sources
Il existe une nouvelle fonctionnalité intéressante de apt qui permet d'éditer les sources des paquets, c'est-à-dire « sources.list », dans l'éditeur texte de votre choix tout en fournissant des contrôles de base :
# apt edit-sources
Voir fr/SourcesList sur comment configurer vos sources.
Outils de bas niveau
En grande partie dpkg et ses programmes associés, sont des commandes qui effectuent une seule tâche. Ils sont directement comparables à la commande "rpm" de Redhat.
dpkg-reconfigure locales pour reconfigurer ?Locales.
dpkg-reconfigure exim pour reconfigurer l'agent mail-transfer de exim. Cette commande n'est plus actuellement une partie de de dpkg : elle est fournie par debconf.
dpkg, (voir DPkg) invoqué avec divers arguments de ligne de commande. Si vous trouvez un endroit pour télécharger des paquets Debian qui n'est pas accessible via apt, vous pouvez télécharger les paquets et les installer directement. Notez que cette méthode ne résoudra pas automatiquement les dépendances entre les paquets, etc., utilisez donc apt ou dselect si possible.
dpkg --list-files textutils pour lister tous les fichiers fournis par le paquet textutils. Cela ne fonctionne que pour les paquets déjà installés. Cela peut être utile pour savoir sous quelle forme la documentation d'un paquet a été fournie.
dpkg -S /path/to/some/file pour trouver à quel paquet appartient un fichier.
deborphan peut être pratique mais n'est plus nécessaire pour récupérer de l'espace car apt désinstalle désormais automatiquement les paquets inutiles qui ont été installés uniquement pour satisfaire une dépendance d'un paquet dont l'installation a été spécifiquement demandée mais qui a depuis été supprimé. Il vous donne une liste de paquets de bibliothèque qui n'ont plus de paquets de niveau supérieur qui en dépendent.
Contenu d'un fichier Debian
Pour regarder le contenu d'un paquet Debian dans les dépôts de Debian, qu'ils soit installé ou non, installez le paquet apt-file et exécutez
$ apt-file update $ apt-file list foo
Pour obtenir le contenu d'un fichier « abc.deb », vous devez exécuter
$ dpkg-deb -c abc.deb
Reconfiguration de debconf
Pour reconfigurer debconf afin qu'il vous informe de la plupart des modifications des nouveaux paquets :
# dpkg-reconfigure debconf
Choisiez ici « medium ».
Gestion des paquets avec apt-get et dpkg
Liste des sources de paquets pour APT
Le fichier /etc/apt/sources.list est le fichier de définition des sources pour apt. Pour de plus amples informations à propos de ce fichier, tapez
$ man 5 sources.list
Récupérer une nouvelle liste de paquets
Pour récupérer la nouvelle liste de tous les paquets à partir de sources.list, exécutez la commande :
# aptitude update
ou la commande équivalente
# apt-get update
Cette commande vérifie les nouveaux fichiers de version sur les serveurs donnés. La commande est suffisamment intelligente pour vérifier si les fichiers de version ont changé depuis la dernière mise à jour.
Mise à jour de tous les fichiers
Pour réaliser une mise à niveau de tous les paquets modifiés, exécutez
# aptitude safe-upgrade
Si vous souhaitez faire cela à partir de cron, vous devrez envisager d'utiliser le paquet cron-apt.
L'ancienne méthode basée sur apt-get est la suivante :
# apt-get upgrade -u
La balise -u montre la liste de tous les paquets mis à jour. Si vous voulez exécuter cette commande comme une tâche de cron, vous devrez utiliser les balises -dy. Avec ces balises, les nouveaux paquets seront téléchargés mais pas installés. Vous pourrez les installer après avec la commande « apt-get update -u ».
Mise à jour d'une distribution et de tous ses fichiers
WARNING
Suivre les instructions que vous trouverez dans les notes de publication est le meilleur moyen que la mise à jour de votre système d'une version majeure de Debian à la suivante (par exemple, de Jessie à Stretch) se termine sans problème !
Ces instructions vous diront d'effectuer au moins une fois un dist-upgrade (au lieu d'un upgrade). Vous aurez donc à saisir quelque chose comme ça :
# apt-get dist-upgrade
à un certain moment de la mise à jour vers une version majeure.
Un dist-upgrade peut être aussi nécessaire pour mettre à jour vers la version la plus récente de testing et unstable. Un dist-upgrade peut aussi être très occasionnellement nécessaire pour obtenir des mises à niveau de sécurité dans la version stable dans le cas où les paquets changent de nom.
Découvrir un paquet
Comment découvrir quel paquet utiliser, sans programme à interface graphique ?
# apt-cache search sylpheed
Sinon utilisez une interface web :
https://packages.debian.org/search?sylpheed
Avec l'interface de recherche web, on peut rechercher un fichier particulier dans le contenu des paquets :
Installer un paquet
Comment installer un paquet sur votre système sans programme avec une interface graphique ? Tout ce que vous avez à faire est de trouver son nom et de saisir la commande
# aptitude install sylpheed-claws
ou
# apt-get install sylpheed-claws
pour installer le paquet sylpheed-claws.
Supprimer un paquet
Pour se débarrasser du paquet toto dont vous n'avez plus besoin, saisissez la commande
# aptitude remove toto
ou
# apt-get remove toto
La suppression d'un paquet supprime toutes ses données, mais laisse généralement de petits fichiers de configuration utilisateur (modifiés), au cas où la suppression serait un accident. Le simple fait d'émettre une demande d'installation pour le paquet supprimé accidentellement restaurera sa fonction comme avant dans ce cas. D'un autre côté, vous pouvez vous débarrasser de ces restes en appelant purge même sur les paquets déjà supprimés. Notez que cela n'affecte pas les données ou configurations stockées dans votre répertoire personnel.
Donc, techniquement, si le paquet est nécessaire à d'autres paquets, vous serez invité à supprimer ce paquet et tous les autres qui en dépendent. De plus, la simple suppression d'un paquet ne supprime pas les fichiers de configuration liés à celui-ci. Pour vous débarrasser du paquet toto qui n'est plus nécessaire ainsi que de tous les fichiers de configuration et dépendances associées, entrez la commande :
# apt-get purge --autoremove toto
Vous pouvez également utiliser la commande ci-dessous pour purger les fichiers de configuration après avoir exécuté une commande normale de type apt-get remove toto :
# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
Warning
Soyez prudent lors de la suppression des paquets. Faites attention aux messages de apt.
Forcer la suppression d'un paquet
Lors d'une mise à niveau de distribution, il peut arriver que vous deviez d'abord supprimer un paquet. Mais parfois, cela n'est pas possible avec apt-get remove car le paquet a des dépendances non satisfaites ou n'est pas complètement installé. Vous pouvez supprimer le paquet toto en utilisant la commande
# dpkg --force-all --remove toto
Connaître le contenu d'un paquet installé
Parfois, vous voulez savoir quels fichiers sont dans le paquet toto. Pour obtenir cette information, entrez la commande
$ dpkg -L toto
Obtenir la description d'un paquet
Vous ne savez pas à quoi sert le paquet toto ? Tapez simplement
$ aptitude show toto
ou
$ dpkg -p toto
Chercher le paquet dont est issu un fichier
Ne vous êtes vous jamais demandé à quel paquet appartient un certain fichier ? Pour obtenir la réponse, par exemple/usr/bin/apt-get), exécutez la commande
$ dpkg -S /usr/bin/apt-get
la réponse sera qu'il appartient au paquet apt.
CategoryPackageManagement | CategorySoftware | CategoryPackaging