OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

10.3.2. Tworzenie pakietów konfiguracyjnych‌


Teraz, gdy poruszyliśmy temat uruchamiania PXE i omówiliśmy zarządzanie konfiguracją za pomocą Salt-Stack, a także rozwidlanie pakietów, nadszedł czas, aby podsumować te procesy w praktycznym przykładzie i rozszerzyć scenariusz, tworząc niestandardowy pakiet konfiguracyjny, aby wdrożyć niestandardową konfigurację w wiele maszyn półautomatycznie.

W tym przykładzie utworzysz niestandardowy pakiet, który konfiguruje i wykorzystuje twoje własne repozytorium pakietów i klucz podpisywania GnuPG, dystrybuuje konfigurację SaltStack, przesyła niestandardowe tło i zapewnia domyślne ustawienia pulpitu w ujednolicony sposób wszystkim twoim instalacjom Kali. .

Może się to wydawać zniechęcającym zadaniem (zwłaszcza jeśli przejrzysz Przewodnik dla nowych opiekunów Debiana1), ale na szczęście dla nas pakiet konfiguracyjny to głównie skomplikowane archiwum plików i przekształcenie go w pakiet jest dość łatwe.



Patrząc na próbkę Jeśli chcesz zajrzeć do prawdziwego pakietu, który jest w zasadzie pakietem konfiguracyjnym, con- Pakiet stań ​​obok kali-domyślne pakiet. Nie jest tak prosty jak przykład w tej sekcji, ale ma wszystkie istotne cechy, a nawet wykorzystuje niektóre zaawansowane techniki (takie jak

dpkg-przekierowanie), aby zastąpić pliki już dostarczone przez inne pakiety.

Patrząc na próbkę Jeśli chcesz zajrzeć do prawdziwego pakietu, który jest w zasadzie pakietem konfiguracyjnym, con- Pakiet stań ​​obok kali-domyślne pakiet. Nie jest tak prosty jak przykład w tej sekcji, ale ma wszystkie istotne cechy, a nawet wykorzystuje niektóre zaawansowane techniki (takie jak

dpkg-przekierowanie), aby zastąpić pliki już dostarczone przez inne pakiety.


obraz

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

Połączenia ustawienia domyślne offsec pakiet będzie zawierał kilka plików:


/etc/apt/sources.list.d/offsec.list: sources.list wpis dla APT, włączający wewnętrzne repozytorium pakietów firmy


/etc/apt/trusted.gpg.d/offsec.gpg: klucz GnuPG używany do podpisywania wewnętrznego repozytorium pakietów firmy


/etc/salt/minion.d/offsec.conf: plik konfiguracyjny SaltStack, aby wskazać, gdzie znaleźć Salt master


/usr/share/images/offsec/background.png: ładny obraz tła z logo Offensive Security


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: plik z alternatywnymi ustawieniami domyślnymi pulpitu GNOME


Najpierw utwórz offsec-defaults-1.0 katalogu i umieść wszystkie pliki w tym katalogu. Następnie uruchomić dh_make – natywny (Przy dh-make pakiet), aby dodać instrukcje pakowania Debiana, które będą przechowywane w debian podkatalog:


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

$ dh_make – natywny

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

Adres e-mail: [email chroniony] Licencja: gpl3

Nazwa pakietu: offsec-defaults Nazwa opiekuna: Raphaël Hertzog Wersja: 1.0

Rodzaj opakowania : indep

Data : Czw, 16 Cze 2016 18:04:21 +0200

Czy dane są prawidłowe? [T/n/kw] y

Obecnie nie istnieje Makefile najwyższego poziomu. Może to wymagać dodatkowego dostrojenia Gotowe. Proszę edytować teraz pliki w podkatalogu debian/.

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

$ dh_make – natywny

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

Adres e-mail: [email chroniony] Licencja: gpl3

