ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

10.3.2. ایجاد بسته های پیکربندی


اکنون که راه‌اندازی PXE را لمس کرده‌ایم و مدیریت پیکربندی با Salt-Stack و همچنین فورک کردن بسته‌ها را مورد بحث قرار داده‌ایم، زمان آن رسیده است که این فرآیندها را در یک مثال عملی جمع‌بندی کنیم و با ایجاد یک بسته پیکربندی سفارشی، سناریو را با ایجاد یک بسته پیکربندی سفارشی گسترش دهیم تا یک پیکربندی سفارشی را اجرا کنیم. چندین ماشین به صورت نیمه اتوماتیک

در این مثال، شما یک بسته سفارشی ایجاد می‌کنید که مخزن بسته و کلید امضای GnuPG شما را تنظیم و از آن استفاده می‌کند، پیکربندی SaltStack را توزیع می‌کند، پس‌زمینه سفارشی را فشار می‌دهد و تنظیمات پیش‌فرض دسکتاپ را به روشی یکپارچه برای همه نصب‌های Kali شما فراهم می‌کند. .

ممکن است این یک کار دلهره آور به نظر برسد (مخصوصاً اگر به راهنمای نگهدارنده جدید دبیان نگاهی بیندازید.1) اما خوشبختانه برای ما، یک بسته پیکربندی عمدتاً یک آرشیو فایل پیچیده است و تبدیل آن به یک بسته نسبتاً آسان است.



نگاه کردن به یک نمونه اگر می خواهید به یک بسته واقعی نگاه کنید که اساساً یک بسته پیکربندی است، بسته کنار kali-defaults بسته بندی به سادگی نمونه در این بخش نیست، اما تمام ویژگی های مربوطه را دارد و حتی از برخی تکنیک های پیشرفته (مانند

dpkg-divert) برای جایگزینی فایل هایی که قبلاً توسط بسته های دیگر ارائه شده است.

نگاه کردن به یک نمونه اگر می خواهید به یک بسته واقعی نگاه کنید که اساساً یک بسته پیکربندی است، بسته کنار kali-defaults بسته بندی به سادگی نمونه در این بخش نیست، اما تمام ویژگی های مربوطه را دارد و حتی از برخی تکنیک های پیشرفته (مانند

dpkg-divert) برای جایگزینی فایل هایی که قبلاً توسط بسته های دیگر ارائه شده است.


تصویر

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

La offsec-defaults بسته حاوی چند فایل خواهد بود:


/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 master


/usr/share/images/offsec/background.png: یک تصویر پس زمینه زیبا با آرم امنیت توهین آمیز


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: فایلی که تنظیمات پیش فرض جایگزین را برای دسکتاپ گنوم ارائه می کند


ابتدا یک را ایجاد کنید offsec-defaults-1.0 دایرکتوری و همه فایل ها را در آن دایرکتوری قرار دهید. سپس اجرا کنید dh_make --بومی (از dh-make بسته) برای اضافه کردن دستورالعمل های بسته بندی دبیان، که در a ذخیره می شود دبیان دایرکتوری فرعی:


$ mkdir offsec-defaults-1.0; سی دی offsec-defaults-1.0

$ dh_make --بومی

نوع بسته: (تک، indep، کتابخانه، پایتون) [s/i/l/p]؟ i

آدرس ایمیل : [ایمیل محافظت شده] مجوز: gpl3

نام بسته: offsec-defaults نام نگهدارنده: Raphaël Hertzog نسخه: 1.0

نوع بسته بندی: مستقل

تاریخ : پنج شنبه, 16 ژوئن 2016 18:04:21 +0200

آیا جزئیات درست است؟ [Y/n/q] y

در حال حاضر Makefile سطح بالایی وجود ندارد. ممکن است نیاز به تنظیم اضافی انجام شود. لطفا فایل های موجود در دبیان/دایرکتوری فرعی را هم اکنون ویرایش کنید.

