9.1.1. Obținerea surselor
Reconstruirea unui pachet Kali începe cu obținerea codului sursă. Un pachet sursă este compus din mai multe fișiere: fișierul principal este *.dsc (Controlul sursei Debian) deoarece listează celelalte fișiere însoțitoare, care pot fi *.gudron.gz,bz2,xz, uneori *.dif.gz, Sau *.debian.tar.gz,bz2,xz fișiere.
Pachetele sursă sunt stocate pe oglinzile Kali care sunt disponibile prin HTTP. Puteți folosi browserul web pentru a descărca toate fișierele necesare, dar cel mai simplu mod de a realiza acest lucru este să utilizați sursa apta nume_pachet_sursă comanda. Această comandă necesită a deb-src linie în
/ Etc / apt / sources.list fișier și fișiere index actualizate (realizate prin rularea apt de actualizare). În mod implicit, Kali nu adaugă linia necesară, deoarece puțini utilizatori Kali au nevoie de fapt să recupereze pachetele sursă, dar o puteți adăuga cu ușurință (consultați fișierul exemplu în secțiunea 8.1.3, „Arhivele Kali” [pagina 173] și explicațiile asociate din secțiunea 8.1.2, „Înțelegerea fișierului sources.list” [pagina 172]).
$ apt source libfreefare
Citirea listelor de pachete ... Gata
ANUNȚ: pachetul „libfreefare” este menținut în sistemul de control al versiunii „Git” la: git://anonscm.debian.org/collab-maint/libnfc.git
Vă rugăm să utilizați:
git clone git://anonscm.debian.org/collab-maint/libnfc.git
pentru a prelua cele mai recente actualizări (eventual nelansate) ale pachetului. Trebuie să obțineți 119 kB de arhive sursă.
Get:1 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (dsc) [2,090 B] Get:2 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (tar) [113 kB] Get:3 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (dif) [3,640 B] Preluat 119 kB în 1 secundă (63.4 kB/s)
gpgv: resursă de blocare a tastelor „/home/rhertzog/.gnupg/trustedkeys.gpg”: eroare de deschidere a fișierului gpgv: semnătura făcută marți 04 mar 2014 06:57:36 EST folosind ID-ul cheii RSA 40AD1FA6 gpgv: nu se poate verifica semnătura: public cheia nu a fost găsită
dpkg-source: avertisment: nu s-a putut verifica semnătura pe ./libfreefare_0.4.0-2.dsc dpkg-source: info: extragerea libfreefare în libfreefare-0.4.0
dpkg-source: info: despachetarea libfreefare_0.4.0.orig.tar.gz dpkg-source: info: despachetarea libfreefare_0.4.0-2.debian.tar.xz
$ cd libfreefare-0.4.0
$ ls
AUTORI CMakeLists.txt COPIERE HACKING m4 README
ChangeLog configure.ac debian libfreefare Makefile.am test
exemple de contribuție cmake libfreefare.pc.in ȘTIRI TODO
$ e debian
jurnalul de modificări drepturi de autor libfreefare-dev.install reguli compat libfreefare0.install libfreefare-doc.install control sursă libfreefare-bin.install README.Source watch
În acest exemplu, deși am primit pachetul sursă de la o oglindă Kali, pachetul este același ca în Debian, deoarece șirul de versiune nu conține „kali”. Aceasta înseamnă că nu au fost aplicate modificări specifice kali.
Dacă aveți nevoie de o anumită versiune a pachetului sursă, care în prezent nu este disponibilă în depozitele enumerate în / Etc / apt / sources.list, atunci cel mai simplu mod de a-l descărca este să aflați adresa URL a acestuia .dsc fișier căutându-l http://pkg.kali.org și apoi predă acel URL la dget (de la devscripturi pachet).
După ce ați căutat adresa URL a pachetului sursă libreefare disponibil în kali-bleeding-edge, îl puteți descărca cu dget. Mai întâi va descărca .dsc fișier, apoi analizați-l pentru a ști la ce alte fișiere sunt referite și apoi descărcați-le din aceeași locație:
$ dget http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.dsc
dget: preluarea http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.dsc
% Total % primit % Xferd Viteză medie Timp Timp Timp Curent
Descărcare Încărcare Total cheltuit Viteză rămasă 100 364 100 364 0 0 852 0 --:--:-- --:--:-- --: 854
100 1935 100 1935 0 0 2650 0 --:--:-- --:--:-- --:--:-- 19948
dget: preluarea http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d.orig.tar.gz [...]
dget: preluarea http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.debian.tar.xz [...]
libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc:
dscverify: libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc nu a reușit verificarea semnăturii: gpg: Semnătura făcută miercuri 12 august 06:14:03 2015 CEST
gpg: utilizând cheia RSA 43EF73F4BD8096DA gpg: Nu se poate verifica semnătura: Nicio cheie publică Validarea eșuată!!
$ dpkg-source -x libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc
gpgv: Semnătura făcută miercuri 12 august 06:14:03 2015 CEST gpgv: utilizând cheia RSA 43EF73F4BD8096DA gpgv: Nu se poate verifica semnătura: Fără cheie publică
dpkg-source: avertisment: nu s-a putut verifica semnătura pe ./libfreefare_0.4.0+0~git1439352548
➥ .ffde4d-1.dsc
dpkg-source: info: extragerea libfreefare în libfreefare-0.4.0+0~git1439352548.ffde4d dpkg-source: info: despachetarea libfreefare_0.4.0+0~git1439352548.ffde4d.orig.tar.gz
dpkg-source: info: despachetarea libfreefare_0.4.0+0~git1439352548.ffde4d-1.debian.tar.xz
Este demn de remarcat faptul că dget nu a extras automat pachetul sursă deoarece nu a putut verifica semnătura PGP pe pachetul sursă. Astfel am făcut acest pas manual cu dpkg- sursa -x dsc-fișier. De asemenea, puteți forța extragerea pachetului sursă prin trecerea --permite- neautentificat or -u opțiune. În mod invers, puteți utiliza --doar-descărcare pentru a sări peste pasul de extragere a pachetului sursă.
Preluarea surselor din S-ar putea să fi observat că sursa apta invocarea vă spune despre un posibil Git merge depozit folosit pentru a menține pachetul. Ar putea indica un depozit Debian Git sau un depozit Kali Git. Toate pachetele specifice Kali sunt menținute în depozitele Git găzduite gitlab.com/- kalilinux/packages1. Puteți prelua sursele din acele depozite cu clona git https://gitlab.com/kalilinux/packages/pachet sursă.git. Contrar cu ceea ce obții sursa apta, arborele obținut nu va avea patch-uri aplicate automat. Aruncă o privire la debian/patch-uri/ pentru a afla despre posibilele schimbări făcute de Kali. | |
$ git clone https://gitlab.com/kalilinux/packages/kali-meta. ➥ merge Clonarea în „kali-meta”... remote: Numărarea obiectelor: 760, gata. la distanță: Comprimarea obiectelor: 100% (614/614), gata. telecomandă: total 760 (delta 279), reutilizat 0 (delta 0) Recepție obiecte: 100% (760/760), 141.01 KiB | 0 octeți/s, ➥ Terminat. Rezolvarea deltelor: 100% (279/279), gata. Verificarea conectivității... gata. $ cd kali-meta $ ls Debian $ e debian changelog compat control sursa regulilor de copyright | |
Puteți utiliza depozitele git ca o altă modalitate de a prelua sursele și astfel (în mare parte) urmați celelalte instrucțiuni din această secțiune. Dar atunci când dezvoltatorii Kali lucrează cu acele depozite, folosesc un alt flux de lucru de ambalare și folosesc instrumente de la git-buildpackage pachet pe care nu îl vom acoperi aici. Puteți afla mai multe despre aceste instrumente aici: ➨ https://honk.sigxcpu.org/piki/projects/git-buildpackage/ |
1https://gitlab.com/kalilinux/packages