Может ли кто-нибудь помочь мне понять разницу между этими двумя выводами Python.
root@ip-192-168-20-21:~# apt install python3
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.6.7-1~18.04).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ip-192-168-20-21:~# apt install python3.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3.6 is already the newest version (3.6.9-1~18.04ubuntu1.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@ip-192-168-20-21:~# python3 --version
Python 3.6.9
cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Моя проблема в том, что Python 3.6.9 имеет много уязвимостей безопасности, таких как CVE-2021-3177
. Согласноhttps://ubuntu.com/security/cve-2021-3177эта уязвимость была исправлена (3.6.9-1~18.04ubuntu1.4)
и выпущена.
Серверы ОС обновлены последними патчами Ubuntu. Однако мой инструмент VA все еще сообщает об этих уязвимостях, которые все еще существуют в этих системах. Кто-нибудь знает, почему это происходит, и есть ли идеи по их преодолению?
Надеюсь, это происходит, потому что моя версия python3 по умолчанию все еще отображается Python 3.6.9
как в последнем выводе команды. Может ли кто-нибудь дать совет по этому поводу?
решение1
Команда python3 связана с одним из многих установленных двоичных файлов Python.
Вы можете видеть, что есть и другие доступные функции, для вашего конкретного примера я полагаю, что использование python3.6 --version
выдаст вывод, сообщающий вам, что это так 3.6.9-1~18.04ubuntu1.4
, а простой запуск python3.6
самого себя запустит ответ Python версии 3.6.
Чтобы узнать, какие версии двоичных файлов python3 установлены и доступны, попробуйте запустить ls -la /usr/bin | grep python3
(отбросьте 3, чтобы увидеть также python 2).
С командой может быть связана только одна версия Python python3
, вывод для указанной выше команды должен дать вам что-то вродеpython3 -> python3.6
Вы можете проверить, какой из них является текущим, выполнив which python3
то, что должно быть /usr/bin/python3
.
Это не очень хорошая практика, но вы можете заставить свой сеанс пользователя использовать другую версию для python3
команды с помощью псевдонимов: alias python3='/usr/bin/python3.9'
. Лучше всего будет перейти apt install python-venv
в каталог проекта, где требуется конкретная версия./usr/bin/python3.9 -m venv .venv