Ne ocupăm de chei pentru depozite

Problema este rezolvată destul de simplu. Luați ultimele 8 caractere ale codului cheie. În cazul nostru:
BE80FFE08E772DB0 -> 8E772DB0

Și executați 2 comenzi:
gpg --keyserver keyserver.ubuntu.com - reci 8E772DB0







Dacă totul este bine, atunci primim:
gpg: solicit cheia 8E772DB0 din serverul hkp keyserver.ubuntu.com
gpg: cheia 8E772DB0: cheia publică "Launchpad PPA pentru plasmoid" importată
gpg: Total procesate: 1
gpg: importat: 1 (RSA: 1)

Și a doua comandă:
gpg --export --armor 8E772DB0 | sudo apt-key add -

--------------------------
Automatizarea adăugării cheilor:
Utilizatorul urusha și-a contribuit lucrările la acest subiect. Creați un fișier numit check_keys.sh, conținutul acestuia:
#! / bin / sh

KEYS = "sudo apt-get update" awk # '/ NO_PUBKEY / # '

dacă [-Z $ KEYS]
atunci
ecou "Nu s-au găsit chei publice pierdute."
altfel
ecou "Cheile publice pierdute: $ KEYS"
pentru KEY în $ KEYS
face
gpg -keyserver keyserver.ubuntu.com - reciv $ KEY \
gpg --export --armor $ KEY | sudo apt-key add - \
echo "Cheia publică $ KEY a fost adăugată."
făcut
Fi

Și aici este scriptul meu python (getkey.py):
# - * - codare: utf-8 - * -
import sys, os

Cred că această metodă este cea mai simplă.

Programe pentru muzician (numai software gratuit) Ghid pentru apt-get și aptitude

Interesant, apt-key-ul omului arată că în loc de:
gpg --keyserver keyserver.ubuntu.com - reci KEYKEYKEYKEY
gpg --export --armor KEYKEYKEYKEY | sudo apt-key add -
puteți pur și simplu, cu o singură comandă:
sudo apt -key adv --recv-chei --keyserver keyserver.ubuntu.com KEYKEYKEYKEY
și nu este necesar să se taie id-ul cheii la ultimele 8 cifre, toate la fel;)
astfel încât să puteți corecta rețetele.

scris în ramură greșită (

Pe un netbook fără mouse, nu este convenabil să adăugați toate aceste chei, așa că am scris scriptul check_keys.sh
rulează de la un utilizator normal, adaugă toate cheile la care se plânge actualizarea apt-get
#! / bin / sh

KEYS = "sudo apt-get update" awk # '/ NO_PUBKEY / # '

dacă [-Z $ KEYS]
atunci
ecou "Nu s-au găsit chei publice pierdute."
altfel
ecou "Cheile publice pierdute: $ KEYS"
pentru KEY în $ KEYS
face
gpg -keyserver keyserver.ubuntu.com - reciv $ KEY \
gpg --export --armor $ KEY | sudo apt-key add - \
echo "Cheia publică $ KEY a fost adăugată."
făcut
Fi

Actualizat, acum versiunea mea de script în Python este disponibilă.
UPD. Acum puteți descărca (din linkul de mai sus) pachetul de instalare pentru scriptul meu, pentru o muncă mai ușoară.







Iată o întrebare ușor greșită. Scripturile ce? Și nu există nici un fel de scenariu simplu. Mai întâi trebuie să dai seama ce vrei să faci. Există scripturi bash, sunt potrivite doar pentru * nix și lucrează într-o anumită zonă. Puteți utiliza limbi de programare scripting (python, ruby, perl). Cea mai ușoară dintre ele este Python, pe care am scris scenariul de mai sus. Alege ce vrei să faci cu aceste scripturi - Îți voi spune literatura.

Să presupunem că vom scrie un program pentru desktopul simplu kubuntu.

un caz bine-cunoscut pentru ceea ce: în conformitate cu artistice! %)

Când executați sudo python setup.py, se întâmplă următoarele:

