我遇到了一个非常奇怪的问题。
昨天一切都很好,今天我启动了 Ubuntu 并收到此消息:
package linux-image-4.4.0-65-generic needs to be reinstalled, but I can't find an archive for it
我在网上搜索了一些解决方案,但没有找到任何东西。
答案1
我找到了一个解决方案:
我安装了一个新的内核。
下列的本 Ubuntu 手册指南我删除了旧内核版本
之后我发现 linux-image-4.4.0-65-generic 处于非常糟糕的不一致状态。
所以我使用这个命令将其删除:sudo dpkg --remove --force-remove-reinstreq <image-to-remove>
。
现在可以正常工作了:)
答案2
我还按照提示运行以下命令:
sudo dpkg --remove --force-remove-reinstreq <image-to-remove>.
但是,我的软件包已经“损坏”了,当我运行此命令时,后面跟着一串依赖项列表,它们拒绝删除该软件包。因此,系统升级也失败了。
最后我发现我可以编辑 /var/lib/dpkg/status 并更改损坏包的行:
Status: deinstall reinstreq half-installed
到
Status: install ok installed
经过这一改变,重新运行 apt-get remove 突然成功了。
对此的注解是,就我而言,需要重新安装 linux-headers 并且 linux-image-extra 是一个依赖项。
此外,操作文件后我收到了一些警告:
dpkg-query:警告:解析文件“/var/lib/dpkg/status”第 1950 行附近软件包“linux-headers-4.4.0-65-generic”:缺少描述
dpkg-query:警告:解析文件“/var/lib/dpkg/updates/0066”第 7 行附近软件包“linux-headers-4.4.0-65-generic”:缺少描述
但是,它们在运行 apt-get autoremove/upgrade 之后就消失了,所以我怀疑这不是删除无法删除的软件包的最佳方法。