web-dev-qa-db-fra.com

Comment installer un paquet avec apt sans le "Voulez-vous continuer [Y / n]?" rapide?

Bien sûr quand vous tapez:

Sudo apt-get install whatever

Il vous demande:

Do you want to continue [Y/n]? 

Est-il possible de l'installer sans qu'il me demande si je veux continuer? Je ne me soucie pas vraiment de l'espace, j'en ai plus que suffisant.

51
Luke
Sudo apt-get install -y whatever

Depuis la page de manuel (man apt-get):

 -y, --yes, --assume-yes

           Automatic yes to prompts; assume "yes" as answer to all prompts and
           run non-interactively. If an undesirable situation, such as
           changing a held package, trying to install a unauthenticated
           package or removing an essential package occurs then apt-get will
           abort. Configuration Item: APT::Get::Assume-Yes.
83
Rinzwind

Pour apt-get, -y ou --assume-yes fonctionne bien (comme l'explique @rinzwind) et je suppose que c'est la meilleure réponse ici. Pour de nombreuses opérations administratives interactives de ce type, il existe une commande similaire.

Une autre façon générique de faire ceci est quelque chose comme:

 $ echo "y" | Sudo apt-get install edamame_biscuit

(Où edamame-biscuit est le paquet (fabriqué) que vous voulez installer, et "y" est supposé être une réponse légitime; remplacez-le par "oui" ou un autre texte, si nécessaire.)

Une 'caractéristique' de cette méthode est que cela va casser si vous supposez de manière incorrecte qu'un seul message de sollicitation interactif. S'il y a d'autres invites potentiellement indésirables auxquelles vous ne souhaitez peut-être pas répondre, vous évitez de laisser le système se lancer sans rien demander.

15
belacqua

Tout d'abord, permet de comprendre pourquoi le message apparaît. En fait, si le paquet n'a pas de dépendances que vous n'avez pas déjà installées ou que vous lui avez explicitement dit d'installer, apt ne vous demandera jamais:

➜  ~  Sudo apt-get -qq install xfce4-screenshooter
Selecting previously unselected package xfce4-screenshooter.
(Reading database ... 296146 files and directories currently installed.)
Preparing to unpack .../xfce4-screenshooter_1.8.1-2_AMD64.deb ...
Unpacking xfce4-screenshooter (1.8.1-2) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for gnome-menus (3.13.3-1) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for mime-support (3.56) ...
Setting up xfce4-screenshooter (1.8.1-2) ...

Tandis que si vous voulez installer un paquet qui dépend de paquets que vous n'avez pas mentionné, il vous demanderait:

➜  ~  Sudo apt-get -q install avis
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  libjzlib-Java libmina-Java libslf4j-Java
Suggested packages:
  libmina-Java-doc libspring-beans-Java libcommons-logging-Java
  liblog4j1.2-Java
The following NEW packages will be installed:
  avis libjzlib-Java libmina-Java libslf4j-Java
0 upgraded, 4 newly installed, 0 to remove and 14 not upgraded.
Need to get 720 kB of archives.
After this operation, 1,258 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Ce qui malgré tout, ne demanderait pas si vous dites implicitement que vous souhaitez installer ces paquets:

➜  ~  apt-get -q install avis libjzlib-Java libmina-Java libslf4j-Java
Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  libmina-Java-doc libspring-beans-Java libcommons-logging-Java
  liblog4j1.2-Java
The following NEW packages will be installed:
  avis libjzlib-Java libmina-Java libslf4j-Java
0 upgraded, 4 newly installed, 0 to remove and 14 not upgraded.
Inst libjzlib-Java (1.1.3-1 Debian:testing [all])
Inst libslf4j-Java (1.7.7-1 Debian:testing [all])
Inst libmina-Java (1.1.7.dfsg-11 Debian:testing [all])
Inst avis (1.2.2-2 Debian:testing [all])
Conf libjzlib-Java (1.1.3-1 Debian:testing [all])
Conf libslf4j-Java (1.7.7-1 Debian:testing [all])
Conf libmina-Java (1.1.7.dfsg-11 Debian:testing [all])
Conf avis (1.2.2-2 Debian:testing [all])

Mais alors, comment faire pour que cela ne vous le demande pas définitivement? Avec Rizwind, answer devrait couvrir les solutions ad-hoc et de script (en fait, cette option est davantage utilisée dans les scripts), vous pouvez modifier votre fichier apt.conf et ajouter:

APT::Get::Assume-Yes

Quelque chose comme ça devrait suffire:

echo 'APT::Get::Assume-Yes;' | Sudo tee -a /etc/apt/apt.conf.d/00Do-not-ask

Notez que cela ne permettra pas d’autres invites plus flagrantes que vous devriez vérifier, comme:

➜  ~  Sudo apt-get install sonar
WARNING: The following packages cannot be authenticated!
  sonar
Install these packages without verification? [y/N] 

C'est pourquoi je ne recommanderais pas l'utilisation de yes | ..., car cet avertissement serait ignoré.

4
Braiam

Ajoutez -y à n’importe quelle bibliothèque installée

Par exemple : Sudo apt-get install -y nodejs

Par exemple : Sudo apt-get install -y postgres

Par exemple : Sudo apt-get install -y mongodb




Il y a --force-yes as well, et attention aux espaces accidentels. déprécié pour les distributions récentes

0
vijay