OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

10.3.3. إنشاء مستودع حزم لـ APT‌


الآن بعد أن أصبح لديك حزمة مخصصة ، يمكنك توزيعها من خلال مستودع حزم APT. يستخدم شجب لإنشاء المستودع المطلوب وتعبئته. هذه الأداة قوية إلى حد ما ، ومن المؤكد أن صفحتها اليدوية تستحق القراءة.

عادةً ما يتم استضافة مستودع الحزم على الخادم. لفصلها بشكل صحيح عن الخدمات الأخرى التي تعمل على الخادم ، من الأفضل إنشاء مستخدم مخصص لهذه الخدمة. في حساب المستخدم المخصص ، ستتمكن من استضافة ملفات المستودع وأيضًا مفتاح GnuPG الذي سيتم استخدامه للتوقيع على مستودع الحزمة:


# مناسب لتثبيت reprepro gnupg

[...]

# adduser - نظام - مجموعة pkgrepo

إضافة مستخدم النظام 'pkgrepo' (UID 136) ... إضافة مجموعة جديدة 'pkgrepo' (GID 142) ...

إضافة مستخدم جديد 'pkgrepo' (UID 136) بالمجموعة 'pkgrepo' ... جاري إنشاء الدليل الرئيسي '/ home / pkgrepo' ...

# chown pkgrepo $ (tty)

# su - -s / bin / bash pkgrepo

$ gpg - مفتاح جن

gpg (GnuPG) 2.1.11 ؛ حقوق النشر (C) 2016 Free Software Foundation، Inc. هذا برنامج مجاني: لك مطلق الحرية في تغييره وإعادة توزيعه.

لا يوجد ضمان ، إلى الحد الذي يسمح به القانون.


gpg: تم إنشاء الدليل "/home/pkgrepo/.gnupg"

gpg: ملف تكوين جديد '/home/pkgrepo/.gnupg/dirmngr.conf' إنشاء gpg: ملف تكوين جديد '/home/pkgrepo/.gnupg/gpg.conf' تم إنشاؤه gpg: keybox '/home/pkgrepo/.gnupg/ تم إنشاء pubring.kbx

ملاحظة: استخدم "gpg --full-gen-key" للحصول على مربع حوار كامل الميزات لإنشاء المفاتيح. يحتاج GnuPG إلى إنشاء معرف مستخدم لتحديد مفتاحك.

الاسم الحقيقي: مفتاح توقيع مستودع الأمان الهجومية

عنوان البريد الإلكتروني: [البريد الإلكتروني محمي]

لقد حددت معرف المستخدم هذا:

”مفتاح توقيع مستودع الأمان الهجومي[البريد الإلكتروني محمي]> "

# مناسب لتثبيت reprepro gnupg

[...]

# adduser - نظام - مجموعة pkgrepo

إضافة مستخدم النظام 'pkgrepo' (UID 136) ... إضافة مجموعة جديدة 'pkgrepo' (GID 142) ...

إضافة مستخدم جديد 'pkgrepo' (UID 136) بالمجموعة 'pkgrepo' ... جاري إنشاء الدليل الرئيسي '/ home / pkgrepo' ...

# chown pkgrepo $ (tty)

# su - -s / bin / bash pkgrepo

$ gpg - مفتاح جن

gpg (GnuPG) 2.1.11 ؛ حقوق النشر (C) 2016 Free Software Foundation، Inc. هذا برنامج مجاني: لك مطلق الحرية في تغييره وإعادة توزيعه.

لا يوجد ضمان ، إلى الحد الذي يسمح به القانون.


gpg: تم إنشاء الدليل "/home/pkgrepo/.gnupg"

gpg: ملف تكوين جديد '/home/pkgrepo/.gnupg/dirmngr.conf' إنشاء gpg: ملف تكوين جديد '/home/pkgrepo/.gnupg/gpg.conf' تم إنشاؤه gpg: keybox '/home/pkgrepo/.gnupg/ تم إنشاء pubring.kbx

ملاحظة: استخدم "gpg --full-gen-key" للحصول على مربع حوار كامل الميزات لإنشاء المفاتيح. يحتاج GnuPG إلى إنشاء معرف مستخدم لتحديد مفتاحك.

الاسم الحقيقي: مفتاح توقيع مستودع الأمان الهجومية

عنوان البريد الإلكتروني: [البريد الإلكتروني محمي]

لقد حددت معرف المستخدم هذا:

”مفتاح توقيع مستودع الأمان الهجومي[البريد الإلكتروني محمي]> "


تغيير (N) ame أو (E) mail أو (O) kay / (Q) uit؟ o

