dpkg: 错误: 解析文件 '/var/lib/dpkg/updates/0045' 靠近第 0 行:

rɑː*_*dʒɑ 51 dpkg

在执行以下操作时,我在 Ubuntu 12.04 中收到此错误。

frank@august:~$ sudo apt-get install ttf-mscorefonts-installer
[sudo] password for frank: 
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct    the problem. 
frank@august:~$ sudo dpkg --configure -a
dpkg: error: parsing file '/var/lib/dpkg/updates/0045' near line 0:
 newline in field name `#padding'
frank@august:~$ 
Run Code Online (Sandbox Code Playgroud)

&

frank@august:~$ head /var/lib/dpkg/updates/0045
#padding
#padding
#padding
#padding

frank@august:~$ 
Run Code Online (Sandbox Code Playgroud)

我看不到错误在哪里,帮我解决这个问题。谢谢你。

rɑː*_*dʒɑ 96

好的,我自己解决了这个问题。

我在终端(RAN这两个命令CTRL+ ALT+ T):

cd /var/lib/dpkg/updates && rm -rf 0045
sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)

我的问题解决了。

  • 由于尝试运行 `sudo rm -rf /var/lib/dpkg/updates/0045` 是安全且正确的*但是*如果在任何`/`es(尤其是前两个!),最好警告这种危险或建议类似`cd /var/lib/dpkg/updates && rm -rf 0045`。好的解决方案! (7认同)
  • 在这种情况下,我永远不会使用 `sudo rm -rf [file]`,而是使用 `sudo mv [file] /var/tmp`。 (4认同)

小智 13

尝试这个:

sudo rm -rf /var/lib/dpkg/updates/*
dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)

  • 你能在你的答案中添加更多细节吗?就像这是做什么以及为什么这样做? (7认同)
  • 与@Ten-Coin 的早期答案有何不同? (2认同)

小智 11

看起来文件已损坏。建议您执行以下操作(请备份并承担风险;))

sudo rm /var/lib/dpkg/updates/000*
sudo apt-get clean
sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer
Run Code Online (Sandbox Code Playgroud)


KK *_*tel 7

状态文件似乎已损坏,要解决此问题,您必须使用命令删除/清除文件。

sudo dpkg --clear-status
Run Code Online (Sandbox Code Playgroud)

(注意:--clear-status 选项不再可用。'dpkg -?' 的打印输出不建议明确替换。)然后使用以下命令重建文件:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)