Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

10.3.2. Crearea pachetelor de configurare‌


Acum că am atins despre pornirea PXE și am discutat despre gestionarea configurației cu Salt-Stack, precum și despre forkingul pachetelor, este timpul să încheiem aceste procese într-un exemplu practic și să extindem scenariul prin crearea unui pachet de configurare personalizat pentru a implementa o configurație personalizată în mai multe mașini semi-automat.

În acest exemplu, veți crea un pachet personalizat care configurează și utilizează propriul depozit de pachete și cheia de semnare GnuPG, distribuie o configurație SaltStack, introduce un fundal personalizat și oferă setări implicite pentru desktop într-un mod unificat pentru toate instalările Kali. .

Aceasta poate părea o sarcină descurajantă (mai ales dacă aruncați o privire prin Ghidul Debian New Maintainer1), dar, din fericire pentru noi, un pachet de configurare este în principal o arhivă de fișiere sofisticată și transformarea lui într-un pachet este destul de ușoară.



Privind un eșantion Dacă doriți să căutați un pachet real care este practic un pachet de configurare, con- Pachet ia în considerare kali-implicit pachet. Nu este la fel de simplu ca eșantionul din această secțiune, dar are toate caracteristicile relevante și chiar utilizează câteva tehnici avansate (cum ar fi

dpkg-deturnare) pentru a înlocui fișierele deja furnizate de alte pachete.

Privind un eșantion Dacă doriți să căutați un pachet real care este practic un pachet de configurare, con- Pachet ia în considerare kali-implicit pachet. Nu este la fel de simplu ca eșantionul din această secțiune, dar are toate caracteristicile relevante și chiar utilizează câteva tehnici avansate (cum ar fi

dpkg-deturnare) pentru a înlocui fișierele deja furnizate de alte pachete.


imagine

1https://www.debian.org/doc/manuals/maint-guide/

offsec-implicite pachetul va conține câteva fișiere:


/etc/apt/sources.list.d/offsec.list: surse.list intrare pentru APT, activând depozitul intern de pachete al companiei


/etc/apt/trusted.gpg.d/offsec.gpg: cheia GnuPG folosită pentru a semna depozitul intern de pachete al companiei


/etc/salt/minion.d/offsec.conf: un fișier de configurare SaltStack pentru a indica unde să găsiți masterul Salt


/usr/share/images/offsec/background.png: o imagine frumoasă de fundal cu sigla Ofensive Security


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: un fișier care oferă setări implicite alternative pentru desktopul GNOME


Mai întâi, creați un offsec-defaults-1.0 director și puneți toate fișierele în acel director. Apoi fugi dh_make --nativ (de la dh-make pachet) pentru a adăuga instrucțiuni de ambalare Debian, care vor fi stocate într-un Debian subdirector:


$ mkdir offsec-defaults-1.0; cd offsec-defaults-1.0

$ dh_make --nativ

Tip pachet: (single, indep, library, python) [s/i/l/p]? i

Adresa de e-mail : [e-mail protejat] Licență: gpl3

Nume pachet: offsec-defaults Nume întreținere: Raphaël Hertzog Versiunea: 1.0

Tip pachet: indep

Data : joi, 16 iunie 2016 18:04:21 +0200

Sunt corecte detaliile? [D/n/q] y

În prezent, nu există Makefile de nivel superior. Acest lucru poate necesita o reglare suplimentară Terminat. Vă rugăm să editați fișierele din subdirectorul debian/ acum.

$ mkdir offsec-defaults-1.0; cd offsec-defaults-1.0

$ dh_make --nativ

Tip pachet: (single, indep, library, python) [s/i/l/p]? i

Adresa de e-mail : [e-mail protejat] Licență: gpl3

Nume pachet: offsec-defaults Nume întreținere: Raphaël Hertzog Versiunea: 1.0

Tip pachet: indep

Data : joi, 16 iunie 2016 18:04:21 +0200

Sunt corecte detaliile? [D/n/q] y

În prezent, nu există Makefile de nivel superior. Acest lucru poate necesita o reglare suplimentară Terminat. Vă rugăm să editați fișierele din subdirectorul debian/ acum.


În primul rând, vi se solicită un tip de pachet. În exemplu, am selectat indep, ceea ce indică faptul că acest pachet sursă va genera un singur pachet binar care poate fi partajat în toate arhitecturile (Arhitectură: toate). singur acționează ca o contrapartidă și produce un singur pachet binar care depinde de arhitectura țintă (Arhitectură: orice). În acest caz, indep este mai relevant, deoarece pachetul conține doar fișiere text și nu există programe binare, astfel încât să poată fi utilizat în mod similar pe computerele de toate arhitecturile. The bibliotecă type este util pentru bibliotecile partajate, deoarece acestea trebuie să respecte reguli stricte de ambalare. Într-un mod similar, piton ar trebui să fie limitat la modulele Python.


Numele întreținătorului și Majoritatea programelor implicate în întreținerea pachetelor vă vor căuta numele și

