当我尝试通过synaptic更新时,获取“’文件’与系统上的同一文件不同”

通过Synaptic Manager更新时遇到错误。 后续更新在输出的底部给出了错误。 我是菜鸟,所以任何帮助都表示赞赏。

al@al:~$ sudo apt-get -f upgrade Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following NEW packages will be installed: libjack-jackd2-0:i386 The following packages have been kept back: linux-headers-generic skype 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Need to get 0 B/202 kB of archives. After this operation, 493 kB of additional disk space will be used. Do you want to continue [Y/n]? y (Reading database ... 310056 files and directories currently installed.) Unpacking libjack-jackd2-0:i386 (from .../libjack-jackd2-0_1.9.8~dfsg.2-1precise1_i386.deb) ... dpkg: error processing /var/cache/apt/archives/libjack-jackd2-0_1.9.8~dfsg.2-1precise1_i386.deb (--unpack): './usr/share/doc/libjack-jackd2-0/buildinfo.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/libjack-jackd2-0_1.9.8~dfsg.2-1precise1_i386.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

具体答案

在终端中尝试以下命令:

 sudo dpkg -r libjack-jackd2-0 sudo apt-get -f install sudo apt-get update sudo apt-get upgrade 

这些命令会删除有问题的文件,尝试修复损坏的依赖项并更新系统。


一般答案

处理时遇到错误:
/ var / cache / apt / archives / libjack-jackd2-0 _1.9.8~dfsg.2-1precise1_i386.deb
E:子进程/ usr / bin / dpkg返回错误代码(1)

如果你得到一个E: Sub-process /usr/bin/dpkg returned an error code (1)应该是错误代码(1) ),你可以尝试解决这个问题,并注意以下事项:

  • 记下/var/cache/apt/archives/之后的包名。 在这种情况下,文件名是libjack-jackd2-0_1.9.8~dfsg.2-1precise1_i386.deb ,因此包名称是libjack-jackd2-0 (通常将文件名libjack-jackd2-0第一个’_’,通常)。 考虑到这些,只需运行以下命令:

     sudo dpkg -r libjack-jackd2-0 sudo apt-get -f install sudo apt-get update sudo apt-get upgrade 

是的,我知道这个问题已经得到解答,答案已被接受。

但我知道另一个解决方案。

 rm /usr/share/doc/libjack-jackd2-0/buildinfo.gz 

这将解决冲突,并且dpkg -i /path/to/deb/file.deb将成功运行。