Debian

在“phpsessionclean.timer”上刪除包 php-common 失敗

  • January 9, 2018

我正在執行最新的 Debian (Stretch/9.3.x) 並準備我的系統以安裝最新的 PHP。我刪除了所有預安裝的 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 purgenor dpkg --remove --force-all

正如@GAD3R 所提到的,我編輯了

/var/lib/dpkg/status

並刪除了整個php-common條目。

之後我

dpkg --configure -a

更新/(dist-)升級現在執行良好。


編輯 (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. 所以我做了這裡提到的同樣的事情,它就像一個魅力。

引用自:https://unix.stackexchange.com/questions/415575