Si votre machine tourne sur un OS basé sur Debian, pensez à le mettre à jour !
Note : pour connaître la version d'apt présente sur votre système, utilisez la commande suivante :
# La version d'apt apparaît sur la première ligne de la sortie console
apt-config
Je veux ajouter un certificat SSL à mon apt.
Je lance la commande suivante (en adaptant les valeurs) :
apt-key adv --keyserver keyring.debian.org --recv-keys 0x1827364554637281
J'obtiens le message d'erreur suivant dans la console :
Executing: /tmp/apt-key-gpghome.jm0CXrmSHQ/gpg.1.sh --keyserver keyring.debian.org --recv-keys 0x1827364554637281
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.jm0CXrmSHQ/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
La partie importante est No dirmngr.
Il faut installer l'outil dirmngr :
sudo apt install dirmngr
La commande d'ajout du certificat peut alors être lancée.
Lorsqu'on ajoute des dépôts à une Debian via Ansible, la mise à jour des répo semble ne pas fonctionner avec l'option update_cache: yes du module apt.
A la place, il faut insérer un module apt dont le seul rôle est de mettre à jour les répo, puis utiliser un autre module apt pour faire l'installation.
Exemple :
- name: "Adds backports to apt sources (Debian 8 Jessie)."
copy:
content: "deb http://ftp.debian.org/debian jessie-backports main"
dest: "/etc/apt/sources.list.d/backports_jessie.list"
when: ansible_distribution == "Debian" and ansible_distribution_major_version == '8'
- name: "Update repositories cache"
apt:
update_cache: yes
- name : 'Installs certbot (Debian 8 Jessie).'
apt :
update_cache : no
name : 'certbot'
state : 'present'
default_release: 'jessie-backports'
when: ansible_distribution == "Debian" and ansible_distribution_major_version == '8'