Remove sauf x y z

Bonjour
Il y a-t-il une commande pour supprimer firefox-esr-l10n-toutelaplanète SAUF certains ?

Il est déjà étonnant qu’ils soient tous installés :slight_smile:
Sinon tu fait un
dpkg --list | grep -i firefox-esr-l10n- > liste-esr.txt
Tu enlève ce que tu veux garder du fichier, puis tu fais:
cat liste-esr.txt | xargs apt -yq purge

J’ai eu le même souci (install depuis une live), ainsi que sur libreoffice : pour libreoffice, supprimer les l10n enlève même les dépendances vers certaines polices exotiques et fichiers d’aide, au total j’ai récupéré 1 Go en conservant juste fr et en.

Oui, c’est l’installateur live qui fait on ne sait quoi . . .
Mais sur le moment je n’avais pas su faire autrement.

Merci

je confirme, c’est la raison pour laquelle je déconseille fortement d’utiliser une live pour installer.
La live c’est à peu près bien pour tester, mais pas pour installer; utiliser à la place la netinst.

apt-get --purge remove libreoffice-l10n-[a-eg-z]* firefox-esr-l10n-f[a-qs-z] firefox-esr-l10n-[a-eg-z]* libreoffice-l10n-f[a-qs-z] thunderbird-l10n-[a-eg-z]* thunderbird-l10n-f[a-qs-z]

2 J'aime

Oh très classe, je ne savais pas qu’en CLI on pouvait utiliser des expressions régulières comme wildcard, c’est ouf !!! C’est valable dans tous les shells Debian, ou c’est particulier à certains shells ?

Oui, globalement l’utilisation des expressions régulières est possible sur tous les shells, mais peut être avec des différences de syntaxe.

1 J'aime

En creusant un peu le sujet, apt propose sa propre syntaxe pour gérer les expressions régulières dans le nom des paquets, pour ça il est conseillé de passer l’argument entre guillemets pour éviter l’interprétation par le shell :

apt list '~n^aspell-..$ !~naspell-fr'

Explication :

  • Guillemets '...' entourant deux expressions séparées par un espace, c’est la forme la plus simple pour mettre un ET logique, les deux expressions doivent être respectées
  • Première expression : ~n signifie qu’on s’intéresse au nom du paquet, ^ et $ signifient début et fin de chaîne (grand classique des expressions régulières), et au centre aspell-.. cible les paquets se nommant aspell- suivi de 2 caractères exactement
  • Deuxième expression : le ! est une négation, ~n cible les paquets nommés aspell-frexactement

Et ça vous donne la liste de tous les aspell-?? sauf fr. Rajoutez !~naspell-en si vous souhaitez également exclure l’anglais de la recherche. Passez cet argument avec la commande autoremove --purge et n’oubliez pas de vérifier avant de valider, les expressions régulières c’est toujours un peu piégeux.

2 J'aime