Nazwa pakietu: offsec-defaults Nazwa opiekuna: Raphaël Hertzog Wersja: 1.0

Rodzaj opakowania : indep

Data : Czw, 16 Cze 2016 18:04:21 +0200

Czy dane są prawidłowe? [T/n/kw] y

Obecnie nie istnieje Makefile najwyższego poziomu. Może to wymagać dodatkowego dostrojenia Gotowe. Proszę edytować teraz pliki w podkatalogu debian/.


Najpierw zostaniesz poproszony o podanie typu pakietu. W przykładzie wybraliśmy niezależna, co oznacza, że ​​ten pakiet źródłowy wygeneruje pojedynczy pakiet binarny, który może być współużytkowany przez wszystkie architektury (Architektura: wszystkie). pojedynczy działa jako odpowiednik i tworzy pojedynczy pakiet binarny, który jest zależny od architektury docelowej (Architektura: dowolna). W tym przypadku, niezależna jest bardziej istotne, ponieważ pakiet zawiera tylko pliki tekstowe i nie zawiera programów binarnych, dzięki czemu może być używany podobnie na komputerach o wszystkich architekturach. ten biblioteka type jest przydatne dla bibliotek współdzielonych, ponieważ muszą one przestrzegać ścisłych reguł pakowania. W podobny sposób, pyton powinien być ograniczony do modułów Pythona.


Imię i nazwisko opiekuna oraz Większość programów związanych z obsługą pakietów będzie szukać Twojego imienia i

Adres e-mail adres e-mail w DEBFULLNAME i DEBEMAIL or E-MAIL Zmienne środowiska. Zdefiniowanie ich raz na zawsze zapobiega ich wielokrotnemu wpisywaniu. Jeśli twoją zwykłą powłoką jest Bash, wystarczy dodać następujące dwie linie w swoim ~ / .bashrc plik. Na przykład:

eksportuj E-MAIL=”[email chroniony]"

eksportuj DEBFULLNAME=”Raphael Hertzog”


Połączenia dh_make polecenie utworzone debian podkatalog zawierający wiele plików. Niektóre są wymagane, w szczególności reguły, kontrola, changelog, prawo autorskie. Pliki z .były rozszerzenie to przykładowe pliki, których można używać poprzez ich modyfikację i usunięcie rozszerzenia. Gdy nie są potrzebne, zalecamy ich usunięcie. ten kompatybil plik powinien być przechowywany, ponieważ jest on niezbędny do prawidłowego funkcjonowania debhelper zestaw programów (wszystkie zaczynające się od dh_ prefiks) używany na różnych etapach procesu budowania pakietu.

Połączenia prawo autorskie plik musi zawierać informacje o autorach dokumentów wchodzących w skład pakietu oraz związanej z nimi licencji. Jeśli domyślna licencja wybrana przez dh_make Ci nie odpowiada, musisz edytować ten plik. Oto zmodyfikowana wersja pliku praw autorskich:


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


Pliki: *

Prawa autorskie: 2016 ofensywna licencja bezpieczeństwa: GPL-3.0+


Licencja: GPL-3.0+

Ten program jest wolnym oprogramowaniem: możesz go redystrybuować i/lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, w wersji 3 tej Licencji lub (według Twojego wyboru) dowolnej późniejszej wersji.

.

Ten pakiet jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Zobacz

Powszechna Licencja Publiczna GNU po więcej szczegółów.

.

Wraz z tym programem powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU. Jeśli nie, zobacz .

.

W systemach Debian pełny tekst GNU General

Licencję publiczną w wersji 3 można znaleźć w „/usr/share/common-licenses/GPL-3”.

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


Pliki: *

Prawa autorskie: 2016 ofensywna licencja bezpieczeństwa: GPL-3.0+


Licencja: GPL-3.0+

Ten program jest wolnym oprogramowaniem: możesz go redystrybuować i/lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, w wersji 3 tej Licencji lub (według Twojego wyboru) dowolnej późniejszej wersji.

