包装已损坏,但无法清除或重新安装!

包装已损坏,但无法清除或重新安装!

我的 mdadm 包未完全安装,当我运行时sudo apt-get upgrade,我看到以下错误消息:

Setting up mdadm (3.3-2ubuntu7.1) ...
dpkg: error processing package mdadm (--configure):
subprocess installed post-installation script returned error exit status 20
Errors were encountered while processing:
 mdadm
E: Sub-process /usr/bin/dpkg returned an error code (1)

我尝试使用 清除 mdadm 以便dpkg --purge mdadm稍后重新安装它,但系统告诉我:ubuntu-server is dependent on mdadm

我已经尝试了建议的解决方案http://www.iasptk.com/ubuntu-fix-broken-package-best-solution/

sudo apt-get update –fix-missing
sudo dpkg –configure -a
sudo apt-get -f install

我还尝试手动编辑 dpkg-status-file 并删除有关 mdadm 的信息块,但错误仍然存​​在。

非常感谢您的帮助...


我在 x86_64 上运行 Ubuntu 16.04 LTS 和 Linux 4.4.0-24-generic。

答案1

方案 1:尝试使用以下命令重新安装 mdadmapt-get

sudo apt-get --reinstall install mdadm

方案 2: 如果apt-get不起作用,安装突触与软件中心。

转到搜索部分并输入 mdadm,右键单击并标记为重新安装(或尝试所有其他选项)并应用执行。


方案 3:如果到目前为止还没有成功,请尝试直接从 .deb 文件重新安装 mdadm:

sudo dpkg -i /var/cache/apt/archives/mdadm_version.deb

使用制表符补全,因为 .deb 文件还附加了版本号!

没有这样的包/var/cache/apt/archives,你可能需要下载手动操作。注意选择正确的 Ubuntu 版本和正确的软件包版本!

sudo dpkg -i path-to-downloaded-package/package-name-version.deb

如果 dpkg 也不起作用,请安装GDebiPackageInstaller使用软件中心并使用该程序重新安装下载的.deb 文件。


最后,清理并更新你的系统

sudo apt-get autoremove
sudo apt-get autoclean
sudo deborphan | xargs sudo apt-get -y remove --purge
dpkg -l | awk '/^rc/ {print $2}' | xargs sudo dpkg --purge
sudo apt-get clean

sudo apt-get update
sudo apt-get upgrade

答案2

前面答案中的“清理”命令包含一些潜在危险的内容,特别是在xargs dpkg --purge没有检查要删除的包的情况下进行管道传输。

无论如何,整个“清理”都无济于事。查看/var/lib/dpkg/info/mdadm.postinst。恐怕您必须检查脚本,可能手动运行其中的某些部分,以查看它失败的原因。通常,这些脚本只是停止服务或删除一些文件,您可以手动执行这些操作。如果您认为所有脚本操作都可以避免,则可以删除脚本并尝试重新安装包。

相关内容