Я устанавливаю обновления на наборе машин, и я просто хочу работать:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
внезапно на всех машинах (после закрытия, конечно) и позволяют им работать, не требуя моего входа для паролей. Однако вышеупомянутые команды не работают, потому что они все требуют корневого разрешения и таким образом требуют моего пароля каждый раз. Выполнение их всех под синглом sudo
concatentated &&
кажется, не работает. Кроме того, если обновление будет иметь информацию о версии, то оно отобразит любую информацию о версии и останов, пока я не выйду less
.
Как я выполняю это?
sudo -s
предложит Вам Ваш пароль однажды, затем оставит Вас находящийся в корневой оболочке, которая остается до Вас exit
. Там можно объединить команды в цепочку как apt-get update && apt-get upgrade -y && reboot
.
Действительно простое решение, если Вы - 'корень',
apt-get -y update && apt-get -y upgrade && reboot
И если Вы - пользователь в системе, во-первых удостоверьтесь, что пользователю включают в sudoers, затем введите:
sudo apt-get -y update && apt-get -y upgrade && reboot
Таким образом, Вы не хотите, чтобы Ваш пользователь должен был ввести в пароле для использования sudo? Вы могли добавить строку как это в /etc/sudoers
или файл в /etc/sudoers.d/
username ALL=(ALL) NOPASSWD: ALL
Или просто позволить несколько программ как reboot
и apt-get
:
username ALL=(ALL) NOPASSWD: /sbin/reboot, /usr/bin/apt-get
Мог бы хотеть изучить некоторых apt-get
опции также как: -q, --quiet
Quiet; produces output suitable for logging, omitting progress
indicators. More q's will produce more quiet up to a maximum of 2.
You can also use -q=# to set the quiet level, overriding the
configuration file. Note that quiet level 2 implies -y; you should
never use -qq without a no-action modifier such as -d, --print-uris
or -s as APT may decide to do something you did not expect.
Configuration Item: quiet.
-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.
--force-yes
Force yes; this is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes.
Или Вы могли вслепую передать по каналу несколько новых строк или "q" в apt-get
, Я раньше устанавливал один пакет, который проигнорирует apt
опции как -y
и ожидайте нажатия клавиши (вероятно, в, он - preinst или postinst сценарий). Мог попробовать что-то как:
{
sleep 20
echo
echo "q"
} | apt-get upgrade
И если Вы устанавливаете те же самые пакеты в каждой машине, Вы не должны update
и upgrade
каждый по Интернету, можно загрузить все необходимое .deb
файлы однажды с:
sudo apt-get install --download-only [packages]
или
sudo apt-get upgrade --download-only
затем установите их всех от локального / совместно используемая папка с sudo dpkg -iR /folder_of_debs