$ mkdir offsec-defaults-1.0; سی دی offsec-defaults-1.0

$ dh_make --بومی

نوع بسته: (تک، indep، کتابخانه، پایتون) [s/i/l/p]؟ i

آدرس ایمیل : [ایمیل محافظت شده] مجوز: gpl3

نام بسته: offsec-defaults نام نگهدارنده: Raphaël Hertzog نسخه: 1.0

نوع بسته بندی: مستقل

تاریخ : پنج شنبه, 16 ژوئن 2016 18:04:21 +0200

آیا جزئیات درست است؟ [Y/n/q] y

در حال حاضر Makefile سطح بالایی وجود ندارد. ممکن است نیاز به تنظیم اضافی انجام شود. لطفا فایل های موجود در دبیان/دایرکتوری فرعی را هم اکنون ویرایش کنید.


ابتدا یک نوع بسته از شما خواسته می شود. در مثال، ما انتخاب کردیم مستغرق، که نشان می دهد این بسته منبع یک بسته باینری واحد تولید می کند که می تواند در تمام معماری ها به اشتراک گذاشته شود (معماری: همه). تنها به عنوان یک همتا عمل می کند و یک بسته باینری واحد تولید می کند که به معماری هدف وابسته است (معماری: هر) در این مورد، مستغرق مرتبط تر است، زیرا بسته فقط حاوی فایل های متنی و بدون برنامه های باینری است، به طوری که می توان آن را به طور مشابه در رایانه های تمام معماری ها استفاده کرد. در کتابخانه نوع برای کتابخانه های مشترک مفید است، زیرا آنها باید از قوانین بسته بندی سختگیرانه پیروی کنند. به روشی مشابه، پایتون باید به ماژول های پایتون محدود شود.


نام نگهدارنده و اکثر برنامه های مربوط به نگهداری پکیج به دنبال نام و نام شما خواهند بود

آدرس ایمیل آدرس ایمیل در DEBFULLNAME و مبادله کردن or EMAIL متغیرهای محیطی. تعریف آنها، یک بار و برای همیشه، از تایپ مجدد چندباره آنها جلوگیری می کند. اگر پوسته معمولی شما Bash است، اضافه کردن دو خط زیر به آن ساده است ~ / .bashrc فایل. مثلا:

صادرات EMAIL=”[ایمیل محافظت شده]"

صادرات DEBFULLNAME=”رافائل هرتزوگ”


La dh_make دستور ایجاد یک دبیان زیر شاخه حاوی فایل های زیادی به ویژه برخی از آنها مورد نیاز است قوانین, کنترل, تغییراتو حق چاپ. فایل ها با .سابق پسوند فایل های نمونه ای هستند که می توان با تغییر آنها و حذف پسوند از آنها استفاده کرد. زمانی که نیازی به آنها نیست، توصیه می کنیم آنها را حذف کنید. در جمع کردن فایل باید نگهداری شود، زیرا برای عملکرد صحیح آن لازم است مهارکننده مجموعه ای از برنامه ها (همه با dh_ پیشوند) در مراحل مختلف فرآیند ساخت بسته استفاده می شود.

La حق چاپ فایل باید حاوی اطلاعاتی در مورد نویسندگان اسناد موجود در بسته و مجوز مربوطه باشد. اگر مجوز پیش فرض توسط dh_make برای شما مناسب نیست، پس باید این فایل را ویرایش کنید. در اینجا نسخه اصلاح شده فایل کپی رایت آمده است:


قالب: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


فایل ها: *

حق چاپ: مجوز امنیتی توهین آمیز 2016: GPL-3.0+


مجوز: GPL-3.0+

این برنامه نرم افزاری رایگان است: شما می توانید مجدداً آن را مجدداً توزیع کرده و یا آن را طبق شرایط مجوز عمومی عمومی گنو منتشر کنید که توسط بنیاد نرمافزار آزاد منتشر شده است ، یا نسخه 3 لایسنس ، یا (در انتخاب خود) نسخه بعدی.

