libglib2.0-0 损坏

libglib2.0-0 损坏

我尝试安装较新版本的 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 版本!

相关内容