最近Debian 12をインストールしました。 Aptは動作しますが、Linuxイメージが完全に構成されていないと文句を言います。イメージを削除してアップグレードしようとしましたが、今はaptまたはdpkgを使用して何も削除またはインストールできません。パッケージが「完全にインストールまたは削除されない」という問題があり、問題の解決中にエラーが発生した後に中断されます。
私が経験した問題をまとめると、次のようになります(詳細は以下を参照)。
- apt / dpkgを削除、クリーンアップ、インストール、またはアップグレードすることはできません。
- dpkgが削除された後にスクリプトサブプロセスからエラーが返される
- raspi-firmwareから/boot/firmwareがインストールされない可能性があると文句を言います。
- マウントされていない1K EXT4-fsパーティションがあります
- raspi-firmware - これは必要ですか?パナソニックタフブックCF-31実行
- initramfs-tools - raspi-firmwareをアンインストールすると文句を言う
私はカーネル6.1.0-9-amd64を使用していますが、linux-image-6.1.0-10-amd64が原因でこの問題が発生しました。オンラインで見つけた情報に基づいて、後者のパッケージに関連するすべてのファイルを手動で削除しましたが、まだエラーが発生しました。 (dpkg-query -L linux-image-6.1.0-10-amd64 は、パッケージに実際に「ファイルが含まれていない」ことを確認します.)
以下は、パッケージをインストールまたは削除しようとしたときにaptによって返される出力の例です。
Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
cmatrix-xfont
The following packages will be REMOVED:
linux-image-6.1.0-10-amd64
The following NEW packages will be installed:
cmatrix
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 17.5 kB of archives.
After this operation, 408 MB disk space will be freed.
Do you want to continue? [Y/n]
Get:1 https://deb.debian.org/debian bookworm/main amd64 cmatrix amd64 2.0-3 [17.5 kB]
Fetched 17.5 kB in 1s (12.3 kB/s)
(Reading database ... 252302 files and directories currently installed.)
Removing linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-6.1.0-10-amd64
/etc/kernel/postrm.d/z50-raspi-firmware:
raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/kernel/postrm.d/z50-raspi-firmware exited with return code 1
dpkg: error processing package linux-image-6.1.0-10-amd64 (--remove):
installed linux-image-6.1.0-10-amd64 package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
linux-image-6.1.0-10-amd64
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
表示される内容によると、/etc/kernel/postinst.d/z50-raspi-firmwareの35行が表示されます。これにより、次の条件が真の場合にエラーが発生します。
! mountpoint -q /boot/firmware
私はこの文脈で-qが何を意味するのかわかりません。 chrootや仮想マシンでdpkgを実行していません。ルートパーティションに/boot/firmwareディレクトリがあります。関連している場合は、dmesgレポート:「スーパーブロックを読み取れません」でマウントに失敗したアンマウントされた1K Ext4-fsパーティションsda2があります。
私はRasberry Piを実行していないので、これらのファイルを削除してapt autoremoveを実行してみました。
- /etc/initramfs/post-update.d/z50-raspi-firmware
- /etc/kernel/postrm.d/z50-raspi-firmware
しかし、Apuはこう言いました。
Removing linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-6.1.0-10-amd64
/etc/kernel/postrm.d/z50-raspi-firmware:
/etc/kernel/postrm.d/z50-raspi-firmware: 2: exec: /etc/kernel/postins
t.d/z50-raspi-firmware: not found
run-parts: /etc/kernel/postrm.d/z50-raspi-firmware exited with return
code 127
initramfs-toolsがraspiファームウェアを見つけることを期待するように指示するようです。 dpkg-query -L include /usr/share/initramfs-tools/hooks/raspi-firmware-fsck を見て削除してみましたが、あまり違いはありませんでした。
同様の質問をしましたが、解決策が十分ではありませんでした。私はスタック交換に初めて触れ、この質問をこの質問にどのように添付するのかわかりません。 dpkg:パッケージlinux-image-amd64(--configure)の処理中にエラーが発生しました:依存関係の問題 - 構成されていません
答え1
リンクされた質問のソリューションが機能するには、postinst.d/z50-raspi-formwareを最初に復元する必要があります。
/etc/kernel/postinst.d/z50-raspi-firmware
2行で構成されています。
#!/bin/sh
true
実行可能にする:
chmod a=rx /etc/kernel/postinst.d/z50-raspi-firmware
これで削除が機能します。
apt purge raspi-firmware
これを実行した後は、エラーなしでaptなどをautoremove
実行できます。install