我必须卸载 GDB 才能升级到 17.10,但现在我无法再次安装它。
sudo apt 安装 gdb 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 某些软件包无法安装。这可能意味着您有 请求一个不可能的情况,或者如果你正在使用不稳定 发行版中某些必需的软件包尚未创建 或已移出传入。 以下信息可能有助于解决该情况: 以下软件包具有未满足的依赖关系: gdb:依赖:libpython3.6(>= 3.6.0~b2)但是不会安装 E:无法纠正问题,您持有破损的包裹。
因此我分析了依赖链:
以下软件包具有未满足的依赖关系: libpython3.6:依赖:libpython3.6-stdlib(= 3.6.3-1ubuntu1)但需要安装 3.6.3-1+xenial2 E:无法纠正问题,您持有破损的包裹。
为什么提到了 Xenial?为什么它无法升级?
似乎 GDB 需要特定版本,而该版本与 xenial 版本不匹配。由于依赖的软件包数量众多,尝试删除该软件包几乎是不可能的libpython3.6
。
更多信息:
apt-cache showpkg 软件包:libpython3.6 版本: 3.6.3-1ubuntu1(/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages) apt-cache showpkg 软件包:python3.6 版本: 3.6.3-1+xenial2 (/var/lib/dpkg/status) 3.6.3-1ubuntu1(/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_artful_main_binary-amd64_Packages)
所以我猜测 APT 不知道这个+xenial2
包是从哪里获得的。
答案1
在干净的 17.10 安装中,gdb 安装没有问题。
您可能有 PPA。
请检查输出
ls -al /etc/apt/sources.list.d/*.list
(列出 PPA 来源.列表),aptitude search '?narrow(?installed, ~Oppa)'
(从 PPA 安装的软件包列表),aptitude search '?narrow(?installed, ~o)'
(过时软件包列表) - 参见这个答案以供参考。
您还可以从中查看解决方案“添加 PPA 后,如何解决未满足的依赖关系?”。
更新:
看来你只是有python3.6deadsnakes 队的 PPA:
看http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/pool/main/p/python3.6/(检查3.6.3-1+xenial2版本)。
答案2
这里的问题是,软件包版本3.6.3-1+xenial2
被认为是更新比3.6.3-1ubuntu1
。
解决办法是降级包,即使实际的 python 版本是相同的。
这是一个很奇怪的问题,因为我没有使用 N0rbert 建议的任何 PPA,并且该包被认为比主存储库更新(尽管事实并非如此)。
这可能是因为我首先在 Xenial 上安装了这个系统,这可能与我安装这个奇怪版本的原因有关。(可能是具有不同命名方案的反向移植?)
关于降级软件包:如何通过 apt-get 降级软件包?
答案3
尝试以下方法修复它:
sudo apt install python
或者
sudo apt install python2
然后 :
sudo apt install pip
在终端中输入以下命令来安装 gdebi:
sudo add-apt-repository universe
然后 :
sudo apt-get update
然后安装 gdebi 核心:
sudo apt-get install gdebi-core
如果您想要 GDebi GUI(即更易于使用的应用程序),则需要安装 gdebi 包。
sudo apt-get install gdebi