树莓派【dpkg: warning: files list file for package 'XXXXXXX' missing, assuming package has no files currently installed】
参照如下链接解决:
http://fitzeng.org/2017/11/04/linuxDpkgBug/
解决方法:自动化重新安装所有包。
1. 把错误log输出到mylog.txt文件:
dpkg: warning: files list file for package 'libodbc1:amd64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'dh-autoreconf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'erlang-webtool' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libhtml-template-perl' missing; assuming package has no files currently installed
.......
2. 写python文件fix.py处理mylog.txt文件:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'Fitzeng'
import re
def main():
fix = open('fix.sh', 'w+')
for line in open("mylog.txt"):
pkg = re.match(re.compile('''dpkg: warning: files list file for package '(.+)' '''), line)
if pkg:
cmd = "sudo apt-get install --reinstall " + pkg.group(1)
fix.write(cmd + '\n')
if __name__ == "__main__":
main()
3. 如果权限不够可以直接先 chmod 777 *,然后执行 python fixit.py生成 fix.sh文件。
4. 运行 sh fix.sh自动完成安装。
浙公网安备 33010602011771号