Si vous êtes sur un système Debian ou basé sur Debian (comme Ubuntu), il y a de fortes chances que vous ayez rencontré des packages .deb. Ce sont des packages Debian, et la ligne de commande Linux propose des commandes/outils intégrés pour gérer ce type de packages. Un de ces outils est dpkg , dont nous parlerons ici dans ce didacticiel.
Mais avant cela, il convient de mentionner que tous les exemples de ce didacticiel ont été testés sur une machine Ubuntu 16.04LTS.
Commande Linux dpkg
L'outil dpkg est essentiellement un gestionnaire de paquets pour les systèmes basés sur Debian/Debian. Voici sa syntaxe :
dpkg ACTIONS
OU
dpkg [options] filename
Et voici comment la page de manuel l'explique :
dpkg is a tool to install, build, remove and manage Debian packages.
The primary and more user-friendly front-end for dpkg is aptitude(1).
dpkg itself is controlled entirely via command line parameters, which
consist of exactly one action and zero or more options. The action-
parameter tells dpkg what to do and options control the behavior of the
action in some way.
dpkg can also be used as a front-end to dpkg-deb(1) and dpkg-query(1).
The list of supported actions can be found later on in the ACTIONS sec?
tion. If any such action is encountered dpkg just runs dpkg-deb or
dpkg-query with the parameters given to it, but no specific options are
currently passed to them, to use any such option the back-ends need to
be called directly.
Voici quelques exemples de style Q&R qui devraient vous donner une bonne idée de base sur le fonctionnement de dpkg.
Q1. Comment installer un paquet en utilisant dpkg ?
Vous pouvez le faire en utilisant l'option de ligne de commande -i.
dpkg -i [package-name]
Par exemple :
dpkg -i google-chrome-stable_current_amd64.deb
Voici toutes les étapes du processus d'installation :
1. Extract the control files of the new package.
2. If another version of the same package was installed before
the new installation, execute prerm script of the old package.
3. Run preinst script, if provided by the package.
4. Unpack the new files, and at the same time back up the old
files, so that if something goes wrong, they can be restored.
5. If another version of the same package was installed before
the new installation, execute the postrm script of the old pack?
age. Note that this script is executed after the preinst script
of the new package, because new files are written at the same
time old files are removed.
6. Configure the package. See --configure for detailed informa?
tion about how this is done.
Q2. Comment supprimer un paquet déjà installé à l'aide de dpkg ?
Cela peut être fait en utilisant l'option de ligne de commande -r.
dpkg -r [package-name]
Par exemple :
dpkg -r googler_3.3.0-1_all.deb
Voici ce que dit la page de manuel à propos de cette option :
Removing of a package consists of the following steps:
1. Run prerm script
2. Remove the installed files
3. Run postrm script
Q3. Comment lister tous les packages installés dans le système ?
Pour cela, vous pouvez utiliser l'option de ligne de commande -l.
dpkg -l
Par exemple, voici la sortie produite par cette option de ligne de commande sur mon système :
Q4. Comment faire en sorte que dpkg liste le contenu d'un paquet ?
Cela peut être fait en utilisant le drapeau --contents.
dpkg --contents [package name]
Par exemple :
Q5. Comment simplement décompresser un paquet en utilisant dpkg ?
Il peut arriver que vous souhaitiez simplement décompresser le package, sans le configurer. Eh bien, dpkg fournit également une option pour cela :--unpack.
dpkg --unpack [package-name]
Si plus tard vous souhaitez configurer un paquet déjà décompressé, vous pouvez le faire en utilisant l'option de ligne de commande --configure.
dpkg --configure [package-name]
Voici ce que dit la page de manuel à propos de cette option :
Configuring consists of the following steps:
1. Unpack the conffiles, and at the same time back up the old
conffiles, so that they can be restored if something goes wrong.
2. Run postinst script, if provided by the package.
Q6. Comment vérifier si un paquet est installé ou non ?
Utilisez l'option de ligne de commande -s pour cela.
dpkg -s [package-name]
Par exemple :
Q7. Comment imprimer l'architecture des packages installés par dpkg ?
Ces informations sont accessibles à l'aide de l'option de ligne de commande --print-architecture.
dpkg --print-architecture
Par exemple, la sortie de la commande ci-dessus produite sur mon système était :
amd64
Q8. Comment purger un paquet avec dpkg ?
Nous avons déjà expliqué comment supprimer un paquet à l'aide de la commande dpkg. Vous pouvez également purger un paquet, un processus qui supprime tout, y compris les conffiles. Cela peut être fait en utilisant l'option de ligne de commande -P.
dpkg -P [package-name]
Voici ce que la page de manuel a à dire sur cette option :
Some configuration files might be unknown to dpkg because
they are created and handled separately through the configura?
tion scripts. In that case, dpkg won't remove them by itself,
but the package's postrm script (which is called by dpkg), has
to take care of their removal during purge. Of course, this only
applies to files in system directories, not configuration files
written to individual users' home directories.
Purging of a package consists of the following steps:
1. Remove the package, if not already removed. See --remove for
detailed information about how this is done.
2. Run postrm script.
Conclusion
La commande dpkg offre une pléthore d'options. Nous avons discuté ici des options qui vous aideront à démarrer avec l'outil. Une fois que vous avez fini de vous entraîner, rendez-vous sur la page de manuel de la commande pour plus d'informations.