Este guia deve ser usado nos sistemas operacionais DragonFlyBSD, FreeBSD e HardenedBSD. Ele abrange SOMENTE atualizações/melhorias de pacotes e não aplica nenhum outro patch ao sistema base ou kernel.

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.

NOTA: Todas as etapas documentadas nesta página consideram que seu servidor é dedicado a fornecer um serviço de retransmissão Tor (ponte/guarda/saída). Esteja ciente de que os serviços serão reiniciados durante o processo de atualização automática de software documentado aqui.

1. Crie o script de atualização

Vamos usar /root/bin/pkg-upgrade.sh para nossa configuração. É assim que deve ficar:

#!/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. Agende uma tarefa 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).

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
  • Se você quiser alterar a execução agendada do script de atualização, configure suas configurações do crontab para um valor que você gostaria de usar.

3. Reinicie o cron

Por fim, reinicie o daemon cron para que as alterações de configuração sejam utilizadas.

# service cron restart