Automatisation de l'installation d'apt-get avec --assume-yes

68

J'essaie d'écrire un script bash pour installer une liste de logiciels. Je me sers --assume-yesde passer les invites.

Cette ligne suivante ne fonctionne pas:

sudo apt-get install python-software-properties --assume-yes

Si j'essaye de apt-getne --assume-yespas fonctionner, mais que l'invite me demande de:

please [Enter] to continue or ctrl+c to cancel adding it

Comment puis-je ajouter Enterune commande lors de l'exécution apt-get installau lieu d'utiliser --assume-yes?

Rengas
la source
please [Enter] to continue or ctrl+c to cancel adding itil n'apparaît que si vous essayez d'ajouter un PPA.
Avinash Raj

Réponses:

89

Votre problème est que l'option devrait être avant les paquets, pas après, c'est la syntaxe correcte:

apt-get <options> command package=version/release

Donc, pour que cela fonctionne, il devrait être:

sudo apt-get --assume-yes install python-software-properties

apt-get pardonne lors du mélange des commandes et des options, mais pour ne pas tromper, vous devez toujours utiliser les options situées avant la commande et ne jamais placer d'options ou de commandes après le nom du paquet.

Braiam
la source
51

Ajoutez un -yindicateur à la apt-get install <package-name>commande comme ci-dessous, vous ne recevrez aucune invite lors de l’installation des packages.

sudo apt-get install -y <package-name>

De apt-get --help

-y  Assume Yes to all queries and do not prompt
Avinash Raj
la source
Y a-t-il une différence entre --assume-yeset -y?
Peter Mortensen
3
@PeterMortensen, ils font la même chose. De la page de manuel:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda
1
Notez que cela peut ne pas suffire et que vous devrez peut-être également ajouter des éléments -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"à vos commandes. Voir raphaelhertzog.com/2010/09/21/… pour plus de détails.
TTimo
@TTimo Wow! 6 jours après que vous ayez posté ce commentaire, je viens et trouve que c'est exactement la réponse dont j'avais besoin !! Si je pouvais voter plus votre commentaire, je le ferais!
Crimbo
N'hésitez pas à modifier la réponse avec des options supplémentaires.
Avinash Raj
1

Pour une autre manière silencieuse et efficace comme suit:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
Myster-Mayur
la source