Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

10.3.2. Створення пакетів конфігурації‌


Тепер, коли ми торкнулися завантаження PXE і обговорили управління конфігурацією за допомогою Salt-Stack, а також роздвоєння пакетів, настав час обернути ці процеси в практичний приклад і розширити сценарій, створивши власний пакет конфігурації для розгортання спеціальної конфігурації для кілька машин напівавтоматично.

У цьому прикладі ви створите користувацький пакет, який налаштовує та використовує ваше власне сховище пакетів і ключ підпису GnuPG, розповсюджує конфігурацію SaltStack, налаштовує власний фон і надає параметри робочого столу за замовчуванням уніфіковано для всіх ваших установок Kali. .

Це може здатися складним завданням (особливо, якщо ви заглянете в Посібник з нового обслуговування Debian1), але, на щастя для нас, пакунок конфігурації – це переважно складний файловий архів, і перетворити його на пакет досить легко.



Перегляд зразка Якщо ви хочете розглянути справжній пакет, який по суті є пакетом конфігурації, пакет сторона kali-за замовчуванням пакет. Він не такий простий, як зразок у цьому розділі, але він має всі відповідні характеристики та навіть використовує деякі передові методи (наприклад

dpkg-переадресація), щоб замінити файли, які вже надаються іншими пакетами.

Перегляд зразка Якщо ви хочете розглянути справжній пакет, який по суті є пакетом конфігурації, пакет сторона kali-за замовчуванням пакет. Він не такий простий, як зразок у цьому розділі, але він має всі відповідні характеристики та навіть використовує деякі передові методи (наприклад

dpkg-переадресація), щоб замінити файли, які вже надаються іншими пакетами.


зображення

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

Команда offsec-за замовчуванням пакет буде містити кілька файлів:


/etc/apt/sources.list.d/offsec.list: sources.list запис для APT, що дозволяє використовувати внутрішній репозиторій пакетів компанії


/etc/apt/trusted.gpg.d/offsec.gpg: ключ GnuPG, який використовується для підписання внутрішнього сховища пакетів компанії


/etc/salt/minion.d/offsec.conf: файл конфігурації SaltStack, щоб вказати, де знайти майстер Salt


/usr/share/images/offsec/background.png: гарне фонове зображення з логотипом Offensive Security


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: файл, що надає альтернативні параметри за замовчуванням для робочого столу GNOME


Спочатку створіть offsec-defaults-1.0 каталог і помістити всі файли в цей каталог. Тоді біжи dh_make -- рідний (Від dh-make package), щоб додати інструкції з пакування Debian, які зберігатимуться в a Debian підкаталог:


$ mkdir offsec-defaults-1.0; CD offsec-defaults-1.0

$ dh_make -- рідний

Тип пакунка: (single, indep, library, python) [s/i/l/p]? i

Адреса електронної пошти : [захищено електронною поштою] Ліцензія: gpl3

Назва пакета: offsec-defaults Ім'я супроводжувача: Raphaël Hertzog Версія: 1.0

Тип упаковки: індеп

Дата : Чт, 16 червня 2016 18:04:21 +0200

Чи правильні деталі? [Y/n/q] y

Наразі не існує Makefile верхнього рівня. Для цього може знадобитися додаткова настройка Готово. Будь ласка, відредагуйте файли у підкаталозі debian/ зараз.

$ mkdir offsec-defaults-1.0; CD offsec-defaults-1.0

$ dh_make -- рідний

Тип пакунка: (single, indep, library, python) [s/i/l/p]? i

Адреса електронної пошти : [захищено електронною поштою] Ліцензія: gpl3

Назва пакета: offsec-defaults Ім'я супроводжувача: Raphaël Hertzog Версія: 1.0

Тип упаковки: індеп

Дата : Чт, 16 червня 2016 18:04:21 +0200

Чи правильні деталі? [Y/n/q] y

Наразі не існує Makefile верхнього рівня. Для цього може знадобитися додаткова настройка Готово. Будь ласка, відредагуйте файли у підкаталозі debian/ зараз.


Спочатку вам буде запропоновано ввести тип пакета. У прикладі ми вибрали індеп, що вказує на те, що цей вихідний пакет буде генерувати один бінарний пакет, який можна буде використовувати для всіх архітектур (Архітектура: все). один діє як аналог і створює єдиний двійковий пакет, який залежить від цільової архітектури (Архітектура: будь-яка). В цьому випадку, індеп є більш актуальним, оскільки пакет містить лише текстові файли і не містить двійкових програм, тому його можна використовувати аналогічно на комп’ютерах усіх архітектур. The бібліотека type корисний для спільних бібліотек, оскільки вони повинні дотримуватися суворих правил пакування. Подібним чином, пітон має бути обмежено модулями Python.


