じーろぐ

日々の記録。コンピュータやプログラミングの話題が多め。

Raspberry Pi Zero WでRaspbianをアップデートする時の注意点

f:id:z_logger:20190715020222j:plain
Raspbianをアップデート中のRaspberry Pi Zero W

Raspberry Pi Zero Wのアップデート方法についての個人的なメモです。 Google検索で上位に出てくる方法は(不安定な)最新版にアップデートしてしまうので注意が必要です。

rpi-update は使わない

Raspberry Piのソフトウェア更新方法を検索すると、よくrpi-updateコマンドを使うと出てくるのですが、これは間違いみたいです。

実はこれ 推奨される行為ではありません。 (当たり前のごとく初期設定で紹介されていますが、諸悪の根源です) rpi-updateは、ラズベリーパイのファームウェアの更新を行いますが、このコマンドで更新されるファームウェアは 十分にテストされていません やらないで!! rpi-update | ゆっくり遅報

正しいやり方は公式サイトに書いてある

以下が公式サイトです。

Updating and upgrading Raspberry Pi OS - Raspberry Pi Documentation

要するに、

sudo apt update
sudo apt full-upgrade

sudo apt clean

で良いみたいです。 (追記:公式サイトのコマンドが変更されていたので修正。以下のログは古い情報です。)

updateログ

以下は公式サイトの方法通りに更新してみたときの記録です。

まず、現在のバージョンを確認します(1年ぐらいアップデートしてないですね…)。

pi@vega:~ $ uname -a
Linux vega 4.14.50+ #1122 Tue Jun 19 12:21:21 BST 2018 armv6l GNU/Linux

sudo apt-get updateでアップデートするパッケージ確認。

pi@vega:~ $ sudo apt-get update
取得:1 http://archive.raspberrypi.org/debian stretch InRelease [25.4 kB]                                        
取得:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease [15.0 kB]                                     
取得:3 http://archive.raspberrypi.org/debian stretch/main armhf Packages [221 kB]
取得:4 http://archive.raspberrypi.org/debian stretch/ui armhf Packages [45.0 kB]                                
取得:5 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages [11.7 MB]
取得:6 http://raspbian.raspberrypi.org/raspbian stretch/non-free armhf Packages [95.5 kB]                       
12.1 MB を 45秒 で取得しました (268 kB/s)                                                                       
パッケージリストを読み込んでいます... 完了

アップデート。

pi@vega:~ $ sudo apt-get dist-upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
アップグレードパッケージを検出しています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  coinor-libipopt1v5 libmumps-seq-4.10.0 libraw15 realpath
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
(以下略)
アップグレード: 276 個、新規インストール: 25 個、削除: 0 個、保留: 0 個。
892 MB のアーカイブを取得する必要があります。
この操作後に追加で 529 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
(以下略)

sudo apt autoremoveしろとのことなので、実行

pi@vega:~ $ sudo apt autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
  coinor-libipopt1v5 libmumps-seq-4.10.0 libraw15 realpath
アップグレード: 0 個、新規インストール: 0 個、削除: 4 個、保留: 0 個。
この操作後に 9,219 kB のディスク容量が解放されます。
続行しますか? [Y/n] Y
(以下略)

不要なファイルを削除するため、apt-get cleanapt-get autocleanも実行しておきます。 df -hで確認すると1GBぐらい開放されました。

clean実行前
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         59G  5.4G   51G   10% /

実行後
/dev/root         59G  4.5G   52G    8% /

きちんと更新できました。間が空くと時間がかかるのでこまめにアップデートしたほうがいいですね。

pi@vega:~ $ uname -a
Linux vega 4.19.57+ #1244 Thu Jul 4 18:42:50 BST 2019 armv6l GNU/Linux