このガイドは、DragonFlyBSD、FreeBSD、HardenedBSD オペレーティングシステムで機能するはずです。パッケージの更新/アップグレード_のみ_を対象としており、ベースシステムやカーネルには他のパッチを適用しません。
注意: このページに記載されているすべての手順は、あなたのサーバーが Tor (ブリッジ/ガード/出口) リレーサービス専用であることを前提としています。ここに書かれている自動ソフトウェア更新処理中に_サービスが再起動される_ことにご注意ください。
1. 更新スクリプトの作成
セットアップには /root/bin/pkg-upgrade.sh を使います。これは以下のようになります。
#!/bin/sh
PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
RAND=$(jot -r 1 900)
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. cron ジョブのスケジュール
このスケジュールでは、スクリプトを (タイムゾーンに応じて) 0時00分ごとに実行し、$RAND 変数に設定された値に応じてパッケージ更新処理自体を開始します。また、0秒から900秒 (15分) の間でスリープするように設定されています。
# echo "0 0 * * * root /bin/sh /root/bin/pkg-upgrade.sh" > /etc/cron.d/pkg-upgrade
3. cron の再起動
最後に、cron デーモンを再起動して、設定の変更を適用します。
# service cron restart