Ім'я утримувача та Більшість програм, які займаються обслуговуванням пакетів, будуть шукати ваше ім’я та

Адреса електронної пошти адреса електронної пошти в DEBFULLNAME та DEBEMAIL or ЕЛ. АДРЕСА змінні середовища. Визначення їх раз і назавжди запобігає повторному введенню їх кілька разів. Якщо вашою звичайною оболонкою є Bash, досить просто додати наступні два рядки у ваш ~ / .bashrc файл. Наприклад:

експорт EMAIL=”[захищено електронною поштою]"

експорт DEBFULLNAME=”Рафаель Герцог”


Команда dh_make створена команда a Debian підкаталог, що містить багато файлів. Деякі необхідні, зокрема Правила, контроль, змін та авторське право. Файли з .форматор розширення — це приклади файлів, які можна використовувати, змінюючи їх та видаляючи розширення. Коли вони не потрібні, рекомендуємо їх видалити. The Compat файл слід зберігати, оскільки він необхідний для правильного функціонування debhelper набір програм (усі починаючи з dh_ префікс), що використовується на різних етапах процесу створення пакета.

Команда авторське право файл повинен містити інформацію про авторів документів, що входять до пакету, та відповідну ліцензію. Якщо ліцензія за замовчуванням вибрана за dh_make вас не влаштовує, то ви повинні відредагувати цей файл. Ось змінена версія файлу авторських прав:


Формат: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


Файли: *

Авторські права: Ліцензія Offensive Security 2016: GPL-3.0+


Ліцензія: GPL-3.0+

Ця програма є вільним програмним забезпеченням: ви можете перерозподілити її та / або змінити її відповідно до умов Загальної публічної ліцензії GNU, опублікованих Фондом вільного програмного забезпечення, або версії 3 Ліцензії, або (за вашим бажанням) будь-якої пізнішої версії.

.

Цей пакет розповсюджується в надії, що він буде корисним, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ; навіть без неявної гарантії придатності до продажу або придатності для певної мети. Див

Загальна публічна ліцензія GNU для отримання детальної інформації.

.

Ви повинні були отримати копію Загальної публічної ліцензії GNU разом із цією програмою. Якщо ні, див .

.

У системах Debian повний текст GNU General

Публічну ліцензію версії 3 можна знайти в ”/usr/share/common-licenses/GPL-3”.

Формат: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


Файли: *

Авторські права: Ліцензія Offensive Security 2016: GPL-3.0+


Ліцензія: GPL-3.0+

Ця програма є вільним програмним забезпеченням: ви можете перерозподілити її та / або змінити її відповідно до умов Загальної публічної ліцензії GNU, опублікованих Фондом вільного програмного забезпечення, або версії 3 Ліцензії, або (за вашим бажанням) будь-якої пізнішої версії.

.

Цей пакет розповсюджується в надії, що він буде корисним, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ; навіть без неявної гарантії придатності до продажу або придатності для певної мети. Див

Загальна публічна ліцензія GNU для отримання детальної інформації.

.

Ви повинні були отримати копію Загальної публічної ліцензії GNU разом із цією програмою. Якщо ні, див .

.

У системах Debian повний текст GNU General

Публічну ліцензію версії 3 можна знайти в ”/usr/share/common-licenses/GPL-3”.

За умовчанням змін файл загалом підходить; замінити «Початковий випуск» більш детальним поясненням має бути достатньо:


offsec-defaults (1.0) нестабільний; терміновість = середня


* Додайте файл конфігурації міньона солі.

* Додайте запис APT sources.list і надійний ключ GPG APT.

* Замінити схему gsettings, яка визначає фонове зображення.


-- Рафаель Герцог[захищено електронною поштою]> Чт, 16 червня 2016 р. 18:04:21 +0200

offsec-defaults (1.0) нестабільний; терміновість = середня


* Додайте файл конфігурації міньона солі.

* Додайте запис APT sources.list і надійний ключ GPG APT.

* Замінити схему gsettings, яка визначає фонове зображення.


-- Рафаель Герцог[захищено електронною поштою]> Чт, 16 червня 2016 р. 18:04:21 +0200


У прикладі ми внесемо зміни до контроль файл. Ми змінимо розділ поле до Різне і видаліть Домашня сторінка, Vcs-Git та Vcs-браузер поля. Нарешті, ми заповнюємо Опис поле:


Джерело: offsec-defaults Розділ: інше

Пріоритет: необов’язковий

Ведучий: Рафаель Герцог[захищено електронною поштою]> Build-Depends: debhelper (>= 9)

Версія стандартів: 3.9.8


Пакет: offsec-defaults Архітектура: все Залежить: ${misc:Depends}

Опис: налаштування за замовчуванням для Offensive Security

