Répondre automatiquement à "Oui" lors de l'utilisation d'apt-get install
Y a-t-il un moyen de faire en sorte que apt-get install
réponde “oui” à la question “Voulez-vous continuer [y/N] ?
Y a-t-il un moyen de faire en sorte que apt-get install
réponde “oui” à la question “Voulez-vous continuer [y/N] ?
Le problème avec :
apt-get --yes install $something
est qu'il demandera une confirmation manuelle si la clé publique du propriétaire de la signature du paquet n'est pas dans le porte-clés, ou d'autres conditions. Pour être sûr qu'il ne demande pas de confirmation, il suffit de faire ceci :
apt-get --yes --force-yes install $something
Si vous voulez que ces paramètres soient permanents, créez un fichier dans /etc/apt/apt.conf.d/, comme /etc/apt/apt.conf.d/90forceyes avec le contenu suivant :
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Notez que si vous souhaitez également passer automatiquement par les réponses par défaut lorsqu'une invite interactive apparaît, vous pouvez utiliser DEBIAN_FRONTEND=noninteractive
Installation unique :
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
Par exemple Toutes les mises à jour :
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Vous pouvez configurer des options plus fines avec -o Dpkg::Options::="--force-confdef"
et -o Dpkg::Options::="--force-confold"
. Exemples :
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
ou
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
Exemple d'invite interactive :
Lecture intéressante : Effectuer une installation sans surveillance d'un paquet Debian
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Cela devrait au moins figurer dans /etc/apt/apt.conf
et être commenté. Je crains qu'Ubuntu ne prenne le parti de Microsoft de toujours demander la permission.
“Are you sure ?”, bien sûr que je suis sûr, je ne suis pas un singe entraîné qui se contente de taper sur le clavier, en allant cliquer joyeusement.
A côté, la porte demandera “Are you sure you want to go outside ? ” Le four demandera : “Etes-vous sûr de vouloir cuisiner ?” L'automobile demandera : “Etes-vous sûr de vouloir freiner ?” L'extincteur demandera : “Etes-vous sûr de vouloir éteindre le feu ?” Je suis désolé Dave, je ne peux pas te laisser faire ça. HAL9000 pourrait utiliser une contraction mais Data ne pourrait pas, ou ne pourrait pas.
Depuis le apt-get HOWTO
Utilisez le -y
switch:apt-get -y install packagename
apt-get -y update
apt-get -y install [package]
généralement les options du manuel devraient bien fonctionner
apt-get -y --force-yes install package
si cela ne fonctionne pas vous pouvez essayer d'utiliser la commande yes
.
yes | apt-get -y --force-yes install package
l'a utilisé avec mon script de provisionnement du shell vagabond
PS : au cas où vous voudriez être non-interactif mais en disant généralement non alors vous pouvez essayer ceci :
yes no | apt-get install package
Je cherchais un moyen de sélectionner un script sans défaut, en particulier lors de l'installation de wireshark, et j'ai fini par utiliser tmux pour interagir avec un shell, comme suit :
# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
Si vous voulez toujours l'argument -y, je vous conseille d'ajouter la ligne
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
dans votre .bashrc. Cela, comme l'explique le commentaire, ajoutera automatiquement l'argument -y à toutes vos commandes apt-get et approuvera donc tous les téléchargements.
NOTE : Cela restera vrai jusqu'à ce que vous reveniez à votre .bashrc et redémarriez le shell.