Diese Anleitung sollte für die Betriebssysteme DragonFlyBSD, FreeBSD und HardenedBSD funktionieren. Er deckt NUR Aktualisierungen/Upgrades von Paketen ab und wendet keine anderen Patches auf das Basissystem oder den Kernel an.
If you are running FreeBSD 15.0-RELEASE or above, the base system will be updated via pkg as well. Otherwise you would still need to rely on freebsd-update or building it from source. For more information, please see the official FreeBSD Wiki or the Handbook.
HINWEIS: Alle Schritte, die auf dieser Seite dokumentiert sind, gehen davon aus, dass dein Server einen Tor (Bücke/Schutz/Exit) Relay-Dienst bereitstellt. Bitte beachte, dass während des hier dokumentierten automatischen Software-Update-Prozesses Dienste neu gestartet werden.
1. Erstelle das Update Script
Lass uns /root/bin/pkg-upgrade.sh für unser Setup verwenden. So muss es aussehen:
#!/bin/sh
PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
RAND=$(jot -r 1 1980 5940)
ENV="BATCH=yes IGNORE_OSVERSION=yes"
sleep ${RAND}
env ${ENV} pkg update -q -f && \
env ${ENV} pkg upgrade -q -U -y --fetch-only && \
env ${ENV} HANDLE_RC_SCRIPTS=yes pkg upgrade -q -U -y
2. Plane einen cron Job
For this particular schedule we opt to run the script every 0h00 (depending on your timezone), and will trigger the packages updates process itself depending on the value set to the $RAND variable - it's configured to produce a sleep between 1980 and 5940 seconds (or: 33 and 99 minutes).
More information about the use of jot in there can be found here - thanks to our anonymous cypherpunks. Adapt that to your needs should it be more suited to you.
# echo "0 0 * * * root /bin/sh /root/bin/pkg-upgrade.sh" > /etc/cron.d/pkg-upgrade
- Wenn du die geplante Ausführung des Update-Skripts ändern möchtest, konfiguriere deine Crontab-Einstellungen auf einen Wert, den du verwenden möchtest.
3. Starte cron neu
Starte schließlich den cron-Daemon neu, damit die Konfigurationsänderungen übernommen werden.
# service cron restart