web-dev-qa-db-fra.com

Comment puis-je obtenir une liste de paquets obsolètes?

J'essaie de trouver un moyen d'obtenir une liste des paquets qui ne sont plus disponibles dans les référentiels que j'ai activés. Ce poste de travail a déjà été testé dans de nombreuses versions d'Ubuntu et de nombreux référentiels tiers ont été ajoutés et supprimés. J'aimerais obtenir une liste des logiciels que je possède à partir de ces référentiels supprimés, afin de pouvoir le nettoyer ou rajouter les référentiels appropriés.

18
Sean
aptitude search '~o'

L'aptitude dispose de recherches très puissantes. Malheureusement, la syntaxe est un peu compliquée et vous devez creuser au-delà de la page de manuel pour trouver la documentation, mais cela en vaut la peine.

apt-show-versions peut aussi être utile:

apt-show-versions | grep 'No available version'
23
stew

Si vous avez aptitude installé, utilisez,

aptitude search '?obsolete'

ou sa forme courte

aptitude search '~o'

Voici un exemple de sortie

i A gcc-4.7-base - GCC, the GNU Compiler Collection (base package)
id  libdb4.7     - Berkeley v4.7 Database Libraries [runtime]
i   libudev0     - libudev shared library

Le premier caractère de chaque ligne indique l'état actuel du package. Les états les plus courants sont:

  • p, ce qui signifie qu'aucune trace du paquet n'existe sur le système,
  • c, ce qui signifie que le paquet a été supprimé mais que ses fichiers de configuration restent sur le système,
  • i, ce qui signifie que le paquet est installé, et
  • v, ce qui signifie que le paquet est virtuel.

Le deuxième caractère indique l'action à exécuter sur le package, le cas échéant, sinon un espace est affiché. Les actions les plus courantes sont:

  • i, ce qui signifie que le paquet sera installé,
  • d, ce qui signifie que le paquet sera supprimé, et
  • p, ce qui signifie que le paquet et ses fichiers de configuration seront supprimés.

Si le troisième caractère est A, le paquet a été installé automatiquement.

Pour une liste complète des indicateurs d'état et d'action possibles, reportez-vous à la section Accès aux informations sur les paquetages du guide de référence d'aptitude.

5
Demis Palma ツ

Pour obtenir une liste des applications qui ne se trouvent pas dans un référentiel enregistré ou un PPA, procédez comme suit:

Sudo apt-get install apt-show-versions
apt-show-versions | grep 'No available version'

Cela devrait produire un texte comme ceci:

app1 1.0.0.14 installed: No available version in archive
app23 0.3.6 installed: No available version in archive
app332 7.0.9377 installed: No available version in archive

Pour moi, cela a fonctionné et a montré trois applications que j'ai installées à l'aide de packages DEB et qui n'étaient pas disponibles dans un Repo ou un PPA.

Rappelez-vous cependant qu'il est impossible de vérifier tous les programmes, uniquement ceux qui sont passés par dpkg. Par exemple, certaines applications sont installées simplement en les extrayant dans les dossiers appropriés, ou d’autres utilisent un bin ou un script d’installateur autonome. Le meilleur moyen consiste donc à conserver vous-même une liste des applications que vous avez installées via une méthode autre que APT.

5
japzone

Comme mentionné précédemment, apt-get search n'est pas une bonne méthode pour vérifier si un paquet est toujours disponible. De plus, j'ai tout ajouté à une seule ligne:

for i in `dpkg -l | grep '^i' | awk '{ print $2 }'`; do apt-cache show $i > /dev/null || echo $i; done
1
wof

Il y a peut-être un moyen plus propre, mais vous pouvez le faire par cœur

dpkg -l | cut -f 3 -d ' ' > installed
xargs -n 1 --replace=X apt-cache search ^X$ < installed | cut -f 1 -d ' ' > available
diff installed available

Nettoyez les premières lignes du fichier installed: il aura des en-têtes.

Bonus si quelqu'un peut corriger ma coloration syntaxique ...

1
Jeff Ferland

Plus d'infos pour enquêter.

 ubuntu-support-status 
 echo "Paquets $ (Sudo apt-mark showmanual | wc -l) marqués comme" installés manuellement "." 

... ubuntu-support-status et apt-mark peuvent nécessiter une installation.

0
Hannu
Sudo apt list --manual-installed | grep -v cosmic

Ou quoi que Word apparaisse le plus dans Sudo apt list --manual-installed

grep -v filtre tout mot spécifié.

0
TamusJRoyce