نحتاج إلى توليد الكثير من البايت العشوائي. إنها لفكرة جيدة أن تقوم ببعض الإجراءات الأخرى (اكتب على لوحة المفاتيح ، حرك الماوس ، استخدم الأقراص) أثناء الجيل الرئيسي ؛ هذا يعطي مولد الأرقام العشوائية فرصة أفضل للحصول على إنتروبيا كافية.

[...]

gpg: /home/pkgrepo/.gnupg/trustdb.gpg: تم إنشاء Trustdb gpg: تم تمييز المفتاح B4EF2D0D على أنه موثوق به تمامًا

gpg: تم إنشاء الدليل "/home/pkgrepo/.gnupg/openpgp-revocs.d"

gpg: تم تخزين شهادة الإبطال كـ "/home/pkgrepo/.gnupg/openpgp-revocs.d/

F8FE22F74F1B714E38DA6181B27F74F7B4EF2D0D.rev’

إنشاء المفتاح العام والسري وتوقيعه.


gpg: التحقق من ملف Trustdb

gpg: الهامش المطلوب: 3 مكتمل مطلوب: 1 نموذج ثقة: PGP

gpg: العمق: 0 صالح: 1 موقع: 0 Trust: 0-، 0q، 0n، 0m، 0f، 1u pub rsa2048 / B4EF2D0D 2016-06-17 [S]

بصمة المفتاح = F8FE 22F7 4F1B 714E 38DA 6181 B27F 74F7 B4EF 2D0D

uid [النهائي] مفتاح توقيع مستودع الأمان الهجومي[البريد الإلكتروني محمي]> فرعي rsa2048/38035F38 2016-06-17 []

تغيير (N) ame أو (E) mail أو (O) kay / (Q) uit؟ o

نحتاج إلى توليد الكثير من البايت العشوائي. إنها لفكرة جيدة أن تقوم ببعض الإجراءات الأخرى (اكتب على لوحة المفاتيح ، حرك الماوس ، استخدم الأقراص) أثناء الجيل الرئيسي ؛ هذا يعطي مولد الأرقام العشوائية فرصة أفضل للحصول على إنتروبيا كافية.

[...]

gpg: /home/pkgrepo/.gnupg/trustdb.gpg: تم إنشاء Trustdb gpg: تم تمييز المفتاح B4EF2D0D على أنه موثوق به تمامًا

gpg: تم إنشاء الدليل "/home/pkgrepo/.gnupg/openpgp-revocs.d"

gpg: تم تخزين شهادة الإبطال كـ "/home/pkgrepo/.gnupg/openpgp-revocs.d/

F8FE22F74F1B714E38DA6181B27F74F7B4EF2D0D.rev’

إنشاء المفتاح العام والسري وتوقيعه.


gpg: التحقق من ملف Trustdb

gpg: الهامش المطلوب: 3 مكتمل مطلوب: 1 نموذج ثقة: PGP

gpg: العمق: 0 صالح: 1 موقع: 0 Trust: 0-، 0q، 0n، 0m، 0f، 1u pub rsa2048 / B4EF2D0D 2016-06-17 [S]

بصمة المفتاح = F8FE 22F7 4F1B 714E 38DA 6181 B27F 74F7 B4EF 2D0D

uid [النهائي] مفتاح توقيع مستودع الأمان الهجومي[البريد الإلكتروني محمي]> فرعي rsa2048/38035F38 2016-06-17 []


لاحظ أنه عندما تتم مطالبتك بإدخال عبارة مرور ، يجب عليك إدخال قيمة فارغة (وتأكيد أنك لا تريد حماية مفتاحك الخاص) لأنك تريد أن تكون قادرًا على توقيع المستودع بشكل غير تفاعلي. لاحظ أيضًا أن المنافع العامة العالمية يتطلب وصولًا للكتابة إلى الجهاز الطرفي ليتمكن من المطالبة بأمان بعبارة مرور: لهذا السبب قمت بتغيير ملكية المحطة الافتراضية (التي يمتلكها الجذر منذ أن اتصلت في البداية بصفتك هذا المستخدم) قبل بدء تشغيل shell كـ pkgrepo.

الآن يمكنك البدء في إعداد المستودع. دليل مخصص ضروري ل شجب وداخل هذا الدليل ، عليك إنشاء ملف أسيوط / التوزيعات توثيق ملف التوزيعات المتاحة في مستودع الحزم:


$ mkdir -p reprepro / conf

$ نسخة القرص المضغوط

$ القط> أسيوط / التوزيعات <

الأصل: هجوم الأمن

الوصف: هندسة حزم Offsec الداخلية: المصدر amd64 i386 المكونات: main

SignWith: F8FE22F74F1B714E38DA6181B27F74F7B4EF2D0D END

$ mkdir -p reprepro / conf

$ نسخة القرص المضغوط

