deb822 et apt-key



deb822

J'ai découvert récemment que cela faisait déjà un moment que l'on pouvait utiliser un nouveau format de fichier pour la gestion des dépôts APT.

Ce « nouveau format », nommé deb822, est basé sur la RFC 822. Son avantage principal est pour les développeurs en cela qu'il est plus simple à analyser. Pour l'utilisateur lambda, cela peut apporter une meilleure lisibilité pour des définitions complexes.

Par exemple pour remplacer le fichier /etc/apt/sources.list

deb https://deb.debian.org/debian bookworm main non-free-firmware

Cela donnerait le fichier /etc/apt/sources.list.d/debian.sources

Types: deb 
URIs: https://deb.debian.org/debian
Suites: bookworm 
Components: main non-free-firmware
Enabled: yes
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Ici, la documentation complète en ligne ou man source.list

apt-key

Mais cela m'a permis de me rendre compte qu'apt-key est deprecated. Donc, comment doit-on faire ?

La première solution est simplement de mettre les clefs publique dans le répertoire /etc/apt/trusted.gpg.d/. Toutes clefs s'y trouvant, comme son nom l'indique, sont considérées comme de confiance. Et donc, pas besoin de renseigner l'option Signed-by dans la définition du dépôt. Maintenant, cette méthode diminue la sécurité.

Le mieux étant de spécifier un chemin vers fichier contenant la clef dans l'option Signed-by. Il est conseillé d'utiliser le répertoire /usr/share/keyrings pour les clefs venant directement de paquet, donc en général pas utile pour les utilisateurs classiques. Et donc, pour ces derniers, les mettre dans le répertoire /etc/apt/keyrings, qu'il faut créer préalablement avec l'utilisateur root avec les permissions 755.