Esta guía tendría que funcionar para los sistemas operativos DragonFlyBSD, FreeBSD y HardenedBSD. Cubre ÚNICAMENTE actualizaciones/mejoras de paquetes, y no aplica ningún otro parche al sistema base o al kernel.
Si está ejecutando FreeBSD 15.0-RELEASE o superior, el sistema base también se actualizará a través de pkg. De lo contrario, aún necesitaría confiar en freebsd-update o compilarlo desde la fuente. Para obtener más información, consulte el oficial FreeBSD Wiki o el Handbook.
NOTA: Todos los pasos documentados en esta página parten del hecho de que tu servidor suministra un servicio de relay de Tor (bridge/guard/exit). Ten en cuenta que los servicios se reiniciarán durante el proceso de actualización automática de software aquí documentado.
1. Crea el Script de Actualización
Usemos /root/bin/pkg-upgrade.sh para nuestra configuración. Es así como ha de verse:
#!/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. Programar un Trabajo cron
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).
Más información sobre el uso de jot se puede ver aquí- gracias a nuestros cypherpunks anónimos. Adáptelo a sus necesidades si es más adecuado para usted.
# echo "0 0 * * * root /bin/sh /root/bin/pkg-upgrade.sh" > /etc/cron.d/pkg-upgrade
- Si deseas cambiar la ejecución programada del script de actualización, configure tu crontab settings al valor que desee utilizar.
3. Reiniciar cron
Finalmente, reiniciar el demonio cron para hacer que los cambios de configuración sean usados.
# service cron restart