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)/]

Répondre à