我的系统正在升级,突然出现错误,然后重启。进入 busybox 后,我必须运行fsck /dev/sda1
并确认每个更正。
到目前为止一切顺利。当我拿回 Ubuntu 时,我尝试让它继续更新。然后我收到此错误:
E: Sub-process /usr/bin/dpkg returned an error code (1)
Failed to perform requested operation on package. Trying to recover:
Configuring python3.5 (3.5.2-2~16.01) ...
Traceback (most recent call last):
File "/usr/lib/python3.5/py_compile.py", line 186, in <module>
sys.exit(main())
File "/usr/lib/python3.5/py_compile.py", line 178, in main
compile(filename, doraise=True)
File "/usr/lib/python3.5/py_compile.py", line 122, in compile
source_bytes = loader.get_data(file)
File "<frozen importlib._bootstrap_external>", line 818, in get_data
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.5/distutils/filelist.py'
dpkg: error processing package python3.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python3:
python3 depends on python3.5 (>= 3.5.1-2~); however:
Package python3.5 is not configured yet.
sudo dpkg --reconfigure python3.5
有同样的错误。sudo apt-get install --reinstall python3.5
导致
E: Internal Error, No file name for python3.5:amd64
我能做什么?
答案1
/usr/lib/python3.5/distutils/filelist.py
我的解决方案是在互联网上寻找该文件。结果如下列表,表示该文件是 的一部分libpython3.5-stdlib
。
我做了什么
我从一面镜子,然后运行
$ sudo dpkg -i /home/adam/Downloads/libpython3.5-stdlib_3.5.2-2~16.01_amd64.deb
如果再次发生我会尝试什么
我会在下载之前尝试运行sudo apt-get install --reinstall libpython3.5-stdlib
或sudo dpkg --reconfigure libpython3.5-stdlib
。不确定它是否有效,但值得一试。
我之所以发布它,是因为这些步骤对我有帮助。我以前总是用dpkg --reconfigure
and/or解决问题apt-get install --reinstall
,但现在却失败了。这是一个特定的场景,但可以做得有点通用。这些是我建议的通用步骤:
- 在互联网上搜索错误中提到的文件。
- 如果您找到了一个包,请尝试重新安装该包,而不是安装失败的包。
- 如果你无法通过
dpkg --reconfigure
或获取它apt-get
,请从镜像中下载软件包并使用 `dpkg -i 进行安装。注意版本。 - 最后,如果安装失败,请尝试解压 DEB 文件并将丢失的文件复制到正确的路径。
- 毕竟,如果你成功了,那就跑吧
sudo apt-get update && sudo apt-get upgrade
,以确保万无一失。
虽然不能保证它能够解决您的问题,但这些步骤对我有帮助,而且我之前没有想到。