apt-mark
et les logiciels similaires peuvent marquer les paquets comme étant automatiquement installés, mais cela peut-il être fait pendant l'installation elle-même, quelque chose de semblable à apt install --mark-auto packages [...]
?
Réponses
Trop de publicités?Non, vous devez lancer un appel de commande séparé apt-mark auto ..
. Même son action a été retirée de apt-get
.
$ sudo apt-get markauto
Reading package lists... Done
Building dependency tree
Reading state information... Done
N: This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' instead.
E: Handler silently failed
Comme solution de rechange, vous pouvez stocker la liste des paquets dans une variable et l'utiliser avec les deux commandes. Une autre option, créer une seule fonction Shell qui exécute les deux commandes pour toute entrée.
Il semble vraiment qu'il n'y ait pas de moyen intégré de le faire. J'ai donc écrit un petit script qui fait le travail.
#!/bin/bash -e
NEW_DEPS=$(comm -23 <(xargs -n1 <<< "$@" | sort) <(apt-mark showmanual | sort))
apt install $NEW_DEPS
apt-mark auto $NEW_DEPS
Il filtre d'abord les paquets qui sont déjà installés manuellement, puis installe le reste, en les paramétrant pour qu'ils soient ensuite installés automatiquement.
Je l'utilise généralement pour installer temporairement les dépendances de construction. Supposons que j'ai besoin de paquets A
, B
y C
pour construire quelque chose et avoir le script ci-dessus disponible comme autoinstall
. Je peux alors utiliser la procédure suivante pour éviter que les dépendances de la compilation ne restent sur mon système après la compilation.
sudo autoinstall A B C
# build stuff...
sudo apt autoremove
Cette fonction a été ajoutée à l'apt avec la --mark-auto
option [1].
https://salsa.debian.org/apt-team/apt/-/commit/c19a3276fe7ecfc132e95b0277e9e68ff364dd92
J'utilise aptitude (désolé, je n'aime pas ce genre de réponses). C'est l'une des principales raisons pour lesquelles je l'utilise. La gestion des dépendances et les outils de résolution des conflits qu'il contient me sont également très utiles. Vous pouvez toujours l'utiliser directement en lançant une commande comme.
aptitud install okular
Et il marquera toutes les nouvelles dépendances comme automatiques.