我尝试安装较新版本的 Debian 软件包时意外破坏了 libbglib2.0-0。现在我什么也做不了。
这是我所做的:
sudo dpkg -i libglib*.deb
(Reading database ... 503232 files and directories currently installed.)
Preparing to replace libglib2.0-0 2.30.0-0ubuntu4 (using libglib2.0-0_2.33.12+really2.32.4-5_amd64.deb) ...
De-configuring libglib2.0-0:i386 ...
Unpacking replacement libglib2.0-0 ...
dpkg: error processing libglib2.0-0 (--install):
libglib2.0-0:amd64 2.33.12+really2.32.4-5 cannot be configured because libglib2.0-0:i386 is in a different version (2.30.0-0ubuntu4)
dpkg: error processing libglib2.0-0:i386 (--install):
libglib2.0-0:i386 2.30.0-0ubuntu4 cannot be configured because libglib2.0-0:amd64 is in a different version (2.33.12+really2.32.4-5)
Errors were encountered while processing:
libglib2.0-0
libglib2.0-0:i386
--
sudo apt-get -f install
Readingpackage lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
libglib2.0-0 : Depends: libffi5 (>= 3.0.4) but it is not installable
Breaks: libglib2.0-0:i386 (!= 2.33.12+really2.32.4-5) but 2.30.0-0ubuntu4 is installed
libglib2.0-0:i386 : Breaks: libglib2.0-0 (!= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
libglib2.0-bin : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
libglib2.0-dev : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
--
sudo apt-get install libglib2.0-0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libglib2.0-0 is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libglib2.0-0 : Depends: libffi5 (>= 3.0.4) but it is not installable
Breaks: libglib2.0-0:i386 (!= 2.33.12+really2.32.4-5) but 2.30.0-0ubuntu4 is to be installed
libglib2.0-0:i386 : Breaks: libglib2.0-0 (!= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
libglib2.0-bin : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
libglib2.0-dev : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
我该怎么办?几乎所有事情都依赖于 glib。
编辑:我尝试了第一个评论者所说的内容并得到了以下结果:
sudo apt-get install -f libglib2.0-0=2.30.0-0ubuntu4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libpanel-applet-4-0
Use 'apt-get autoremove' to remove them.
The following packages will be DOWNGRADED:
libglib2.0-0
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded.
3 not fully installed or removed.
Need to get 0 B/1,169 kB of archives.
After this operation, 265 kB disk space will be freed.
Do you want to continue [Y/n]? y
dpkg: warning: downgrading libglib2.0-0 from 2.33.12+really2.32.4-5 to 2.30.0-0ubuntu4.
(Reading database ... 503237 files and directories currently installed.)
Preparing to replace libglib2.0-0 2.33.12+really2.32.4-5 (using .../libglib2.0-0_2.30.0-0ubuntu4_amd64.deb) ...
Unpacking replacement libglib2.0-0 ...
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_amd64.deb (--unpack):
'./usr/share/doc/libglib2.0-0/README.gz' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
答案1
作为格特夫戴克他在评论中指出:
尝试:(
sudo apt-get install -f libglib2.0-0=2.30.0-0ubuntu4
在常规 Ubuntu 版本上提示 apt-get)
这似乎按预期降低了软件包的级别,但随后出现了错误:
Unpacking replacement libglib2.0-0 ...
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_amd64.deb (--unpack):
'./usr/share/doc/libglib2.0-0/README.gz' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法是删除有问题的文件,并在后续尝试中对其他几个文件重复此操作。最后,软件包成功降级到 Ubuntu 版本!