Prendre en compte la dépréciation de apt--key

Bonjour,
Vous l’avez tous vu apt-key c’est fini dans Bookworm.
La question c’est comment je modifie ce que j’ai déjà.
Les opérations sont simple:

  • Obtenir les clef de l’ancien système en les exportant
  • Supprimer ces clefs dans l’ancien système
  • Ajouter les clef au nouveau système (si elles n’y sont pas déjà)
  • modifier les fichiers sources.list correspondant

Lister les clefs:
apt-key list
Par exemple:

# apt-key list virtualbox
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
pub   rsa4096 2016-04-22 [SC]
      B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid          [ inconnue] Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
sub   rsa4096 2016-04-22 [E]

Vérifier que la clef est dans le nouveau système:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
pub   rsa4096 2016-04-22 [SC]
      B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid          [ inconnue] Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
sub   rsa4096 2016-04-22 [E]

Si la clef s’y trouve s’assurer quelle a bien des droits et permissions en 0644
sinon
chmod 0644 /usr/share/keyring/<la clef>
Si elle ne s’y trouve pas:

apt-key export <id de la clef> > /usr/share/keyring/<nom de la clef>

Exemple:

apt-key export "B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF" > /usr/share/keyrings/virtualbox-key.asc
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

(n’oubliez pas les guillemets, car sinon l’id ne marchera pas. Vous pouvez aussi simplement enlever les espaces, ça marche aussi).

Supprimer la clef de l’ancien système:

apt-key del "<id de la clef>"

Modifier les entrées sources.list

vim /etc/apt/sources.list.d/<monfichier>.list

Ajouter l’entrée [signed-by=/usr/share/keyrings/] comme par exemple:

# cat /etc/apt/sources.list.d/virtualbox.list 
deb [signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian bullseye contrib

Après avoir fait un clean install de Debian 12 (je n’aime pas faire de mises-à-jour entre 2 versions majeures), j’ai eu quelques soucis de ce type concernant les répertoires distants que j’utilise usuellement.

La soluce pour refaire fonctionner ma machine comme je l’aime à été d’installer le paquet ci-dessous, qui n’est plus installé de base dans Debian 12 :

apt install python3-launchpadlib

PS J’ajouterai que Gnome-Boxes est globalement beaucoup plus simple à utiliser que Virtualbox.

Le sujet n’est pas gnome-box, virtualbox, ou une quelconque application, mais juste la gestion des clefs et le fait de passer vers Debian Bookworm via une mise à jour.

j’ai pris virtualbox parce que je l’avais sous la main, j’aurais pu prendre tout aussi bine elasticsearch, zabbix ou webmin.

J’ai lu ça sur le site de debian:
Except for using apt-key del in maintainer scripts, the use of apt-key is deprecated. This section shows how to replace existing use of apt-key .

If your existing use of apt-key add looks like this:

wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -

Then you can directly replace this with (though note the recommendation below):

wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc

Make sure to use the « asc » extension for ASCII armored keys and the « gpg » extension for the binary OpenPGP format (also known as « GPG key public ring »). The binary OpenPGP format works for all apt versions, while the ASCII armored format works for apt version >= 1.4.

Recommended: Instead of placing keys into the /etc/apt/trusted.gpg.d directory, you can place them anywhere on your filesystem by using the Signed-By option in your sources.list and pointing to the filename of the key. See sources.list(5) for details. Since APT 2.4, /etc/apt/keyrings is provided as the recommended location for keys not managed by packages. When using a deb822-style sources.list, and with apt version >= 2.4, the Signed-By option can also be used to include the full ASCII armored keyring directly in the sources.list without an additional file.