OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

10.3.2. Mencipta Pakej Konfigurasi‌


Sekarang kita telah menyentuh tentang but PXE dan membincangkan pengurusan konfigurasi dengan Salt- Stack serta forking pakej, tiba masanya untuk membungkus proses ini menjadi contoh praktikal dan melanjutkan senario dengan mencipta pakej konfigurasi tersuai untuk menggunakan konfigurasi tersuai kepada berbilang mesin secara separa automatik.

Dalam contoh ini, anda akan membuat pakej tersuai yang menyediakan dan menggunakan repositori pakej anda sendiri dan kunci tandatangan GnuPG, mengedarkan konfigurasi SaltStack, menolak latar belakang tersuai dan menyediakan tetapan desktop lalai dengan cara yang bersatu untuk semua pemasangan Kali anda .

Ini mungkin kelihatan seperti tugas yang menakutkan (terutamanya jika anda melihat melalui Panduan Penyelenggara Baharu Debian1) tetapi nasib baik bagi kami, pakej konfigurasi terutamanya arkib fail yang canggih dan mengubahnya menjadi pakej agak mudah.



Melihat ke dalam Sampel Jika anda ingin melihat ke dalam pakej sebenar yang pada asasnya adalah pakej konfigurasi, sambungkan Pakej berpihak kepada kali-defaults pakej. Ia tidak semudah sampel dalam bahagian ini tetapi ia mempunyai semua ciri yang berkaitan dan juga menggunakan beberapa teknik lanjutan (seperti

dpkg-divert) untuk menggantikan fail yang telah disediakan oleh pakej lain.

Melihat ke dalam Sampel Jika anda ingin melihat ke dalam pakej sebenar yang pada asasnya adalah pakej konfigurasi, sambungkan Pakej berpihak kepada kali-defaults pakej. Ia tidak semudah sampel dalam bahagian ini tetapi ia mempunyai semua ciri yang berkaitan dan juga menggunakan beberapa teknik lanjutan (seperti

dpkg-divert) untuk menggantikan fail yang telah disediakan oleh pakej lain.


gambar

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

. lalai offsec pakej akan mengandungi beberapa fail:


/etc/apt/sources.list.d/offsec.list: A sources.list kemasukan untuk APT, membolehkan repositori pakej dalaman syarikat


/etc/apt/trusted.gpg.d/offsec.gpg: kunci GnuPG yang digunakan untuk menandatangani repositori pakej dalaman syarikat


/etc/salt/minion.d/offsec.conf: fail konfigurasi SaltStack untuk menunjukkan tempat untuk mencari induk Salt


/usr/share/images/offsec/background.png: imej latar belakang yang bagus dengan logo Keselamatan Serangan


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: fail yang menyediakan tetapan lalai ganti untuk desktop GNOME


Pertama, buat satu offsec-defaults-1.0 direktori dan letakkan semua fail dalam direktori itu. Kemudian lari dh_make --native (Dari dh-buat pakej) untuk menambah arahan pembungkusan Debian, yang akan disimpan dalam a Debian sub-direktori:


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

$ dh_make --native

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

Alamat emel : [e-mel dilindungi] Lesen : gpl3

Nama Pakej : offsec-defaults Nama Penyelenggara : Raphaël Hertzog Versi : 1.0

Jenis Pakej : indep

Tarikh : Kha, 16 Jun 2016 18:04:21 +0200

Adakah butirannya betul? [Y/n/q] y

Pada masa ini tiada Makefile peringkat atas. Ini mungkin memerlukan penalaan tambahan Selesai. Sila edit fail dalam debian/ subdirektori sekarang.

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

$ dh_make --native

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

Alamat emel : [e-mel dilindungi] Lesen : gpl3

Nama Pakej : offsec-defaults Nama Penyelenggara : Raphaël Hertzog Versi : 1.0

Jenis Pakej : indep

Tarikh : Kha, 16 Jun 2016 18:04:21 +0200

