Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 02-08-2013 19:08:20

MicP
Invité

[Résolu] erreurs "dpkg --set-selections..."

Bonjour
je vous explique comment j'en suis arrivé là:

1°/ J'utilise "virt-manager" pour créer une machine virtuelle debian 7.1 64b depuis l'image iso "debian-7.1.0-amd64-netinst.iso".
2°/ Ensuite, je créé un clone de cette première machine.
       A ce stade, les deux machines fonctionnent correctement.
3°/ Sur la première machine virtuelle, et avec "apt-get install...", j'installe "mc" (Midnight Commander) et "openssh-server".
4°/ Ensuite, sur cette même machine, je lance la commande: "dpkg --get-selections >selections.txt"
5°/ depuis la deuxième machine virtuelle, je récupère (par "sftp") le fichier "selections.txt" créé sur la première machine virtuelle
6°/ je lance alors la commande "dpkg --set-selections < selections.txt"
Mais voilà le retour que j'obtiens avec cette dernière commande:

dpkg : avertissement : paquet non présent dans la base de données à la ligne 322 : mc
dpkg : avertissement : paquet non présent dans la base de données à la ligne 322 : mc-data
dpkg : avertissement : paquet non présent dans la base de données à la ligne 341 : openssh-server
 

Je n'ai pas trouvé d'explication sur le net, ni sur les différents forums.(peut-être ais-je mal cherché...)
Auriez vous une piste, un conseil, une explication qui pourrait m'aider à résoudre ce problème ?
Je vous remercie d'avance pour vos propositions.

Dernière modification par MicP (09-08-2013 12:43:56)

#2 02-08-2013 19:11:27

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] erreurs "dpkg --set-selections..."

Salut,

Avant de pouvoir marquer un paquet comme « à installer », dpkg doit l'avoir dans la liste de paquets (celle que l'on a en modifiant le fichier sources.list puis en faisant apt-get update).
Ces paquets n'étaient probablement pas sur l'iso que tu as utilisée, et tu n'as jamais du faire d'update vers un miroir Debian, d'où le problème.

Solution : tu configures ton/tes fichier(s) sources.list correctement et tu fais un apt-get update (puis tu refais ton set-selection)

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 02-08-2013 19:30:01

MicP
Invité

Re : [Résolu] erreurs "dpkg --set-selections..."

Merci pour ta proposition,
effectivement, j'ai oublié de préciser que juste après avoir démarré chaque machine virtuelle, et donc avant d'installer quoi que ce soit, j'avais fait un:
"apt-get update && apt-get upgrade -y" depuis le compte root, (c'est pour moi un réflexe, d'où l'oublis de préciser)
Toutefois, ayant utilisé une netinstall, il n'avait rien installé de plus, vu qu'il avait dû utiliser le mirroir Debian sur le net pour trouver tous les paquets du système à installer.

Je cherche d'ailleurs des liens sur "dpkg" me permettant de mieux comprendre exactement ce que fait l'option "--set-selections". Le man est très pauvre la dessus, et le net....
Sinon, j'essaierai bien de lire les fichiers source, mais même si je me débrouille, je ne suis quand même qu'un bricoleur en programmation, et même en lisant les sources, tant que je n'aurais pas compris comment tout ça est organisé... smile quand je serais grand peu-être, et encore. smile

Dernière modification par MicP (02-08-2013 20:13:33)

#4 02-08-2013 20:24:08

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] erreurs "dpkg --set-selections..."

sinon, mc-dat n'existe pas, c'est mc-data, et openssh-data n'existe pas non plus, c'est openssn-data. mc, par contre, existe bien. Peut-être as-tu ajouté un espace insécable ou une bêtise du genre.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#5 02-08-2013 20:47:14

MicP
Invité

Re : [Résolu] erreurs "dpkg --set-selections..."

Effectivement, c'est bien de "mc-data" qu'il s'agit et de "openssh-server",
j'ai dû recopier à la main (d'ou les erreurs) la ligne depuis un écran texte d'une machine virtuelle d'où le copier-coller n'est pas possible.
De plus, en utilisant le style d'affichage "blackout3", je ne voyais plus la fin des lignes de code, merci de me l'avoir signalé.
Je suis repassé en affichage style "air" (tant pis pour mes yeux... ça fait deux fois cet après midi..)
Je vais modifier le post pour les futur lecteurs.
==============================
J'ai bien trouvé ici une alternative à ce problème en utilisant "aptitude" :

Depuis la première vm (celle qui sert de source) :

aptitude -F "%p" search '~i!~M' > liste_paquets.txt



Transférer le fichier "liste_paquets.txt" d'une machine à l'autre,

Depuis la deuxième vm:

aptitude install $(cat liste_paquets.txt)



