在使用apt upgrade
或者apt install
的时候,我遇到了下面这个错误:
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Failed to start grub-common.service: Unit grub-common.service not found.
invoke-rc.d: initscript grub-common, action "start" failed.
后面还有一些错误提示,我就不放上来了,可以看到主要的错误就是没有找到也无法启动grub-common.service
。
同时我还看到有网友遇到了下面这个类似的问题,他是没有办法终止grub-common.service
,报错如下:
Failed to stop grub-common.service: Unit grub-common.service not loaded.
invoke-rc.d: initscript grub-common, action "stop" failed.
dpkg: warning: subprocess old pre-removal script returned error exit status 5
解决方法如下:
首先将这两个文件修改名字,如果这两条命令中的一条失败是没有关系的。
sudo mv /etc/init.d/grub-common /etc/init.d/grub-common.bak
sudo mv /etc/init/grub-common.conf /etc/init/grub-common.conf.bak
这时候可以使用apt upgrade
命令再试试,无法终止grub-common.service
的朋友此时应该可以正常使用apt
包管理器安装程序了。
作者是无法启动grub-common.service
,再执行了重命名操作后,再输入apt upgrade
,报错发生了改变,节选如下:
Setting up grub-pc (2.02~beta2-36ubuntu3.27) ...
dpkg: error processing package grub-pc (--configure):
subprocess installed post-installation script returned error exit status 10
dpkg: dependency problems prevent configuration of grub2:
grub2 depends on grub-pc (= 2.02~beta2-36ubuntu3.27); however:
Package grub-pc is not configured yet.
可以看到,此时问题转移到grub-pc
身上了,下面我们可以执行以下命令来修复这个问题:
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
此时输入apt-get upgrade
可能会出现一系列选择,全部选择默认(N)就可以,现在应该就可以正常使用apt
包管理器了。