Alguém pode me ajudar a entender a diferença entre essas duas saídas do 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
Meu problema é que o Python 3.6.9 tem muitas vulnerabilidades de segurança, como CVE-2021-3177
. Conformehttps://ubuntu.com/security/cve-2021-3177esta vulnerabilidade foi corrigida (3.6.9-1~18.04ubuntu1.4)
e liberada.
Os servidores do sistema operacional estão atualizados com os patches mais recentes do Ubuntu. No entanto, a ferramenta My VA ainda relata as mesmas vulnerabilidades que ainda existem nesses sistemas. Alguém sabe por que isso está acontecendo e alguma ideia para superar isso?
Espero que isso esteja acontecendo porque minha versão padrão do python3 ainda aparece Python 3.6.9
como na saída do último comando. Alguém pode aconselhar sobre isso?
Responder1
O comando python3 está vinculado a um dos muitos binários python instalados.
Você pode ver que existem outros disponíveis, para o seu exemplo específico, imagino que o uso python3.6 --version
produzirá uma saída informando que é 3.6.9-1~18.04ubuntu1.4
e simplesmente executar python3.6
a si mesmo iniciará um python versão 3.6 repl
Para saber quais variações de versão dos binários python3 estão instaladas e disponíveis, tente executar ls -la /usr/bin | grep python3
(descarte o 3 para ver qualquer python 2 lá também).
Só pode haver 1 versão python vinculada ao python3
comando, a saída do comando acima deve fornecer algo comopython3 -> python3.6
Você pode verificar qual é o atual fazendo which python3
o que deveria ser /usr/bin/python3
.
Não é uma prática muito boa, mas você pode fazer com que sua sessão de usuário use uma versão diferente para o python3
comando por meio de aliases: alias python3='/usr/bin/python3.9'
. A melhor prática seria entrar apt install python-venv
em um diretório de projeto onde uma versão específica é necessária/usr/bin/python3.9 -m venv .venv