Comment contourner “apt-key de sortie ne doivent pas être analysées”?
Je suis automatisation mon menu fixe de l'installation. Quelque chose comme ceci:
if apt-key fingerprint 0EBFCD88 | grep "Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88" > /dev/null
then
# proceed
fi
Cela a bien fonctionné dans les anciennes versions de apt-key
, mais les versions récentes ont deux problèmes:
- Un autre format de sortie: je peux pirater autour de cette
-
Un avertissement:
Warning: apt-key output should not be parsed (stdout is not a terminal)
Clairement, je peux pirater autour de cette ainsi, suffit de rediriger stderr
à /dev/null
. Il me rendait curieux:
Comment ces gens beaux suggèrent j'ai vérifier ma clé empreintes digitales? Ou suis-je ce fondamentalement dans l'erreur en voulant automatiser, n'est que la défaite de la point? (Je ne crois pas, depuis que j'ai la main levée de l'attendre d'empreintes digitales à partir du site, mais n'hésitez pas à me dire le contraire...)
OriginalL'auteur Sander Verhagen | 2018-01-09
Vous devez vous connecter pour publier un commentaire.
De apt-key sources, vous pouvez définir
APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE
à une valeur non vide pour désactiver cet avertissement.Vous pouvez également utiliser un "grep -q" de sorte que vous n'avez pas besoin de rediriger la sortie standard dans
/dev/null
.Comment utiliser
grep -q
? Pouvez vous s'il vous plaît fournir l'intégralité de la commande?La Redirection ne fonctionne pas à partir à l'intérieur d'un Dockerfile. J'ai dû ajouter ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn EXÉCUTER apt-key add-distribution=${DISTRIBUTION} /tmp/nvidia.clé
cela ne semble pas répondre à la question. Quelle est la bonne façon d'utiliser apt-clé en plus de l'analyse standard de sortie, de sorte que cet avertissement ne pas montrer pour commencer?
OriginalL'auteur sebt3
Pour répondre à la partie "suis-je ce de fondamentalement mauvais":
Je crois que oui, probablement. C'est la raison de l'avertissement.
Vous n'écrivez pas ce que vous faites exactement, mais une chose à réaliser est:
Les clés n'ont pas certains d'expiration ainsi, après un certain temps l'empreinte dans votre script va devenir obsolète et peut-être qu'il ne se comportera pas comme prévu plus.
Une fois le référentiel et sa clé est installé de sorte que le système en quelque sorte des mises à niveau de la clé automatiquement mais lorsque le référentiel est d'abord ajoutée, donc un up-to-date de la clé doit être fourni. Dans mes scripts d'automatisation de l'installation et je n'ai pas tester si une clé a déjà été ajouté, mais je test si le dépôt a déjà été ajouté. Si le dépôt n'a pas été ajouté, afin d'ajouter avec une mise à jour de la clé que je télécharge toujours à partir de son URL.
OriginalL'auteur David L.
Je suis en modifiant la commande elle-même d'utiliser le mode batch afin de ne pas se plaindre de la sortie standard stdout. Pour le plus grand apt-clé de ce travail, rapidement testé sur une debian:
Tandis que pour les plus petits apt-key cela pourrait fonctionner (pas testé non je ne me souviens pas où je l'ai vu de plus simple variante):
Vous avez besoin des privilèges d'écrire dans le répertoire /usr/bin/apt-key, donc soit exécuté en tant que root ou utilisez sudo
OriginalL'auteur muni764