实际上想问一个问题,但我相信我已经找到了答案,所以我在这里发布我的问题和我找到的解决方案。
所以问题是这样的:apt
任何命令都失败,并出现以下错误消息。
dpkg: error processing package grub-pc (--configure):
subprocess installed post-installation script returned error exit status 2
...
Errors were encountered while processing:
grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)
运行后sudo dpkg --configure -a
会发现这是由于 GRUB 的安装后脚本中的语法错误造成的(/var/lib/dpkg/info/grub-pc.postinst
):
Setting up grub-pc (2.02~beta2-36ubuntu3.10) ...
>> /var/lib/dpkg/info/grub-pc.postinst: line 703: syntax error near unexpected token `fi' <<
dpkg: error processing package grub-pc (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
grub-pc
查看脚本可以清楚地发现第 699 行之前缺少一个分号then
:
...
if dpkg --compare-versions "$2" lt-nl 2.02~beta2-36ubuntu3.10; then
... ^
手动添加分号并重新运行sudo dpkg --configure -a
解决了这个问题。
旁注:我的系统是 Ubuntu 16.04。
答案1
有人提交了官方 Launchpad 错误 =https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1692235