Debian 11へのアップグレード後の不要パッケージの削除 [Debian]
・'apt-get autoremove' で、多数のパッケージが削除対象となる。
・必要なパッケージが削除対象に含まれている。
・対象とする環境は、これまでにアップグレードを繰り返してきた環境である。
このため、この機会に、パッケージ毎に削除の有無を検討し、対応することにした。
1. 手順
(1) 'apt-get autoremove' で削除対象のパッケージの一覧を取得
削除開始時の確認に対して、No を回答し、パッケージを削除しない。
(2) 該当するパッケージについての削除の有無を検討
(3) パッケージの削除には、'dpkg --purge <package name>' を使用
2. 手順の実施
(1) 1 回目
bsdmainutils * cpp-8 ... cpp-10 が存在する distro-info-data javascript-common * libapt-inst2.0 ... libapt-pkg5.0 の被依存パッケージ * libapt-pkg5.0 ... libapt-pkg6.0:i386 が存在 * libasan5 ... libasan6:i386 が存在 libayatana-appindicator3-1 libayatana-ido3-0.4-0 libayatana-indicator3-7 libbind9-161 libboost-python1.67.0 * libcdio18 ... libcdio19:i386 が存在 * libcodec2-0.8.1 ... libcodec2-0.9:i386 が存在 libcroco3 libcrystalhd3 libcupsfilters1 libcupsimage2 libdbusmenu-glib4 libdbusmenu-gtk3-4 * libdns1104 ... libdns1110:i386 が存在 libdns1110 * libevent-2.1-6 ... libevent-2.1-7:i386 が存在 * libexiv2-14 ... libexiv2-27:i386 が存在 * libfluidsynth1 ... libfluidsynth2:i386 が存在 * libgssdp-1.0-3 ... libgssdp-1.2-0:i386 が存在 * libgupnp-1.0-4 ... libgupnp-1.2-0:i386 が存在 * libhogweed4 ... libnettle6 の被依存パッケージ * libicu63 ... libicu67:i386 が存在 * libilmbase23 ... libilmbase25:i386 が存在 * libip4tc0 ... libip4tc2:i386 が存在 * libip6tc0 ... libip6tc2:i386 が存在 libiptc0 libirs161 * libisc1100 ... libisc1105:i386 が存在 libisc1105 libisccc161 libisccfg163 * libisl19 ... libisl23:i386 が存在 libjs-jquery libjs-sphinxdoc libjs-underscore * libjson-c3 ... libjson-c5:i386 が存在 * libjte1 ... libjte2:i386 が存在 libkyotocabinet16v5 * libllvm7 ... libllvm11:i386 が存在 liblwres161 * libmpdec2 ... libmpdec3:i386 が存在 libmpx2 * libmysofa0 ... libmysofa1:i386 が存在 * libnettle6 ... libnettle8:i386 が存在 * libnfs12 ... libnfs13:i386 が存在 * libnftables0 ... libnftables1:i386 が存在 liboauth0 * libopenexr23 ... libopenexr25:i386 が存在 * libperl5.28 ... libperl5.32:i386 が存在 * libpgm-5.2-0 ... libpgm-5.3-0:i386 が存在 * libpoppler82 ... libpoppler102:i386 が存在 * libprocps7 ... libprocps8:i386 が存在 * libpython2.7 ... libpython3.9:i386 が存在 * libpython3.7-minimal ... libpython3.9-minimal:i386 が存在 * libpython3.7-stdlib ... libpython3.9-stdlib:i386 が存在 * librpm8 ... librpm9 が存在 * librpmbuild8 ... librpmbuild9 が存在 * librpmio8 ... librpmio9 が存在 * librpmsign8 ... librpmsign9 が存在 * libsnmp30 ... libsnmp40:i386 が存在 * libssl1.0.2 ... libssl1.1:i386 が存在 libtagc0 * libusbmuxd4 ... libusbmuxd6:i386 が存在 * libvpx5 ... libvpx6:i386 が存在 * libwireshark11 ... libwireshark14:i386 が存在 * libwiretap8 ... libwiretap11:i386 が存在 * libwscodecs2 ... libwsutil9 の被依存パッケージ * libwsutil9 ... libwsutil12:i386 が存在 * libx264-155 ... libx264-160:i386 が存在 * libx265-165 ... libx265-192:i386 が存在 libxapian30 * libxcb-util0 ... libxcb-util1:i386 が存在 libxcb-xf86dri0 lsb-release * perl-modules-5.28 ... perl-modules-5.32 が存在 python-six * python3.7-minimal ... python3.9-minimal が存在 sgml-base x11proto-input-dev x11proto-kb-dev
・'apt-get autoremove' で削除対象となるパッケージの数: 87
・行頭に * を付けたパッケージを削除する。
(2) 2 回目
bsdmainutils distro-info-data javascript-common libayatana-appindicator3-1 libayatana-ido3-0.4-0 libayatana-indicator3-7 libbind9-161 libboost-python1.67.0 libcroco3 libcrystalhd3 libcupsfilters1 ... printing libcupsimage2 ... printing libdbusmenu-glib4 libdbusmenu-gtk3-4 libdns1110 libiptc0 libirs161 libisc1105 libisccc161 libisccfg163 libjs-jquery libjs-sphinxdoc libjs-underscore libkyotocabinet16v5 liblwres161 libmpx2 liboauth0 libtagc0 libxapian30 libxcb-xf86dri0 ! lsb-release python-six sgml-base x11proto-input-dev ... dummy package (only doc) x11proto-kb-dev ... dummy package (only doc)
・apt-get autoremove で削除対象となるパッケージの数: 35
・'apt-get autoremove' を実行する(削除対象のパッケージが削除される)。
・行頭に ! を付けたパッケージについては、後で再インストールする。
3. 実施結果の検証
今回は、下記の手順を実施した場合と同じ結果となった。
・'apt-get autoremove' の実行
・アンインストールされた lsb-release パッケージを再インストール
Debian 11へのアップグレード後の問題点への対応 [Debian]
致命的なエラーは発生しなかったが、数個のパッケージで問題が発生した。
以下は、上記の発生事象と対処方法をまとめたものである。
1. Emacs 27.1 の起動エラー
(1) 発生事象
Emacs 27.1 の起動時にエラが発生する。
このため、~/.emacs に設定している '(shell)' が実行されない。
[エラーメッセージ] Symbol's function definition is void: process-kill-without-query To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the '--debug-init' option to view a complete error backtrace.
(2) 対処方法
~/.emacs に、下記の設定を追加する。
;; add function (Emacs-27 or later) (when (>= emacs-major-version 27) (defun process-kill-without-query (process &optional flag) (set-process-query-on-exit-flag process nil) t))
(補足)
obsolete になっていた関数が、本バージョンで削除されたとのこと。
(cf. https://twitter.com/shg/status/1295166707594452993)
2. iptables 1.8.7-1 の起動エラー
(1) 発生事象
iptables の起動時にエラーが発生する。
[エラーメッセージ] iptables v1.8.7 (nf_tables): Could not fetch rule set generation id: \ Invalid argument
(2) 対処方法
Debian 10 の iptables 1.8.2 にバージョンダウンする。
(a) パッケージのダウンロード
iptables_1.8.2-4_i386.deb libip4tc0_1.8.2-4_i386.deb libip6tc0_1.8.2-4_i386.deb libiptc0_1.8.2-4_i386.deb libxtables12_1.8.2-4_i386.deb
・https://packages.debian.org/ja/ にアクセス
・[パッケージディレクトリを検索] の Distribution: で buster を選択
・キーワードにパッケージ名を入力し、検索を実行
・検索されたパッケージをダウンロードし、/tmp/iptables-1.8.2/ に保存
(b) パッケージのバージョンダウン
# cd /tmp/iptables-1.8.2 # dpkg -i *.deb
3. Apache 2.4.48 の起動エラー
(1) 発生事象
Apache の起動時にエラーが発生する。
[エラーメッセージ] Function not implemented: AH00141: Could not initialize random number \ generator
(2) 対処方法
Debian 10 の Apache 2.4.38 にバージョンダウンする。
(a) パッケージのダウンロード
apache2-bin_2.4.38-3+deb10u5_i386.deb apache2-data_2.4.38-3+deb10u5_all.deb apache2-utils_2.4.38-3+deb10u5_i386.deb apache2_2.4.38-3+deb10u5_i386.deb libapr1_1.6.5-1+b1_i386.deb libaprutil1-dbd-sqlite3_1.6.1-4_i386.deb libaprutil1-ldap_1.6.1-4_i386.deb libaprutil1_1.6.1-4_i386.deb
・http://packages.debian.org/ja/ の [パッケージディレクトリを検索] を使用
・検索されたパッケージをダウンロードし、/tmp/apache-2.4.38/ に保存
(b) パッケージのバージョンダウン
# cd /tmp/apache-2.4.38 # dpkg -i *.deb
4. halt-local.service が機能しない
(1) 発生事象
/lib/systemd/system/halt-local.service が機能しない。
このため、shutdown 時に /usr/sbin/halt.local が実行されない。
(補足)
・パッケージのバージョン: systemd 247.3-6
・halt-local.service の状態には問題はない。
# systemctl status halt-local.service * halt-local.service - /usr/sbin/halt.local Compatibility Loaded: loaded (/lib/systemd/system/halt-local.service; static) Active: inactive (dead)
・同じ Unit ファイルを使用している Debian 10、CentOS 7 では、正常に機能する。
(2) 対処方法
取り敢えずは、下記の手順を実施する。
(a) /lib/systemd/system/halt-local.service の編集
# diff halt-local.service halt-local.service.org 21,23d20 < < [Install] < WantedBy=shutdown.target
(b) 変更内容の反映
# systemctl enable halt-local.service
・/etc/systemd/system/shutdown.target.wants/halt-local.server が作成される。
(/lib/systemd/system/halt-local.service へのシンボリック・リンク)
・systemctl is-enabled halt-local の実行結果が変わる。
(新) enabled
(旧) static