Ma question est simple - je veux en savoir plus sur dpkg - que fait-elle?
Ma question est simple - je veux en savoir plus sur dpkg - que fait-elle?
Réponses:
Comme cela a été dit, dpkg
est un outil système de bas niveau pour extraire, analyser, décompresser et installer ou supprimer des fichiers .deb. Cependant, il est préférable d'utiliser Software Centre
ou Gdebi
d'installer ou de supprimer des fichiers .deb obtenus à partir d'autres sources car ces deux programmes ont une résolution de dépendance.
Cependant, ce qui n'a pas été expliqué est l' anatomie d'une mise à jour utilisant dpkg
et apt-get
. Si, par exemple, nous appelons apt-get
à installer cheese
, l'arborescence des dépendances est analysée et les fichiers nécessaires sont récupérés par apt-get
, qui les transmet ensuite dpkg
pour extraire, analyser et installer aux emplacements corrects et les configurer en fonction des scripts qu'ils contiennent.
Les scripts lus dpkg
à l'intérieur de chaque fichier .deb sont importants car ils fournissent des informations au programme concernant l'installation, la suppression et la configuration des packages. Par conséquent, lorsque vous regardez, /var/log/dpkg.log
il y a beaucoup de détails détaillés sur les «déclencheurs» et les packages passant par différentes étapes de décompression et de configuration. Dans son blog, Raphael Hertzog (qui est un développeur Debian clé et mainteneur dudpkg
paquet) explique plus sur les déclencheurs de dpkg et la façon dont dpkg
inspecte et configure les paquets.
Nous allons maintenant au cœur de ce qui dpkg
fait; il gère de manière experte les paquets Debian, plutôt que leurs dépendances. Avec dpkg-deb
, par exemple, vous pouvez effectuer diverses actions dans l'analyse et l'extraction manuelle de fichiers des archives .deb; voir man dpkg-deb
pour plus d'informations.
Le statut de chaque package est répertorié dans /var/lib/dpkg/status
, qui peut être utilisé avec grep
pour vérifier un package particulier. Dpkg
peut également être appelé pour reconfigurer des packages particuliers qui ont été configurés (voir man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
Ou pour effectuer une configuration de tous les packages non configurés s'il y a eu un problème avec une mise à jour et que la configuration de certains packages est toujours en attente:
sudo dpkg --configure -a
Pour un excellent tutoriel qui se concentre sur dpkg
et apt-get
, voir les chapitres 5 et 6 du manuel Debian , qui est la meilleure discussion disponible. Entrez man dpkg
dans votre terminal ou consultez les pages de manuel Ubuntu en ligne pour voir toutes les nombreuses options disponibles, comme utiliser dpkg -l
pour répertorier les packages actuellement installés.
dpkg est un moyen en ligne de commande pour installer à partir d'un .deb ou supprimer des packages déjà installés. Par exemple, si vous aviez un fichier .deb dans votre répertoire personnel, l'exécution dpkg -i yourpackage.deb
installera ce package pour vous. Je trouve cela utile au moins pour moi parce que parfois en cliquant sur un fichier .deb, il charge Ubuntu Software Center mais ne l'installe jamais vraiment ou a des problèmes.
Comme toujours, la man
commande est un excellent point de départ.
man dpkg
peut vous donner toutes les options, néanmoins:
dpkg est un gestionnaire de paquets pour les systèmes basés sur Debian. Il peut installer, supprimer et créer des packages, mais contrairement aux autres systèmes de gestion de packages, il ne peut pas télécharger et installer automatiquement les packages et leurs dépendances.
Donc, fondamentalement, c'est apt-get sans résolution de dépendance, et il est utilisé pour installer des fichiers .deb.
Je vous préviens cependant: la désinstallation des packages à l'aide de dpkg, dans la plupart des cas, n'est PAS recommandée. Il est préférable d'utiliser un gestionnaire de packages qui gère les dépendances, pour garantir que le système est dans un état cohérent.
Par exemple, en utilisant dpkg -r zip
vous pouvez supprimer le package zip, mais tous les packages qui en dépendent seront toujours installés et ne fonctionneront plus correctement.
Vous pouvez en lire plus à ce sujet dans le guide du serveur et ailleurs .