Gestionnaire de paquets dpkg

Mise à jour : Bullseye / Debian 11.0

Sommaire

1 - Définitions

1.1 - Paquets sources et paquets binaires

Debian fournit deux types de paquets :

1.2 - Gestion de paquets de bas niveau et de haut niveau

On distingue deux niveaux de gestion des paquets

2 - Commandes sur les paquets archive .deb

2.1 - Affichage des Informations

$ wget https://github.com/ksnip/ksnip/releases/download/v1.9.1/ksnip-1.9.1.deb
$ dpkg-deb -I ksnip-1.9.1.deb 
new Debian package, version 2.0.
size 726776 bytes: control archive=1568 bytes.
635 octets, 11 lignes control
2760 octets, 37 lignes md5sums
Package: ksnip
Version: 1.9.1
Architecture: amd64
Maintainer: Damir Porobic <damir.porobic@gmx.com>
Installed-Size: 3654
Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.0), libqt5core5a (>= 5.11.0~rc1), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.10.0) | libqt5gui5-gles (>= 5.10.0), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.4.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 4.5), libx11-6, libxcb-xfixes0, libxcb1
Section: utils
Priority: optional
Homepage: http://ksnip.org
Description: Screenshot Tool
Screenshot tool that provides many annotation features for your screenshots.
$ dpkg-deb -W ksnip-1.9.1.deb 
ksnip 1.9.1
$ dpkg-deb -f ksnip-1.9.1.deb Depends
libc6 (>= 2.14), libgcc-s1 (>= 3.0), libqt5core5a (>= 5.11.0~rc1), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.10.0) | libqt5gui5-gles (>= 5.10.0), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.4.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 4.5), libx11-6, libxcb-xfixes0, libxcb1
$ dpkg-deb -f ksnip-1.9.1.deb Package Description
Package: ksnip
Description: Screenshot Tool
Screenshot tool that provides many annotation features for your screenshots.
$ dpkg-deb -c ksnip-1.9.1.deb 
drwxr-xr-x root/root 0 2021-09-13 19:20 ./
drwxr-xr-x root/root 0 2021-09-13 19:20 ./usr/
drwxr-xr-x root/root 0 2021-09-13 19:20 ./usr/bin/
-rwxr-xr-x root/root 2570648 2021-09-13 19:20 ./usr/bin/ksnip
drwxr-xr-x root/root 0 2021-09-13 19:20 ./usr/share/
drwxr-xr-x root/root 0 2021-09-13 19:20 ./usr/share/applications/
-rw-r--r-- root/root 634 2021-09-13 19:20 ./usr/share/applications/org.ksnip.ksnip.desktop
....

2.2 - Installation

$ sudo dpkg -i ksnip-1.9.1.deb
...
$ wget https://github.com/crow-translate/crow-translate/releases/download/2.8.7/crow-translate_2.8.7_amd64.deb      
$ sudo dpkg -i crow-translate_2.8.7_amd64.deb 
.....
dpkg: des problèmes de dépendances empêchent la configuration de crow-translate:
crow-translate dépend de libqt5multimedia5 (>= 5.6.0~beta) ; cependant :
Le paquet libqt5multimedia5 n'est pas installé.
crow-translate dépend de libtesseract4 ; cependant :
Le paquet libtesseract4 n'est pas installé.
.....
dpkg: erreur de traitement du paquet crow-translate (--install) :
....
Des erreurs ont été rencontrées pendant l'exécution :
crow-translate

3 - Commandes sur les paquets installés

3.1 - État résumé d'un paquet

$ LANG=EN 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 accountsservice 0.6.55-3 amd64 query and manipulate user account information
ii acl 2.2.53-10 amd64 access control list - utilities
ii adb 1:10.0.0+r36-7 amd64 Android Debug Bridge
ii adduser 3.118 all add and remove users and groups
ii adwaita-icon-theme 3.38.0-1 all default icon theme of GNOME
.....
$ dpkg -l crow-translate
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom Version Architecture Description
+++-==============-============-============-=========================================================================================================
iU crow-translate 2.8.7 amd64 A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing
10:28 philippe@debian:~/Téléchargements$

Dans l'exemple ci-dessous, le paquet crow-translate est installé, l'état désiré est Installation, la situation est Dépaqueté (Unpacked) avec erreur

$ dpkg -l crow-translate |tail -1
iU crow-translate 2.8.7 amd64 A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing

3.2 - Information

