Vous pouvez utiliser l'une ou l'autre de ces deux phrases. Les deux donnent exactement le même résultat sur ma machine et sont plus précises que toutes les solutions proposées jusqu'à présent (6 juillet 2014) dans cette question.
Utilisation de apt-mark
:
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
Utilisation de aptitude
:
comm -23 <(aptitude search '~i !~M' -F '%p' | sed "s/ *$//" | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
Très peu de paquets passent encore à travers les mailles du filet, bien que je soupçonne que ceux-ci sont en fait installé par l'utilisateur, soit juste après l'installation par le biais de la configuration de la localisation de la langue ou par exemple par le biais de l'installateur du codec Totem. De plus, les versions de linux-header semblent également s'accumuler, même si je n'ai installé que le métapaquet non spécifique à une version. Exemples :
libreoffice-help-en-gb
openoffice.org-hyphenation
gstreamer0.10-fluendo-mp3
linux-headers-3.13.0-29
Comment cela fonctionne-t-il ?
- Obtenir la liste des paquets installés manuellement. Pour aptitude, l'option supplémentaire
sed
supprime les espaces restants à la fin de la ligne.
- Obtenir la liste des paquets installés juste après une nouvelle installation.
- Comparez les fichiers, n'éditez que les lignes du fichier 1 qui ne sont pas présentes dans le fichier 2.
Les autres possibilités ne fonctionnent pas aussi bien :
- Utilisation de la
ubuntu-14.04-desktop-amd64.manifest
fichier ( aquí pour Ubuntu 14.04) au lieu de /var/log/installer/initial-status.gz
. D'autres paquets sont affichés comme étant installés manuellement alors qu'ils ne le sont pas.
- Utilisation de
apt-mark showauto
au lieu de /var/log/installer/initial-status.gz
. apt-mark
par exemple, n'inclut pas le paquet xserver-xorg, alors que l'autre fichier le fait.
J'ai utilisé plusieurs autres messages de StackExchange comme références, mais aucun ne fonctionne aussi bien que la solution ci-dessus :
Les deux énumèrent plus de paquets que la solution ci-dessus.
EDIT : Que faire si vous avez effectué une mise à jour depuis une version précédente :
Si vous avez mis à jour Ubuntu d'une version à l'autre, vous aurez probablement besoin d'ajuster ce processus. Dans ce cas, je vérifierais le fichier manifest de la version la plus récente (voir ci-dessus) en plus du fichier initial-status.gz de la version actuelle. Vous pouvez facilement faire cela en ajoutant simplement une autre comparaison. L'utilisation du seul fichier manifeste ne fonctionnera pas, car celui-ci ne contient malheureusement pas tout ce que contient le fichier initial_status.gz (j'ai vérifié).