Ich habe ein (x) Ubuntu 14.04 auf dem PC eines Freundes installiert. Automatische Updates sind auf "Updates herunterladen und automatisch installieren" eingestellt.
Das Problem ist, dass er nach einigen Monaten der Nutzung seinen PC unwissentlich herunterfährt, bevor das Upgrade der Pakete abgeschlossen ist. Dies führt zu fehlerhaften Abhängigkeiten / Paketen, was dazu führt, dass Aktualisierungen betroffen sind und ausgeführt werden müssensudo dpkg --configure -a
Kann Ubuntu warten, bis die Updates abgeschlossen sind, bevor der PC heruntergefahren oder neu gestartet wird, um sicherzustellen, dass keine Pakete beschädigt werden und sein PC automatisch aktualisiert wird?
System Settings -> Power
Antworten:
Molly-Guard ist ein Programm für genau diesen Zweck; Dazu müssen Sie eine kleine Menge Setup durchführen und haben
/usr/sbin
zuvor/sbin
in Ihrem$PATH
.Ansonsten nach dieser die genauen Details sind stark abhängig von der GUI / DE-Implementierung. Da wir wissen, dass Ihr Freund Xubuntu verwendet, wird es dadurch enger, aber ohne erneutes Kompilieren von Xfce mit dieser integrierten Unterstützung (die weitere Probleme verursachen würde) scheint es sehr schwierig zu sein.
Nach meinen umfangreichen Nachforschungen können Sie theoretisch nur
/sbin/shutdown
ein Skript verwenden, das prüft, ob ein passender Job ausgeführt wird,sudo shutdown -c
odersudo init 2
um ein laufendes Herunterfahren abzubrechen undwait
zu beenden. Ich bin mir jedoch nicht sicher, wie robust dies ist.Nach diesem , könnten Sie einfach es für schwer machen , den Benutzer zum Herunterfahren, anstatt ein Skripts von Einhaken.
Schließlich können Sie, wie hier beschrieben ,
unattended-upgrades
über jedes System installieren , das Sie für Autoupdates jetzt verwenden, und sicherstellen, dass es beendet wird, bevor Sie das System herunterfahren, wie in dieser Antwort beschrieben .Es gibt viele Optionen, die alle unterschiedlich unzuverlässig sind, aber ich denke, die beste, die das löst, was meiner Meinung nach zu einem gewissen Grad ein zugrunde liegendes X / Y-Problem ist, ist folgende:
Verwenden Sie
crontab
diese Option , damit sein Computerdpkg --configure -a
bei jedem Start ausgeführt wird.@ LovesTha: Für deinen Zweck empfehle ich
unattended-upgrades
, oder vielleicht Molly-Guard.quelle
Einführung
Das unten stehende Skript verwendet eine Interrupt-gesteuerte Abfrage für bestimmte Nachrichten von dbus. Wenn eine Anforderung zum Herunterfahren / Neustarten angezeigt wird, wird geprüft, ob ein Paketmanager wie z. B.
dpkg
oderapt
ausgeführt wird. Wenn sie ausgeführt werden, wird die Anforderung zum Herunterfahren abgebrochen.Installieren
Da Sie erwähnt haben, dass Ihr Freund die Befehlszeile nicht berühren möchte, müssen Sie entweder ssh auf seinem Computer ausführen oder dies manuell installieren.
Manuelle Einrichtung
mkdir $HOME/bin
preventShutdown.sh
chmod +x $HOME/bin/preventShutdown.sh
, um das zu tun.desktop
Datei ausgeführt werden sollen$HOME/.config/autostart
Alternatives Setup
Fügen Sie das Skript als Startanwendung hinzu.
Skriptquelle
quelle
Um Einstein zu zitieren:
Es gibt also keine 100% ige Garantie gegen menschliche Dummheit, aber Sie können es Nicht-Einsteins erschweren, Dinge zu brechen, indem Sie:
Automatische Updates beim Herunterfahren aktivieren .
Erklären Sie, dass Computer keine Hämmer oder Nägel sind, sondern zerbrechliche, intelligente Geräte, die zwei Arten von Lebensmitteln benötigen: Elektrizität und Aktualisierungen.
Alternative,
Alternativ:
• Verwenden Sie Remmina, um einen reibungslosen Ablauf zu gewährleisten
quelle