ICTについて使える情報を発信していきます. 遠回りしたり, 自分のペースで...

このブログを検索

apt, ファームウェアのアップデートと自動アップデート設定 [RaspberryPi3]

私がしたRaspberryPiの設定は, 「RaspberryPiの設定 まとめリスト」にまとめてあります.

  • 今回の設定のメリット
    • パッケージの最新版を利用できる.
    • セキュリティ的にアップデートは随時しておいたほうが良い.
    • というか必須な感じ.
  • 今回の設定のデメリット
    • 不具合発生しそうとか? でもやったほうが良いよね.

sshしていることを前提にします.

aptのアップデート

aptのアップデートをします. ちまたではapt-getが多いですが, apt-getの上位互換がaptなので, aptを使うほうがよろしいらしい.
ソースはこちら「Is ‘apt-get’ deprecated? [duplicate]

まぁ, aptもapt-getもパッケージツールなので, 必要なものがaptに無ければapt-getを使うというぐらいで良いのかも.

ではssh先でaptのアップデート.

$ sudo apt update 
$ sudo apt upgrade 

aptのみで良いですが, apt-getもやりたい方はこちららしいです.

$ sudo apt-get update 
$ sudo apt-get upgrade 
$ apt-get dist-upgrade 

ファームウェアのアップデート

ssh先で次のコマンドを打ちます.

$ sudo rpi-update

その後, 再起動すれば終わりです.

$ sudo reboot

自動アップデート

いちいち手動でアップデートをするのもめんどくさく, 忘れることも多いと思うので自動アップデートも設定します. 次のコマンドを打ちましょう.

$ # 設定ファイルの作成, aptの自動アップデート設定
$ sudo sh -c 'echo "59 23 * * * /usr/bin/apt update ; /usr/bin/apt -y upgrade  ; /usr/bin/apt -y autoremove ; /usr/bin/apt clean" > /root/crontab_root_file'

$ # ファームウェアのアップデート自動化
$ sudo sh -c 'echo "59 23 * * * /usr/bin/rpi-update" >> /root/crontab_root_file'

$ # 自動アップデートの登録
$ sudo crontab -u root /root/crontab_root_file

ちょっとややこしいと思いますが, コマンドを追加している部分は

「echo “59 23 * * * /usr/bin/apt update ; /usr/bin/apt -y upgrade ; /usr/bin/apt -y autoremove ; /usr/bin/apt clean”」

などです.

数字の部分「59 23 * * *」は順に「分 時 日 月 曜日」となります.
毎日23時59分に

「apt update ; apt -y upgrade ; apt -y autoremove ; apt autoclean"」

というコマンドを実行します. 自動アップデートや, アップデートした後に不要なものの削除などの設定です. ファームウェアのアップデートも同じです.

実際に登録されたかは, 次のコマンドを打てば良いです.

$ # 登録されたリストを表示
$ sudo crontab -u root -l
59 23 * * * /usr/bin/apt update ; /usr/bin/apt -y upgrade  ; /usr/bin/apt -y autoremove ; /usr/bin/apt clean
59 23 * * * /usr/bin/rpi-update

「/usr/bin/apt update ; /usr/bin/apt -y upgrade ; /usr/bin/apt -y autoremove ; /usr/bin/apt clean」などが登録されているのがわかります.

おまけ

ワンライナーみたいにするなら,

$ (sudo crontab -u root -l ; echo "59 23 * * * /usr/bin/apt update ; /usr/bin/apt -y upgrade  ; /usr/bin/apt -y autoremove ; /usr/bin/apt clean" | sort | uniq) | sudo crontab -u root -

$ (sudo crontab -u root -l ; echo "59 23 * * * /usr/bin/rpi-update" | sort | uniq) | sudo crontab -u root -

こんな感じ.

自動再起動

こういうアップデートは再起動しないと設定が反映されない場合もあるので, 時々再起動しなければいけない場合があります.
自分はそれがめんどくさいので, 定期的に再起動してくれるようにこれも設定しました.

$ # 設定ファイルに追記
$ sudo sh -c 'echo "0 4 * * 1 /sbin/reboot" >> /root/crontab_root_file'

$ # 自動アップデートの登録
$ sudo crontab -u root /root/crontab_root_file

これは任意でやって下さい.

参考文献

0 コメント:

コメントを投稿

Popular Posts