Por supuesto cuando escribes:
sudo apt-get install whatever
Te pregunta:
Do you want to continue [Y/n]?
¿Hay alguna forma de instalarlo sin que me pregunte si deseo continuar? Realmente no me importa el espacio, tengo más que suficiente.
Por supuesto cuando escribes:
sudo apt-get install whatever
Te pregunta:
Do you want to continue [Y/n]?
¿Hay alguna forma de instalarlo sin que me pregunte si deseo continuar? Realmente no me importa el espacio, tengo más que suficiente.
Respuestas:
sudo apt-get install -y whatever
Desde la página del manual ( 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.
Para apt-get, -yo --assume-yesfunciona bien (como explicó @rinzwind) y supongo que esa es la mejor respuesta aquí. Para muchas de estas operaciones administrativas interactivas, existe un comando similar.
Otra forma bastante genérica de hacer esto es algo como:
$ echo "y" | sudo apt-get install edamame_biscuit
(Donde edamame-biscuit es el paquete (inventado) que desea instalar, y se supone que "y" es una respuesta legítima; sustitúyalo por "sí" u otro texto según sea necesario).
Una 'característica' de este método es que esto se romperá si está asumiendo incorrectamente solo una solicitud interactiva. Si hay otras indicaciones potencialmente no deseadas a las que quizás no desee decir que sí, evite la situación de que el sistema funcione sin preguntar.
yes | sudo apt-get install edamame-biscuit. Sí es un comando que envía la palabra "sí" a su salida. También puede hacer que muestre cualquier otro texto según sea necesario, consulte la página de manual.
yescomando (por defecto) solo muestra la letra yseguida de una nueva línea tantas veces como sea necesario para llenar el buffer de la tubería. Para imprimir realmente la palabra yes, debe usar el comando yes yes.
yes, perdón por mi error
En primer lugar, entendamos por qué aparece el mensaje. De hecho, si el paquete no tiene dependencias que no haya instalado o que le haya dicho explícitamente que instale, apt nunca le preguntará:
➜ ~ 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) ...
Mientras que si desea instalar un paquete que depende de paquetes que no mencionó, le preguntará:
➜ ~ 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]
Lo que aún así, no preguntaría si también dice implícitamente que desea instalar esos paquetes:
➜ ~ 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])
Pero, entonces, ¿cómo hacer que no te pregunte definitivamente? A través de Rizwind, la respuesta debería cubrir soluciones ad-hoc y de secuencias de comandos (de hecho, esa opción se usa más en las secuencias de comandos), en su lugar, puede modificar su apt.confarchivo y agregar:
APT::Get::Assume-Yes
Algo como esto debería ser suficiente:
echo 'APT::Get::Assume-Yes;' | sudo tee -a /etc/apt/apt.conf.d/00Do-not-ask
Tenga en cuenta que esto no permitirá otras indicaciones más atroces que debe verificar , como:
➜ ~ sudo apt-get install sonar
WARNING: The following packages cannot be authenticated!
sonar
Install these packages without verification? [y/N]
Es por eso que no recomendaría el uso de yes | ..., ya que esta advertencia sería ignorada.
python:3.6-slim). ¿Debo hacer una pregunta por separado para eso?
-ya cualquier instalación de bibliotecaPor ejemplo :sudo apt-get install -y nodejs
Por ejemplo :sudo apt-get install -y postgres
Por ejemplo :sudo apt-get install -y mongodb
Hay --force-yes as well, y cuidado con los espacios accidentales.
depreciado por distribuciones recientes