.

Ten pakiet jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Zobacz

Powszechna Licencja Publiczna GNU po więcej szczegółów.

.

Wraz z tym programem powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU. Jeśli nie, zobacz .

.

W systemach Debian pełny tekst GNU General

Licencję publiczną w wersji 3 można znaleźć w „/usr/share/common-licenses/GPL-3”.

Domyślny changelog plik jest ogólnie odpowiedni; zastąpienie „Wstępnego wydania” bardziej szczegółowym wyjaśnieniem powinno wystarczyć:


offsec-defaults (1.0) niestabilna; pilność=średnia


* Dodaj plik konfiguracyjny miniona soli.

* Dodaj wpis sources.list APT i zaufany klucz GPG APT.

* Zastąp schemat gsettings definiujący obraz tła.


— Raphaël Hertzog[email chroniony]> Czw., 16 czerwca 2016 r. 18:04:21 +0200

offsec-defaults (1.0) niestabilna; pilność=średnia


* Dodaj plik konfiguracyjny miniona soli.

* Dodaj wpis sources.list APT i zaufany klucz GPG APT.

* Zastąp schemat gsettings definiujący obraz tła.


— Raphaël Hertzog[email chroniony]> Czw., 16 czerwca 2016 r. 18:04:21 +0200


W tym przykładzie wprowadzimy zmiany w kontrola plik. Zmienimy Sekcja pole do misc i usuń Strona główna, Vcs-Git, Przeglądarka Vcs pola. Na koniec wypełnimy Opis pole:


Źródło: offsec-defaults Sekcja: misc

Priorytet: opcjonalny

Opiekun: Raphaël Hertzog[email chroniony]> Zależy od kompilacji: debhelper (>= 9)

Wersja standardowa: 3.9.8


Pakiet: offsec-defaults Architektura: wszystkie Zależności: ${misc:Depends}

Opis: Domyślne ustawienia ofensywnego bezpieczeństwa

Ten pakiet zawiera wiele plików do konfiguracji komputerów należących do Offensive Security.

.

W szczególności modyfikuje:

- Konfiguracja APT

- konfiguracja sługusów soli

- domyślne ustawienia pulpitu

Źródło: offsec-defaults Sekcja: misc

Priorytet: opcjonalny

Opiekun: Raphaël Hertzog[email chroniony]> Zależy od kompilacji: debhelper (>= 9)

Wersja standardowa: 3.9.8


Pakiet: offsec-defaults Architektura: wszystkie Zależności: ${misc:Depends}

Opis: Domyślne ustawienia ofensywnego bezpieczeństwa

Ten pakiet zawiera wiele plików do konfiguracji komputerów należących do Offensive Security.

.

W szczególności modyfikuje:

- Konfiguracja APT

- konfiguracja sługusów soli

- domyślne ustawienia pulpitu


Połączenia reguły plik zazwyczaj zawiera zestaw reguł używanych do konfigurowania, budowania i instalowania oprogramowania w dedykowanym podkatalogu (nazwanym tak jak wygenerowany pakiet binarny). Zawartość tego podkatalogu jest następnie archiwizowana w pakiecie Debiana tak, jakby był katalogiem głównym systemu plików. W takim przypadku pliki zostaną zainstalowane w debian/offsec-defaults/ podkatalog. Na przykład, aby zakończyć instalację pakietu /etc/apt/sources.list.d/offsec.list, zainstaluj plik w debian/offsec-defaults/etc/apt/sources.list.d/offsec.list, reguły plik jest używany jako Makefile, z kilkoma standardowymi celami (w tym kleń i dwójkowy, używany odpowiednio do czyszczenia katalogu źródłowego i generowania pakietu binarnego).


