Debian 'bullseye' - 'apt full-upgrade' 删除了大量软件包

Debian 'bullseye' - 'apt full-upgrade' 删除了大量软件包

我只是apt full-upgrade在我的系统上运行:

Operating System: Debian GNU/Linux bullseye/sid
          Kernel: Linux 5.8.0-1-686-pae
    Architecture: x86

它删除了很多应用程序/软件包:

Entfernen von doconce (0.7.3-1) ...
Entfernen von gladish (1+dfsg0-6) ...
Entfernen von gtklick (0.6.4-5) ...
Entfernen von jack-mixer (10-1+b1) ...
Entfernen von ladish (1+dfsg0-6) ...
Entfernen von laditools (1.1.0-3.1) ...
Entfernen von python-dev (2.7.17-2) ...
Entfernen von libpython-dev:i386 (2.7.17-2) ...
Entfernen von tinyeartrainer (0.1.0-4) ...
Entfernen von uzbl (0.0.0~git.20120514-1.2) ...
Entfernen von python-support (1.0.15) ...
Entfernen von termsaver (0.3-1) ...
Entfernen von mididings (0~20120419~ds0-6) ...
Entfernen von preprocess (1.1.0+ds-1) ...
Entfernen von pyrit (0.5.1+git20180801-2) ...
Entfernen von python-pytest (4.6.9-2) ...
Entfernen von python-atomicwrites (1.1.5-2) ...
Entfernen von python-matplotlib (2.2.4-4) ...
Entfernen von python-bs4 (4.8.2-1) ...
Entfernen von python-soupsieve (1.9.5+dfsg-1) ...
Entfernen von python-backports.functools-lru-cache (1.5-3) ...
Entfernen von python-colorama (0.3.7-1) ...
Entfernen von python-openssl (19.0.0-1) ...
Entfernen von python-cryptography (2.8-3+b1) ...
Entfernen von python-statsmodels (0.9.0-6) ...
Entfernen von python-pandas (0.23.3+dfsg-8) ...
Entfernen von python-dateutil (2.7.3-3) ...
Entfernen von python-sip (4.19.21+dfsg-1) ...
Entfernen von python-laditools (1.1.0-3.1) ...
Entfernen von python-enum34 (1.1.6-2) ...
Entfernen von python-fpconst (0.7.2-6) ...
Entfernen von python-mock (3.0.5-1) ...
Entfernen von python-funcsigs (1.0.2-4) ...
Entfernen von python-lz4 (2.1.10+dfsg-1+b1) ...
Entfernen von python-future (0.18.2-1) ...
Entfernen von python-glade2 (2.24.0-6) ...
Entfernen von python-gtk2 (2.24.0-6) ...
Entfernen von python-html5lib (1.0.1-2) ...
Entfernen von python-pluggy (0.13.0-2) ...
Entfernen von python-importlib-metadata (1.5.0-1) ...
Entfernen von python-uritools (2.2.0-1) ...
Entfernen von python-ipaddress (1.0.17-1) ...
Entfernen von python-ly (0.9.5-2) ...
Entfernen von python-mako (1.0.7+ds1-1) ...
Entfernen von python-mididings (0~20120419~ds0-6+b1) ...
Entfernen von python-zipp (1.0.0-1) ...
Entfernen von python-more-itertools (4.2.0-1) ...
Entfernen von python-parse (1.6.6-0.1) ...
Entfernen von python-pathlib2 (2.3.5-1) ...
Entfernen von python-patsy (0.5.0+git13-g54dcf7b-1) ...
Entfernen von python-pyinotify (0.9.6-1.2) ...
Entfernen von python-scandir (1.10.0-2) ...
Entfernen von python-scapy (2.4.3-3) ...
Entfernen von python-selenium (3.14.1+dfsg1-1) ...
Entfernen von python-statsmodels-lib:i386 (0.9.0-6) ...
Entfernen von python-subprocess32 (3.5.4-1) ...
Entfernen von python-webencodings (0.5.1-1) ...
Entfernen von python-xlwt (1.3.0-2) ...
Entfernen von speedpad (1.0-2) ...
Entfernen von python (2.7.17-2) ...
Entfernen von libpython-stdlib:i386 (2.7.17-2) ...
Entfernen von python-minimal (2.7.17-2) ...

由于缺少软件包,其他软件包(例如proxychains示例)不再工作python

[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib/i386-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.14
/usr/bin/env: 'python': No such file or directory

所有这些软件包都已过时吗?我现在必须手动搜索并安装它们吗?

答案1

这是一部分Debian 11 中的 Python 2 清理。最初的计划是完全删除 Python 2,但最近改变了删除未版本化的 Python 包保留一些 Python 2 包。未版本控制的包删除是在python-defaults2.7.18-1,然后是 2.7.18-2,其中昨天迁移到 Debian 11

因此,您full-upgrade删除了默认的 Python 包以及仍然依赖于它们的所有过时的包。请注意,这些已经从 Debian 11 中删除,在某些情况下很久以前就删除了;doconce例如近一年前

如果您仍然需要基于 Python 2 的软件,您应该坚持使用 Debian 10。

答案2

Debian不稳定中的软件包2.7.17-2版本看起来非常可疑。python我上次的升级还尝试删除许多 Python 包,因为它们没有被任何手动安装的包引用。看起来python包的配置很糟糕。

例如,尝试python在我的计算机上再次安装会显示以下消息:

$ sudo apt-get install python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python : PreDepends: python-minimal (= 2.7.17-2) but it is not going to be installed
          Depends: libpython-stdlib (= 2.7.17-2) but it is not going to be installed
          Depends: python2 (= 2.7.17-2) but 2.7.18-2 is to be installed
E: Unable to correct problems, you have held broken packages.

目前,您可以[重新]安装python2python3软件包,以便apt将它们标记为手动安装,以便即使在apt autoremove调用时也能保持已安装的依赖包。

这显然是一个需要修复的错误。令人遗憾的是,这件事发生在你跑步的时候full-upgrade。如果您不介意过时的软件,请考虑切换到 Debian 稳定版。

答案3

这个答案并不能解决所有被自动删除的软件包的问题 apt full-upgrade

但它解决了问题的第二部分:

/usr/bin/env: 'python': No such file or directory

这是由于缺少符号链接,系统找不到python3.
如果已安装Python3,请运行以下命令查找其位置:whereis python3

这会打印如下内容:

python3: /usr/bin/python3 /usr/bin/python3.8-config /usr/bin/python3.8 /usr/bin/python3.9 /usr/bin/python3.8-coverage /usr/lib/python3 /usr/lib/python3.8 /usr/lib/python3.9 /usr/lib/python3.6 /etc/python3.7 /etc/python3 /etc/python3.8 /etc/python3.9 /etc/python3.5 /etc/python3.4 /etc/python3.6 /usr/local/lib/python3.8 /usr/local/lib/python3.9 /usr/include/python3.8m /usr/include/python3.8 /usr/share/python3 /usr/share/man/man1/python3.1.gz

然后您可以通过运行以下命令创建指向它的符号链接:ln -s /usr/bin/python3 /usr/bin/python

这对我来说是固定的。 感谢 Ask-Ubuntu 上的这个回答

相关内容