Re:Readme

PCトラブルや環境構築、家電量販店とかで買ったもののメモ。ご利用は自己責任で。

Raspberry PiのOSアップグレード(Raspbian Jessie → Stretch → Buster)

以前購入したRaspberry Pi 3を久しぶりに使いたくなったが、本記事執筆時点でOSが数世代古くなってしまい、使用していたOS: Raspbian Jessie (Debian 8)のサポートが終了していた。
aptコマンドが満足に使えなくなってしまったのもあり、OSのアップグレードを行った。
なお、本記事執筆時点ではBuster (Debian 10)の次の世代であるBullseye (Debian 11)がリリースされているが、まだ情報が少なさそうなので一旦Busterまでのアップグレードを実施した。

Jessie (Debian 8) → Stretch (Debian 9)

手順は下記を参考にした。
aoboshi.org

source.listの編集

viで/etc/apt/source.listと/etc/apt/source.list.d/*.listに含まれる「jessie」を「stretch」に置換する。

$ vi /etc/apt/source.list

でファイルを開いたら

$ :%s/jessie/stretch/g

で置換する。他のファイルも同様。

OSのアップグレード

その後、

$ sudo apt update
$ sudo apt upgrade

でパッケージ一覧の更新とインストール済みパッケージの最新化をしたのち、OSのアップグレードを

$ sudo apt dist-upgrade

で実行する。アップデート完了後は

$ sudo apt autoremove

によって不要なパッケージをアンインストールできる。

aptやapt-getコマンドやオプションのついては下記の記事を参考とした。

penpen-dev.com
rs-techdev.com
codechacha.com

apt upgradeにおけるY/N形式の確認入力について

余談だが、パッケージに関係する設定ファイルを自分で編集していたりすると、アップグレード中に以下の例のようにY/N形式で回答するタイプの確認をされることがある。暇だからといって目を離していると、入力待ちでアップグレードが止まっていたりするので注意。

dhcpcd5 (1:8.1.2-1+rpt1) を設定しています ...

設定ファイル '/etc/dhcpcd.conf'
==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
==> パッケージ配布元が更新版を提供しています。
どうしますか? 以下の選択肢があります:
Y か I : パッケージメンテナのバージョンをインストールする
N か O : 現在インストールされている自分のバージョンを残す
D : 両バージョンの差異を表示する
Z : 状況を調査するためにシェルを開始する
デフォルトでは現在使っている自分のバージョンを残します。
*** dhcpcd.conf (Y/I/N/O/D/Z) [デフォルト=N] ?

なお、上記の例で深く考えずYを入力したら、IPアドレスの固定化が解除されてしまったため、後ほど再設定することになった。特にsshでログインしている場合には注意が必要。
今回の環境では有線を使用したかったので、wlan0ではなくeth0の設定を再実施。
qiita.com

また、iOSだと下記のようにネットワーク内の機器をサーチできるアプリがあるので、入れておくと便利。

Fing (フィング) - ネットワークツール

Fing (フィング) - ネットワークツール

  • Fing Limited
  • 仕事効率化
  • 無料
apps.apple.com

Stretch (Debian 9) → Buster (Debian 10)

基本的にはJessie → Stretchと同様。
Debianのリリースノートでは、Jessie(Debian 8) → Buster(Debian 10)のように世代をスキップしての直接のアップグレードについては言及されていないように見える。
今回は無難に1つずつアップグレードを実施した。
www.debian.org