Adakah butirannya betul? [Y/n/q] y

Pada masa ini tiada Makefile peringkat atas. Ini mungkin memerlukan penalaan tambahan Selesai. Sila edit fail dalam debian/ subdirektori sekarang.


Pertama, anda digesa untuk jenis pakej. Dalam contoh, kami memilih indep, yang menunjukkan bahawa pakej sumber ini akan menjana pakej binari tunggal yang boleh dikongsi merentas semua arkitek (Senibina: semua). tunggal bertindak sebagai rakan sejawat, dan menghasilkan pakej binari tunggal yang bergantung pada seni bina sasaran (Seni bina: mana-mana). Dalam kes ini, indep adalah lebih relevan, kerana pakej hanya mengandungi fail teks dan tiada program binari, supaya ia boleh digunakan sama pada komputer semua seni bina. The perpustakaan jenis berguna untuk perpustakaan kongsi, kerana mereka perlu mengikut peraturan pembungkusan yang ketat. Dengan cara yang sama, ular sawa harus dihadkan kepada modul Python.


Nama Penyelenggara dan Kebanyakan program yang terlibat dalam penyelenggaraan pakej akan mencari nama anda dan

Alamat emel alamat e-mel dalam DEBFULLNAME and DEBEMAIL or EMAIL pembolehubah persekitaran. Menentukannya, sekali dan untuk semua, menghalang menaip semulanya beberapa kali. Jika cangkerang biasa anda ialah Bash, adalah mudah untuk menambah dua baris berikut dalam anda ~ / .bashrc fail. Sebagai contoh:

eksport EMAIL=”[e-mel dilindungi]"

eksport DEBFULLNAME=”Raphael Hertzog”


. dh_make arahan dicipta a Debian subdirektori yang mengandungi banyak fail. Sesetengahnya diperlukan, khususnya peraturan, kawalan, Changelog, dan hak cipta terperlihara. Fail dengan .pembentuk sambungan adalah contoh fail yang boleh digunakan dengan mengubah suainya dan mengalih keluar sambungan. Apabila ia tidak diperlukan, kami mengesyorkan mengalih keluarnya. The compat fail harus disimpan, kerana ia diperlukan untuk berfungsi dengan betul debhelper suite program (semuanya bermula dengan dh_ awalan) digunakan pada pelbagai peringkat proses membina pakej.

. hak cipta terperlihara fail mesti mengandungi maklumat tentang pengarang dokumen yang disertakan dalam pakej, dan lesen yang berkaitan. Jika lesen lalai dipilih oleh dh_make tidak sesuai dengan anda, maka anda mesti mengedit fail ini. Berikut ialah versi diubah suai bagi fail hak cipta:


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


Fail: *

Hak Cipta: 2016 Lesen Keselamatan Menyinggung: GPL-3.0+


Lesen: GPL-3.0+

Program ini adalah perisian percuma: anda boleh mengagihkannya dan / atau mengubahnya di bawah syarat GNU General Public License seperti yang diterbitkan oleh Yayasan Perisian Bebas, sama ada versi 3 dari Lesen, atau (pada pilihan anda) versi yang lebih baru.

.

Pakej ini diedarkan dengan harapan ia akan berguna, tetapi TANPA SEBARANG WARANTI; tanpa jaminan tersirat KEBOLEHPERDAGANGAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat

Lesen Awam Umum GNU untuk maklumat lebih lanjut.

.

Anda sepatutnya menerima salinan Lesen Awam Am GNU bersama-sama dengan program ini. Jika tidak, lihat .

.

Pada sistem Debian, teks lengkap GNU General

Lesen Awam versi 3 boleh didapati dalam ”/usr/share/common-licenses/GPL-3”.

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


Fail: *

Hak Cipta: 2016 Lesen Keselamatan Menyinggung: GPL-3.0+


Lesen: GPL-3.0+