$ dpkg -s ksnip
Package: ksnip
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 3654
Maintainer: Damir Porobic <damir.porobic@gmx.com>
Architecture: amd64
Version: 1.9.1
Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.0), libqt5core5a (>= 5.11.0~rc1), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.10.0) | libqt5gui5-gles (>= 5.10.0), libqt5network5 (>= 5.0.2), libqt5printsupport5 (>= 5.0.2), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.4.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 4.5), libx11-6, libxcb-xfixes0, libxcb1
Description: Screenshot Tool
Screenshot tool that provides many annotation features for your screenshots.
Homepage: http://ksnip.org

3.3 - Liste des fichiers

$ dpkg -L ksnip
/.
/usr
/usr/bin
/usr/bin/ksnip
/usr/share
/usr/share/applications
/usr/share/applications/org.ksnip.ksnip.desktop
/usr/share/doc
/usr/share/doc/ksnip
/usr/share/doc/ksnip/changelog.Debian.gz
/usr/share/doc/ksnip/changelog.gz
.......

3.4 - Recherche du paquet fournissant une commande ou un fichier

$ which ksnip
/usr/bin/ksnip
$ dpkg -S /usr/bin/ksnip
ksnip: /usr/bin/ksnip

3.5 - Suppression

$ sudo dpkg -r ksnip
$ sudo dpkg -P ksnip
$ sudo dpkg --force-depends -r ksnip
$ sudo dpkg --force-depends -P ksnip

4 - Interaction avec apt

4.1 - apt

$ sudo apt-file udpate
$ apt-cache policy ksnip
ksnip:
Installé: 1.9.1
Candidat : 1.9.1-1~bpo11+1
Table de version :
1.9.1-1~bpo11+1 100
100 http://deb.debian.org/debian bullseye-backports/main amd64 Packages
*** 1.9.1 100
100 /var/lib/dpkg/status
1.8.0-2 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages

$ aptitude versions ksnip
Paquet ksnip :
p 1.8.0-2 stable 500
i 1.9.1 100
p 1.9.1-1~bpo11+1 bullseye-backports 100
$ aptitude search crow-translate
i crow-translate - A simple and lightweight translator that
$ aptitude show crow-translate
Paquet: crow-translate
Version : 2.8.7
Nouveau: oui
État: dépaqueté
Automatiquement installé: non
Priorité : optionnel
Section : devel
Responsable : genaloner@gmail.com
Architecture : amd64
Taille décompressée : 4 435 k
Dépend: libc6 (>= 2.15), libgcc-s1 (>= 3.0), libqt5core5a (>= 5.12.2), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.10.0) | libqt5gui5-gles (>= 5.10.0), libqt5multimedia5 (>= 5.6.0~beta),
libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.11.0~rc1), libqt5x11extras5 (>= 5.6.0), libstdc++6 (>= 5), libtesseract4, libx11-6, libxcb1
Recommande: qtgstreamer-plugins-qt5, gstreamer1.0-plugins-good, gstreamer1.0-alsa, gstreamer1.0-pulseaudio, libqt5multimedia5-plugins
Description : A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing

Site : crow-translate.github.io
$ sudo aptitude install -f
Les paquets partiellement installés suivants seront configurés:
crow-translate{b}
Aucun paquet ne va être installé, mis à jour ou enlevé.
0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 2 non mis à jour.
Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
Les paquets suivants ont des dépendances non satisfaites :
crow-translate : Dépend: libqt5multimedia5 (>= 5.6.0~beta) but it is not going to be installed
Dépend: libtesseract4 but it is not going to be installed
Les actions suivantes permettront de résoudre ces dépendances :

Installer les paquets suivants :
1) liblept5 [1.79.0-1.1 (stable)]
2) libqt5multimedia5 [5.15.2-3 (stable)]
3) libtesseract4 [4.1.1-2.1 (stable)]



Accepter cette solution ? [Y/n/q/?]
$ sudo aptitude purge crow-translate
Les paquets suivants seront ENLEVÉS:
crow-translate{p} liblept5{u} libqt5multimedia5{u} libtesseract4{u}
0 paquets mis à jour, 0 nouvellement installés, 4 à enlever et 2 non mis à jour.
Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 12,1 Mo seront libérés.
Voulez-vous continuer ? [Y/n/?]
$ aptitude versions crow-translate
E: Le paquet «crow-translate » n'existe pas

4.2 - gdebi

$ sudo gdebi crow-translate_2.8.7_amd64.deb 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
Nécessite l'installation des paquets suivants: liblept5 libqt5multimedia5 libtesseract4
..
Voulez-vous installer le paquet logiciel ? [o/N] :o