Цей пакет містить декілька файлів для налаштування комп’ютерів, що належать Offensive Security.

.

Він особливо змінює:

- Конфігурація APT

- конфігурація соль-міньйон

- налаштування робочого столу за замовчуванням

Джерело: offsec-defaults Розділ: інше

Пріоритет: необов’язковий

Ведучий: Рафаель Герцог[захищено електронною поштою]> Build-Depends: debhelper (>= 9)

Версія стандартів: 3.9.8


Пакет: offsec-defaults Архітектура: все Залежить: ${misc:Depends}

Опис: налаштування за замовчуванням для Offensive Security

Цей пакет містить декілька файлів для налаштування комп’ютерів, що належать Offensive Security.

.

Він особливо змінює:

- Конфігурація APT

- конфігурація соль-міньйон

- налаштування робочого столу за замовчуванням


Команда Правила Зазвичай файл містить набір правил, які використовуються для налаштування, створення та встановлення програмного забезпечення у спеціальному підкаталозі (названому на честь згенерованого бінарного пакету). Потім вміст цього підкаталогу архівується в пакеті Debian так, ніби він є коренем файлової системи. У цьому випадку файли будуть встановлені в debian/offsec-defaults/ підкаталог. Наприклад, щоб закінчитися встановленням пакета /etc/apt/sources.list.d/offsec.list, встановіть файл у debian/offsec-defaults/etc/apt/sources.list.d/offsec.list, Правила файл використовується як a Makefile, з кількома стандартними цілями (в т.ч очистити та двійковий, що використовується відповідно для очищення вихідного каталогу та створення бінарного пакету).


Що таке? Makefile файл? Можливо, ви помітили повідомлення про зниклого Makefile в кінці кінця dh_make вихід і згадка про його схожість до Правила файл. A Makefile це файл сценарію, який використовується зробити програма; він описує правила створення набору файлів один з одного в дереві залежностей. Наприклад, програму можна створити з набору вихідних файлів. The Makefile файл описує ці правила в такому форматі:

ціль: джерело1 джерело2 ... команда1

команда2


Тлумачення такої норми таке: якщо одне з джерело* файли є новішими, ніж файли мета файл, то потрібно згенерувати ціль, використовуючи команда1 та команда2.

Зверніть увагу, що командні рядки повинні починатися з символу табуляції; також зауважте, що коли командний рядок починається з тире (-), відмова команди не перериває весь процес.


Хоча цей файл є основою процесу, він містить лише мінімальний мінімум для виконання стандартного набору команд, наданих debhelper інструмент. Це стосується файлів, створених за допомогою dh_make. Щоб інсталювати більшість ваших файлів, ми рекомендуємо налаштувати поведінку файлу dh_install команду, створивши наступне debian/offsec-default.install Файл:


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/images/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/images/offsec/


Ви також можете використовувати це для встановлення файлу заміни gsettings, але debhelper надає для цього спеціальний інструмент (dh_installgsettings), тож ви можете на це покластися. Спочатку введіть свої налаштування 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'


Далі перевизначте dh_installgsettings викликати debian/правила щоб збільшити пріоритет до рівня, очікуваного для заміни організації (який становить 90 відповідно до сторінки посібника):


#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

зображення

На цьому етапі вихідний пакет готовий. Все, що залишилося зробити, це створити двійковий пакет за допомогою того самого методу, який використовувався раніше для відновлення пакетів: запустити dpkg-buildpackage -us

-uc команда з каталогу offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: інформація: вихідний пакет offsec-defaults dpkg-buildpackage: інформація: вихідна версія 1.0

dpkg-buildpackage: інформація: вихідний розподіл нестабільний

dpkg-buildpackage: інформація: джерело змінено Raphaël Hertzog[захищено електронною поштою]> dpkg-buildpackage: інформація: архітектура хосту amd64

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

dh чистий

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0

dpkg-source: інформація: використання вихідного формату '3.0 (рідний)'

dpkg-source: інформація: створення offsec-defaults_1.0.tar.xz dpkg-source: інформація: створення 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 двійковий dh двійковий

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangels

debian/rules override_dh_installgsettings

make[1]: введення каталогу '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_installgsettings --priority=90

make[1]: Вихід з каталогу '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_perl

dh_link dh_strip_недетермінізм dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: створення пакета 'offsec-defaults' в '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: інформація: включаючи повний вихідний код у завантаженні dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: інформація: повне завантаження; Нативний пакет Debian (включено повне джерело)

dh_builddeb

dpkg-deb: створення пакета 'offsec-defaults' в '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: інформація: включаючи повний вихідний код у завантаженні dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: інформація: повне завантаження; Нативний пакет Debian (включено повне джерело)


Найпопулярніші хмарні обчислення ОС на OnWorks: