Stasiun Kerja Online OnWorks Linux dan Windows

logo

Hosting Online Gratis untuk WorkStation

<Sebelumnya | Konten | Selanjutnya>

10.3.2. Membuat Paket Konfigurasi‌


Sekarang kita telah menyentuh boot PXE dan membahas manajemen konfigurasi dengan Salt-Stack serta forking paket, sekarang saatnya untuk membungkus proses ini menjadi contoh praktis dan memperluas skenario dengan membuat paket konfigurasi kustom untuk menyebarkan konfigurasi kustom ke beberapa mesin semi-otomatis.

Dalam contoh ini, Anda akan membuat paket kustom yang mengatur dan menggunakan repositori paket Anda sendiri dan kunci penandatanganan GnuPG, mendistribusikan konfigurasi SaltStack, mendorong latar belakang kustom, dan menyediakan pengaturan desktop default secara terpadu ke semua instalasi Kali Anda. .

Ini mungkin tampak seperti tugas yang menakutkan (terutama jika Anda melihat-lihat Panduan Pengelola Baru Debian1) tetapi untungnya bagi kami, paket konfigurasi terutama merupakan arsip file yang canggih dan mengubahnya menjadi paket agak mudah.



Melihat ke dalam Sampel Jika Anda ingin melihat ke dalam paket nyata yang pada dasarnya adalah paket konfigurasi, con- Paket sisir kali-default kemasan. Ini tidak sesederhana sampel di bagian ini tetapi memiliki semua karakteristik yang relevan dan bahkan menggunakan beberapa teknik lanjutan (seperti

pengalihan dpkg) untuk mengganti file yang sudah disediakan oleh paket lain.

Melihat ke dalam Sampel Jika Anda ingin melihat ke dalam paket nyata yang pada dasarnya adalah paket konfigurasi, con- Paket sisir kali-default kemasan. Ini tidak sesederhana sampel di bagian ini tetapi memiliki semua karakteristik yang relevan dan bahkan menggunakan beberapa teknik lanjutan (seperti

pengalihan dpkg) untuk mengganti file yang sudah disediakan oleh paket lain.


gambar

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

Grafik offsec-default paket akan berisi beberapa file:


/etc/apt/sources.list.d/offsec.list: The sources.list entri untuk APT, mengaktifkan repositori paket internal perusahaan


/etc/apt/trusted.gpg.d/offsec.gpg: kunci GnuPG yang digunakan untuk menandatangani repositori paket internal perusahaan


/etc/salt/minion.d/offsec.conf: file konfigurasi SaltStack untuk menunjukkan di mana menemukan master Salt


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


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: file yang menyediakan pengaturan default alternatif untuk desktop GNOME


Pertama, buat offsec-default-1.0 direktori dan letakkan semua file di direktori itu. Lalu lari dh_make --asli (dari dh-membuat package) untuk menambahkan instruksi pengemasan Debian, yang akan disimpan dalam a debian sub-direktori:


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

$ dh_make --asli

Jenis paket: (tunggal, indep, perpustakaan, python) [s/i/l/p]? i

Alamat email : [email dilindungi] Lisensi: gpl3

Nama Paket : offsec-defaults Nama Pengelola : Raphaël Hertzog Versi : 1.0

Jenis Paket: indep

Tanggal : Kam, 16 Jun 2016 18:04:21 +0200

Apakah detailnya benar? [Y/n/q] y

Saat ini tidak ada Makefile tingkat atas. Ini mungkin memerlukan penyetelan tambahan Selesai. Harap edit file di subdirektori debian/ sekarang.

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

$ dh_make --asli

Jenis paket: (tunggal, indep, perpustakaan, python) [s/i/l/p]? i

Alamat email : [email dilindungi] Lisensi: gpl3

Nama Paket : offsec-defaults Nama Pengelola : Raphaël Hertzog Versi : 1.0

Jenis Paket: indep

Tanggal : Kam, 16 Jun 2016 18:04:21 +0200

Apakah detailnya benar? [Y/n/q] y

Saat ini tidak ada Makefile tingkat atas. Ini mungkin memerlukan penyetelan tambahan Selesai. Harap edit file di subdirektori debian/ sekarang.


Pertama, Anda akan diminta untuk jenis paket. Dalam contoh, kami memilih indep, yang menunjukkan bahwa paket sumber ini akan menghasilkan satu paket biner yang dapat digunakan bersama di semua arsitektur (Arsitektur: semua). tunggal bertindak sebagai mitra, dan menghasilkan paket biner tunggal yang bergantung pada arsitektur target (Arsitektur: apa saja). Pada kasus ini, indep lebih relevan, karena paket tersebut hanya berisi file teks dan tidak ada program biner, sehingga dapat digunakan dengan cara yang sama pada komputer dari semua arsitektur. NS perpustakaan type berguna untuk pustaka bersama, karena mereka harus mengikuti aturan pengemasan yang ketat. Dengan cara yang serupa, ular sanca harus dibatasi untuk modul Python.


Nama Pengelola dan Sebagian besar program yang terlibat dalam pemeliharaan paket akan mencari nama Anda dan

Alamat email alamat email di NAMA DEBFULL dan DEBEMAIL or EMAIL variabel lingkungan. Mendefinisikannya, sekali dan untuk semua, mencegah pengetikan ulang beberapa kali. Jika shell Anda yang biasa adalah Bash, itu adalah masalah sederhana untuk menambahkan dua baris berikut di . Anda ~ / .bashrc mengajukan. Sebagai contoh:

ekspor EMAIL=”[email dilindungi]"

ekspor DEBFULLNAME=”Raphael Hertzog”


Grafik dh_membuat perintah dibuat a debian subdirektori yang berisi banyak file. Beberapa diperlukan, khususnya aturan, kontrol, changelog, dan hak cipta. File dengan .bekas ekstensi adalah file contoh yang dapat digunakan dengan memodifikasi dan menghapus ekstensi. Jika tidak diperlukan, kami sarankan untuk menghapusnya. NS compat file harus disimpan, karena diperlukan untuk fungsi yang benar dari debhelper rangkaian program (semuanya dimulai dengan dh_ awalan) digunakan pada berbagai tahap proses pembuatan paket.

Grafik hak cipta file harus berisi informasi tentang penulis dokumen yang disertakan dalam paket, dan lisensi terkait. Jika lisensi default dipilih oleh dh_membuat tidak sesuai dengan Anda, maka Anda harus mengedit file ini. Berikut adalah versi modifikasi dari file hak cipta:


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


File: *

Hak Cipta: Lisensi Keamanan Serangan 2016: GPL-3.0+


Lisensi: GPL-3.0+

Program ini adalah perangkat lunak bebas: Anda dapat mendistribusikannya kembali dan / atau memodifikasinya di bawah ketentuan GNU General Public License sebagaimana dipublikasikan oleh Free Software Foundation, baik versi 3 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.

.

Paket ini didistribusikan dengan harapan dapat bermanfaat, tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan tersirat tentang KELAYAKAN DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat

Lisensi Publik Umum GNU untuk perincian lebih lanjut.

.

Anda seharusnya telah menerima salinan GNU General Public License bersama dengan program ini. Jika tidak, lihat .

.

Pada sistem Debian, teks lengkap dari GNU General

Lisensi Publik versi 3 dapat ditemukan di ”/usr/share/common-licenses/GPL-3”.

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


File: *

Hak Cipta: Lisensi Keamanan Serangan 2016: GPL-3.0+


Lisensi: GPL-3.0+

Program ini adalah perangkat lunak bebas: Anda dapat mendistribusikannya kembali dan / atau memodifikasinya di bawah ketentuan GNU General Public License sebagaimana dipublikasikan oleh Free Software Foundation, baik versi 3 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.

.

Paket ini didistribusikan dengan harapan dapat bermanfaat, tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan tersirat tentang KELAYAKAN DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat

Lisensi Publik Umum GNU untuk perincian lebih lanjut.

.

Anda seharusnya telah menerima salinan GNU General Public License bersama dengan program ini. Jika tidak, lihat .

.

Pada sistem Debian, teks lengkap dari GNU General

Lisensi Publik versi 3 dapat ditemukan di ”/usr/share/common-licenses/GPL-3”.

Defaultnya changelog file umumnya sesuai; mengganti "Rilis awal" dengan penjelasan yang lebih bertele-tele sudah cukup:


offsec-default (1.0) tidak stabil; urgensi = sedang


* Tambahkan file konfigurasi minion garam.

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

* Ganti skema gsettings yang mendefinisikan gambar latar belakang.


-- Raphaël Hertzog[email dilindungi]> Kam, 16 Jun 2016 18:04:21 +0200

offsec-default (1.0) tidak stabil; urgensi = sedang


* Tambahkan file konfigurasi minion garam.

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

* Ganti skema gsettings yang mendefinisikan gambar latar belakang.


-- Raphaël Hertzog[email dilindungi]> Kam, 16 Jun 2016 18:04:21 +0200


Dalam contoh, kami akan membuat perubahan pada kontrol mengajukan. Kami akan mengubah Bagian lapangan ke misc dan hapus Beranda, Vcs-Git, dan Vcs-Browser bidang. Terakhir, kita akan mengisi Deskripsi Produk bidang:


Sumber: offsec-defaults Bagian: misc

Prioritas: opsional

Pengelola: Raphaël Hertzog[email dilindungi]> Build-Depends: debhelper (>= 9)

Standar-Versi: 3.9.8


Paket: offsec-defaults Arsitektur: semua Tergantung: ${misc:Depends}

Deskripsi: Pengaturan default untuk Keamanan Serangan

Paket ini berisi beberapa file untuk mengkonfigurasi komputer yang dimiliki oleh Keamanan Serangan.

.

Ini terutama memodifikasi:

- Konfigurasi APT

- konfigurasi pelayan garam

- pengaturan desktop default

Sumber: offsec-defaults Bagian: misc

Prioritas: opsional

Pengelola: Raphaël Hertzog[email dilindungi]> Build-Depends: debhelper (>= 9)

