aptitude 升级期间系统故障导致软件包损坏:没有这样的文件或目录:“/usr/lib/python3.5/distutils/filelist.py”

aptitude 升级期间系统故障导致软件包损坏:没有这样的文件或目录:“/usr/lib/python3.5/distutils/filelist.py”

我的系统正在升级,突然出现错误,然后重启。进入 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-stdlibsudo dpkg --reconfigure libpython3.5-stdlib。不确定它是否有效,但值得一试。


我之所以发布它,是因为这些步骤对我有帮助。我以前总是用dpkg --reconfigureand/or解决问题apt-get install --reinstall,但现在却失败了。这是一个特定的场景,但可以做得有点通用。这些是我建议的通用步骤:

  1. 在互联网上搜索错误中提到的文件。
  2. 如果您找到了一个包,请尝试重新安装该包,而不是安装失败的包。
  3. 如果你无法通过dpkg --reconfigure或获取它apt-get,请从镜像中下载软件包并使用 `dpkg -i 进行安装。注意版本。
  4. 最后,如果安装失败,请尝试解压 DEB 文件并将丢失的文件复制到正确的路径。
  5. 毕竟,如果你成功了,那就跑吧sudo apt-get update && sudo apt-get upgrade,以确保万无一失。

虽然不能保证它能够解决您的问题,但这些步骤对我有帮助,而且我之前没有想到。

相关内容