$ القط> أسيوط / التوزيعات <

الأصل: هجوم الأمن

الوصف: هندسة حزم Offsec الداخلية: المصدر amd64 i386 المكونات: main

SignWith: F8FE22F74F1B714E38DA6181B27F74F7B4EF2D0D END


الحقول المطلوبة هي اسم الرمزالذي يعطي اسم التوزيع ، أبنية، مما يشير إلى الأبنية التي ستكون متاحة في التوزيع (والمقبولة على جانب الإدخال) ، و المحتوى، مما يشير إلى المكونات المختلفة المتوفرة في التوزيع (كوم-

تعتبر العناصر نوعًا من الأقسام الفرعية للتوزيع ، والتي يمكن تمكينها بشكل منفصل في قائمة مصادر APT). ال المنشأ و الوصف الحقول إعلامية بحتة ويتم نسخها كما هي في الإفراج عن ملف. ال التوقيع مع يسأل المجال شجب لتوقيع المستودع بمفتاح GnuPG الذي تم إدراج معرفه (ضع بصمة الإصبع الكاملة هنا للتأكد من أنك تستخدم المفتاح الصحيح ، وليس آخر يتعارض مع المعرف القصير). ال أيضا قبول الإعداد ليس مطلوبًا ولكنه يجعل من الممكن معالجته .التغييرات الملفات التي يحتوي حقل التوزيع على قيمة مدرجة هنا (بدون ذلك ، لن يقبل إلا الاسم الرمزي للتوزيع في هذا الحقل).

مع هذا الإعداد الأساسي في مكانه ، يمكنك السماح لـ شجب إنشاء مستودع فارغ:


$ تصدير reprepro

تصدير الفهارس ...

$ تجد .

.

./ديسيبل

./ديسيبل/الإصدار

./db/references.db

./db/contents.cache.db

./db/checksums.db

./db/packages.db

./db/release.caches.db

./conf

./conf/التوزيعات

./dists

./dists/offsec-internal

./dists/offsec-internal/Release.gpg

./dists/offsec-internal/Release

./dists/offsec-internal/main

./dists/offsec-internal/main/source

./dists/offsec-internal/main/source/Release

./dists/offsec-internal/main/source/Sources.gz

./dists/offsec-internal/main/binary-amd64

./dists/offsec-internal/main/binary-amd64/Packages

./dists/offsec-internal/main/binary-amd64/Release

./dists/offsec-internal/main/binary-amd64/Packages.gz

./dists/offsec-internal/main/binary-i386

./dists/offsec-internal/main/binary-i386/Packages

./dists/offsec-internal/main/binary-i386/Release

./dists/offsec-internal/main/binary-i386/Packages.gz

./dists/offsec-internal/InRelease

$ تصدير reprepro

تصدير الفهارس ...

$ تجد .

.

./ديسيبل

./ديسيبل/الإصدار

./db/references.db

./db/contents.cache.db

./db/checksums.db

./db/packages.db

./db/release.caches.db

./conf

./conf/التوزيعات

./dists

./dists/offsec-internal

./dists/offsec-internal/Release.gpg

./dists/offsec-internal/Release

./dists/offsec-internal/main

./dists/offsec-internal/main/source

./dists/offsec-internal/main/source/Release

./dists/offsec-internal/main/source/Sources.gz

./dists/offsec-internal/main/binary-amd64

./dists/offsec-internal/main/binary-amd64/Packages

./dists/offsec-internal/main/binary-amd64/Release

./dists/offsec-internal/main/binary-amd64/Packages.gz

./dists/offsec-internal/main/binary-i386

./dists/offsec-internal/main/binary-i386/Packages

./dists/offsec-internal/main/binary-i386/Release

./dists/offsec-internal/main/binary-i386/Packages.gz

./dists/offsec-internal/InRelease


كما ترون، شجب إنشاء المعلومات الوصفية للمستودع في ملف الأقراص دليل فرعي. كما قام أيضًا بتهيئة قاعدة بيانات داخلية بتنسيق db الدليل الفرعي.

حان الوقت الآن لإضافة الحزمة الأولى الخاصة بك. أولاً ، انسخ الملفات التي تم إنشاؤها بواسطة إنشاء ملف offsec- التخلف عن السداد صفقة (الافتراضات offsec_1.0.dsc, الافتراضيات offsec_1.0.tar.xz,

offsec-defaults_1.0_all.deb و offsec-defaults_1.0_amd64.changes) إلى / tmp

على الخادم الذي يستضيف مستودع الحزم واسأل شجب لتضمين العبوة:


$ يشمل reprepro /tmp/offsec-defaults_1.0_amd64.changes offsec-داخلي

تصدير الفهارس ...