Standar-Versi: 3.9.8


Paket: offsec-defaults Arsitektur: semua Tergantung: ${misc:Depends}

Deskripsi: Pengaturan default untuk Keamanan Serangan

Paket ini berisi beberapa file untuk mengkonfigurasi komputer yang dimiliki oleh Keamanan Serangan.

.

Ini terutama memodifikasi:

- Konfigurasi APT

- konfigurasi pelayan garam

- pengaturan desktop default


Grafik aturan File biasanya berisi seperangkat aturan yang digunakan untuk mengkonfigurasi, membangun, dan menginstal perangkat lunak dalam subdirektori khusus (dinamai berdasarkan paket biner yang dihasilkan). Isi dari subdirektori ini kemudian diarsipkan dalam paket Debian seolah-olah itu adalah akar dari sistem file. Dalam hal ini, file akan diinstal di debian/offsec-default/ subdirektori. Misalnya, untuk mengakhiri dengan menginstal paket /etc/apt/sources.list.d/offsec.list, instal file di debian/offsec-defaults/etc/apt/sources.list.d/offsec.list. itu aturan file digunakan sebagai Makefile, dengan beberapa target standar (termasuk membersihkan dan biner, digunakan masing-masing untuk membersihkan direktori sumber dan menghasilkan paket biner).


Apa itu Makefile mengajukan? Anda mungkin telah memperhatikan pesan tentang yang hilang Makefile di akhir dh_membuat output dan penyebutan kesamaannya dengan aturan mengajukan. SEBUAH Makefile adalah file skrip yang digunakan oleh membuat program; itu menjelaskan aturan tentang bagaimana membangun satu set file dari satu sama lain di pohon dependensi. Misalnya, sebuah program dapat dibangun dari sekumpulan file sumber. NS Makefile file menjelaskan aturan ini dalam format berikut:

target: sumber1 sumber2 ... perintah1

perintah2


Interpretasi dari aturan tersebut adalah sebagai berikut: jika salah satu dari sumber* file lebih baru daripada target file, maka target perlu dibuat, menggunakan perintah1 dan perintah2.

Perhatikan bahwa baris perintah harus dimulai dengan karakter tab; juga perhatikan bahwa ketika baris perintah dimulai dengan karakter tanda hubung (-), kegagalan perintah tidak mengganggu seluruh proses.


Meskipun file ini adalah inti dari prosesnya, file ini hanya berisi minimal untuk menjalankan serangkaian perintah standar yang disediakan oleh debhelper alat. Seperti halnya untuk file yang dihasilkan oleh dh_membuat. Untuk menginstal sebagian besar file Anda, kami sarankan untuk mengonfigurasi perilaku dh_install perintah dengan membuat yang berikut ini 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/ bagikan/gambar/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/ bagikan/gambar/offsec/


Anda juga dapat menggunakan ini untuk menginstal file override gsettings tetapi debhelper menyediakan alat khusus untuk ini (dh_installgsettings) sehingga Anda dapat mengandalkannya. Pertama, masukkan pengaturan 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'


Selanjutnya, ganti dh_installgsettings memanggil debian/aturan untuk meningkatkan prioritas ke tingkat yang diharapkan untuk penggantian organisasi (yaitu 90 menurut halaman manual):


#!/usr/bin/make -f


%:

dh $@


timpa_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

dh $@


timpa_dh_installgsettings: dh_installgsettings --priority=90

gambar

Pada titik ini, paket sumber sudah siap. Yang tersisa untuk dilakukan adalah membuat paket biner dengan metode yang sama yang digunakan sebelumnya untuk membangun kembali paket: jalankan dpkg-buildpackage -us

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


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: info: paket sumber offsec-defaults dpkg-buildpackage: info: sumber versi 1.0

dpkg-buildpackage: info: distribusi sumber tidak stabil

dpkg-buildpackage: info: sumber diubah oleh Raphaël Hertzog[email dilindungi]> dpkg-buildpackage: info: arsitektur host amd64

dpkg-source --before-build offsec-defaults-1.0 fakeroot debian/aturan bersih

bersih sekali

dh_testdir dh_auto_clean dh_clean

dpkg-sumber -b offsec-default-1.0

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

dpkg-source: info: membangun offsec-defaults di offsec-defaults_1.0.tar.xz dpkg-source: info: membangun offsec-defaults di offsec-defaults_1.0.dsc

debian/aturan membangun dh build

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot debian/aturan biner dh biner

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangelogs

debian/aturan override_dh_installgsettings

make[1]: Masuk ke 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_link dh_strip_nondeterminism dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: membangun paket 'offsec-defaults' di '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: info: menyertakan kode sumber lengkap dalam unggahan dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: info: unggahan lengkap; Paket asli Debian (sumber lengkap disertakan)

dh_builddeb

dpkg-deb: membangun paket 'offsec-defaults' di '../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: info: menyertakan kode sumber lengkap dalam unggahan dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: info: unggahan lengkap; Paket asli Debian (sumber lengkap disertakan)


Komputasi Awan OS Teratas di OnWorks: