解析文件'/var/lib/dpkg/updates/0001'时出错,位于第0行附近:字段名`#padding'中有换行符。

我试图使用以下命令安装mono:
sudo apt-get install mono-*

我在安装过程中关闭了终端。我重新启动了安装,然后收到了错误信息:
Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

我到目前为止尝试运行了以下命令:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock

我现在收到以下错误信息:
dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

我接着使用了sudo dpkg --configure -a,但现在出现了以下错误:
dpkg: error: parsing file '/var/lib/dpkg/updates/0001' near line 0: newline in field name `#padding'"**

我也尝试了cd /var/lib/dpkg/updates && rm -rf 0045sudo dpkg --configure -a,但都没有用。

我该怎么解决这个问题?


2只是好奇:如果文件名为0001,为什么要执行rm 0045?O.o - muru
@Whaaaaaat 你怎么修复? - user332660
@muru 如果我尝试使用0001,那么我会收到一个错误信息,类似于“rm: 无法删除 `0001': 权限被拒绝”。 - user332660
我在这个网站上有编辑权限。 - Kaz Wolfe
@哇,好的,你只需要告诉我怎样解决这个错误就可以了。 - user332660
2首先,除非你非常确定知道文件的作用以及如何在重要时恢复,否则不要删除文件。 - Kaz Wolfe
好的,我不会删除。那接下来呢? - user332660
1如果你想删除/var/lib/dpkg/updates目录下的文件,你需要root权限,所以要用sudo运行rm命令。要小心,特别是如果使用了-rf选项。如果搞砸了,可能会把所有东西都删掉!!! - Lety
3个回答

创建一个备份并通过以下方式删除/var/lib/dpkg/updates/0001
sudo mv /var/lib/dpkg/updates/0001 /var/lib/dpkg/updates/0001.X

之后
sudo dpkg --configure -a
sudo apt-get install -f

这是我如何解决这个问题的方法... 首先,我删除了整个更新目录...
rm -r /var/lib/dpkg/updates

创建一个新的更新目录。
mkdir /var/lib/dpkg/updates

最后

sudo dpkg --configure -a

清理apt-get任务
 sudo apt-get clean

更新软件包列表
sudo apt-get update

sudo apt-get install <whatever package>

应该能明白你的意思

就像@Whaaaaat所说的,除非你非常确定它是什么以及它的作用,否则不要删除任何内容,尤其是如果bash告诉你'你需要root权限才能执行此操作'


我遇到了完全相同的dpkg错误,但这并没有帮助解决它。-1。 - Erwin Smout