Quelles commandes devraient (exactement) remplacer la clé apt obsolète?

Oct 24 2020

En configurant des clés pour un référentiel local sur une nouvelle machine virtuelle ubuntu 20.10, j'ai reçu un message indiquant qu'apt-key add était obsolète et je devrais lire la page de manuel apt-key (8). La page de manuel apt-key (8) est une collection de mots enchaînés, mais si elle contient des informations, je ne peux pas les effacer. Quelqu'un peut-il me dire exactement ce que je dois taper sur mon terminal au lieu de:

apt-key add name-of-file

La commande fonctionne apparemment toujours après m'avoir klaxonné, j'ai donc pu continuer, mais j'aimerais savoir ce que je devrai faire à l'avenir.

Réponses

2 UgoDelleDonne Dec 15 2020 at 00:03

Je suis tombé sur le même problème et heureusement, une autre question a éclairé le chemin. Dans mon exemple, j'essayais d'ajouter un référentiel teamviewer à un Linux Kali récent et j'étais bloqué par la vérification de clé.

Je suis sûr qu'il existe une façon plus élégante de le faire, mais les étapes suivantes m'ont aidé à résoudre le problème:

  1. Téléchargez la clé correspondante

    wget -O - https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc > ~/teamviewer.key

  2. Vérifiez le type de fichier

    file ~/teamviewer.key

    il doit s'agir d'un bloc de clé publique PGP Public-Key (ancien)

  3. Créer un porte-clés

    gpg --no-default-keyring --keyring ./teamviewer_keyring.gpg --import teamviewer.key

  4. Ce fichier n'est toujours pas une clé valide qui peut être ajoutée à /etc/apt/trusted.gpg.d/ car c'est un trousseau de clés, mais à partir du trousseau de clés, nous pouvons extraire la clé avec

    gpg --no-default-keyring --keyring ./teamviewer_keyring.gpg --export > ./teamviewer.gpg

  5. Ce fichier est la clé que vous souhaitez déplacer vers le dossier de clés de confiance

    sudo mv ./teamviewer.gpg /etc/apt/trusted.gpg.d/

heureux sudo apt update!!!

zachsmthsn Dec 28 2020 at 10:48

La raison de cette dépréciation est que l'utilisation apt-key addajoute simplement la clé gpg au trousseau de clés APT global de confiance. C'est similaire à la méthode préférée d'ajout local_repo.listà /etc/apt/sources.list.d/au lieu d'utiliser add-apt-repository dep /link/to/repo version, qui ajoute le message au sources.listfichier global .

Je pense que c'est un peu plus difficile à comprendre que d'utiliser le dossier .d, mais nous voulons essentiellement obtenir la clé gpg dans un fichier de trousseau de clés autonome, puis pointer vers ce fichier de trousseau dans la liste des sources. L'emplacement par défaut du fichier de trousseau de clés est /usr/share/keyrings, et il peut s'agir d'un fichier .asc ou .gpg. Je ne suis pas sûr de la différence, mais je sais que les fichiers de trousseau de clés globaux sont des fichiers binaires, pas du texte brut.

Par exemple:

L'utilisation de noms génériques peut parfois être un peu difficile à comprendre, voici donc un exemple d'installation de mongoDB:

Obtenez la clé gpg MongoDB et ajoutez-la à un nouveau fichier de trousseau de clés

curl https://www.mongodb.org/static/pgp/server-4.2.asc | sudo tee -a /usr/share/keyrings/buster-mongodb-org-4_2.asc

Ajouter une entrée source pour apt, pointée vers ce nouveau trousseau de clés

echo "deb [signed-by=/usr/share/keyrings/buster-mongodb-org-4_2.asc] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main

Installez mongodb à partir de ce dépôt nouvellement ajouté

sudo apt install -y mongodb-org

Référence

C'est encore nouveau pour moi, mais la plupart de ce que je sais vient de cette excellente réponse dans unix SE