Stratégie apt-get curieuse

Suite à mon blocage (à cause de ma version du noyau: J’étais en train de la passerr de woody à etch; le premier passage de woody à sarge s’etait passé impeccable, mais au passage en etch, la libc6 n’a pas voulu pas s’installer: motif: le noyau 2.2.20 est trop vieux. Et là c’est la boucle infernale: la moitié des paquets de Etch attendent la libc6, et impossible de revenir en sarge pour cause d’autres paquets. Bref, installation via dpkg des paquets nécessaires pour mettre un 2.4 (faute de mieux) et je pense que j’ai merdouillé sur l’initrd, après un reboot, le serveur ne répondait plus), j’ai constaté que le pbm était un pbm de module carte réseau non chargé (pas bien grave). Bon,

  • j’installe un linux-2.4.27.
  • Puis sous sources.list Etch, je fais apt-get -f install pour qu’il me termine l’installation de la libc6 --> Il veut virer le noyau, pbm avec initrd-tools. Bon.
  • Je fais apt-get install initrd-tools —> pbm de dépendances, Bon.
  • Je refais apt-get -f install et là il se décide enfin à installer tout le bazar.

Bon, ça m’a évité une série de dpkg mais je ne comprends pas la différence d’état entre les 2 apt-get -f install. La seule chose demandée est une mise à jour de initrd-tools mais je suis étonné qu’il ait proposé la suppression (impossible d’initrd-tools) plutôt que sa mise à jour. Quelqu’un maitrise apt-get et sa stratégie pour m’expliquer ça?

1er apt-get -f install: il cherche une solution d’homogeneisation et il en trouve une, avec tes selections du moment, qui te désinstalle plein de truc, parceque sans initrd-tools, il ne peut pas faire les mises à jour de la majorité des paquets, et qu’il ne veut pas installer lui même initrd-tools.
Ensuite, tu ajoutes toi même initrd-tools à ta selection (au sens “dpkg --get-selections”), puis tu refais ton apt-get install. Initrd-tools devant être théoriquement installé, il trouve maintenant beaucoup plus de mises à jours necessitant initrd-tools, et qui peuvent donc être faites en même temps au lieu d’une desinstall.
Non ?

Cependant le paquet initrd-tools existait déjà (je l’avais installé à la main via dpkg pour pouvoir installer le noyau 2.4.27 afin de me sortir de ma situation due au noyau 2.2), il préférrait le dégager plutôt que l’upgrader (d’où la suppression du noyau comme conséquence). Effectivement, je n’avais pas fait
apt-get install initrd-tools

mais

dpkg -i initrd-tools-de-sarge.deb

chargé à la main (ça ma rappelé le temps de la slink :slightly_smiling:). Cela veut dire qu’un paquet installé via dpkg n’est pas déclaré dans la «base» d’apt dans ce cas…