現在、Raspberry Piの最新情報を取得するには、とを入力する必要がsudo apt-get update
ありsudo apt-get upgrade
ます。これを自動的に行うように設定する方法はありますか?Raspbian Jessieを実行しています。
現在、Raspberry Piの最新情報を取得するには、とを入力する必要がsudo apt-get update
ありsudo apt-get upgrade
ます。これを自動的に行うように設定する方法はありますか?Raspbian Jessieを実行しています。
回答:
手動のcronの代わりに、をインストールできますunattended-upgrades
。これは、最新のカーネルを確実にインストールするのに役立ちます。主にセキュリティのために設計されています。
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
調整/構成できるビットがいくつかありますが、デフォルトで問題ありません。
50unattended-upgrades
リストさ"origin=Debian,codename=${distro_codename},label=Debian-Security";
れ、関連するパッケージが正しく検出されているようです。もちろん、それらの多くは無視されます。ホワイトリストまたはブラックリストを設定していません。
50unattended-upgrades
は本当に愚かであり、これをRaspianで動作させるには変更する必要があります。ありませんRaspian-Security
。セキュリティ更新プログラムにはラベルが付いていません。両方を追加することが重要である"origin=Raspbian,codename=${distro_codename},label=Raspbian";
と"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
に/etc/apt/apt.conf.d/50unattended-upgrades
ターミナルで、次を入力します。
sudo su
ルートレベルのプロンプトにアクセスします。次に、実行します:
crontab -e
crontab、特定の時間に自動的に実行するタスクのテーブルの編集を開始します。好みのテキストエディターで開きます。次の行を含むように変更します。
0 7 * * 1 apt update && apt upgrade -y
毎週月曜日の午前7時にアプリを自動的に更新およびアップグレードするには。お好みに合わせて調整する方法については、crontabを参照してください。
&&
は関連しているので、おそらく同じ行にコマンドを配置する方がよいでしょう。「更新」が失敗した場合、「アップグレード」を行う理由はありません。
0
日曜日の手段が、あなたのコードの中で、あなたが入れている1
コマンドは、月曜日に、ない日曜日実行されますので、
dist-upgrade
優れているupgrade
、あなただけ使って壊れた依存関係になってしまいますupgrade
。また、ダイアログの確認を必要とする更新を回避することもできません。@ tedder42さんは、Debianが好む方法を(を使用してunattended-upgrades
)指摘しました。
sudo
。をroot
使用してアカウントに切り替えましたsu
。スーパーユーザーのcrontabは、スーパーユーザー特権で実行されます。
cron-aptをインストールして構成できます。以下を実行してインストールします。
apt-get install cron-apt
メインの設定ファイルは/ etc / cron-apt / configです
構成に追加することの1つは次のとおりです。
MAILON="always"
これは、エラーが発生した場合だけでなく、実行するたびに電子メールを送信します。
デフォルトのセットアップではアップデートが自動的にインストールされないことに注意してください(これを行わない理由はいくつかあります)が、そうするように設定することができます。このプログラムが提供する単純なcronソリューションに対する利点の1つは、インストールするものを制御できることです(新しいパッケージのダウンロード、セキュリティ更新プログラムのインストール、またはすべての更新プログラムのインストールのみ)。
実行時間を設定するには、/ etc / cron.d / cron-aptファイルを編集します。
ここで詳細情報と設定オプションを見つけることができます
パッケージには非常に優れたドキュメントが含まれていますが、gzipで圧縮されています。ファイルを抽出するには:
デフォルト設定でunattended-upgrades
は、Raspbian Busterで壊れています。カーネルやその他のソフトウェアの重要なアップデートはインストールされません。オプションは次のとおりです。
推奨オプション:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
より高速なセキュリティ更新(ただし、パッケージはrasbianに承認されていないため安定性は低下します)には、debian-securityパッケージをaptに追加できます。
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
おそらくdebianリポジトリ用の新しいaptキーをインストールする必要があります。
別のオプション:
cron-aptを使用して回避します。
sudo apt install cron-apt
それを回避する他の方法。
目的に最も適しているため、無人アップデートを使用してパッケージを修正することをお勧めします。Cron-aptは同様の目的のために設計されているため、2番目に最適なオプションです。カーネルの更新後にシステムが自動的に再起動できるかどうかはわかりません。通常、無人アップグレードにはそのオプションがありますが、上記の修正で動作するかどうかはわかりません。
/var/log/unattended-upgrades/unattended-upgrades.log
ファイルが報告したAllowed origins are: []
ので、基本的に更新は/etc/apt/apt.conf.d/50unattended-upgrades
"origin=Raspbian,codename=${distro_codename},label=Raspbian";