Автоматический ответ "Да" при использовании apt-get install
Есть ли способ заставить apt-get install
ответить “Да” на “Хотите продолжить [y/N]?”?
Есть ли способ заставить apt-get install
ответить “Да” на “Хотите продолжить [y/N]?”?
Проблема с:
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";
Обратите внимание, что если вы также хотите автоматически перейти к ответам по умолчанию при появлении интерактивного запроса, вы можете использовать DEBIAN_FRONTEND=noninteractive
Однократную установку:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
, например. Все обновления:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Все обновления:
Вы можете настроить более точные опции с -o Dpkg::Options::="--force-confdef"
и -o Dpkg::Options::="--force-confold"
.
Примеры:
или
Пример интерактивного запроса:
Интересное прочтение: Выполнение автоматической установки пакета Debian
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Это должно быть как минимум в /etc/apt/apt.conf
и прокомментировано. Я беспокоюсь Ubuntu берет галс Microsoft всегда просить разрешения.
“Вы уверены?”, конечно, я уверен, я не обученный обезьяна просто печатая на клавиатуре, иду щелкните счастливым.
Рядом с дверью спросит: “Вы уверены, что вы хотите выйти на улицу? ”
Печь спросит: “Вы уверены, что хотите готовить?” Автомобиль спросит: “Вы уверены, что хотите тормозить?” Огнетушитель спросит: “Вы уверены, что хотите потушить огонь?” Извините, Дэйв, я не могу позволить вам это сделать. HAL9000 может использовать сокращения, но данные не могут, или не могут.
apt-get -y update
apt-get -y install [package]
В общем, опции из руководства должны хорошо работать
apt-get -y --force-yes install package
Если это не удастся, вы можете попробовать использовать команду yes
.
действительно использовали это с моим бродячим скриптом инициализации оболочки
PS: в случае, если вы хотите неинтерактивного, но с общим указанием “нет”, вы можете попробовать это:
&00001
Я искал способ выбрать в скрипте не по умолчанию, а именно, при установке wireshark, и в итоге использовал tmux для взаимодействия с оболочкой, а именно:
# 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
Если вам всегда нужен аргумент -y, я бы посоветовал добавить в .bashrc строку
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
. Это, как поясняется в комментарии, автоматически добавит аргумент -y во все ваши команды apt-get и, следовательно, одобрит все загрузки.
NOTE: Это останется верным до тех пор, пока вы не вернете свой .bashrc и не перезапустите оболочку..