J'ai besoin de paquets spécifiques (source ou binaire) de Debian.
Puis-je télécharger le package en utilisant apt-get?
Comment puis-je ajouter le référentiel Debian à ma source.list pour qu'il ne soit utilisé que par cas? Sans gâcher mon système en utilisant tout le référentiel Debian?
Comment puis-je obtenir la clé gpg du référentiel Debian pour être sûr que le paquet a été signé par l'archive Debian?
(S'il vous plaît, ne me dites pas que le système peut tomber en panne. J'en suis conscient et je m'en fiche, car je peux facilement restaurer un instantané de machine virtuelle.)
apt
software-sources
debian
gnupg
James Mitch
la source
la source
Réponses:
Il y a plusieurs questions auxquelles je répondrai individuellement:
Comment télécharger (et non installer) un package binaire individuel?
apt-get
a une option pour télécharger uniquement le package:Vous trouverez le package téléchargé dans
/var/cache/apt/archives/
. Dans ce cas, vous devrez ajouter une nouvelle configuration de liste de sources à apt.Comment télécharger un package source individuel?
ou lorsque vous connaissez l'emplacement du fichier .dsc:
Les deux approches vérifient la signature des fichiers
Comment épingler les sources.list aka comment ne pas gâcher mon installation?
Vous avez déjà indiqué la page de description de base d' APT Pinning , et j'ajouterais seulement que vous voulez probablement lire la page de manuel apt_preferences qui contient également de bons exemples pour accomplir les choses dont vous avez besoin. Voir en particulier la section 'Suivi stable' dans les EXEMPLES, car elle décrit quelque chose de très proche de vos besoins:
Il y a une commande utile lorsque vous jouez avec plusieurs sources et épinglage APT:
Cela montre que la version installée est 1.1.3-1 ~ bpo60 + 1, et le candidat est 1.2.0 ~ rc3-1 ~ bpo60 + 1, qui sera installé le prochain
apt-get upgrade
. Il existe également une version plus ancienne disponible à partir d'un autre référentiel.Comment télécharger la clé d'archive Debian?
La clé d'archive Debian est publiée sur ftp-master . Vous devrez importer la clé dans votre trousseau de clés gpg:
Ensuite, vous devrez vérifier ses signatures:
Et suivez les clés GPG individuelles des développeurs Debian soit en les suivant manuellement, soit en vérifiant le projet PGP Key Statistics . Et à moins qu'il n'y ait une chaîne entre votre clé PGP / GPG et l'archive de clés Debian, vous devrez faire un acte de foi à un moment donné.
Comment télécharger et vérifier manuellement des packages individuels
L'autre approche est donc plus compliquée, car les packages deb ne sont pas signés individuellement, mais seul le
Release
fichier est signé. Ainsi, vous devrez télécharger et vérifier la signatureRelease
et lesPackages
fichiers avec le package individuel.J'ajouterai un exemple qui sera plus clair.
Imaginez que vous souhaitiez télécharger le paquet Debian pour Knot DNS à partir de son PPA officiel pour Ubuntu, précis sur l'architecture amd64.
Vous devrez cliquer sur les répertoires et trouver ces fichiers:
La prochaine étape serait de vérifier la signature du
Release
fichier:Bien sûr, vous devrez vérifier la clé par d'autres moyens (comme la clé des responsables Debian / Ubuntu, la vérifier depuis le tableau de bord, etc, etc ...)
Une fois que vous avez vérifié la signature correcte dans le
Release
fichier, vous pouvez passer à l'étape suivante - vérifier le fichier Packages.Comme vous pouvez le voir, la signature peut être trouvée dans le
Release
fichier signé , nous avons donc vérifié l'intégrité duPackages
fichier en calculant et en comparant son empreinte SHA-256.La dernière étape est similaire. Vous devez calculer et comparer l'empreinte digitale du package individuel:
À ce stade, nous avons solidement enchaîné le package au
Release
fichier signé . Donc, si vous croyez la signature sur leRelease
fichier, vous pouvez être sûr que le package a été téléchargé intact.Vous pouvez en lire plus dans l' article Secure APT sur Debian Wiki.
la source
gpg
commande ne devrait pas avoir besoin des privilèges root? C'est censé être un outil administratif.