パッケージ管理に問題があります:
Bluezパッケージが壊れたので、ある時点で、更新などを中断したに違いありません。削除または再インストールを試みましたが、エラーしか表示されません。このパッケージが壊れている限り、aptで操作を実行できません。
パッケージを削除しようとしたときの出力
$ Sudo aptitude remove bluez
The following packages will be REMOVED:
bluez
The following partially installed packages will be configured:
dictionaries-common dmsetup grub-pc ifupdown install-info rsyslog
0 packages upgraded, 0 newly installed, 1 to remove and 235 not upgraded.
Need to get 0 B of archives. After unpacking 1,737 kB will be freed.
dpkg: error processing bluez (--remove):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
configured to not write apport reports
Errors were encountered while processing:
bluez
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up install-info (4.13a.dfsg.1-8) ...
/var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found
dpkg: error processing install-info (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up ifupdown (0.7~alpha5+really0.6.15) ...
/var/lib/dpkg/info/ifupdown.postinst: 122: /var/lib/dpkg/info/ifupdown.postinst: update-rc.d: not found
dpkg: error processing ifupdown (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up locales (2.13-18) ...
/var/lib/dpkg/info/locales.postinst: 64: /var/lib/dpkg/info/locales.postinst: locale-gen: not found
dpkg: error processing locales (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up dictionaries-common (1.11.6) ...
/var/lib/dpkg/info/dictionaries-common.postinst: 45: /var/lib/dpkg/info/dictionaries-common.postinst: update-dictcommon-aspell: not found
dpkg: error processing dictionaries-common (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up grub-pc (1.99-12) ...
/var/lib/dpkg/info/grub-pc.postinst: line 438: grub-mkdevicemap: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 559: grub-install: command not found
/var/lib/dpkg/info/grub-pc.postinst: line 669: update-grub: command not found
dpkg: error processing grub-pc (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up dmsetup (2:1.02.65-1) ...
/var/lib/dpkg/info/dmsetup.postinst: 8: /var/lib/dpkg/info/dmsetup.postinst: update-initramfs: not found
dpkg: error processing dmsetup (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up rsyslog (5.8.5-1) ...
/var/lib/dpkg/info/rsyslog.postinst: 45: /var/lib/dpkg/info/rsyslog.postinst: update-rc.d: not found
dpkg: error processing rsyslog (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
install-info
ifupdown
locales
dictionaries-common
grub-pc
dmsetup
rsyslog
Debianテストを実行しています。この問題はこの特定のパッケージに実際にありますか、それともdpkgに問題がありますか?パッケージマネージャーを修正するにはどうすればよいですか?
これまでにこのメッセージに遭遇したことがないので、bluez固有のメッセージだと思います。メッセージが示唆する再インストールを試みましたか?
apt-get install --reinstall bluez
Dpkgを使用して、aptキャッシュからbluezパッケージをインストール/構成することもできます。/var/cache/aptでbluezパッケージを探します。次のようにインストールします(ルートとして):
dpkg -i <bluez debian package>
これは偶然かもしれませんが、すべてのエラーは/usr/sbin
内のプログラムの呼び出しに関係しています:update-info-dir
、update-rc.d
、locale-gen
、update-dictcommon-aspell
、grub-mkdevicemap
、grub-probe
、grub-install
、update-grub
、update-initramfs
、update-rc.d
、およびbluez
のprerm allからのinvoke-rc.d
/usr/sbin
に住んでいます。
最初に確認するのは、ルートの/usr/sbin
がPATH
かどうかですが、dpkg
は通常、そうでない場合は大声で文句を言うため、問題になる可能性はほとんどありません。実際、squeezeの時点では、dpkgはPATH
にupdate-rc.d
が見つからないと大声で不平を言うため、rsyslog
postinstがこの実行可能ファイルを見つけられないのは奇妙ですdpkg
は不満を言っていません。
これらのコマンドを(rootとして)実行するとどうなりますか?
type update-rc.d
ls -l /usr/sbin/update-rc.d
file /usr/sbin/update-rc.d
update-rc.d --help
file /bin/sh
これらのコマンドの結果により、修正が提案される場合があります。興味深いリードを見つけたが、その意味がわからない場合は、質問を編集してこの情報を追加してください。また、システムについて「異常な」何かを報告します(SELinux、chroot、デュアルアーキテクチャインストールなど)。
Sudo dpkg-reconfigure <packages> --force
に続く
Sudo dpkg --purge --force-all <packages>
このエラーは通常、パッケージが正しくインストールされなかった場合に表示されます。なに
dpkg -l bluez
公演?これは通常2つの方法で発生します
インストールが中断されました。
{pre/post} -install bluezスクリプト(または同様のもの)に問題があります。
前者に関する限り、インストールの中断を知っていますか?これが問題の場合、再インストールすると問題が解決する場合があります。
後者の場合でも、最初に再インストールしてください。ただし、最後の手段として、問題がどこにあるか、およびスクリプトを適切にインストールしようとするのか、それとも単に完全に取り除きます。通常、問題はスクリプト内の何かが失敗し、dpkgにエラーが発生することです。解決策はそのことを編集することです。このようなスクリプトはすべて/var/lib/dpkg/info
にあります。 bluez.postinst
または類似のものを探します。注意:これが問題である場合はバグである可能性があるため、Debianバグ追跡システムにバグレポートを提出してください。
bluez
パッケージに関連するだけでなく、いくつかのエラーがあるようです。
aptitude remove
を実行すると、いくつかのパッケージが構成され、そのほとんどが基本的なシステム機能(grub、ifupdownなど)を実装します。これは、更新が中断されたか、それを妨げるディスク/ファイルシステムエラーがあることを示唆していますきれいに完了することから。
つまり、きれいに更新されない残りのパッケージは、より大きな問題の兆候である可能性があります。実際、投稿したログには次のように書かれています。
/var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found
dpkg: error processing install-info (--configure):
subprocess installed post-installation script returned error exit status 127
したがって、install-info
が見つからないため、update-info-dir
の構成を完了できません。このコンテキストで「見つかりません」は、「実行不可」を意味する場合もあります。同様に、これらのプログラムが見つからないため、他のパッケージは失敗します。
grub-install, grub-mkdevicemap, grub-probe, locale-gen,
update-dictcommon-aspell, update-grub, update-info-dir,
update-initramfs, update-rc.d
私のシステムでは、不足しているファイルは次のパッケージからインストールされます。
================================== ===================
File location Package
================================== ===================
/usr/sbin/update-dictcommon-aspell dictionaries-common
/usr/sbin/grub-mkdevicemap grub-common
/usr/sbin/grub-probe grub-common
/usr/lib/grub-legacy/update-grub grub-pc
/usr/sbin/grub-install grub-pc
/usr/sbin/update-grub grub-pc
/usr/sbin/update-initramfs initramfs-tools
/usr/sbin/update-info-dir install-info
/usr/sbin/locale-gen locales
/usr/sbin/update-rc.d sysv-rc
最初のデバッグ手順として、ファイルが実際に存在し、読み取り可能であり、実行可能であることを確認します。
次に、--help
オプションを使用してそれぞれを実行してみます。正しく実行されますか?
上記のテストが両方とも正常に完了した場合は、sysv-rc、initramfs-tools、grub-pc、およびgrub-common(aptitude reinstall grub-pc grub-common
)から始めて、これらのパッケージを再インストールすることをお勧めします。
その部分を機能させると、aptitude reinstall bluez
はbluez
を正常な状態に戻し、その後でそれを削除できます。