Systemaktualisierung - Best Practices (cron, handling ...)

m4rkus

Well-Known Member
Hallo,

ich steige gerade in die Administration von FreeBSD ein und habe ein paar Verständnisfragen.

Ziel:
Ich möchte mein System auf einem aktuellen Stand halten - und zwar gemäß Best Practices.

Bei meinen Fragen möchte ich zwischen dem Betriebssystem und den Ports unterscheiden.

Betriebssystem:
Code:
#> freebsd-update fetch  #holt mir die aktuellen evtl. vorhandenen Updates
#> freebsd-update install #installiert die oben geholten Updates

Möchte ich das ganze automatisieren würde ich einen Eintrag in root's crontab vornehmen

Code:
@daily root freebsd-update cron # Gemäß FreeBSD-Doku

Ich erhalte dadurch eine Email mit dem Hinweis, dass ggf. etwas zu installieren ist. Da die Pakete durch den "cron"-Part heruntergeladen werden, reicht ein
Code:
#> freebsd-update install

aus, um die Installation durchzuführen.

1. Frage: Wie kann ich die Differenz auf der Konsole erneut abrufen, also anzeigen was aktualisiert werden würde (dry-run)?
2. Frage: Gibt es eine Möglichkeit die Softwareversionen der "mitgebrachten" Dienste anzuzeigen (Bind, OpenSSH, ntpd...) - also ein einzelner Befehl, der alle Versionsstände anzeigt?
3. Frage: Wenn ich keine Email erhalte (und es wie oben konfiguriert habe) sind das Betriebssystem sowie die "mitgebrachten" Dienste aktuell? Bind und Co. erhalten über den beschriebenen Mechanismus ihre Sicherheitsupdates, oder?
4. Frage: Gibt es eine Möglichkeit herauszufinden, ob ein Restart benötigt wird (Äquivalent zu Ubuntu: /var/run/reboot-required)?

Zu den selbst installierten Programmen.

Aktualisieren
Code:
#> portsnap fetch update #Holt aktuellen Port-Tree (komprimiert) und aktualisert diesen
#> pkg_version -v  #Zeigt den Status an..
#> portmaster -av  #Aktualisiert alle Ports

Abfragen des Sicherheitsstatus
Code:
#> portaudit -Fda  #Holt eine aktuelle DB und checkt

Automatisierung:
Portaudit geht über periodic selbstständig jede Nacht los und schickt mir eine Mail (security)

Bei den Paketen habe ich in der Dokumentation und in einigen Foren den Crontab-Eintrag
Code:
0 3 *** root portsnap -I cron update && pkg_version -vIL=

Das "-I" aktualisert lediglich den Index (in Kombination mit dem update), so dass pkg_version gegen den aktuellsten Index prüfen kann.
5. Frage: Richtig?
6. Frage: Bei einer Aktualisierung muss ich dann aber doch nochmal ein "portsnap update" durchführen um den Ports-Tree zu aktualiseren,

Also:
Code:
#> portsnap update  #Update, da fetch schon durch den Cron stattgefunden hat
#> portmaster -av  #Aktualisieren


Damit habe ich sowohl das Betriebssystem als auch die mitgelieferten Programme als auch die selbst installierten Programme abgedeckt.
7. Frage: Hab ich was vergessen?

Danke und Gruß
Markus
 
Bei einem Server mit vielleicht 150 installierten Ports - wenn es denn überhaupt soviele sind, ist das sicherlich alles praktikabel, aber Du solltest den Zeitfaktor nicht vergessen. Du brauchst täglich eine Tüte davon, um "am Ball" zu bleiben.
Ich überlege mittlerweile ob eine Reaktion auf freebsd-update und portaudit nicht auch ausreicht. Schließlich läuft das System und nur die letzte und hippste Variante einer Software zu benutzen, ist auch eher so ein meditativer Selbstzweck für Zwangsneurotiker.
 
Hallo Peterle,

danke erstmal für die schnelle Antwort.
Aus Sicherheitssicht hast du wohl Recht. Solange freebsd-update und portaudit nicht meckern ist das System auf einem sicheren Stand.

Würden denn die übrigen Methoden ausreichen um ein System vollständig aktuell zu halten?

Wie sieht es mit den übrigen Fragen aus?

Danke und Gruß
Markus
 
Ich mache auf meinen Servern im crontab ein portsnap fetch und lasse mir eine Mail schicken, die zeigt mir Differenzen an.
Dann kann ich ein portsnap fetch - könnte ja schon wieder was neues drin sein - update machen und schicke ein portmaster -a hinterher.
Die Versionsnummern sind mir ehrlich gesagt egal.
Dann kontrolliere ich mit den rc-scripts in */etc/rc.d/* ob alles läuft, was laufen soll oder starte es neu.

Im crontab steht auch ein freebsd-update und meldet sich bei Bedarf, was ich dann mit update install druchführe. Das klappt soweit alles völlig problemlos.
Leidglich ein freebsd-update upgrade habe ich neulich mal versemmelt und das waren dann ein paar Stunden, um es wieder gerade zu biegen ...
 
Back
Top