删除 php-common 包在“phpsessionclean.timer”上失败

删除 php-common 包在“phpsessionclean.timer”上失败

我正在运行最新的 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。所以我做了这里提到的同样的事情,它的效果就像一个魅力。

相关内容