.

این بسته به این امید که مفید واقع شود اما بدون ضمانت توزیع می شود. حتی بدون ضمانت ضمنی تجارت یا تناسب برای یک هدف خاص. را ببینید

مجوز عمومی عمومی گنو برای اطلاعات بیشتر.

.

شما باید یک نسخه از مجوز عمومی عمومی گنو را همراه با این برنامه دریافت می کردید. اگر نه، ببینید .

.

در سیستم‌های دبیان، متن کامل GNU General

مجوز عمومی نسخه 3 را می توان در "/usr/share/common-licenses/GPL-3" یافت.

قالب: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


فایل ها: *

حق چاپ: مجوز امنیتی توهین آمیز 2016: GPL-3.0+


مجوز: GPL-3.0+

این برنامه نرم افزاری رایگان است: شما می توانید مجدداً آن را مجدداً توزیع کرده و یا آن را طبق شرایط مجوز عمومی عمومی گنو منتشر کنید که توسط بنیاد نرمافزار آزاد منتشر شده است ، یا نسخه 3 لایسنس ، یا (در انتخاب خود) نسخه بعدی.

.

این بسته به این امید که مفید واقع شود اما بدون ضمانت توزیع می شود. حتی بدون ضمانت ضمنی تجارت یا تناسب برای یک هدف خاص. را ببینید

مجوز عمومی عمومی گنو برای اطلاعات بیشتر.

.

شما باید یک نسخه از مجوز عمومی عمومی گنو را همراه با این برنامه دریافت می کردید. اگر نه، ببینید .

.

در سیستم‌های دبیان، متن کامل GNU General

مجوز عمومی نسخه 3 را می توان در "/usr/share/common-licenses/GPL-3" یافت.

به طور پیش فرض تغییرات فایل به طور کلی مناسب است. جایگزین کردن "نسخه اولیه" با توضیح مفصل تر کافی است:


offsec-defaults (1.0) unstable; فوریت = متوسط


* فایل پیکربندی salt minion را اضافه کنید.

* ورودی sources.list یک APT و کلید GPG قابل اعتماد APT را اضافه کنید.

* طرح gsettings را که تصویر پس‌زمینه را تعریف می‌کند، لغو کنید.


-- رافائل هرتزوگ[ایمیل محافظت شده]> پنج شنبه, 16 ژوئن 2016 18:04:21 +0200

offsec-defaults (1.0) unstable; فوریت = متوسط


* فایل پیکربندی salt minion را اضافه کنید.

* ورودی sources.list یک APT و کلید GPG قابل اعتماد APT را اضافه کنید.

* طرح gsettings را که تصویر پس‌زمینه را تعریف می‌کند، لغو کنید.


-- رافائل هرتزوگ[ایمیل محافظت شده]> پنج شنبه, 16 ژوئن 2016 18:04:21 +0200


در مثال، ما تغییراتی در آن ایجاد خواهیم کرد کنترل فایل. را تغییر خواهیم داد بخش میدان به متاسفم و حذف کنید صفحه خانگی, Vcs-Gitو Vcs-Browser زمینه های. در نهایت، ما را پر می کنیم توضیحات: رشته:


منبع: offsec-defaults بخش: متفرقه

اولویت: اختیاری

نگهدارنده: رافائل هرتزوگ[ایمیل محافظت شده]> Build-Depends: debhelper (>= 9)

نسخه استاندارد: 3.9.8


بسته: offsec-defaults معماری: همه بستگی دارد: ${misc:Depends}

توضیحات: تنظیمات پیش فرض برای امنیت توهین آمیز

این بسته حاوی چندین فایل برای پیکربندی رایانه های متعلق به Offensive Security است.

.

به ویژه اصلاح می کند:

- پیکربندی APT