Mais je voudrais quand même comprendre ce qui se passe pour "dpkg --set-selections".
Alors, si vous trouvez des liens sur de la doc, même dans une autre langue, je suis preneur.

En tout cas, merci pour votre aide
et aussi votre tolérance pour mes fautes de recopie, ça fait plaisir.

Je vais aller essayer de rattraper du retard de sommeil,
sinon, les erreurs vont êtres de plus en plus nombreuses..

Dernière modification par MicP (20-09-2013 00:15:14)

#6 02-08-2013 21:24:23

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] erreurs "dpkg --set-selections..."

Pour protéger tes yeux, essaye le thème DarkPaques2013.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#7 02-08-2013 21:52:15

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : [Résolu] erreurs "dpkg --set-selections..."

En fait, ces commandes get-selections et set-selections sont faites pour être utilisées avec une autre interface de gestion des paquets que les outils APT : dselect.

Dselect maintient une base de données des paquets, et une base de données des états dans lesquels il souhaite voir ces paquets.
Quand tu fais par exemple un

echo "hello install" | sudo dpkg --set-selections


il va chercher le paquet « hello » dans sa base de données, et le rajoute marqué comme « doit être installé ».

Mais avant de pouvoir faire cela, il faut que sa base de paquet contienne l'entrée « hello ».

De la même manière qu'il faut faire « apt-get update » avec APT, il faut faire « dselect update » avec dselect (et il faut avoir « dselect » d'installé…)
Si c'est bien le cas, alors la commande « dpkg --set-selections » arrive à donner le bon état à tous les paquets.

Reste encore à synchroniser l'état du système avec la liste des états des paquets de dselect.
C'est le rôle de

apt-get dselect-upgrade



C'est d'avantage clair maintenant ? smile

Tu trouveras plus de doc sur dselect ici : http://www.debian.org/doc/manuals/dsele … ex.fr.html

À savoir tout de même que dselect n'est plus du tout recommandé de nos jours.

Un petit retour sur les commandes que tu proposes :

aptitude -F "%p" search '~i!~M' > liste_paquets.txt


Cette commande crée une liste liste_paquets.txt de tous les paquets marqués comme manuellement installés.
La commande suivante permet de les installer et de les marquer comme manuellement installés également.

Cependant, les paquets automatiquement installés sont ignorés. Ils sont éventuellement automatiquement réinstallés suivant les paramètres d'APT sur la nouvelle machine, mais si un paquet automatiquement installé avait été désinstallés sur la première machine, il restera installé sur la seconde smile

Si tu veux une réplique exacte de ton système, tu pourrais t'amuser à faire un truc du genre :

aptitude -F "%p" search '~i!~M' > liste_paquets_manuel.txt
aptitude -F "%p" search '~i~M' > liste_paquets_auto.txt



Et puis un

aptitude install -r $(cat liste_paquets_manuel.txt) $(cat liste_paquets_auto.txt)
aptitude markauto $(cat liste_paquets_auto)
 



Bon, après, on est juste en train de faire joujou avec aptitude là :-D


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#8 02-08-2013 22:20:21

MicP
Invité

Re : [Résolu] erreurs "dpkg --set-selections..."

Je reviens un peu par curiosité, et je vois la richesse des informations que tu me donnes.
J'ai activé le thème proposé, et il me conviens parfaitement.
Je reviendrais lire et assimiler tout ça demain soir.
Un grand merci.
A bientôt

#9 03-08-2013 13:56:38

MicP
Invité

Re : [Résolu] erreurs "dpkg --set-selections..."

captnfab a écrit :

... il faut avoir « dselect » d'installé ...


J'avais bien testé de lancer sans succès un "man deselect", et jaurais dû un peu plus m'en inquiéter.

captnfab a écrit :

... Dselect maintient une base de données ...


Donc, si j'ai bien compris, apt et dselect utilisent chacun leur propre base de donnée et ont des méthodes différentes pour la gestion des paquets.

captnfab a écrit :

... dselect n'est plus du tout recommandé de nos jours ...


Ok, ça me fera beaucoup moins de documentation à lire, et ça va me permettre d'éviter beaucoup de confusions.

En conclusion:
Les erreurs renvoyées par la commande "dpkg --set-selections..." s'expliquent donc par l'absence du programme "dselect" sur le système , mais comme ...

captnfab a écrit :

... dselect n'est plus du tout recommandé de nos jours ...



Je vais donc éviter à l'avenir d'utiliser les options des commandes d'apt et dpkg qui utilisent dselect,
et orienter mes recherches sur la documentation d'apt (et aptitude) et sa méthode de gestion des paquets, en commençant par la structure et l'organisation de sa base de données.

Un grand merci à captnfab pour tous ces renseignements.

Dernière modification par MicP (09-08-2013 12:48:58)

Pied de page des forums