Les spécialistes me rétorquerons sans doute que çà existe depuis longtemps, mais je viens de découvrir qu’aptitude (qui me semble devenir de plus en plus pragmatique / évolué) propose à présent de revenir à d’anciens paquets pour résoudre des dépendances entre paquets de plus en plus épineuses.
Ce matin je me suis décidé à tenter de réduire la liste des paquets « non installables » (pour bugs ou soucis de dépendances) dans la rubrique « Nouvelle version amont du logiciel » de Synaptic (sous Debian Sid).
Ca n’aura pas été une sinécure, me prenant toute la matinée, avec quelques phases à suspens / d’inquiétudes (vis à vis de la stabilité de mon système).
J’aurais ainsi mis à jour :
– Grub 2 (en 2.02~beta2-33, signalé comme ayant un bug sérieux par le gestionnaire de paquet) : çà marche :)
– installé par la même occasion le noyau linux 4.3.0, mais pas moyen de démarrer dessus (j’ai des messages d’erreurs au démarrage, certains dont je ne connais pas encore la cause, d’autres liés vraisemblablement à un souci de chemin de démarrage : « lvmetad is not active yet, using direct activation during sysvinit » « disk/by-uuid/6b… : invalid path for logical volume »)
– mis à jour kmod en v22-1 (qui m’a supprimé mon noyau 3.1.0, allez savoir pourquoi, et module-init-tools – qu’il remplace, ce qui m’inquiétais un peu, mais çà démarre quand même :))
– mis à jour bsdmainutils en version 9.0.6+b1 (j’aime pas les bêtas, vous imaginez pourquoi)
– supprimé quelques paquets pour débloquer des mises à jour
J’avais aussi libcurl3 (et des paquets associés) qui me pourrissaient la vie : pas moyen de les mettre à jour ni de les supprimer via synaptic.
J’ai donc tenté le coup manuellement avec aptitude (d’ailleurs : pourquoi synaptic n’utilise-t’il pas aptitude en remplaçant intelligent d’apt-get ?).
Sa 1ere proposition ne me convenait pas (suppression de paquets dont j’avais l’utilité, je ne me souviens plus lesquels), mais la 2nde proposition m’a plutôt surpris :
# aptitude install libcurl3
Accepter cette solution ? [Y/n/q/?] y
Les paquets suivants vont être RÉINSTALLÉS à une VERSION ANTÉRIEURE :
librtmp-dev librtmp1
Les paquets suivants seront ENLEVÉS :
libgnutls28{a} libhogweed2{a} libnettle4{a}
Les paquets suivants seront mis à jour :
curl libarchive-dev libarchive13 libcurl3 libcurl3-gnutls libgnutls-deb0-28 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 wget
10 paquets mis à jour, 0 nouvellement installés, 2 remis à une version antérieure, 3 à enlever et 1988 non mis à jour.
Il est nécessaire de télécharger 4 132 ko d’archives. Après dépaquetage, 1 822 ko seront libérés.
Voulez-vous continuer ? [Y/n/?] y
Et c’est là où je voulais en venir, finalement l’outil a été assez évolué pour proposer la solution judicieuse de rétrograder 2 paquets pour débloquer les dépendances. J’ai accepté le choix, et çà m’a débloqué la situation (mise à jour de ces paquets et d’autres qui étaient liés).
Chapeau bas pour les développeurs Debian : génial cet outil aptitude !
A présent dans mon filtre « Nouvelle version amont du logiciel » de Synaptic (sous Debian Sid), il ne me reste que :
– iceweasel v.43.0.2-1 (parce que la version 43.0.4-1 ne me plaît pas, voir mon article précédent)
– mdadm 3.3.4-1.1+b1 (signalé comme ayant un bug et je l’utilise pour mes disques en RAID 1)
Et tout fonctionne.
Seule contrainte – que j’espère résoudre tôt ou tard, je démarre pour l’instant avec mon noyau 3.2.0-4-686-pae au lieu du noyau 4.3.0.
En dépit des soucis de maintenance de logiciels externes à Debian (tel que Grub – qu’il serait temps de reprendre ou de proposer autre chose) composant cette distribution, on arrive à avoir un OS à jour (les « 1988 non mis à jour » ne sont pas des changements de versions importantes, mais des petites corrections internes) et fonctionnel.
Bravo à tous les acteurs Linux et Debian !!!