utilizare: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts]. ]
sau: setup.py --help [cmd1 cmd2. ]
sau: setup.py - comenzi de ajutor
sau: setup.py cmd --help

eroare: nu există comenzi furnizate.
Explicați, vă rog, ce să faceți! Experienta in Linux - o saptamana. =)
P.S. Sistemul Kubuntu 9.04

Mulțumesc! Prima opțiune a ajutat, dar ultimul scenariu sa salvat și el.
Recunostinte grave!

mare!
doar în cele din urmă dat seama deja cu 4 chei - fericit ca un elefant într-un depozit de banane;)

dacă [-z $ 1]
atunci
KEYS = "sudo apt-get -qq actualizare 2> 1 | awk # '/ NO_PUBKEY / # '| uniq`
dacă [-Z $ KEYS]
atunci
ecou "Nu s-au găsit chei publice pierdute."
altfel
ecou "Cheile publice pierdute: $ KEYS"
pentru KEY în $ KEYS
face
sudo apt -key adv --recv-chei --keyserver keyserver.ubuntu.com $ KEY \
echo "Cheia publică $ KEY a fost adăugată."
făcut
Fi
altfel
KEYS = "echo $ @ | tr # '\ # ' # '\ n #' | grep # '\ ([[: alnum:] _] \ | [a-fA-F] \) \ #' | uniq | tr # '\ n #' # '\ # '
ecou "Cheile publice de adăugat: $ KEYS"
pentru KEY în $ KEYS
face
sudo apt -key adv --recv-chei --keyserver keyserver.ubuntu.com $ KEY> / dev / null \
echo "Cheia publică $ KEY a fost adăugată."
făcut
Fi

Iată un alt scenariu, aș fi știut despre opțiunile dvs., poate că nu l-ar fi slăbit pe genunchi.

Print „Vă rugăm să aveți răbdare, vom primi cheile care lipsesc. \ nAcest este un proces de lungă durată, în special pe canalele internet mai lente. \ n“
outp = comenzi.getoutput ("sudo apt-get update")

spos = string.find (outp, # 'NO_PUBKEY # ')
în cazul spofturilor <0:
print "Felicitări, toate depozitele au o cheie de verificare. \ n"
renunță ()

pentru linie în outp:
spos = string.find (linie, # 'NO_PUBKEY # ')
dacă spo> 0:
spos + = 10
line = linie [spos:]
print "Tasta" + linia + "a fost adăugată cu succes."
commandOutput = commands.getoutput ( "sudo adv --recv-chei apt-cheie --keyserver keyserver.ubuntu.com" + linie + "")

Refacute nemnogo.Dlya folosi, de tip în piton terminalul put_k_skriptu / ego_imya.py toate registrele care le-ați adăugat vor primi codul lor klyuchi.Za nu lovi cu piciorul - a treia zi a întregului piton de predare :)

print "Vă rugăm să aveți răbdare, vom obține cheile lipsă. \ nAcest lucru este un proces destul de lung, în special pe canalele de Internet slab. \ n"
outp = comenzi.getoutput ("sudo apt-get update")

dacă re.search (ur "NO_PUBKEY", outp):

pentru linie în outp:
match = re.search (ur "[/ nA-Z0-9]", linia)
dacă se potrivește> 0:
key = match.group ()
print "Cheia + cheie +" a fost adăugată cu succes. "
commandOutput = commands.getoutput ( "sudo adv --recv-chei apt-cheie --keyserver keyserver.ubuntu.com" + tasta + "")

altceva:
print "Felicitări, toate depozitele au o cheie de verificare. \ n"
renunță ()

Nu vreau să primesc o cheie, scrie:
gpg --keyserver keyserver.ubuntu.com - reci 8AC93F7A
gpg: solicit cheia 8AC93F7A din serverul hkp keyserver.ubuntu.com
gpg: intervalul de timp al serverului cheie depășit
gpg: imposibilitatea de a obține chei de la server: eroare de server cheie

ajutați vă rog, inet este OK







Articole similare

Trimiteți-le prietenilor: