Recherche de contenu de repository sur Debian/Ubuntu

closeCet article a été publié il y a 1 an 2 mois 6 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Ça fait longtemps que j’avais pas eu à mettre les mains dans les coulisses du gestionnaire de paquet APT. D’ailleurs la dernière fois que j’ai eu à en parler ici, c’était en 2016, c’est dire. Mais grâce à mon super laptop de boulot sous Ubuntu, récemment j’ai eu à replonger dedans, du coup, on va voir ce qu’il en est.

Lors d’une mise à jour hebdomadaire, je me suis pris une erreur sur de clé GPG sur un dépot : https://apt.iteas.at/. Le site en question indique comment ajouter la nouvelle clé, mais avant de l’ajouter, j’ai quand même voulu chercher pourquoi ce dépôt était présent en premier lieu. Une chose est sure, déjà, c’est pas installé par les équipes info Accenture, c’est un ajout de mon cru. Mais ça ne m’avance pas plus que ça, l’historique de mon navigateur ne me donnant aucune piste particulière. Je me suis donc dit que je devais avoir les infos en local, à savoir les infos des paquets installés.

Sans en discuter la pertinence ou les dangers, un des avantages des fichiers locaux d’apt est qu’ils sont en texte brut, et donc on peut les scanner avec des outils de bases dispo sur pratiquement toutes les distributions linux. En l’occurrence, c’est dans le dossier /var/lib/apt/lists qu’on va se rendre. On y trouve une série de fichiers pour chaque dépot référencé, dans mon cas il se nomme apt.iteas.at_iteas_dists_focal_main_binary-amd64_Packages. Chaque paquet y est référencé avec toute une série d’informations.

En l’occurrence, je cherche juste le nom, pour demander ensuite à dpkg s’il est installé. On remarque par contre qu’un nom de paquet peut apparaître plusieurs fois, car toutes les versions disponibles sont référencées. En triant un peu, on arrive vite à un one-liner comme on aime les faire :

Le résultat de cette première version mériterait un peu plus de traitement pour la lisibilité. La ligne du nom du paquet est préfixée par deux lettres pour indiquer le statut du paquet. Il suffit de chercher ceux qui sont avec « ii » :

Ok, du coup le souvenir m’est revenu. J’ai ajouté le dépôt pour installer openfortigui, en suivant la documentation (Fortinet étant le VPN utilisé par feu LinkByNet). Par contre, on voit dans les résultats que KeepassXC, Teams et Edge sont désormais « gérés » via ce dépôt. Autant, pour KeepassXC, c’est pas si grave, mais pour Teams et Edge, j’ai déjà les dépôts Microsoft à l’origine. Certes, désormais le client Teams va être abandonné (au « profit » de la version web qui est une tannée à utiliser au quotidien, et qui perd beaucoup trop de fonctions pour une appli de bureau – c’est pour ça que j’ai installé Edge au départ d’ailleurs), mais c’est une surprise dont je me serais passé.