Adresa de email adresa de e-mail în DEBFULLNAME și DEBEMAIL or E-MAIL variabile de mediu. Definirea lor, o dată pentru totdeauna, împiedică re-tastarea lor de mai multe ori. Dacă shell-ul dvs. obișnuit este Bash, este o chestiune simplă de a adăuga următoarele două linii în dvs ~ / .bashrc fişier. De exemplu:

export EMAIL="[e-mail protejat]Matei 22:21

export DEBFULLNAME="Raphael Hertzog"


dh_make comanda creată a Debian subdirectorul care conține multe fișiere. Unele sunt necesare, în special norme, Control, changelog, și drepturi de autor. Fișierele cu .fost extensiile sunt exemple de fișiere care pot fi utilizate modificându-le și eliminând extensia. Când nu sunt necesare, vă recomandăm să le îndepărtați. The compa ar trebui păstrat, deoarece este necesar pentru funcționarea corectă a fișierului debhelper suită de programe (toate începând cu dh_ prefix) utilizat în diferite etape ale procesului de construire a pachetului.

drepturi de autor fișierul trebuie să conțină informații despre autorii documentelor incluse în pachet și licența aferentă. Dacă licența implicită selectată de dh_make nu vă convine, atunci trebuie să editați acest fișier. Iată versiunea modificată a fișierului cu drepturi de autor:


Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


Fișiere: *

Copyright: 2016 Ofensive Security License: GPL-3.0+


Licență: GPL-3.0+

Acest program este software gratuit: îl puteți redistribui și / sau modifica în condițiile Licenței publice generale GNU, publicate de Free Software Foundation, fie versiunea 3 a Licenței, fie (la opțiunea dvs.) orice altă versiune ulterioară.

.

Acest pachet este distribuit in speranta ca va fi de folos, dar FARA NICIO GARANTIE; fără măcar garanția implicită de VANTABILITATE sau ADECUARE PENTRU UN ANUMIT SCOP. Vezi

Licență publică generală GNU pentru mai multe detalii.

.

Ar fi trebuit să primiți o copie a licenței publice generale GNU împreună cu acest program. Dacă nu, vezi .

.

Pe sistemele Debian, textul complet al GNU General

Licența publică versiunea 3 poate fi găsită în ”/usr/share/common-licenses/GPL-3”.

Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


Fișiere: *

Copyright: 2016 Ofensive Security License: GPL-3.0+


Licență: GPL-3.0+

Acest program este software gratuit: îl puteți redistribui și / sau modifica în condițiile Licenței publice generale GNU, publicate de Free Software Foundation, fie versiunea 3 a Licenței, fie (la opțiunea dvs.) orice altă versiune ulterioară.

.

Acest pachet este distribuit in speranta ca va fi de folos, dar FARA NICIO GARANTIE; fără măcar garanția implicită de VANTABILITATE sau ADECUARE PENTRU UN ANUMIT SCOP. Vezi

Licență publică generală GNU pentru mai multe detalii.

.

Ar fi trebuit să primiți o copie a licenței publice generale GNU împreună cu acest program. Dacă nu, vezi .

.

Pe sistemele Debian, textul complet al GNU General

Licența publică versiunea 3 poate fi găsită în ”/usr/share/common-licenses/GPL-3”.

Valoarea implicită changelog dosarul este în general adecvat; înlocuirea „Versiunii inițiale” cu o explicație mai detaliată ar trebui să fie suficientă:


offsec-defaults (1.0) instabil; urgență=medie


* Adăugați fișierul de configurare al lui salt minion.

* Adăugați o intrare source.list a unui APT și o cheie GPG de încredere a unui APT.

* Ignorați schema gsettings care definește imaginea de fundal.


-- Raphaël Hertzog[e-mail protejat]> Joi, 16 Iun 2016 18:04:21 +0200

offsec-defaults (1.0) instabil; urgență=medie


* Adăugați fișierul de configurare al lui salt minion.

* Adăugați o intrare source.list a unui APT și o cheie GPG de încredere a unui APT.

* Ignorați schema gsettings care definește imaginea de fundal.


-- Raphaël Hertzog[e-mail protejat]> Joi, 16 Iun 2016 18:04:21 +0200


În exemplu, vom face modificări la Control fişier. Vom schimba Secțiune domeniu la misc și scoateți Pagina principala, Vcs-Git, și Vcs-Browser câmpuri. În cele din urmă, vom completa Descriere camp:


Sursa: offsec-defaults Sectiunea: misc

Prioritate: opțional

Întreținere: Raphaël Hertzog[e-mail protejat]> Build-Depends: debhelper (>= 9)

Standarde-Versiune: 3.9.8


Pachet: offsec-defaults Arhitectură: toate Depinde: ${misc:Depends}

Descriere: setări implicite pentru securitatea ofensivă

Acest pachet conține mai multe fișiere pentru configurarea computerelor deținute de Offensive Security.

.

Se modifică în special:

- Configurația APT

- configurația lui sare-minion

- setările implicite pentru desktop

Sursa: offsec-defaults Sectiunea: misc

Prioritate: opțional

Întreținere: Raphaël Hertzog[e-mail protejat]> Build-Depends: debhelper (>= 9)

Standarde-Versiune: 3.9.8


