我正在尝试使用“do-release-update”更新我的 ubuntu 16.04 服务器并收到错误:
# do-release-upgrade
Checking for a new Ubuntu release
Get:1 Upgrade tool signature [819 B]
Get:2 Upgrade tool [1,251 kB]
Fetched 1,252 kB in 0s (0 B/s)
authenticate 'bionic.tar.gz' against 'bionic.tar.gz.gpg'
extracting 'bionic.tar.gz'
Checking package manager
Can not upgrade
Your python3 install is corrupted. Please fix the '/usr/bin/python3'
symlink.
但在我看来,到python3的链接配置是正确的。
# python3
Python 3.5.2 (default, Jan 26 2021, 13:30:48)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
# update-alternatives --display python3
update-alternatives: error: no alternatives for python3
# ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 18 Oct 30 20:53 /usr/bin/python3 -> /usr/bin/python3.5
有什么问题吗?提前谢谢
答案1
Ubuntu 16.04 附带了 Python 3.5.1,并且从未从该版本升级,因此升级程序正在检查该版本。
您的输出表明您已安装 Python 3.5.2。
如果您无法将符号链接改回 3.5.1(也许这些文件已被删除),那么最安全、最快且受支持的方法是备份您的数据并重新安装。
我们通常建议不要更改或升级随 Ubuntu 版本附带的 Python 版本。这样做会导致问题。如果您想使用不同版本的 Python,您可以从源代码(而不是 deb)安装以防止冲突,或者您可以使用 VM、容器或 venv 来保持版本分离。