web-dev-qa-db-ja.com

なぜこのdpkgエラー:あいまいなパッケージ名 'libglib2.0-0' ...?

ソフトウェアセンターでパッケージをインストールしようとしたとき、またはSudo apt-get install upgradeでパッケージをアップグレードしようとしたときに、奇妙なエラーが発生しました。

dpkg: error: file triggers record mentions illegal package name `libglib2.0-0' (for interest in file `/usr/lib/x86_64-linux-gnu/gio/modules'): ambiguous package name 'libglib2.0-0' with more than one installed instance

以前はエラーが発生しました:

dpkg: error: configuration error: /etc/dpkg/dpkg.cfg.d/multiarch:1: unknown option 'foreign-architecture'

しかし、私はそれを削除しました:Sudo rm /etc/dpkg/dpkg.cfg.d/multiarch、私は この投稿 がこの問題を説明していると思います-私はそれに従いましたが、最後のSudo apt-get install dpkg=1.16.0.3ubuntu5は私のために機能しませんでした-そのようなパッケージはできませんでした見つけられた。おそらく、ubuntu 12.04を使用しているからでしょう。

更新:回答で示唆されているように、正しいバージョンのdpkg 1.16.1.2ubuntu7をインストールしようとすると、次のエラーが表示されます。

$ Sudo apt-get install dpkg=1.16.1.2ubuntu7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

ところで、これも役に立つかもしれません:

$ Sudo dpkg --configure -a 
dpkg: error: file triggers record mentions illegal package name `libglib2.0-0' (for interest in file `/usr/lib/x86_64-linux-gnu/gio/modules'): ambiguous package name 'libglib2.0-0' with more than one installed instance

実際に同じことを言っています。

更新:(...)モジュールの内容:

/usr/lib/x86_64-linux-gnu/gio/modules$ ls
giomodule.cache      libgiognutls.so                 libgvfsdbus.so
libdconfsettings.so  libgiolibproxy.so
libgiognomeproxy.so  libgioremote-volume-monitor.so

更新:/ var/lib/dpkg/triggers/File

$ Sudo grep libglib /var/lib/dpkg/triggers/File 
/usr/lib/x86_64-linux-gnu/gio/modules libglib2.0-0
/usr/lib/gio/modules libglib2.0-0
/usr/share/glib-2.0/schemas libglib2.0-0
/usr/lib/i386-linux-gnu/gio/modules libglib2.0-0:i386
/usr/lib/gio/modules libglib2.0-0:i386
/usr/share/glib-2.0/schemas libglib2.0-0:i386
4
mkk

そのようなパッケージは見つかりませんでした。おそらく、ubuntu 12.04を使用しているからでしょう。

この時点で、Ubuntu 12.04に対応するバージョンは1.16.1.2ubuntu7である必要があります。

ia32-libs : Depends: ia32-libs-multiarch but it is not installable

これは、ia32-libs-multiarchページへの リンク で、ここで.debファイルをダウンロードできます。 dpkg -i filename.debを使用して手動でインストールし、成功したらapt-getを再試行してください。そうでない場合は、dpkgエラーで更新してください。


Ia32をテストx86_64システムにインストールし、トリガーファイルの内容とgiomodule.cacheの内容について次の情報を取得しました。あなたの違いを確認してください:

 izx @ myprecise:〜$ grep libglib/var/lib/dpkg/triggers/File 
/usr/lib/x86_64-linux-gnu/gio/modules libglib2.0-0 
/usr/lib/gio/modules libglib2.0-0 
/usr/share/glib-2.0/schemas libglib2.0-0 
/usr/lib/i386-linux-gnu/gio/modules libglib2.0-0:i386 
/usr/lib/gio/modules libglib2.0-0:i386 
/usr/share/glib-2.0/schemas libglib2.0- 0:i386 
 
 izx @ myprecise:〜$ ls /usr/lib/x86_64-linux-gnu/gio/modules
giomodule.cache libgiognutls.so libgvfsdbus.so 
 libdconfsettings.so libgiolibproxy.so 
 libgiognomeproxy.so libgioremote-volume-monitor.so 
 
 izx @ myprecise:〜$ cat/usr/lib/x86_64-linux- gnu/gio/modules/giomodule.cache 
 libgiognutls.so:gio-tls-backend 
 libgioremote-volume-monitor.so:gio-native-volume-monitor、gio-volume-monitor 
 libgvfsdbus.so:gio-vfs、gio-volume-monitor 
 libgiolibproxy.so:gio-proxy-resolver 
 libdconfsettings.so:gsettings-backend 
 libgiognom eproxy.so:gio-proxy-resolver 
3
ish

私はまったく同じ問題を抱えていました。

行を削除しました

/usr/lib/gio/modules libglib2.0-0

/var/lib/dpkg/triggers/Fileから

少し初心者ですが、それが良いアイデアかどうかはわかりませんが、少なくともエラーを取り除いて続行できました。

1
cjb

私は同じ問題を抱えており、ユーザーuser76204の方法は私のために働いたが、ファイルから/usr/lib/gio/modules libglib2.0-0を削除する代わりに/var/lib/dpkg/triggers/File私はすべてを削除しなければならなかった:

/usr/lib/x86_64-linux-gnu/gio/modules libglib2.0-0                                         
/usr/lib/gio/modules libglib2.0-0                                                          
/usr/share/glib-2.0/schemas libglib2.0-0           

これが将来問題を引き起こすかどうかはわかりませんが、今のところアップグレードに合格しました

0
user242858