Ich habe ungefähr 7 Debian-Server, die ich verwalte, und ich möchte sie so einstellen, dass sie sich automatisch aktualisieren. Also habe ich ein Skript als solches erstellt:
#!/bin/sh
apt-get update
apt-get upgrade
und auf die root
Crontab-Liste des Benutzers gesetzt. Leider hängt es immer im Bereich "Upgrade" und fragt, ob ich wirklich ein Upgrade durchführen möchte. Da es sich um einen Cron-Job handelt, wird die Ausgabe erst angezeigt, wenn ich eine E-Mail mit dem Hinweis erhalten habe, dass der Vorgang fehlgeschlagen ist. Gibt es eine Möglichkeit, diese Eingabeaufforderung zu überspringen und das Upgrade automatisch durchzuführen?
Antworten:
Verwenden Sie die Option -y, um apt-get zu verwenden und nicht danach zu fragen. Von
man apt-get
:Sie können auch die env-Variable DEBIAN_FRONTEND festlegen
quelle
DEBIAN_FRONTEND
das? Wird es auch für andere Prozesse verwendet?DEBIAN_FRONTEND
. Es wird in meinem Debianman debconf
allerdings nicht erwähnt , es könnte also eine Ubuntu-Sache sein.man 7 debconf
;)man 7 debconf
aber nichts bekommen. Jetzt weiß ich warum :)Vielleicht verwenden Sie das falsche Werkzeug.
unattended-upgrades
Paket installiert Sicherheitsupdates täglich (konfigurierbar), Sie können konfigurieren, welche Pakete aktualisiert werden sollen oder nicht usw. Kann installiert werden mit:Von
man unattended-upgrades
:quelle
/etc/apt/apt.conf.d/
aber nur die, die mit beginnenUnattended-Upgrade::
, werden analysiert.Die vorherigen Antworten sind zwar informativ, umgehen jedoch nicht das „Problem“ der Eingaben, die mit menschlichen Mitteln während des Vorgangs erforderlich sind
upgrade
. Daher verwende ich die folgenden:Verwenden Sie den
dist-upgrade
Befehl , um 'Distributions'-Upgrades wie Kernel einzuschließen.Ausführliche Informationen zu diesen Parametern finden Sie im Handbuch von
dpkg
.Wichtiger Hinweis : Der Aufruf
sudo
mit dem-E
Parameter ist erforderlich:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.
Andernfalls haben die
EXPORT
Anweisungen keinen Einfluss auf die Aufrufe vonapt-get
!Dank geht an Remy van Elst ! Vielen Dank!
quelle
root
- Sie müssen sie also überhaupt nicht verwendensudo
. Die anderen Optionen sind auf jeden Fall so eingestellt, dass sie unbeaufsichtigt ausgeführt werden. Bitte beachten Sie die referenzierteman
Seite.Ein generisches Tool für diese Art von Dingen ist
yes
:Das könnten Sie zum Beispiel tun
Bitte beachten Sie, dass im speziellen Fall
apt-get upgrade
die von @Braiam oder @ArthurUlfeldt vorgeschlagenen Optionen besser sind.quelle
apt-get update && yes | apt-get upgrade
(unsere Server sollten nicht verwendensudo
... Fragen Sie nicht ...)