Конечно, когда вы набираете:
sudo apt-get install whatever
Вас спрашивают:
Do you want to continue [Y/n]?
Можно ли как-нибудь установить его, не спрашивая, хочу ли я продолжить? Меня не особо волнует пространство, у меня его более чем достаточно.
sudo apt-get install -y whatever
На странице руководства ( 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.
Для apt-get, -y
или - предположим-да
работают хорошо (как объяснил @rinzwind), и я полагаю, что это лучший ответ здесь. Для многих таких интерактивных административных операций есть аналогичная команда.
Другой довольно общий способ сделать это:
$ echo "y" | sudo apt-get install edamame_biscuit
(где edamame-biscuit - это (придуманный) пакет, который вы хотите установить, а "y" предполагается правильным ответом;замените на «да» или другой текст по мере необходимости.)
«Особенностью» этого метода является то, что он не работает, если вы неправильно предполагаете только одно интерактивное приглашение. Если есть еще несколько потенциально нежелательных запросов, на которые вы, возможно, не захотите отвечать «да», вы избежите ситуации, когда система будет работать без запроса.
Прежде всего, давайте разберемся , почему появляется сообщение. Фактически, если пакет не имеет зависимостей, которые вы еще не установили или которые вы явно указали для его установки, apt никогда не спросит вас:
➜ ~ 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) ...
Хотя, если вы хотите установить пакет, который зависит от пакетов, которые вы не упомянули он спросит:
➜ ~ 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]
Что даже в этом случае, не спросит, если вы также неявно говорите, что хотите установить этот пакет:
➜ ~ 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])
Но тогда, как сделать так, чтобы он не спрашивал вас окончательно? Через Rizwind ответ должен охватывать специальные решения и сценарии (на самом деле, этот параметр больше используется в сценариях), вы можете вместо этого изменить свой файл apt.conf
и добавить:
APT::Get::Assume-Yes
Что-то вроде этого должно быть достаточно :
echo 'APT::Get::Assume-Yes;' | sudo tee -a /etc/apt/apt.conf.d/00Do-not-ask
Обратите внимание, это не позволит другие, более вопиющие запросы, вы должны проверить , например:
➜ ~ sudo apt-get install sonar
WARNING: The following packages cannot be authenticated!
sonar
Install these packages without verification? [y/N]
Вот почему я бы не рекомендовал использовать yes | ...
, поскольку это предупреждение будет проигнорировано.
- y
в любую установку библиотеки Например : sudo apt-get install -y nodejs
Например : sudo apt-get install -y postgres
Например : sudo apt-get install -y mongodb
Есть - force-yes также
, и осторожно, не допускайте случайных пробелов.
не поддерживается для последних дистрибутивов