最近何度か apt upgrade でエラーとなってしまいました.恐らくBtrfs 環境依存かつ disk full 時に起こるようです.
メモしておきます.
Btrfs 環境で apt upgrade 時に disk-full になると通常容量エラーになるところがファイルが壊れてしまうことがあるようです.透過圧縮等を使っているので容量がうまく取得できないせいだと思います.
apt upgrade
で転けるldconfig: /lib/x86_64-linux-gnu/libexpect.so.5.45.4 is not an ELF file - it has the wrong magic bytes at the start. ldconfig: /lib/x86_64-linux-gnu/libexpect.so.5 is not an ELF file - it has the wrong magic bytes at the start. ldconfig: /lib/x86_64-linux-gnu/libexpect.so.5.45 is not an ELF file - it has the wrong magic bytes at the start.
以下のように壊れたファイルのパッケージをダウンロードして上書きインストールすることで治ったようです.
修正
$ apt-file search /usr/lib/x86_64-linux-gnu/libexpect.so.5 (1) tcl-expect: /usr/lib/x86_64-linux-gnu/libexpect.so.5 tcl-expect: /usr/lib/x86_64-linux-gnu/libexpect.so.5.45 tcl-expect: /usr/lib/x86_64-linux-gnu/libexpect.so.5.45.4 $ apt download tcl-expect (2) $ sudo dpkg -i ./tcl-expect_5.45.4-3_amd64.deb (3) $ sudo ldconfig (4) $ rm ./tcl-expect_5.45.4-3_amd64.deb (5)
- エラーの出ているファイルからパッケージを探す
- 該当パッケージをダウンロード( apt reinstall だとうまく行かなかった )
- パッケージインストール
- 動作確認
- パッケージファイル削除
disk 小さいので大きいのに載せ変えたりしたいですね.しかし m.2 SATA なので選択肢があまりなく値段も高めで手を出しづらいです…….
環境
$ dpkg-query -W apt btrfs* dpkg apt 2.7.12 btrfs-progs 6.6.3-1.1 dpkg 1.22.6 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux trixie/sid Release: n/a Codename: trixie $ arch x86_64