- پیکربندی salt-minion

- تنظیمات پیش فرض دسکتاپ

منبع: offsec-defaults بخش: متفرقه

اولویت: اختیاری

نگهدارنده: رافائل هرتزوگ[ایمیل محافظت شده]> Build-Depends: debhelper (>= 9)

نسخه استاندارد: 3.9.8


بسته: offsec-defaults معماری: همه بستگی دارد: ${misc:Depends}

توضیحات: تنظیمات پیش فرض برای امنیت توهین آمیز

این بسته حاوی چندین فایل برای پیکربندی رایانه های متعلق به Offensive Security است.

.

به ویژه اصلاح می کند:

- پیکربندی APT

- پیکربندی salt-minion

- تنظیمات پیش فرض دسکتاپ


La قوانین فایل معمولاً شامل مجموعه ای از قوانین است که برای پیکربندی، ساخت و نصب نرم افزار در یک زیر شاخه اختصاصی (نام بسته باینری تولید شده) استفاده می شود. سپس محتویات این زیرشاخه در بسته دبیان بایگانی می‌شوند که گویی ریشه سیستم فایل است. در این صورت فایل ها در قسمت نصب می شوند debian/offsec-defaults/ دایرکتوری فرعی به عنوان مثال، برای پایان دادن به نصب یک بسته /etc/apt/sources.list.d/offsec.list، فایل را در آن نصب کنید debian/offsec-defaults/etc/apt/sources.list.d/offsec.list. قوانین فایل به عنوان یک استفاده می شود makefile، با چند هدف استاندارد (از جمله تمیز و دوتایی، به ترتیب برای تمیز کردن دایرکتوری منبع و تولید بسته باینری استفاده می شود.


یک است makefile فایل؟ ممکن است متوجه پیام مربوط به گمشدگان شده باشید makefile در پایان dh_make خروجی و ذکر شباهت آن به قوانین فایل. آ makefile یک فایل اسکریپت است که توسط ساخت برنامه؛ قوانینی را برای نحوه ساخت مجموعه ای از فایل ها از یکدیگر در درختی از وابستگی ها شرح می دهد. به عنوان مثال، یک برنامه می تواند از مجموعه ای از فایل های منبع ساخته شود. در makefile فایل این قوانین را در قالب زیر شرح می دهد:

target: source1 source2 ... command1

فرمان 2


تفسیر چنین قاعده ای چنین است: اگر یکی از منبع* فایل ها جدیدتر از هدف فایل، سپس هدف باید با استفاده از فرمان 1 و فرمان 2.

توجه داشته باشید که خطوط فرمان باید با یک کاراکتر تب شروع شود. همچنین توجه داشته باشید که وقتی یک خط فرمان با یک کاراکتر خط تیره شروع می شود (-)، شکست دستور کل فرآیند را قطع نمی کند.


اگرچه این فایل قلب فرآیند است، اما فقط حداقل حداقل برای اجرای مجموعه استانداردی از دستورات ارائه شده توسط مهارکننده ابزار چنین موردی برای فایل های تولید شده توسط dh_make. برای نصب بیشتر فایل‌های خود، توصیه می‌کنیم رفتار فایل را پیکربندی کنید dh_install با ایجاد دستور زیر debian/offsec-defaults.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/ اشتراک گذاری/تصاویر/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/ اشتراک گذاری/تصاویر/offsec/


شما همچنین می توانید از این برای نصب فایل override 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 تماس بگیرید دبیان/قوانین برای افزایش اولویت به سطح مورد انتظار برای لغو یک سازمان (که طبق صفحه دستی 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 در offsec-defaults_1.0.tar.xz dpkg-source: اطلاعات: ساخت offsec-defaults در 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_installchangelogs

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_nodeterminism 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-native (منبع کامل موجود است)

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-native (منبع کامل موجود است)


برترین سیستم عامل Cloud Computing در OnWorks: