
Estou criando um Ansible Playbook para configurar VPSs Ubuntu 18.04.1 e estou encontrando um problema em que não consigo instalar o Python de maneira confiável.
Como o Ubuntu 18.04.1 não vem com o Python instalado, sou forçado a usar o seguinte comando apt -y update && apt -y install python
com o raw
módulo.
Também consegui obter esse erro em um shell no qual fiz ssh manualmente.
root@ansible:~# apt -y update && apt -y install python
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
17 packages can be upgraded. Run 'apt list --upgradable' to see them.
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Esta é uma máquina virtual no VirtualBox em um host Windows.
Eu também tentei usar sync
entre apt update
e apt install
, até mesmo fazer algo assim while fuser /var/lib/dpkg/lock >/dev/null 2>&1; do sync && sleep 1; done
entre update
e install
, mas geralmente falha.
É um sistema que foi configurado com as seguintes etapas:https://askubuntu.com/questions/946787/ubuntu-server-installation-with-root-only/1066033#1066033
Responder1
Ubuntu 16.04+, iirc, vem com Python3 por padrão e removeu totalmente o Python2 da instalação padrão; em outras palavras, existe um interpretador Python em funcionamento, mas não está no lugar que o Ansible parece.
Você pode substituir o comportamento padrão (esperando python
como um comando) usando a ansible_python_interpreter
variável e definindo-a como, no caso do Ubuntu 16.04+, /usr/bin/python3
.
Então, algo assim:
ansible_python_interpreter: /usr/bin/python3
Ansible agora trata o Python3 como um cidadão de primeira classe em sua maior parte, então esta é uma mudança bastante segura. Tenho usado em algumas caixas do Ubuntu 18.04 que administro sem problemas.