Обойти запрос да / нет в 'apt-get upgrade'

64

Чтобы не вводить все команды apt-get при обновлении моего компьютера, я сделал простую команду псевдонимов, чтобы сделать это. Но я действительно хочу иметь возможность просто ввести свой псевдоним и позволить ему делать свое дело, и мне не нужно ждать, пока приглашение yes / no наберет «y». Есть ли простой способ обойти это приглашение или, возможно, добавить "да" в псевдоним где-нибудь?

Ntc
источник

Ответы:

94

Конечно, хотя я никогда не пробовал это как псевдоним, но он должен работать:

sudo apt-get update && sudo apt-get -y upgrade
wojox
источник
Я буду редактировать и удалять -y из обновления, если это беспокоит вас One Zero. :)
wojox
Это не работает в Trusty.
Cerin
Не работает с GRAF.
Вальдемар Восински
1
Для grub override conf вопрос вы должны задать перед нимsudo DEBIAN_FRONTEND=noninteractive apt-get...
saitam
@saitam - спасибо .... переменная DEBIAN_FRONTEND - это именно то, что я искал! Кодос.
Хью Бунту
7
apt-get -o Dpkg::Options::='--force-confold' --force-yes -fuy dist-upgrade"
Вадим
источник
16
Не могли бы Вы уточнить? Что делает эта команда и как она работает?
Сет
Приятно видеть более глубокий ответ на этот вопрос, спасибо Вадим.
Алекс Норт-Киз
0

apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean

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

Вы можете скопировать вставить это в

nano -w yourscript.sh

тогда

chmod 777 yourscript.sh

тогда

./yourscript.sh

Пока вы используете suвсе те шаги, которые я всегда делаю.

Rhy
источник
4
Этот ответ идет ... слишком далеко. Он может не захотеть удалять старые / неиспользуемые пакеты. Также я не думаю, что вы должны когда-либо использовать chmod 777, если этого можно избежать. И я верю, что в Ubuntu рекомендуется использовать apt-get, а не apt.
Андреас Хартманн
Договорились, важно ответить на актуальный вопрос, а не идти дальше.
Джонатан
1
@AndreasHartmann Согласен. Этот сценарий представляет угрозу безопасности, если установлен на 777. Вместо этого используйте chmod u + x (только устанавливает исполняемый бит для владельца файла)
520
0

Вы также можете сделать это тихо, а затем получить уведомление, когда все это будет сделано. Недостатком является то, что вы увидите только сообщения об ошибках и не увидите, что обновляется.

sudo apt-get update -qq && sudo apt-get dist-upgrade -qq && echo "All up to date now!" && notify-send "All up to date now!"
HarlemSquirrel
источник
-2

Я определенно рекомендую опцию "-y", чтобы избежать подсказок. Вы не хотите иметь блокировку экрана, пока он ожидает приглашения. Я видел, что вы не можете разблокировать из-за обновления, влияющего на пакет, и вы не можете нажать Y из-за заблокированного экрана.

Майкл Адамс
источник
Эта опция уже используется в принятом ответе .
user3140225