$ تجد بركة تجمع المسبح / المسبح الرئيسي / الرئيسي / س

تجمع / رئيسي / س / أوفسيك-الافتراضيات

pool / main / o / offsec-defaults / offsec-defaults_1.0.dsc pool / main / o / offsec-defaults / offsec-defaults_1.0.tar.xz pool / main / o / offsec-defaults / offsec-defaults_1.0.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX.dsc pool / main / o / offsec-defaults / offsec-defaults_XNUMX.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX. XNUMX_all.deb

$ يشمل reprepro /tmp/offsec-defaults_1.0_amd64.changes offsec-داخلي

تصدير الفهارس ...

$ تجد بركة تجمع المسبح / المسبح الرئيسي / الرئيسي / س

تجمع / رئيسي / س / أوفسيك-الافتراضيات

pool / main / o / offsec-defaults / offsec-defaults_1.0.dsc pool / main / o / offsec-defaults / offsec-defaults_1.0.tar.xz pool / main / o / offsec-defaults / offsec-defaults_1.0.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX.dsc pool / main / o / offsec-defaults / offsec-defaults_XNUMX.tar.xz pool / main / o / offsec-defaults / offsec-defaults_XNUMX. XNUMX_all.deb


كما ترى ، أضاف الملفات إلى مجموعة الحزم الخاصة به في ملف تجمع الدليل الفرعي.

الأقراص و تجمع الدلائل هما دليلين تحتاج إلى إتاحتهما (للجمهور) عبر HTTP لإنهاء إعداد مستودع APT الخاص بك. تحتوي على جميع الملفات التي تريد APT تنزيلها.

بافتراض أنك تريد استضافة هذا على مضيف افتراضي باسم pkgrepo.offsec.com، يمكنك إنشاء ملف تكوين Apache التالي وحفظه في / etc / apache2 / sites-available / pkgrepo. offsec.com، وتمكينه باستخدام a2ensite pkgrepo.offsec.com):


اسم الخادم pkgrepo.offsec.com ServerAdmin [البريد الإلكتروني محمي]


ErrorLog /var/log/Apache2/pkgrepo.offsec.com-error.log

CustomLog /var/log/apache2/pkgrepo.offsec.com-access.log ”٪ h٪ l٪ u٪ t \”٪ r \ ”٪> s٪ O” DocumentRoot / home / pkgrepo / reprepro

فهارس الخيارات FollowSymLinks MultiViews تتطلب جميع الممنوحة

AllowOverride جميع

اسم الخادم pkgrepo.offsec.com ServerAdmin [البريد الإلكتروني محمي]


ErrorLog /var/log/Apache2/pkgrepo.offsec.com-error.log

CustomLog /var/log/apache2/pkgrepo.offsec.com-access.log ”٪ h٪ l٪ u٪ t \”٪ r \ ”٪> s٪ O” DocumentRoot / home / pkgrepo / reprepro

فهارس الخيارات FollowSymLinks MultiViews تتطلب جميع الممنوحة

AllowOverride جميع


وما يقابلها sources.list سيبدو الإدخال للإضافة إلى الأجهزة التي تحتاج إلى حزم من هذا المستودع كما يلي:


deb http://pkgrepo.offsec.com offsec-internal main


# قم بتمكين السطر التالي إذا كنت تريد الوصول إلى حزم المصدر أيضًا

# deb-src http://pkgrepo.offsec.com offsec-internal main

deb http://pkgrepo.offsec.com offsec-internal main


# قم بتمكين السطر التالي إذا كنت تريد الوصول إلى حزم المصدر أيضًا

# deb-src http://pkgrepo.offsec.com offsec-internal main


تم نشر الحزمة الخاصة بك الآن ويجب أن تكون متاحة لمضيفي الشبكة.

على الرغم من أن هذا الإعداد كان طويلاً ، فقد اكتمل "رفع الأحمال الثقيلة" الآن. يمكنك تشغيل أجهزتك المتصلة بالشبكة عبر PXE ، وتثبيت إصدار مخصص من Kali Linux دون تفاعل بفضل الشبكة المقدرة مسبقًا ، وتكوين SaltStack لإدارة التكوينات الخاصة بك (والتحكم في التوابع!) ، وإنشاء حزم مخصصة متشعبة ، وتوزيع هذه الحزم من خلال مخزن الحزم الخاصة. يوفر هذا إدارة مركزية وتحكمًا على مستوى المؤسسة في عمليات تثبيت Kali Linux المتعددة. باختصار ، يمكنك الآن بسرعة نشر أنظمة Kali عالية الأمان والمُعدة مسبقًا لاحتياجاتك الخاصة والحفاظ عليها متزامنة بفضل تثبيت Kali (شبه التلقائي) لجميع تحديثات الحزمة.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: