it-swarm-ru.tech

Автоматический ответ "Да" при использовании apt-get install

Есть ли способ заставить apt-get install ответить «да» на «Хотите продолжить [y/N]?»?

332
Mistiry

через страницу руководства apt-get :

apt-get -y install [packagename]
396
jrc03c

Проблема с:

apt-get --yes install $something

заключается в том, что он запросит подтверждение вручную, если открытый ключ владельца подписи пакета отсутствует в связке ключей, или какие-либо другие условия. чтобы убедиться, что он не запрашивает подтверждение, просто сделайте это:

apt-get --yes --force-yes install $something

Если вы хотите, чтобы эти настройки были постоянными, создайте файл в /etc/apt/apt.conf.d/, например /etc/apt/apt.conf.d/90forceyes, со следующим содержимым:

APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
167
bclermont

Обратите внимание, что если вы также хотите автоматически переходить к ответам по умолчанию при появлении интерактивной подсказки, вы можете использовать DEBIAN_FRONTEND=noninteractive

Однократная установка:

Sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]

Например.:

Sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix

Все обновления:

Sudo DEBIAN_FRONTEND=noninteractive apt-get -y update 

Вы можете настроить более точные параметры с помощью -o Dpkg::Options::="--force-confdef" и -o Dpkg::Options::="--force-confold".

Примеры:

apt-get update
Sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"

или же

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

Пример интерактивной подсказки:

enter image description here

Интересно прочитать: Выполнить автоматическую установку пакета Debian

47
Franck Dernoncourt
APT::Get::Assume-Yes "true";

APT::Get::force-yes "true";

Это должно быть как минимум в /etc/apt/apt.conf и закомментировано. Я волнуюсь, что Ubuntu берет на себя обязательство Microsoft всегда просить разрешения.

«Вы уверены?», Конечно, я уверен, что я не тренированная обезьяна, просто печатающая на клавиатуре, щелкая счастливым.

Затем дверь спросит: «Вы уверены, что хотите выйти на улицу?»
Духовка спросит: «Ты уверен, что хочешь готовить?»
Автомобиль спросит: «Вы уверены, что хотите применить тормоза?»
Огнетушитель спросит: «Вы уверены, что хотите потушить огонь?»
Извини, Дейв, я не могу позволить тебе сделать это.
HAL9000 мог использовать сокращение, но Данные не могли или не могли.

14
Ajax4Hire

Из apt-get HOWTO

Используйте переключатель -y: apt-get -y install packagename

9
Powerlord
apt-get -y update
apt-get -y install [package]
7
steve.lippert

как правило, параметры из руководства должны работать хорошо

apt-get -y --force-yes install package

если это не удалось, вы можете попробовать использовать команду yes.

yes | apt-get -y --force-yes install package

использовал это с моим сценарием инициализации Shell

PS: если вы хотите неинтерактивный, но с общим утверждением нет, то вы можете попробовать это:

yes no | apt-get install package
3
Summer-Sky

Я искал способ, чтобы выбрать не по умолчанию в сценарии, в частности, при установке Wireshark, и в конечном итоге с помощью tmux взаимодействовать с Shell, следующим образом:

# 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
1
Stephen Ramm

Новый псевдоним ( well ) apt также принимает переключатель -y (--yes):

Sudo apt -y upgrade
0
yPhil

Если вы всегда хотите аргумент -y, я бы посоветовал добавить строку

alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands

в ваш .bashrc. Это, как объясняется в комментарии, автоматически добавит аргумент -y ко всем вашим командам apt-get и, следовательно, одобрит все загрузки.


ПРИМЕЧАНИЕ. Это останется верным до тех пор, пока вы не вернете свой .bashrc и не перезапустите Shell.

0
Joseph Stevens