15 Exemples pratiques de "commandes dpkg" pour les distributions basées sur Debian
Debian GNU/Linux, le système d'exploitation mère d'un certain nombre de distributions Linux, dont Knoppix., Kali, Ubuntu, Mint, etc. utilise divers gestionnaires de packages comme dpkg, apt , aptitude, synaptique, tasksel, désélectionner, dpkg-deb et dpkg-split.
Nous décrirons brièvement chacun d’eux avant de nous concentrer sur la commande « dpkg ».
Commande APT
Apt signifie Advanced Package Tool. Il ne gère pas le package 'deb' et fonctionne directement, mais fonctionne avec l'archive 'deb' à partir de l'emplacement spécifié dans le fichier « /etc/apt/ sources.list ».
Lire la suite : 25 commandes de base utiles des commandes APT-GET
Aptitude
Aptitude est un gestionnaire de paquets basé sur du texte pour Debian qui est l'interface frontale de « apt », qui permet à l'utilisateur de gérer facilement les paquets.
Synaptique
Gestionnaire de packages graphique qui facilite l'installation, la mise à niveau et la désinstallation des packages, même pour les novices.
Tasksel
Tasksel permet à l'utilisateur d'installer tous les packages pertinents liés à une tâche spécifique, à savoir l'environnement de bureau.
Désélectionner
Un outil de gestion de paquets piloté par menu, initialement utilisé lors de la première installation et maintenant remplacé par aptitude.
Dpkg-deb
Interagit avec l'archive Debian.
Dpkg-split
Utile pour diviser et fusionner des fichiers volumineux en morceaux de petits fichiers à stocker sur un support de plus petite taille comme une disquette.
Commande Dpkg
dpkg est le principal programme de gestion de paquets dans les systèmes basés sur Debian et Debian. Il est utilisé pour installer, construire, supprimer et gérer les packages. Aptitude est la principale interface de dpkg.
Certaines des commandes dpkg les plus couramment utilisées ainsi que leurs utilisations sont répertoriées ici :
1. Installer un package
Pour installer un package « .deb », utilisez la commande avec l'option « -i ». Par exemple, pour installer un package « .deb » appelé « flashpluginnonfree_2.8.2+squeeze1_i386.deb », utilisez la commande suivante.
[root@tecmint~]# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
--2013-10-01 16:23:40-- http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.310/install_flash_player_11_linux.i386.tar.gz
Resolving fpdownload.macromedia.com (fpdownload.macromedia.com)... 23.64.66.70
Connecting to fpdownload.macromedia.com (fpdownload.macromedia.com)|23.64.66.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6923724 (6.6M) [application/x-gzip]
Saving to: ‘/tmp/flashplugin-nonfree.FPxQ4l02fL/install_flash_player_11_linux.i386.tar.gz’
2. Répertoriez tous les packages installés
Pour afficher et répertorier tous les packages installés, utilisez l'option « -l » avec la commande.
[root@tecmint~]# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-===============================================================================
ii accerciser 3.8.0-0ubuntu1 all interactive Python accessibility explorer for the GNOME desktop
ii account-plugin-aim 3.6.4-0ubuntu4.1 i386 Messaging account plugin for AIM
ii account-plugin-facebook 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - facebook
ii account-plugin-flickr 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - flickr
ii account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - generic OAuth
ii account-plugin-google 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon
rc account-plugin-identica 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - identica
ii account-plugin-jabber 3.6.4-0ubuntu4.1 i386 Messaging account plugin for Jabber/XMPP
....
Pour afficher un package spécifique installé ou non, utilisez l'option « -l » avec le nom du package. Par exemple, vérifiez si le package apache2 est installé ou non.
[root@tecmint~]# dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-==============================================
ii apache2 2.2.22-6ubuntu5.1 i386 Apache HTTP Server metapackage
3. Supprimer un package
Pour supprimer le package « .deb », nous devons spécifier le nom du package « flashpluginnonfree », et non le nom d'origine « flashplugin-nonfree_3.2_i386.deb“. L'option « -r » est utilisée pour supprimer/désinstaller un package.
[root@tecmint~]# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.)
Removing flashpluginnonfree ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Vous pouvez également utiliser l'option « p » à la place de « r » qui supprimera le package ainsi que le fichier de configuration. L'option 'r' supprimera uniquement le package et non les fichiers de configuration.
[root@tecmint~]# dpkg -p flashpluginnonfree
4. Afficher le contenu d'un package
Pour afficher le contenu d'un package particulier, utilisez l'option « -c » comme indiqué. La commande affichera le contenu d'un package « .deb » au format liste longue.
[root@tecmint~]# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root 0 2012-12-14 22:54 ./
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/flashplugin-nonfree/
-rw-r--r-- root/root 3920 2009-09-09 22:51 ./usr/lib/flashplugin-nonfree/pubkey.asc
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/man8/
-rw-r--r-- root/root 716 2012-12-14 22:54 ./usr/share/man/man8/update-flashplugin-nonfree.8.gz
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/applications/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/
....
5. Vérifiez qu'un package est installé ou non
L'utilisation de l'option « -s » avec le nom du package affichera si un package deb est installé ou non.
[root@tecmint~]# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
Section: contrib/web
Installed-Size: 177
Maintainer: Bart Martens <[email >
Architecture: i386
Version: 1:3.2
Replaces: flashplugin (<< 6)
Depends: debconf | debconf-2.0, wget, gnupg, libatk1.0-0, libcairo2, libfontconfig1, libfreetype6, libgcc1, libglib2.0-0, libgtk2.0-0 (>= 2.14), libnspr4, libnss3, libpango1.0-0, libstdc++6, libx11-6, libxext6, libxt6, libcurl3-gnutls, binutils
Suggests: iceweasel, konqueror-nsplugins, ttf-mscorefonts-installer, ttf-dejavu, ttf-xfree86-nonfree, flashplugin-nonfree-extrasound, hal
Conflicts: flashplayer-mozilla, flashplugin (<< 6), libflash-mozplugin, xfs (<< 1:1.0.1-5)
Description: Adobe Flash Player - browser plugin
...
6. Vérifiez l'emplacement des packages installés
Pour répertorier l'emplacement des fichiers à installer sur votre système à partir du nom du package.
[root@tecmint~]# dpkg -L flashplugin-nonfree
/.
/usr
/usr/bin
/usr/lib
/usr/lib/mozilla
/usr/lib/mozilla/plugins
/usr/lib/flashplugin-nonfree
/usr/lib/flashplugin-nonfree/pubkey.asc
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/update-flashplugin-nonfree.8.gz
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
...
7. Installez tous les packages à partir d'un répertoire
De manière récursive, installez tous les fichiers normaux correspondant au modèle « *.deb » trouvés dans les répertoires spécifiés et tous ses sous-répertoires. Ceci peut être utilisé avec les options « -R » et « –install ». Par exemple, j'installerai tous les packages « .deb » du répertoire appelé « debpackages ».
[root@tecmint~]# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
8. Déballez le package mais ne configurez pas
L’utilisation de l’action « –unpack » décompressera le package, mais ne l’installera ni ne le configurera.
[root@tecmint~]# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
9. Reconfigurer un package déballé
L'option « –configure » reconfigurera un package déjà décompressé.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
10. Remplacer les informations disponibles sur le package
L'option « –-update-avail » remplace les anciennes informations par les informations disponibles dans le fichier Packages.
[root@tecmint~]# dpkg –-update-avail package_name
11. Effacer les informations disponibles existantes du package
L'action « –clear-avaial » effacera les informations actuelles sur les packages disponibles.
[root@tecmint~]# dpkg –-clear-avail
12. Oubliez les packages désinstallés et indisponibles
La commande dpkg avec l'option « –forget-old-unavail » oubliera automatiquement les packages désinstallés et indisponibles.
[root@tecmint~]# dpkg --forget-old-unavail
13. Afficher la licence dpkg
[root@tecmint~]# dpkg --licence
14. Afficher la version de dpkg
L'argument « –version » affichera les informations sur la version de dpkg.
[root@tecmint~]# dpkg –version
Debian `dpkg' package management program version 1.16.10 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
15. Obtenez toute l'aide sur dpkg
L'option « –help » affichera une liste des options disponibles de la commande dpkg.
[root@tecmint~]# dpkg –help
Usage: dpkg [<option> ...] <command>
Commands:
-i|--install <.deb file name> ... | -R|--recursive <directory> ...
--unpack <.deb file name> ... | -R|--recursive <directory> ...
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending
--triggers-only <package> ... | -a|--pending
-r|--remove <package> ... | -a|--pending
-P|--purge <package> ... | -a|--pending
--get-selections [<pattern> ...] Get list of selections to stdout.
--set-selections Set package selections from stdin.
--clear-selections Deselect every non-essential package.
--update-avail <Packages-file> Replace available packages info.
--merge-avail <Packages-file> Merge with info from file.
--clear-avail Erase existing available info.
--forget-old-unavail Forget uninstalled unavailable pkgs.
-s|--status <package> ... Display package status details.
...
C'est tout pour le moment. Je serai bientôt de retour avec un autre article intéressant. Si j'ai manqué une commande dans la liste, faites-le-moi savoir via les commentaires. D'ici là, restez à l'écoute et restez connecté à Tecmint. Aimez-nous, partagez-nous et aidez-nous à nous propager. N'oubliez pas de mentionner vos précieuses réflexions en commentaire.