Question APT

Bonjour,

Un interrogation sur le fonctionnement des paquets.
Par exemple, si je fais un aptitude search linux-image, j´ai plusieurs packets disponible ceux avec un c au début de la ligne correspondent à quoi?

 c   linux-image-5.15.0-97-generic                                                                      -                                                                                                             
c   linux-image-6.1.0-1025-oem                                                                         -                                                                                                             
c   linux-image-6.1.0-1026-oem                                                                         -                                                                                                             
c   linux-image-6.2.0-36-generic                                                                       -                                                                                                             
c   linux-image-6.2.0-37-generic                                                                       -                                                                                                             
c   linux-image-6.2.0-39-generic                                                                       -                                                                                                             
c   linux-image-6.5.0-14-generic                                                                       -                                                                                                             
c   linux-image-6.5.0-15-generic                                                                       -      

si je veux voir leur adresses de dépots via apt-cache policy, je ne trouve rien

apt-cache policy linux-image-6.5.0-41-generic
linux-image-6.5.0-41-generic:
  Installé : (aucun)
  Candidat : (aucun)
 Table de version :
     6.5.0-41.41~22.04.2 -1
        100 /var/lib/dpkg/status

Une explication à ca? Et est ce possible de nettoyer la base des packets que l’ont ne peut pas installer car pas de dépots?

Merci

Ce sont des paquets supprimés mais dont les fichiers de configuration sont encore là (en cas de réinstallation).
apt purge linux-image-5.15.0-97-generic pour nettoyer définitivement linux-image-5.15.0-97-generic.

1 J'aime

ah merci je ne savais pas ca. Et ca m’emmene à une autre question, quand je fais un dpkg -L linux-image-5.15.0-97-generic il ne m’affiche aucun fichier appartenant à ce paquet, pourquoi? Et je fais réguliérement des aptitude autoremove et clean, c’est possible de tout nettoyer en une commande line apt? (sinon un script fera l’affaire)

Ce sont des fichiers de configuration, installés par des scripts annexes.

ok merci.
Tant que j’y suis, c’est possible de retrouver tout les paquets qui ont été installé depuis un certain dépot?
Et ceux qui n’ont pas de dépots?

Je ne crois pas qu’apt permette de faire ça simplement (voire de le faire tout court ?), mais c’est possible de savoir ça en regardant les fichiers *Pakages dans le répertoire /var/lib/apt/lists

Par exemple si je prends au hasard le paquet augeas-lenses installé sur ma machine:

$ grep -l augeas-lenses /var/lib/apt/lists/*Packages
/var/lib/apt/lists/deb.debian.org_debian_dists_bookworm_main_binary-amd64_Packages

j’apprends qu’il a été installé via le dépôt deb.debian.org pour bookworm, section main (ce qu’on peut aussi apprendre avec apt policy augeas-lenses).

Pour avoir quelque chose de plus complet, on doit pouvoir bricoler quelque chose pour boucler sur la liste des paquets installés afin de chercher dans quel fichier blabla_Packages le paquet est présenté (il faut penser à boucler avec la version aussi, car un paquet avec le même nom peut être disponible dans plusieurs dépôts).

Verner a développé un outil d’interface convivial pour apt/dpkg: ideb, mais je ne saurais pas te dire s’il propose cette fonctionnalité.

1 J'aime

Pour ceux qui n’ont pas de dépôt, peut-être deborphan mais il ne semble plus exister.

‹ aptitude › n’est pas assez précis pour évaluer l’état d’un paquet.
La notion de paquet ‹ cassé › est vague et inclus des paquets qui n’ont rien de ‹ cassé ›, mais seulement dont la configuration a été conservée après désinstallation, et ceux vraiment cassés au sens apt, non configurés, et qui bloqueront le fonctionnement nominal d’apt.
Pour voir les paquets ‹ pseudo-cassés › dont il reste des traces de configuration,

dpkg -l |awk '/^rc/{print $1,$2}'

Pour supprimer leur configuration:

apt purge $(dpkg -l |awk '/^rc/{print $2}')

Sinon, un des objectifs d’ideb est effectivement de simplifier la gestion courante de paquets.
‹ ideb -info › fait une synthèse de l’installation en expliquant comment ‹ purger › les paquets désinstallés.

La notion de paquets ‹ orphelins › est autre chose, qui demanderait quelques précisions importantes.
‹ ideb -orphan › liste les librairies orphelines, bien que deborphan soit disponible dans les dépôts (usage à risque sans analyse avant action).

si je veux voir leur adresses de dépots

Pas si simple pour un paquet désinstallé, qui a pu être installé manuellement, et dont le système n’a plus forcément la trace d’origine.
Si le paquet n’est plus accessible dans la base apt, selon l’évolution des dépôts au cours du temps, et activés ou non, je crains que ce soit impossible de manière générale.

1 J'aime