Mon hébergeur potentiel suggère d'exécuter une commande dans le terminal afin de minimiser l'image du système d'exploitation du serveur basé sur KVM. Étant donné que leurs modèles KVM sont livrés avec des packages dont je n'aurai pas besoin, j'ai pensé utiliser la même commande pour supprimer les packages indésirables.
Cette commande commence par DEBIAN_FRONTEND=noninteractive
, puis appelez apt-get remove
comme suit:
DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" package-1 package-2 ... package-n; apt-get -y autoremove; apt-get clean all
C'est la première fois que je rencontre la DEBIAN_FRONTEND
variable d'environnement, et je n'ai pas pu trouver d'informations utiles jusqu'à présent. Je me demande donc à quoi cela noninteractive
sert, et si c'est conseillé, car je suppose que value ( noninteractive
) persisterait.
apt
environment-variables
Asarluhi
la source
la source
Réponses:
Le simple fait d'ajouter une
apt
commande avecDEBIAN_FRONTEND=something
ne persiste pas après la seule commande à laquelle elle est appliquée.Les
DEBIAN_FRONTEND
options sont documentées dans les pages de manuel de la section 7 dedebconf
(vous devrez peut-être installer ledebconf-doc
package pour les rendre disponibles sur votre système). Deman 7 debconf
:Il note également que:
la source
DEBIAN_FRONTEND=noninteractive
couramment utilisé dans Dockerfiles. Cette réponse me fait me demander pourquoi nous n'utilisons tout simplement pas l'--yes
indicateur avec les commandes apt car il sera plus explicite et dans la plupart des cas, il répondra à nos besoins.DEBIAN_FRONTEND
avecsudo
, définissez la variable dans lasudo
commande, et non pour elle. C'est:sudo DEBIAN_FRONTEND=noninteractive apt-get install slrn
. Si vous placez le paramètre de variable env avantsudo
, il sera valide pour lasudo
commande elle-même etsudo
ne le copiera pas dans laapt-get
commande en cours d'exécution. L'utiliser entresudo
et la commande réelle est unesudo
syntaxe pour configurer les variables env pour la commande à exécuter (voir la page de manuel). Cela m'a donné du fil à retordre, j'ai donc pensé partager.noninteractive
, vous pouvez le faire avec la commande suivante:dpkg-reconfigure debconf --frontend=noninteractive