Ich bin ein bisschen ein Neuling in Arch Linux und gewöhne mich immer noch an einige seiner Paradigmen. Ich komme mit vielen Gewohnheiten aus einer anderen Distribution, die etwas strukturierter und in gewisser Weise vorhersehbar waren.
Eine Sache, die ich mit ein paar Systemen machen möchte¹, ist, einem Cron-Job das automatische Aktualisieren aller Systempakete zu ermöglichen. Dies scheint ziemlich einfach zu sein, es sei denn, ich möchte aussagekräftige Rückmeldungen vom System, die mir sagen, wie die Dinge gelaufen sind, die nicht so ausführlich waren, dass ich sie ignoriere, bis ich feststelle, dass das System funktioniert.
- Die volle Ausgabe von
pacman
ist nicht erforderlich. Es ist mir egal, wie lange die Downloads gedauert haben oder ob es sich um das Update 46 von 53 handelt. - Erfolge interessieren mich größtenteils nicht.
- Ich kümmere mich um Fehler. Wenn ein Aktualisierungslauf fehlschlägt, möchte ich darüber informiert werden und bestimmte Fehlermeldungen sollten durchgepatcht werden.
Ich kümmere mich um die "Hinweise", die während der Installation ausgegeben werden. Zum Beispiel sagte das heutige Systemd-Update:
:: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Oder das Dateisystem hat dies erzeugt:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Diese letzte Kategorie hat mich dazu veranlasst, diese Frage zu stellen, da sie im gesamten Paketsatz sehr inkonsistent zu sein scheint. Einige davon scheinen von erzeugt worden zu sein
post_upgrade()
, andere voninstall()
usw. . Manchmal sind sie in stdout geschrieben, manchmal in stderr. Das Format der Nachrichten ist sehr unterschiedlich: Manchmal wird ein ganzer Block in irgendeiner Weise eingerückt, manchmal wird nur eine leere Zeichenfolge als Echo ausgegeben.
Ich möchte Informationen zu Dingen erhalten, die möglicherweise einen Eingriff in ein System erfordern, ansonsten aber nicht gestört werden. Gibt es ein Tool, das diese Daten intelligent verwaltet und die Systemadministration vereinfacht? Gibt es eine Möglichkeit, die Ausgabe von Paketen unabhängig von der Installation durch pacman zu generieren? Oder bin ich alleine, um eine Art Parser zu schreiben, der harmlose Dinge aus dem Installationsprotokoll herausfiltert?
¹ Bitte beachten Sie, dass ich schlau genug bin, dies nicht auf Produktionsservern und nicht ohne vollständige Systemsicherungen auf Snapshot-Basis zu tun, die die Wiederherstellung im Katastrophenfall vereinfachen.
yaourt
Tags, sowohl von Ihrer Frage als auch von Ihrem konzeptionellen Modell: Der Versuch, dies mit den offiziellen Repos zu tun, wird schwierig genug sein, und das Hinzufügen von zufälligen Paketen aus der AUR zum Mix macht es quixotic ...checkupdates
und zu-Syu
handhaben ist eine ziemlich triviale Aufgabe. Ich sehe keinen wirklichen Nutzen für die ganze Arbeit, die Ihr Vorschlag mit sich bringen würde.Antworten:
Ich möchte sowohl für Sie als auch für jede andere Person, die auf diesen Thread stößt, klar sein. Was Sie tun möchten, ist nicht möglich. Arch macht kein Geheimnis daraus, dass es von Ihnen erwartet, dass Sie Ihr System verwalten. Ein Teil dieser Verantwortung ist für den Aktualisierungszyklus vorhanden.
Nun gibt es Schritte des Aktualisierungsprozesses, die Sie verantwortungsvoll automatisieren können, die jedoch niemals automatisiert werden
-Syu
. Sie müssen nur für das Upgrade da sein.Sie können beispielsweise einen
cron
Job einrichten , der alle Pakete herunterlädt, die installiert werden müssen (aber nicht installieren). Folgendes ist ein Auszug aus derpacman
Dokumentation:Sie können dann einen
cron
Job einrichten , der ausgeführt werden sollsudo pacman -Syuw
. Ich kenne mich nicht so gut auscron
den Planungsfähigkeiten. Wenn es jedoch in der Lage ist, einen Job nur auszuführen, nachdem eine bestimmte Bedingung erfüllt wurde (z. B. ein Befehl, der einen bestimmten Wert zurückgibt), ist es ziemlich trivial, das Herunterladen neuer Pakete nach Bedarf auszulösen.Ich könnte mir
checkupdates | wc -l
zum Beispiel vorstellen, einen Scheck gegen auszuführen. Wenn eine Zahl über Null zurückgegeben wird, können Sie den Download auslösen. Auch dies ersetzt jedoch nicht das Ausführen einer,-Syu
wenn Sie anwesend und bereit sind, das Upgrade durchzuführen.Für den letzten Teil Ihrer Frage, wo Sie die Ausgabe der Ereignisse während eines Upgrades erhalten, suchen Sie
/var/log/pacman.log
. Es enthält alle Fehlerinformationen, die Sie interessieren könnten.Es gibt ein Werkzeug , das gemacht werden soll
pacman
für unbekannte Benutzer ein wenig benutzerfreundlicher gestaltet werden soll. Wenn ich mich nicht irre, wird auch eine Benachrichtigung über Nachrichten angezeigt, falls ein Update vorhanden sein sollte, das manuelle Eingriffe erfordert.Dieses Tool mag Ihr Leben auf kurze Sicht ein wenig einfacher machen, es wird jedoch niemals einen Ersatz für das vernünftige und sorgfältige Befolgen der Mailinglisten darstellen.
quelle
pacman
könnte möglich sein. Dasyaourt
ist nicht machbar.yaourt
Tatsächlich gelingt dies etwas besser, alspacman
wenn, wie ich meine, die Standardkonfiguration, die kaum mehr als ein Aur-Helfer ist, die Dinge auf lange Sicht mit ziemlicher Sicherheit ruinieren würde. Es ist jedoch äußerst konfigurierbar und kann so gestaltet werden, dass Quellbäume sehr effektiv gepflegt werden. Beidesyaourt
und trotzdempacman
nur wickelnalpm
.yaourt
Wrapspacman
und einige zusätzlichealpm
Funktionen undpacman
Wrapsalpm
. In jedem Fallyaourt
reicht das aber auspacman
.-Syuw
ist das potentiell ziemlich gefährlich. Es kann Teilaktualisierungen erstellen, wenn die Aktualisierungen nicht angewendet werden und die Software später mit installiert wird-S
.Es gibt ein altes Drehbuch, das wirklich gute Arbeit leistet. es heißt safepac .
BEARBEITEN: Dieses Skript ist auf github hier noch verfügbar: https://github.com/bencahill/binfiles/blob/master/safepac
Bitte beachten Sie, dass Sie ein funktionierendes Mail-Setup benötigen, da dieses Skript Ihnen auch eine Digest-Mail (mit vollem Protokoll?) Und wichtige Teile des Updates sendet:
Das Skript ist alt, aber die Idee ist gut und funktioniert wahrscheinlich immer noch mit kleineren Updates, falls vorhanden.
quelle
Ich benutze meine eigene Unfähigkeit , um
yaourt
mit Cron zu rennen .quelle
yaourt
viele Jahre gebraucht . Es war ein gutes Werkzeug, aber die Dinge, die es zum "Wickeln" baute, haben ihre Form geändert und es macht jetzt einige Dinge ganz falsch. An dieser Stelle ist es so problematisch, dass die Autoren des Tools gesagt haben, dass sie es selbst nicht mehr verwenden. Wenn Sie einen AUR-Helfer suchen, empfehlen wir Ihnen, einen der aktiv gewarteten zu probieren. Ich habe zuyay
mir gewechselt und bin ziemlich glücklich.yay
mir.