[dpkg]Installation d'un .deb

Bonjour !

J’ai récupéré en .deb la version de développement d’un logiciel qui est déjà installé (en version stable, mais vieille) sur mon système.

Comment est-il possible d’installer cette versoin de dev “à côté” de ma version stable sans la casser ? C’est à ça que sert l’option --root de dpkg ?

Merci !

Salut,
à la lecture du manuel dpkg
http://manpages.ubuntu.com/manpages/trusty/man1/dpkg.1.html

-instdir=dir
_ Change default installation directory which refers to the_
_ directory where packages are to be installed. instdir is also_
_ the directory passed to chroot(2) before running package’s_
_ installation scripts, which means that the scripts see instdir_
_ as a root directory. (Defaults to /)_

_ --root=dir_
_ Changing root changes instdir to dir and admindir to_
_ dir/var/lib/dpkg_

j’utiliserai ça pour l’installer dans /opt

--root=/opt

Mais ce n’est qu’une proposition, je ne l’ai jamais fait

c’est pas gagné car il lui faut une arborescence var/lib/dpkg dans /opt
Mais il est assez sympa pour indiquer ce qui manque et que j’ai donc ajouté manuellemnt au fur et à mesure :grinning:


root@debian:/opt/var/lib/dpkg# ls -alrt
total 24
drwxr-xr-x 3 root root 4096 août  28 19:10 ..
-rw-r--r-- 1 root root    0 août  28 19:13 status-old
drwxr-xr-x 2 root root 4096 août  28 19:13 triggers
-rw-r----- 1 root root    0 août  28 19:14 lock
drwxr-xr-x 2 root root 4096 août  28 19:14 info
-rw-r--r-- 1 root root  437 août  28 19:14 status
drwxr-xr-x 5 root root 4096 août  28 19:14 .
drwxr-xr-x 2 root root 4096 août  28 19:14 updates

Et dans mon test ça échoue car le paquet ne trouve pas les dépendances requises dans /opt


:~/Téléchargements/linux$ sudo dpkg --root=/opt -i 4kvideodownloader_4.3-1_amd64.deb
Sélection du paquet 4kvideodownloader précédemment désélectionné.
(Lecture de la base de données... 0 fichier et répertoire déjà installé.)
Préparation du dépaquetage de 4kvideodownloader_4.3-1_amd64.deb ...
Dépaquetage de 4kvideodownloader (4.3-1) ...
dpkg: des problèmes de dépendances empêchent la configuration de 4kvideodownloader :
 4kvideodownloader dépend de libc6 ; cependant :
  Le paquet libc6 n'est pas installé.
 4kvideodownloader dépend de libstdc++6 ; cependant :
  Le paquet libstdc++6 n'est pas installé.

dpkg: erreur de traitement du paquet 4kvideodownloader (--install) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 4kvideodownloader

Pour nettoyer

root@debian:/opt# ls -alrt
total 32
drwxr-xr-x  8 root root 4096 juil.  7 16:44 viber
drwxr-xr-x  4 root root 4096 juil. 10 23:01 google
drwxr-xr-x 24 root root 4096 août  24 09:45 ..
drwxr-xr-x  6 root root 4096 août  27 08:36 wine-devel
-rwxr-xr-x  1 root root 1534 août  28 08:12 perso-apt
drwxr-xr-x  3 root root 4096 août  28 19:10 var
drwxr-xr-x  7 root root 4096 août  28 19:14 .
drwxrwxr-x  4 root root 4096 août  28 19:14 usr
root@debian:/opt# rm -R var
root@debian:/opt# rm -R usr

Finalement j’ai tenté un dpkg -i tout bête pour écraser ma version stable. Ça s’intalle, mais ça ne tourne pas car mes bibliothèque c++ sont obsolètes…

Comment on fat pour désinstaller un truc installé manuellement ?

dpkg -r

mais as -tu fait un apt-get -f install ? Il faut toujours le faire après un dpkg -i

Non, je l’ai pas fait. Il est encore temps ? Ça sert à quoi ?

   -f, --fix-broken
       Correction ; cette option demande de réparer un système où existent
       des dépendances défectueuses. Utilisée avec install ou remove, elle
       peut exclure un paquet pour permettre de déduire une solution
       viable. Tout paquet spécifié doit complètement corriger le
       problème. Cette option est quelquefois nécessaire lorsque l'on
       exécute APT pour la première fois ; APT interdit les dépendances
       défectueuses dans un système. Il est possible que la structure de
       dépendances d'un système soit tellement corrompue qu'elle requiert
       une intervention manuelle (ce qui veut dire la plupart du temps
       utiliser dpkg --remove pour éliminer les paquets en cause).
       L'utilisation de cette option conjointement avec -m peut produire
       une erreur dans certaines situations. Élément de configuration :
       APT::Get::Fix-Broken.

Merci Alain ! J’ai eu l’occasion de découvrir l’utilité de -f il y a peu suite à un passage à stretch complètement foiré (partition / trop petite) !