马春杰杰 Exit Reader Mode

files list file for package ‘libapt-pkg5.0:amd64’ is missing final newline

使用apt-get安装包的时候出错:

Fetched 12.2 MB in 1s (8,002 kB/s)           
Extracting templates from packages: 100%
Selecting previously unselected package fonts-dejavu-core.
dpkg: unrecoverable fatal error, aborting:
 files list file for package 'libapt-pkg5.0:amd64' is missing final newline

解决:

新建一个py文件,然后输入:

#!/usr/bin/python
 
 
# 8th November, 2009
# update manager failed, giving me the error:
#       'files list file for package 'xxx' is missing final newline' for every package.
# some Googling revealed that this problem was due to corrupt files(s) in /var/lib/dpkg/info/
# looping though those files revealed that some did not have a final new line
# this script will resolve that problem by appending a newline to all files that are missing it
# NOTE: you will need to run this script as root, e.g. sudo python newline_fixer.py
 
import os
 
dpkg_path = '/var/lib/dpkg/info/'
paths = os.listdir(dpkg_path)
for path in paths:
    path = dpkg_path + path
    f = open(path, 'a+')
    data = f.read()
    if len(data) > 1 and data[-1:] != '\n':
        f.write('\n')
        print 'added newline character to:', path
    f.close()

然后终端运行即可:python xxx.py

注意使用Python2.x

本文最后更新于2021年9月5日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!