在安装了一些软件包之后,现在无法通过和desktop-file-utils
安装软件包。这是针对 的。apt
aptitude
Xubuntu 20.04.2
运行时apt
,我现在总是收到此错误:
dpkg: error processing package desktop-file-utils (--configure):
installed desktop-file-utils package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
desktop-file-utils
我知道我可以清除这个包,但是它的很多依赖项也将被卸载,并且我的系统可能会变得无法使用。
我不明白是什么导致了这个问题,因为我不知道我做了什么会影响这个包。
除了清除desktop-file-utils
并使我的系统无法使用之外,还有其他方法可以修复此问题吗?另外,是否有办法让我获得有关安装后脚本失败的更多详细信息?如果是这样,也许我可以调试它。
提前感谢您的任何建议。
答案1
让我们一步一步地修复这个错误。
首先,运行强制安装以了解具体问题:
sudo apt --fix-broken install
识别错误:
Errors were encountered while processing: desktop-file-utils
将依赖项标记为手动安装以防止它们被删除;
sudo apt-mark manual libglib2.0-0 libc6
删除安装后文件:
sudo mv /var/lib/dpkg/info/desktop-file-utils* ~/
清除包:
sudo dpkg -P --force-all desktop-file-utils
重新安装包(可选):
sudo aptitude -f install desktop-file-utils
解释
正如错误信息所述:
installed desktop-file-utils package post-installation script subprocess returned error exit status 1
这通常意味着安装后文件中存在暂时性问题。
第一步,我们执行了一条试图纠正错误的命令。
在第三步中,我们删除了包的安装后文件。
我们在第四步中清除了包以删除所有配置文件。
在第五步中,我们重新安装了该软件包以确保它不会破坏任何其他软件包。
答案2
事实证明,这与包裹和系统无关apt
。
我发现我错误地设置了XDG_DATA_DIRS
指向一个不存在的目录。
一旦我解决了这个问题,问题就消失了。
以下是关于为什么可以解决这个问题的更多详细信息...
/var/lib/dpkg/info/desktop-file-utils.postinst
这些是...的内容
#!/bin/sh
set -e
update-desktop-database -q
if [ "$1" = "triggered" ]; then
exit 0
fi
我update-desktop-database -q
从命令行运行,它没有给出任何输出,但它以非零返回代码退出。
我再次运行它,如下所示:update-desktop-database -v
。这次,它给出了一条错误消息,指出applications
包含的路径的子目录XDG_DATA_DIRS
不存在。这表明我设置XDG_DATA_DIRS
不正确。
一旦我重置XDG_DATA_DIRS
为适当的值,update-desktop-database
命令就会开始以零返回代码退出,并且我上面提到的desktop-file-utils
错误就不会再发生。apt