Pachet: offsec-defaults Arhitectură: toate Depinde: ${misc:Depends}

Descriere: setări implicite pentru securitatea ofensivă

Acest pachet conține mai multe fișiere pentru configurarea computerelor deținute de Offensive Security.

.

Se modifică în special:

- Configurația APT

- configurația lui sare-minion

- setările implicite pentru desktop


norme fișierul conține de obicei un set de reguli utilizate pentru a configura, construi și instala software-ul într-un subdirector dedicat (numit după pachetul binar generat). Conținutul acestui subdirector este apoi arhivat în pachetul Debian ca și cum ar fi rădăcina sistemului de fișiere. În acest caz, fișierele vor fi instalate în debian/offsec-defaults/ subdirectorul. De exemplu, pentru a ajunge la instalarea unui pachet /etc/apt/sources.list.d/offsec.list, instalați fișierul în debian/offsec-defaults/etc/apt/sources.list.d/offsec.list. norme fișierul este folosit ca un makefile, cu câteva obiective standard (inclusiv curat și binar, folosit, respectiv, pentru a curăța directorul sursă și a genera pachetul binar).


Ce este a makefile fişier? Este posibil să fi observat mesajul cu privire la cei dispăruți makefile la sfârșitul dh_make ieșire și menționarea asemănării sale cu norme fişier. A makefile este un fișier script folosit de face program; descrie reguli pentru cum să construiți un set de fișiere unul de celălalt într-un arbore de dependențe. De exemplu, un program poate fi construit dintr-un set de fișiere sursă. The makefile fișierul descrie aceste reguli în următorul format:

țintă: sursă1 sursă2 ... comandă1

command2


Interpretarea unei astfel de reguli este următoarea: dacă unul dintre sursă* fișierele este mai recentă decât fișierele ţintă fișier, atunci ținta trebuie generată, folosind command1 și command2.

Rețineți că liniile de comandă trebuie să înceapă cu un caracter tabulator; de asemenea, rețineți că atunci când o linie de comandă începe cu un caracter liniuță (-), eșecul comenzii nu întrerupe întregul proces.


Deși acest fișier este inima procesului, el conține doar minimul necesar pentru rularea unui set standard de comenzi furnizate de debhelper instrument. Acesta este cazul fișierelor generate de dh_make. Pentru a instala majoritatea fișierelor, vă recomandăm să configurați comportamentul dh_install comandă creând următoarele debian/offsec-defaults.install fișier:


apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/ images/background.png usr/ share/imagini/offsec/

apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/ images/background.png usr/ share/imagini/offsec/


De asemenea, puteți utiliza acest lucru pentru a instala fișierul de înlocuire gsettings, dar debhelper oferă un instrument dedicat pentru aceasta (dh_installgsettings) astfel încât să vă puteți baza pe el. Mai întâi, introduceți setările debian/offsec-defaults.gsettings-override:


[org.gnome.desktop.background] picture-options='zoom'

picture-uri='file:///usr/share/images/offsec/background.png'

[org.gnome.desktop.background] picture-options='zoom'

picture-uri='file:///usr/share/images/offsec/background.png'


Apoi, anulați dh_installgsettings sună debian/rules pentru a crește prioritatea la nivelul așteptat pentru o modificare a organizației (care este 90 conform paginii de manual):


#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

imagine

În acest moment, pachetul sursă este gata. Tot ce rămâne de făcut este să generați pachetul binar cu aceeași metodă folosită anterior pentru reconstruirea pachetelor: rulați dpkg-buildpackage -us

-uc comandă din directorul offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: informații: pachet sursă offsec-defaults dpkg-buildpackage: informații: versiunea sursă 1.0

dpkg-buildpackage: info: distribuție sursă instabilă

dpkg-buildpackage: info: sursa schimbată de Raphaël Hertzog <[e-mail protejat]> dpkg-buildpackage: informații: arhitectura gazdă amd64

dpkg-source --before-build offsec-defaults-1.0 fakeroot debian/rules clean

dh curat

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0

dpkg-source: info: folosind formatul sursă „3.0 (nativ)”

dpkg-source: info: construirea offsec-defaults în offsec-defaults_1.0.tar.xz dpkg-source: info: construirea offsec-defaults în offsec-defaults_1.0.dsc

debian/rules build dh build

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot debian/rules binary dh binary

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangelogs

debian/rules override_dh_installgsettings

make[1]: se introduce în directorul „/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0” dh_installgsettings --priority=90

make[1]: Ieșim din directorul „/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0” dh_perl

dh_link dh_strip_nondeterminism dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: construirea pachetului „offsec-defaults” în „../offsec-defaults_1.0_all.deb”. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: informații: inclusiv codul sursă complet în încărcare dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: informații: încărcare completă; Pachetul nativ Debian (sursa completă este inclusă)

dh_builddeb

dpkg-deb: construirea pachetului „offsec-defaults” în „../offsec-defaults_1.0_all.deb”. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: informații: inclusiv codul sursă complet în încărcare dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: informații: încărcare completă; Pachetul nativ Debian (sursa completă este inclusă)


Top OS Cloud Computing la OnWorks: