尝试安装更新时损坏的 libperl5 包

Sté*_*ane 4 package-management apt 16.10

从今天开始,我无法在我的 Ubuntu 16.10 台式计算机上进行任何更新。当我尝试运行诸如sudo apt-get update它所说的命令时:

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:
 libsnmp30:i386 : Depends: libperl5.22:i386 (>= 5.22.1) but it is not installed
E: Unmet dependencies. Try using -f.
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时sudo apt-get install -f,它说:

Get:1 http://archive.ubuntu.com/ubuntu yakkety/main i386 libperl5.22 i386 5.22.2-3 [3,028 kB]
Fetched 3,028 kB in 0s (34.5 MB/s)         
(Reading database ... 336306 files and directories currently installed.)
Preparing to unpack .../libperl5.22_5.22.2-3_i386.deb ...
Unpacking libperl5.22:i386 (5.22.2-3) ...
dpkg: error processing archive /var/cache/apt/archives/libperl5.22_5.22.2-3_i386.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libperl5.22/changelog.Debian.gz', which is different from other instances of package libperl5.22:i386
Errors were encountered while processing:
 /var/cache/apt/archives/libperl5.22_5.22.2-3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

有人知道解决这个问题的技巧吗?我不知道为什么我会有一个 i386 包,因为这是一个 64 位安装:

Linux loup 4.8.0-34-generic #36-Ubuntu SMP Wed Dec 21 17:24:18 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

Sté*_*ane 12

来自https://bugs.launchpad.net/ubuntu/+source/perl/+bug/1574351 的评论 #3有这个对我来说非常有效的解决方法:

sudo rm /usr/share/doc/libperl5.22/changelog.Debian.gz
sudo apt-get install -f
Run Code Online (Sandbox Code Playgroud)

谢谢,鲁本·菲尔曼,不管你是谁!