Archiso (العربية)
Archiso هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB . ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك. تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .
الإعداد
. قبل البدء يجب عليك تنصيبarchiso من المستودعات الرسمية بشكل آخر يمكنك الحصول عليه من AUR.قم بإنشاء مجلد جديد لكي تعمل داخله , هذا المجلد يحتوي على جميع التعديلات الي ستجري على القرص الحي : ~/archlive
سيكون مناسباً .
$ mkdir ~/archlive
البرامج النصية الخاصة بالحزمة Archiso التي تم تنصيبها على الجهاز المُضيف host مسبقا يجب نقلها الى المجلد الجديد الذي تم إنشاؤه , Archiso يأتي "profiles" بنمطين : releng و baseline. , إذا اردت إنشاء قرص حي مُخصص بشكل كبير من Arch Linux يكون منصباً عليها جميع البرامج التي تريدها بالإضافة الى الإعددات قم باستخدم releng. وأما إذا أردت فقط إنشاء قرص إقلاعي بسيط لا يحتوي على برامج مسبقة التثبيت و يحوي الحد الأدنى من الإعدادات استخدم baseline. لذا حسب احتياجاتك قم بتنفيذ التعليمة التالية مستبدلاً كلمة 'PROFILE' وضع إحدى الكلمتين : releng أو baseline.
# cp -r /usr/share/archiso/configs/PROFILE/ ~USER/archlive
إذا كنت تستخدم نمط releng لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة #إعداد القرص الحي. أما إذا كنت تستخدم نمط baseline لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة #بناء ملف ISO.
إعداد القرص الحي
هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص . الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :
- داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي
packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .
تنصيب الحزم
عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية عظيمة القدر' حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص . الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .
يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .(#تنصيب الحزم)
إضافة مستخدم
توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة useradd المناسبة الى ملف rc.local أو عن طريق نسخ و تعديل الملفات التالية /etc/shadow, /etc/passwd, و /etc/group الطريقة الأخيرة سيتم اعتمادها بالشرح هنا . في البداية انسخ ملفات /etc/shadow, /etc/passwd, و /etc/group من النظام المُضيف host الذي تستخدمه في بناء القرص الحي إلى المجلد /etc/ الخاص بالنظام الجديد على القرص الحي : والذي ينبغي أن يكون /archlive/releng/root-image/etc/~.
# cp /etc/{shadow,passwd,group} ~/archlive/releng/root-image/etc/
إضافة ملفات إلى صورة القرص الحي
إن مجلد root-image يُمثل صندوقاً يحتوي على الملفات الموجودة في اعتبره كالمجلد الجذر '/' في نظامك الحالي، لذا كل الملفات التي تضعها في هذا المجلد سيتم نسخها على القرص الحي لذا في حال كان لديك نسخة من برامج النصية iptables على نظامك الحالي الخاصة ببرنامج و أردت إستخدامها في القرص الحي يمكنك نسخها باستخدام التعليمة التالية :
# cp -r /etc/iptables ~/archlive/releng/root-image/etc
لكن وضع الملفات داخل مجلد المنزل للمستخدمين مختلف قليلاً حيث لا يمكن وضعهم مباشرة ضمن المجلد root-image/home , وإنما ستقوم بإنشاء مجلد skel داخل root-image وتقوم بوضع الملفات هناك وبعد ذلك تقوم بإضافة التعليمات المناسبة لملف rc.local التي تقوم بنسخ هذه الملفات الى مجلد المنزل الخاص بالمستخدم عند الإقلاع و تقوم بإعطاء الصلاحيات المناسبة لها . في البداية أنشئ مجلد skel ويجب عليك التأكد من أنك داخل المجلد : /archlive/releng/root-image/etc/~ (إذا كنت تعمل من خلاله):
- cd ~/archlive/releng/root-image/etc && mkdir skel
الآن قم بنسخ الملفات الموجودة داخل مجلد المنزل 'home' في النظام المُضيف الى داخل مجلد skel , تذكر بأنه يجب عليك تطبيق جميع التعليمات كمستخدم جذر root فمثلا بخصوص ملف bashrc :
# cp ~/.bashrc ~/archlive/releng/root-image/etc/skel/
لآن داخل مجلد root-image/etc/ قم بإنشاء ملف rc.local وتأكد من أنك أعطيت الملف صلاحيات التنفيذ
# cd ~/archlive/releng/root-image/etc && touch rc.local && chmod +x rc.local
الآن قم بإضافة السطور التالية الى ملف rc.local مُستبدلاً كلمة 'youruser' باسم المستخدم الذي قُمت بتحديده
- قم بإنشاء مجلد المستخدم للجلسة الحية
if [ ! -d /home/youruser ]; then mkdir /home/youruser && chown youruser /home/youruser fi
- انسخ الملفات إلى مجلد المنزل.
su -c "cp -r /etc/skel/.* /home/youruser/" youruser
aitab
الملف الافتراضي يجب أن يعمل بشكل جيد , لذا لا تقم بتعديله . ملف aitab يحتوي معلومات حول حول انظمة الملفات الخاصة بالصور التي يتم إنشاءها بواسطة mkarchiso ويتم وصلها -mount- في مرحلة initramfs من خلال خطاف archiso hook. وهي تتألف من بعض الحقول التي تُحدد سلوك الصور
# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size>
- <img>
- اسم الصورة بدون لاحقة (.fs .fs.sfs .sfs).
- <mnt>
- نقظة الوصل.
- <arch>
- المعماريات{ i686 | x86_64 | any }.
- <sfs_comp>
- نوع ضغط نظام الملفات SquashFS { gzip | lzo | xz }.
- <fs_type>
- ضع نوع نظام الملفات الخاص بالصورة { ext4 | ext3 | ext2 | xfs }.قيمة خاصة من "none" يدل على عدم استخدام أي نظام الملفات
توضع الملفات مباشرة إلى نظام ملفات في هذه الحالة SquashFS.
- <fs_size>
- بايت الصورة قيمة محددة لحجم نظام ملفات بالميجا (مثال : 100, 1000, 4096, إلخ)
قيمة بديلة للمساحة الخالية على نظام الملفات [بالنسبة المئوية] {1%..99%} (مثال 50%, 10%, 7%).هذه قيمة تقديرية وتحسب بطريقة بسيطة المساحة المستخدمة + 10% (مقدرة للحمل الزائد) + المطلوب %
محمل الإقلاع
الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .
بسبب الطبيعة الواحدية لـ isolinux , فيمكنك استخدام العديد من الإضافات لطالما جميع ملفات *.c32 تم نسخها و هي متوفرة لديك و يمكنك إلقاء نظرة سريعة على الرسمي syslinux موقع بالإضافة الى archiso git repo. باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال هنا.
مدير تسجيل الدخول
تشغيل X في زمن الإقلاع كان يتم عن طريق تعديل inittab في الأنظمة التي تعتمد على sysvinit , في انظمة systemd يتم تفعيل ذلك عن طريق تفعيل خدمة تسجيل الدخول الخاصة بك . إذا كنت تعرف أي ملف .service يحتاج الى رابط softlink فهذا شيئ جيد , أما إذا لم تكن تعرف ذلك فيمكنك ببساطة إيجاده إذا كنت الخدمة ذاتها في النظام المُضيف الذي تقوم بإنشاء القرص الحي عليه فقط قم بتنفيذ التعليمة التالية
# systemctl disable nameofyourloginmanager
لكي توقف عمله مؤقتاً . الآن قم بإعادة كتابة التعليمة السابقة مع إستبدال كلمة disable بكلمة enable لإعادة تفعيلها مرة اخرى , Systemctl يقوم بإظهار معلومات عن الروابط التي يقوم بإنشاءها . الآن إنتقل الى المجلد ~/archiso/releng/root-image/etc/systemd/system وقم بإنشاء الرابط softlink ذاته
# ln -s /usr/lib/systemd/system/lxdm.service display-manager.service
التعليمة السابقة ستقوم بتفعيل واجهة LXDE كواجهة إفتراضية للنظام الحي .
بناء ملف ISO
الآن انت جاهز لتحويل ملفاتك الى صورة قرص من صيغة ISO و من ثم حرقها على إسطوانة CD أو على USB , داخل المجلد الذي تعمل فيه سواءً كان ~/archlive/releng, أو ~/archlive/baseline قم بتنفيذ التعليمة التالية :
# ./build.sh -v
البرنامج النصي سيقوم الآن بتحميل و تنصيب الحزم التي قُمت بتحديدها , يقوم بإنشاء صور للنواة و init , و تطبيق تعديلاتك ومن ثم يقوم ببناء ملف ISO في مجلد out/
استخدام ملف ISO
CD
يمكنك حرق ملف ISO الى قرص cd , يمكنك إتباع دليل CD Burning كما تريد .
USB
يمكنك نسخ ملف ISO الى قرص USB عن طريق تعليمة dd :
# dd if=~/archlive/releng/out/*.iso of=/dev/sdx
عليك تعديل التعليمة السابقة لكي توافق إحتياجاتك , لكن يجب التنبيه أن خطأ صغير في القسم الثاني من التعليمة يمكن أن يؤدي الى فقدان المعلومات في القرص الصلب
grub4dos
الأداة grub4dos تسمح لك بإنشاء USB مُتعددة الإقلاع يمكنها الإقلاع من أكثرمن توزيعة linux على USB ذاتها .
لإقلاع القرص الحي الذي قمت بإنشاءه من USB تحوي على grub4dos مُنصب مسبقاً عليك وصل ملف iso الذي قمت بإنشاءه loop mount و من ثم تقوم بنسخ المجلد /arch
بكافة محتوياته الى المجلد الرئيسي للـ USB . ثم تقوم بتعديل ملف
menu.lst
الخاص ببرنامج grub4dos و إضافة الأسطر التالية :
title Archlinux x86_64 kernel /arch/boot/x86_64/vmlinuz archisolabel=<your usb label> initrd /arch/boot/x86_64/archiso.img
قم بتعديل x86_64 حسب المعمارية التي تستخدمها و قم بوضع اسم قرص USB الخاص بك عوضاً عن <your usb label> .