我正在运行最新的 Debian (Stretch/9.3.x) 并准备我的系统来安装最新的 PHP。我删除了除php-common
.
调用时apt-get remove php-common
出现如下错误
Removing php-common (1:49) ...
Failed to stop phpsessionclean.timer: Unit phpsessionclean.timer not loaded.
dpkg: error processing package php-common (--remove):
subprocess installed pre-removal script returned error exit status 5
/usr/bin/deb-systemd-helper: error: unable to read phpsessionclean.timer
Failed to get unit file state for phpsessionclean.timer: No such file or directory
phpsessionclean.timer is a disabled or a static unit, not starting it.
Errors were encountered while processing:
php-common
E: Sub-process /usr/bin/dpkg returned an error code (1)
经过一番挖掘后,我尝试dpkg --purge php-common
得到这个
Removing php-common (1:49) ...
Failed to stop phpsessionclean.timer: Unit phpsessionclean.timer not loaded.
dpkg: error processing package php-common (--purge):
subprocess installed pre-removal script returned error exit status 5
/usr/bin/deb-systemd-helper: error: unable to read phpsessionclean.timer
Failed to get unit file state for phpsessionclean.timer: No such file or directory
phpsessionclean.timer is a disabled or a static unit, not starting it.
Errors were encountered while processing:
php-common
其实也一样安静。
dpkg --verify php-common
??5?????? /lib/systemd/system/phpsessionclean.service
??5?????? /lib/systemd/system/phpsessionclean.timer
这些文件确实丢失了。但目前我不知道如何解决这个问题。apt-get -f purge
也没有任何帮助dpkg --remove --force-all
。
答案1
正如@GAD3R 我提到的已编辑
/var/lib/dpkg/status
并删除了整个php-common
条目。
此后我跑步
dpkg --configure -a
更新/(远程)升级现在运行良好。
编辑(2018-01-09)
我擦除所有默认 php 软件包的目的是安装 PHP 7.2。虽然该php-common
包是一个依赖项,但它已重新安装,但现在phpsessionclean.service
也可以正常工作。
编辑(2018-01-09)
在我的系统中挖掘其他损坏的软件包时,我发现了这篇文章
https://raphaelhertzog.com/2011/02/21/debian-cleanup-tip-4-find-broken-packages-and-reinstall-them/
并重新安装所有找到的软件包。但有一个包裹colord
丢失了colord.service
。所以我做了这里提到的同样的事情,它的效果就像一个魅力。