Apt / Synaptic需要重新安装软件包,但找不到它的存档


36

运行Synaptic我收到以下错误消息:

E: The package hl1440lpr needs to be reinstalled, but I can't find an archive for it.
E: Internal error opening cache (1). Please report.

接受该消息后,Synaptic退出。


3
您遵循什么指示/网站集,并且遇到什么问题?
豹,

Answers:


65

好吧,我们可能需要一些步骤来解决此问题。

  1. 从...开始:

    sudo dpkg --remove --force-all hl1440lpr
    
  2. 如果失败:

    sudo rm -i /var/lib/dpkg/info/hl1440lpr.*
    sudo dpkg --remove --force-remove-reinstreq hl1440lpr
    
  3. 确认Apt是固定的。以下命令不应返回任何错误:

    sudo apt-get update
    

当我升级到Ubuntu 12.10时遇到了这种情况,但意外中途暂停了计算机。唤醒计算机后,升级失败了(显然),电池电量计旁边出现了一个红色图标,它表示E:The package xterm needs to be reinstalled, but I can't find an archive for it.一旦我在此处应用了建议,sudo dpkg --remove --force-all xterm一切便已修复。谢谢!ps,如果您可以编辑sodo说,这是很好的sudo,我不会nitpick,但这会使那些对linux一无所知的人出轨。
迪伦·墨菲

1
谢谢bodhi.zazen。您的解决方案对我有缺陷的兄弟司机有用。dcpj4110dwlpr。
v2r 2014年

完善!第一个解决方案失败并中止了该过程,但是第二个解决方案可行。谢谢!(在debian服务器上试用)
Shautieh 2015年

仅仅是@panther的一个附加组件sudo dpkg --remove --force-all hl1440lpr确实适用于其他软件包,我的是libperl5.22,在更新期间似乎崩溃了。唯一的问题是它需要我具有root权限。就像我在Google Cloud中一样,su在输入密码后才起作用。
JustAGrump

6

事实证明,使用常规命令无法修复此问题,因为在安装软件包后multiverse,我已在软件和更新窗口中禁用了存储库。

我读过在其他地方的一篇文章中做这件事,直到我读过另一篇文章时,我仔细检查了一下以确保它是ENABLED,然后我才意识到我绝对不应该首先禁用它。

再次启用multiverse存储库使我能够重新安装该软件包。


因此,通常,如果发生此类错误,请确保您尚未禁用此软件包所来自的软件源。


3
dpkg --remove --force-remove-reinstreq   broken---stuff

(加上文件擦除)

奇迹般有效。突触应该提供此功能,而不是使人死于一团糟。突触不是用户友好的。


2
您必须小心使用此命令,具体取决于要删除的内容,它可能会级联为删除整个桌面。
狂欢1998年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.