Czym są sterowniki Makefile plik? Być może zauważyłeś wiadomość dotyczącą zaginionych Makefile na końcu dh_make produkcji i wzmianka o jej podobieństwie do reguły plik. ZA Makefile to plik skryptu używany przez robić program; opisuje zasady budowania zbioru plików od siebie w drzewie zależności. Na przykład program można zbudować z zestawu plików źródłowych. ten Makefile plik opisuje te zasady w następującym formacie:

cel: źródło1 źródło2 ... polecenie1

polecenie 2


Interpretacja takiej zasady jest następująca: jeśli jeden z źródło* pliki są nowsze niż cel pliku, a następnie należy wygenerować cel, używając polecenie 1 i polecenie 2.

Zauważ, że wiersze poleceń muszą zaczynać się od znaku tabulacji; zauważ również, że gdy wiersz poleceń zaczyna się od znaku myślnika (-), niepowodzenie polecenia nie przerywa całego procesu.


Chociaż ten plik jest sercem procesu, zawiera tylko absolutne minimum potrzebne do uruchomienia standardowego zestawu poleceń dostarczonych przez debhelper narzędzie. Tak jest w przypadku plików generowanych przez: dh_make. Aby zainstalować większość plików, zalecamy skonfigurowanie zachowania dh_install polecenie, tworząc następujące debian/offsec-defaults.install file:


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/ udostępnij/zdjęcia/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/ udostępnij/zdjęcia/offsec/


Możesz również użyć tego do zainstalowania pliku zastępowania ustawień gsettings, ale debhelper zapewnia do tego dedykowane narzędzie (dh_installgustawienia), więc możesz na nim polegać. Najpierw wprowadź swoje ustawienia debian/offsec-defaults.gsettings-override:


[org.gnome.desktop.background] picture-options='powiększenie'

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

[org.gnome.desktop.background] picture-options='powiększenie'

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


Następnie zastąp dh_installgustawienia przywołać debian/zasady aby zwiększyć priorytet do poziomu oczekiwanego dla nadpisania organizacji (który wynosi 90 według strony podręcznika):


#!/usr/bin/make -f


%:

zd. $@


override_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

zd. $@


override_dh_installgsettings: dh_installgsettings --priority=90

obraz

W tym momencie pakiet źródłowy jest gotowy. Pozostało tylko wygenerować pakiet binarny tą samą metodą, jaka była wcześniej używana do przebudowy pakietów: uruchom dpkg-buildpackage -us

-uc polecenie z katalogu offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: info: pakiet źródłowy offsec-defaults dpkg-buildpackage: info: wersja źródłowa 1.0

dpkg-buildpackage: info: dystrybucja źródeł niestabilna

dpkg-buildpackage: info: źródło zmienione przez Raphaëla Hertzoga[email chroniony]> dpkg-buildpackage: informacje: architektura hosta amd64

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

dh czysty

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0

dpkg-source: info: używanie formatu źródłowego '3.0 (natywny)'

dpkg-source: info: budowanie offsec-defaults w offsec-defaults_1.0.tar.xz dpkg-source: info: budowanie offsec-defaults w offsec-defaults_1.0.dsc

debian/rules kompilacja dh kompilacja

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot binarny debian/rules binarny dh

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangelogs

debian/rules override_dh_installgsettings

make[1]: Przejście do katalogu „/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0” dh_installgsettings --priority=90

make[1]: Opuszczenie katalogu '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_perl

dh_link dh_strip_nondeterminizm dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: budowanie pakietu 'offsec-defaults' w '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: info: dołączenie pełnego kodu źródłowego podczas przesyłania dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: info: pełne przesyłanie; Pakiet natywny dla Debiana (zawiera pełne źródła)

dh_builddeb

dpkg-deb: budowanie pakietu 'offsec-defaults' w '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: info: dołączenie pełnego kodu źródłowego podczas przesyłania dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: info: pełne przesyłanie; Pakiet natywny dla Debiana (zawiera pełne źródła)


Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: