Ich habe hier gelesen , wie Sie stille automatische Updates für Google Chrome aktivieren können. Ich habe jedoch andere Repositorys wie spotify, docky und andere, für die ich stille Updates aktivieren möchte.
Ich versuche dies in meinem Ubuntu 10.04 System zu tun. Diese Frage gilt jedoch für alle Ubuntu-Versionen. Ich habe das Paket für unbeaufsichtigte Upgrades installiert.
Wie kann ich das machen?
updates
automation
nik90
quelle
quelle
Antworten:
Installieren Sie zuerst
gksu
:sudo apt-get install gksu
Die einfachste ermöglichen unbeaufsichtigtes Updates für Ihr System ist , um die Datei zu bearbeiten
50unattended-upgrades
innen/etc/apt/apt.conf.d/
mit Ihrem bevorzugten Texteditor, zum Beispiel:gksu gedit /etc/apt/apt.conf.d/50unattended-upgrades
Darin müssen Sie die kommentierten Abschnitte des Blockes " Allowed Origins" auskommentieren
Veränderung
zu
Für Software, die sich nicht auf den Ubuntu-Repos befindet, die Sie aktualisieren möchten, müssen Sie der Datei einen Ursprung und ein Archiv hinzufügen . Um herauszufinden, was diese für Ihre PPAs sind, öffnen Sie den Ordner
/var/lib/apt/lists/
, der den Speicherbereich für Statusinformationen für jede Paketressource darstellt. Was Sie suchen, sind die Dateien, die mit Release im Namen enden .Öffne eines mit deinem Texteditor, zB für Google Chrome:
Der Ursprung ist offensichtlich (
Origin: Google, Inc.
) und das Archiv wird das sein, was unter der Zeile Suite (Suite: stable
) steht.Wenn einer der beiden fehlt
Origin
oderSuite
fehlt, handelt es sich um die leere Zeichenfolge. Wenn jedoch beide fehlen, ist es wahrscheinlich nicht möglich, diese Quelle mit unbeaufsichtigten Upgrades zu verwenden, ohne andere Quellen mit demselben Problem einzuschließen.Nachdem Sie diese 2 Zeilen bemerkt müssen Sie die zu bearbeitende
50unattended-upgrades
Datei und die Linien in dieses Format hinzufügen"<origin>:<archive>";
von diesen Beispielen willen"Google\, Inc.:stable";
.Der Ursprung von Google Chrome ist etwas knifflig, da ein Leerzeichen, ein Endpunkt und ein Komma enthalten sind. Die meisten Release- Dateien sind jedoch einfach zu lesen.
In einem anderen Beispiel gibt die Node JS-Quelle einen Ursprung (
Node Source
), jedoch kein Archiv an. so können Sie es mit abgleichen"Node Source:";
.Zugelassene Ursprünge werden mit Platzhaltern im Shell-Stil abgeglichen (genauer gesagt mit Pythons fnmatch () ). Wenn Sie vorsichtig genug sind, um widersprüchliche Quellen nicht einzuschließen, ist es möglich, Dinge wie zu schreiben
"Node *:*";
.Vergessen Sie nicht, eine Sicherungskopie Ihrer
50unattended-upgrades
Datei zu erstellen, bevor Sie sie bearbeitensudo cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
.Um die an der Datei vorgenommenen Änderungen zu testen, können Sie
sudo unattended-upgrades
die Parameter--dry-run
und verwenden--debug
.--dry-run
führt einen unbeaufsichtigten Upgradezyklus durch, außer dass die Upgrades nicht wirklich installiert werden. Überprüfen Sie nur, ob alles in Ordnung ist.--debug
aktiviert den ausführlichen Modus.Sie können jederzeit überprüfen Sie die Protokolle
unattended-upgrades
an/var/log/unattended-upgrades/unattended-upgrades.log
.Sie können die Konfiguration der unbeaufsichtigten Upgrades ändern, indem Sie die Datei bearbeiten
/etc/apt/apt.conf.d/10periodic
. Optionen für die Konfiguration finden Sie im/etc/cron.daily/apt
Skript-Header. Lesen Sie diese, um die Häufigkeit der unbeaufsichtigten Upgrades zu konfigurieren.quelle
--dry-run
es. Überprüft, ob in den aktualisierten Listen Updates verfügbar sind, und gibt sie an Sie aus. Die Listen werden über die Konfiguration aktualisiert. Wenn Sie/etc/cron.daily/apt
sie manuell ausführen, werden die Listen meiner Meinung nach nicht aktualisiert.Automatisierter Ansatz für die Antwort von @Bruno Pereira: (Wenn Sie die Antwort nützlich finden, sollten Sie in Betracht ziehen, das Github-Repo mit einem Stern zu versehen.)
Code-Link: https://github.com/abhigenie92/unattended_upgrades_repos
Überprüfen Sie die Repositorys, um Folgendes hinzuzufügen:
Bearbeiten Sie
/etc/apt/apt.conf.d/50unattended-upgrades
sie jetzt, um sie einzuschließen :Überprüfen Sie, ob sie enthalten sind:
quelle
"Raspberry:stable";
hat nicht funktioniert. Stattdessen habe ich zB"o=Raspberry, a=stable";
Bearbeiten
/etc/apt/apt.conf.d/50unattended-upgrades
, fügen Sie Folgendes hinzu:Dies ermöglicht unbeaufsichtigte Upgrades für alle Pakete.
quelle
origin:''
zum Beispiel Datadog-Agent aus habensite:'apt.datadoghq.com'
. In diesem Fall müssten auch"origin=";
Pakete mit leerem Ursprung hinzugefügt werden, um sie nicht zu überspringen. Aber dann ist es besser, einfach"site=*";
statt zu verwenden"origin=*";
./etc/apt/sources.list.d/my_repo.list
, aber es nicht das Paket aktualisieren. Manuell funktioniert es mitsudo apt update
. Irgendeine Ahnung wie?Es gibt Anweisungen zum Erzwingen einer erneuten Ausführung, damit cron das automatische Update unter dem folgenden Link startet . Das Verfahren zum Stoppen von Cron ist das folgende
und cron neu zu starten, damit das automatische Update jetzt (oder zumindest innerhalb weniger Minuten) erfolgt
Wie es funktioniert
Mehrere Dinge werden es zum Laufen bringen.
Es wird
/etc/cron.daily
speziell von cron ausgelöst/etc/cron.daily/apt
. Cron fährt/etc/cron.daily
um 6.25 Uhr (siehe/etc/crontab
)Anacron läuft von Anfang an? und es wird
/etc/cron.daily
nach 5 Minuten Betriebszeit ausgelöst (siehe/etc/anacrontab
)Hinweis
APT::Periodic::RandomSleep
kann eingestellt werden/etc/apt/apt.conf.d/10periodic
, der Standardwert ist jedoch 1800s (30 Minuten), so dass keine Aktualisierungen bis 30 Minuten nach den/etc/cron.daily/apt
Läufen erfolgen können.Log
Wenn es funktioniert, sollten die Dinge in diesem Ordner protokolliert werden
/var/log/unattended-upgrades
.quelle
/etc/cron.daily/apt
von der Ubuntu 12.04-Standardinstallation zu entfernen - daher fanden keine automatischen APT-Updates statt :-(. Die ServerFault-Antwort serverfault.com/a/568329/ 95570 lieferte Details zum erneuten Erstellen dieser Datei.