![由于 apport 错误,无法再使用 apt-get 进行安装](https://linux22.com/image/1126912/%E7%94%B1%E4%BA%8E%20apport%20%E9%94%99%E8%AF%AF%EF%BC%8C%E6%97%A0%E6%B3%95%E5%86%8D%E4%BD%BF%E7%94%A8%20apt-get%20%E8%BF%9B%E8%A1%8C%E5%AE%89%E8%A3%85.png)
我在装有 Xubuntu(Ubuntu 14.04.2 LTS,64 位)虚拟盒的 Windows 7 PC 上工作。最近我在使用“apt-get”命令和软件更新程序时遇到了问题。软件更新程序无法下载其中一个更新 - 我有 apport 2.14.1-0ubuntu3.10,它正在尝试安装 2.14.1-0ubuntu3.11,但失败了。
另外,当我输入任何类型的“apt-get”或“dpkg”命令(例如“apt-get upgrade”)时,我会出现如下错误,有人知道我该怎么办吗?
Reading package lists...
Building
dependency tree...
Reading state information...
The following packages will be upgraded:
apport
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
Need to get 0 B/180 kB of archives.
After this operation, 20.5 kB of additional disk space will be used.
Do you want to continue? [Y/n] (Reading database ... 314480 files and directories currently installed.)
Preparing to unpack .../apport_2.14.1-0ubuntu3.11_all.deb ...
initctl: Unknown job: apport
File "/usr/bin/pyclean", line 63
except (IOError, OSError), e:
^
SyntaxError: invalid syntax
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
initctl: Unknown job: apport
File "/usr/bin/pyclean", line 63
except (IOError, OSError), e:
^
SyntaxError: invalid syntax
dpkg: error processing archive /var/cache/apt/archives/apport_2.14.1-0ubuntu3.11_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Traceback (most recent call last):
File "/usr/bin/pycompile", line 35, in <module>
from debpython.version import SUPPORTED, debsorted, vrepr, \
File "/usr/share/python/debpython/version.py", line 24, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/apport_2.14.1-0ubuntu3.11_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
答案1
我刚刚尝试在我的 PC 上编译 python 文件/usr/bin/pyclean
,我用 python3 编译它,但出现了同样的错误,而当我用 python2 编译它时没有错误。
因此,我猜测你在系统中做了一些更改,使得默认的 Python 版本变成了 Python3。
您可以尝试像这样修复此问题:
- 执行命令
ls -l /usr/bin/python
并查看其输出。 如果文件
/usr/bin/python
指向 python3.x ,则删除该链接并将其替换为指向 python2 的链接sudo rm /usr/bin/python sudo ln -s /usr/bin/python2.7 /usr/bin/python
现在 python2.7 将重新成为系统中的默认 python 版本