「完全にインストールされていません」apt-getパッケージを「成功的にインストール済み」とマークする方法

「完全にインストールされていません」apt-getパッケージを「成功的にインストール済み」とマークする方法

Iomega ix2-200 NASにDebian 7.4を次のようにインストールしました。このブログix2-200はARM Marvel CPUを実行し、128MBのNANDフラッシュメモリを搭載しています。フラッシュメモリには、システムの起動に使用されるinitramfsイメージ(uInitrd)とカーネルイメージ(uImage)が含まれています。

場合によっては、新しいパッケージ(たとえばcryptsetup)にカーネルの更新が必要ですが失敗します(Unsupported platform)。新しいinitramfsとカーネルを手動でフラッシュする必要がありinitrd.img-3.2.0-4-kirkwoodます。vmlinuzmkimage

(迷惑な)問題:apt-get upgradeシステムを実行するたびに未完了のパッケージが表示されます。すべてが正常であることをシステムにどのように通知できますか?

GoogleとStackExchangeを試しましたが、ほとんどの投稿では未完成/不完全なパッケージを削除する方法について説明します。守りたい!

添付のコードスナップショットをご覧ください。

#> apt-get install cryptsetup
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  console-setup console-setup-linux cryptsetup-bin kbd keyboard-configuration libcryptsetup4 xkb-data
Suggested packages:
  dosfstools
The following NEW packages will be installed:
  console-setup console-setup-linux cryptsetup cryptsetup-bin kbd keyboard-configuration libcryptsetup4 xkb-data
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,179 kB of archives.
After this operation, 11.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? y

...

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-4-kirkwood
Unsupported platform.
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

#> apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?

答え1

自分が何をしているかを知っている場合にのみ、パッケージがインストールされたことをdpkgに手動で通知できます。

/var/lib/dpkg/status ファイルでパッケージ項目を編集できます。ステータス行を「Status:okInstalled」に設定します(または次回自動的にアップグレードしない場合は「Status:hold okinstalled」に設定します)。

答え2

/etc/initramfs/post-update.d/flash-kernelカーネルとinitrdを正常にフラッシュするように変更する必要があります。これは/ etcにあり、ボード上で動作するように自由に編集できます。

動作するように編集できない場合(JTAGを介して更新が行われた場合)、更新を通知する大きな警告を印刷する必要がありますexit 0

問題を解決したら、続行できますdpkg --configure -a

関連情報