Bonjour,,
Le 14/01/2026 à 08:49, Sébastien NOBILI a écrit :
Bonjour,
Le 2026-01-13 23:51, Marc Chantreux a écrit :
je me suis dis
apt-mark auto nginx
apt purge nginx-lite
apt autoclean
mais non: ca n'est pas ca.
C'était presque ;)
Ce que tu voulais faire c'est probablement plutôt autoremove (voire
autopurge).
donc je reformule ma question: est-ce possible d'installer
nginx-light en marquant toutes les dépendances de ce dernier
comme auto même si déjà présente sur le systeme? ainsi nginx
sera désintallé sans que j'ai à y penser.
Je ne sais pas si c'est possible directement via un élément de conf.
Tu dois pouvoir y arriver en scriptant la chose : tu boucles sur tous
les paquets
installés manuellement, tu lis leurs dépendances, tu marques les
dépendances comme
auto. aptitude sera peut-être plus efficace que apt-mark (du fait de
son système
de patterns).
Ça peut avoir des effets de bord indésirables : si le paquet installé
manuellement
au départ a une utilité en dehors de la dépendance qui vient plus
tard, il risque
de partir sans que tu t'en rendes compte.
Sébastien
Dans la même idée je me suis fait un script qui marque en automatique
toutes les paquets dépendants et recommandés mais c'est vrai qu'il faut
vérifier après que dans les paquets pouvant être supprimés avec
autoremove il n'y aurait pas parfois des choses intéressantes . Je
vérifie avec synaptic par la suite.
Jean-Daniel
#!/bin/bash
if [ `id -u` -ne 0 ]
then
echo "Lancement du script en root (sudo)"
echo sudo $0 $*
sudo $0 $*
exit
fi
set -e
err_report() {
echo '********' " Erreur en ligne $1"
pr -tn $0 | tail -n+$(($1 - 3)) | head -n7
read
}
trap 'err_report $LINENO' ERR
#Idée de départ :
https://askubuntu.com/questions/278384/how-can-i-mark-all-packages-with-installed-dependents-as-automatically-installe
avant=`apt-mark showmanual|wc -l`
tmpwhy=`mktemp`
time for x in $(apt-mark showmanual)
do
r="$(echo ${x} | sed -e 's/\([+.]\)/[\1]/g')"
echo $x : $r
if LC_ALL=C aptitude why ${x} |tee $tmpwhy |grep -v Suggest | egrep
"^i.* .*(Depends|Recommends).* +${r}( |$)" >/dev/null
then
apt-mark auto ${x}
else
if tail -n 1 $tmpwhy |egrep "^i.* ${r} .*Provides" >/dev/null
then
apt-mark auto ${x}
fi
fi
done
rm -f $tmpwhy
apres=`apt-mark showmanual|wc -l`
echo "BILAN : $avant => $apres paquets installés manuellement"
echo "Depends: "`apt-mark showmanual| tr '\n' ','`|sed 's/,$//'
--
------------------------------------------------------------------------
[/«Le but du propagandiste est de faire oublier à un groupe de personnes
que certains autres groupes de personnes sont humains.» Aldous Huxley
(1936)/]