このガイドは、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
  • 更新スクリプトの実行スケジュールを変更する場合は、crontab 構成を任意の値に設定します。

3. cron の再起動

最後に、cron デーモンを再起動して、設定の変更を適用します。

# service cron restart