Debianをインストールした玄箱Pro、まだまだ現役で自宅のLANで活躍中です。
いささか時期を失したような話ですが、ようやく重い腰を上げてDebianのバージョンアップを実施しましたのでご報告です。
いつものDebianのdist-upgradeです。バージョンアップしてからしばらく経過観察したので完全に遅い記事に。
さらに、これで正しかったかどうかも、ちょっとよく分かっていない不確定な内容、こういう環境もあったんだな位の温度感で。(完全自分用の記録になっています。)
仕事が立て込んでいて玄箱ProのDebian JessieはまだLTS期間内だからまあいいかって、先送りにしていた作業ですが、ちょっと風向きが変わってきたのがきっかけ。
Debian Jessieはバージョンアップが必要
玄箱ProにDebianをインストールしsambaサーバとして未だ現役稼働中、まだまだNASとしては便利に利用できています。DebianバージョンJessieは2018年6月6日に通常のサポート期間を終了して現在LTSに入っていますが、2020年にこれも終了します。
ただ、LTS期間中とはいえURLが閉じてしまったようでcron-aptでエラーが出るようになってしまいました。
--------------------------------------------------------------
CRON-APT SLEEP: 283, CRON-APT ACTION: 0-update CRON-APT LINE: /usr/bin/aptitude -o quiet=1 update -o quiet=2
W: Failed to fetch http://ftp.jp.debian.org/debian/dists/jessie-updates/main/source/Sources: 404 Not Found
W: Failed to fetch http://ftp.jp.debian.org/debian/dists/jessie-updates/main/binary-i386/Packages: 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
E: Couldn't rebuild package cache
--------------------------------------------------------------
ふーむ、ソロソロ潮時ですね。
要するにDebian 8(Jessie)からDebian 9(Stretch)にバージョンアップしないといけない、ってことです。
てなわけでバージョンアップ。
バージョンアップは簡単
いつものコマンドを実行して完了を待つだけです。
# cp /etc/apt/sources.list /etc/apt/sources.list.bak
# vi /etc/apt/sources.list
※jessieの記述をstretchに書き換える
# apt-get update
# apt-get upgrade
⇒※玄箱Proはこのあとの「dist-upgrade」前に、サービスrpcbindストップしておく
# systemctl stop rpcbind
# apt-get dist-upgrade
これで完了。
と思っていたのですが、そうは行かなかった。
「apt-get upgrade」のタイミングでエラー
apt-get upgrade実行中にinitramfs-toolsの処理で発生しました。
--------------------------------------------------------------
initramfs-tools (0.120+deb8u3) のトリガを処理しています ...
update-initramfs: Generating /boot/initrd.img-3.16.0-6-orion5x
Using DTB: orion5x-kuroboxpro.dtb
Couldn't find DTB orion5x-kuroboxpro.dtb in /usr/lib/linux-image-3.16.0-6-orion5x or /etc/flash-kernel/dtbs
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
dpkg: パッケージ initramfs-tools の処理中にエラーが発生しました (--configure):
サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:E: Sub-process /usr/bin/dpkg returned an error code (1)
--------------------------------------------------------------
これでapt-get upgradeが止まっちゃった、という。
initramfs-toolsエラーを対処
探ってみた
--------------------------------------------------------------
処理中にエラーが発生しました:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@kuro-box:/home/username# sudo dpkg --audit
以下のパッケージは最初の設定中に問題が発生したため、設定が終了していません。
dpkg --configure <パッケージ> か dselect で設定 (configure) メニューオプションを使って設定作業を再試行しなければなりません:
initramfs-tools generic modular initramfs generator
--------------------------------------------------------------
dpkg --configure <パッケージ> で再設定してね、ってメッセージが表示されています。
ただ、処理には「/var/lib/dpkg/info/initramfs-tools.hoge」ファイルが存在していると処理できないらしい。
そこで
--------------------------------------------------------------
# mv /var/lib/dpkg/info/initramfs-tools.postinst /home/username/bak-190401
# mv /var/lib/dpkg/info/initramfs-tools.postrm /home/username/bak-190401
# mv /var/lib/dpkg/info/initramfs-tools.prerm /home/username/bak-190401
--------------------------------------------------------------
いちおう、mvコマンドで移動し待避しておくことにしてみました。あとでいらなかったら削除。
このあとで「dpkg --configure initramfs-tools」
を実行すると
--------------------------------------------------------------
# dpkg --configure initramfs-tools
initramfs-tools (0.120+deb8u3) を設定しています ...
--------------------------------------------------------------
と表示されて完了、ただ、このあと「apt-get upgrade」は保留されてしまうので、「apt-get dist-upgrade」を実行してバージョンアップを続行しました。
完了後
無事Debian9(Stretch)にバージョンアップ完了(ホントに?)
--------------------------------------------------------------
# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
# cat /etc/debian_version
9.8
--------------------------------------------------------------
無事動作していることを確認。とりあえずsambaがちゃんと動作していればOKとしています。
正系と副系の両方の玄箱Proバージョンアップが完了したので、ひとまずセキュリティアップデートもできるようになったからよしとします。
※wgetのセキュリティ問題<https://jvndb.jvn.jp/ja/contents/2019/JVNDB-2019-000022.html>が対策されたバージョンにアップデートできたので、セキュリティアップデート自体はちゃんとできることが確認できました。