Program ini adalah perisian percuma: anda boleh mengagihkannya dan / atau mengubahnya di bawah syarat GNU General Public License seperti yang diterbitkan oleh Yayasan Perisian Bebas, sama ada versi 3 dari Lesen, atau (pada pilihan anda) versi yang lebih baru.

.

Pakej ini diedarkan dengan harapan ia akan berguna, tetapi TANPA SEBARANG WARANTI; tanpa jaminan tersirat KEBOLEHPERDAGANGAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat

Lesen Awam Umum GNU untuk maklumat lebih lanjut.

.

Anda sepatutnya menerima salinan Lesen Awam Am GNU bersama-sama dengan program ini. Jika tidak, lihat .

.

Pada sistem Debian, teks lengkap GNU General

Lesen Awam versi 3 boleh didapati dalam ”/usr/share/common-licenses/GPL-3”.

Lalai Changelog fail secara amnya sesuai; menggantikan "Keluaran awal" dengan penjelasan yang lebih terperinci sudah memadai:


lalai offsec (1.0) tidak stabil; segera = sederhana


* Tambah fail konfigurasi minion garam.

* Tambahkan entri sources.list APT dan kunci GPG dipercayai APT.

* Gantikan skema gsetting yang mentakrifkan gambar latar belakang.


-- Raphaël Hertzog[e-mel dilindungi]> Kha, 16 Jun 2016 18:04:21 +0200

lalai offsec (1.0) tidak stabil; segera = sederhana


* Tambah fail konfigurasi minion garam.

* Tambahkan entri sources.list APT dan kunci GPG dipercayai APT.

* Gantikan skema gsetting yang mentakrifkan gambar latar belakang.


-- Raphaël Hertzog[e-mel dilindungi]> Kha, 16 Jun 2016 18:04:21 +0200


Dalam contoh, kami akan membuat perubahan pada kawalan fail. Kami akan menukar seksyen bidang ke misc dan keluarkan Homepage, Vcs-Git, dan Vcs-Pelayar padang. Akhir sekali, kami akan mengisi Penerangan Produk bidang:


Sumber: offsec-defaults Bahagian: misc

Keutamaan: pilihan

Penyelenggara: Raphaël Hertzog[e-mel dilindungi]> Bergantung Binaan: debhelper (>= 9)

Standard-Versi: 3.9.8


Pakej: offsec-defaults Seni bina: semua Bergantung: ${misc:Depends}

Perihalan: Tetapan lalai untuk Keselamatan Menyinggung

Pakej ini mengandungi berbilang fail untuk mengkonfigurasi komputer yang dimiliki oleh Offensive Security.

.

Ia terutamanya mengubah suai:

- Konfigurasi APT

- konfigurasi garam-minion

- tetapan desktop lalai

Sumber: offsec-defaults Bahagian: misc

Keutamaan: pilihan

Penyelenggara: Raphaël Hertzog[e-mel dilindungi]> Bergantung Binaan: debhelper (>= 9)

Standard-Versi: 3.9.8


Pakej: offsec-defaults Seni bina: semua Bergantung: ${misc:Depends}

Perihalan: Tetapan lalai untuk Keselamatan Menyinggung

Pakej ini mengandungi berbilang fail untuk mengkonfigurasi komputer yang dimiliki oleh Offensive Security.

.

Ia terutamanya mengubah suai:

- Konfigurasi APT

- konfigurasi garam-minion

- tetapan desktop lalai


. peraturan fail biasanya mengandungi satu set peraturan yang digunakan untuk mengkonfigurasi, membina dan memasang perisian dalam subdirektori khusus (dinamakan sempena pakej binari yang dijana). Kandungan subdirektori ini kemudiannya diarkibkan dalam pakej Debian seolah-olah ia adalah akar sistem fail. Dalam kes ini, fail akan dipasang dalam debian/offsec-defaults/ subdirektori. Sebagai contoh, untuk berakhir dengan pemasangan pakej /etc/apt/sources.list.d/offsec.list, pasang fail dalam debian/offsec-defaults/etc/apt/sources.list.d/offsec.list. Yang peraturan fail digunakan sebagai a Makefile, dengan beberapa sasaran standard (termasuk membersihkan and perduaan, digunakan masing-masing untuk membersihkan direktori sumber dan menjana pakej binari).


Apa itu a Makefile fail? Anda mungkin perasan mesej berkenaan yang hilang Makefile pada akhir dh_make keluaran dan sebutan persamaannya dengan peraturan fail. A Makefile ialah fail skrip yang digunakan oleh membuat program; ia menerangkan peraturan tentang cara membina set fail antara satu sama lain dalam pepohon kebergantungan. Sebagai contoh, program boleh dibina daripada satu set fail sumber. The Makefile fail menerangkan peraturan ini dalam format berikut:

sasaran: sumber1 sumber2 ... arahan1

perintah2


Tafsiran peraturan tersebut adalah seperti berikut: jika salah satu daripada sumber* fail lebih terkini daripada sasaran fail, maka sasaran perlu dijana, menggunakan perintah1 and perintah2.

Ambil perhatian bahawa baris arahan mesti bermula dengan aksara tab; juga ambil perhatian bahawa apabila baris arahan bermula dengan aksara sempang (-), kegagalan arahan tidak mengganggu keseluruhan proses.


Walaupun fail ini adalah inti kepada proses, ia mengandungi hanya minimum untuk menjalankan set perintah standard yang disediakan oleh debhelper alat. Begitulah halnya bagi fail yang dijana oleh dh_make. Untuk memasang kebanyakan fail anda, kami mengesyorkan anda mengkonfigurasi tingkah laku dh_install arahan dengan mencipta yang berikut debian/offsec-defaults.install fail:


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/ kongsi/imej/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/ kongsi/imej/offsec/


Anda juga boleh menggunakan ini untuk memasang fail penggantian gsetting tetapi debhelper menyediakan alat khusus untuk ini (dh_installgsettings) supaya anda boleh bergantung padanya. Mula-mula, masukkan tetapan anda 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'


Seterusnya, gantikan dh_installgsettings menelefon debian/peraturan untuk meningkatkan keutamaan kepada tahap yang dijangkakan untuk penggantian organisasi (iaitu 90 mengikut halaman 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

gambar

Pada ketika ini, pakej sumber sudah sedia. Apa yang perlu dilakukan ialah menjana pakej binari dengan kaedah yang sama yang digunakan sebelum ini untuk membina semula pakej: jalankan dpkg-buildpackage -us

-uc arahan dari dalam direktori offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: maklumat: source package offsec-defaults dpkg-buildpackage: info: source version 1.0

dpkg-buildpackage: maklumat: pengedaran sumber tidak stabil

dpkg-buildpackage: maklumat: sumber diubah oleh Raphaël Hertzog <[e-mel dilindungi]> dpkg-buildpackage: maklumat: seni bina hos amd64

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

dh bersih

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0

dpkg-source: info: menggunakan format sumber '3.0 (asli)'

dpkg-source: info: membina offsec-defaults dalam offsec-defaults_1.0.tar.xz dpkg-source: info: membina offsec-defaults dalam offsec-defaults_1.0.dsc

debian/rules bina dh bina

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]: Memasuki direktori '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_installgsettings --priority=90

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

dh_pautan dh_strip_nondeterminism dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: membina pakej 'offsec-defaults' dalam '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: maklumat: termasuk kod sumber penuh dalam muat naik dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: maklumat: muat naik penuh; Pakej asli Debian (sumber penuh disertakan)

dh_builddeb

dpkg-deb: membina pakej 'offsec-defaults' dalam '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: maklumat: termasuk kod sumber penuh dalam muat naik dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: maklumat: muat naik penuh; Pakej asli Debian (sumber penuh disertakan)


Pengkomputeran Awan OS teratas di OnWorks: