# Archiso (العربية)

Archiso هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB . ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك. تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .

## الإعداد

ملاحظة البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64
. قبل البدء يجب عليك تنصيب 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 على و الترتيب .

تلميحة : يمكنك أيضا إنشاء مستودع محلي خاص بك custom local repository أو باستخدام الحزم من AUR/ABS. , عليك فقط إضافة مستودعك المحلي في أعلى الملف pacman.conf للحصول على أولوية عن باقي المستودعات، ثم انطلق .

يُفضل تنصيب "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/

تحذير: : ملف shadow الذي قمت بنسخه يحتوي على كلمة المرور الخاصة بك و التي سيستخدمها مُستخدم القرص الحي , لذا يُفضل تغيير كلمة المرور الخاصة بك قبل نسخ ملف shadow على القرص الحي ، قم بتغيير كلمة مرور النظام المضيف التي تريد أن يستخدمها مستخدم القرص الحي، ثم بعدها قم بالعودة إلى كلمة السر خاصتك.

### إضافة ملفات إلى صورة القرص الحي

ملاحظة : يجب أن تكون مستخدماً مديراً للنظام (مستخدم جذر root) للقيام بهذه المهمة , لا تقم بتغيير ملكية أي ملف تقوم بنسخه . جميع الملفات الموجودة داخل المجلد الجذر / يجب أن تكون مملوكة للمستخدم root سيتم فرز الملكيات في وقت قصير.

إن مجلد 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/~ (إذا كنت تعمل من خلاله):

1. 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' باسم المستخدم الذي قُمت بتحديده

1. قم بإنشاء مجلد المستخدم للجلسة الحية

    if [ ! -d /home/youruser ]; then
        mkdir /home/youruser && chown youruser /home/youruser
    fi

1. انسخ الملفات إلى مجلد المنزل.

    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% (مقدرة للحمل الزائد) + المطلوب %

Note: Some combinations are invalid. Example both sfs_comp and fs_type are set to none

### محمل الإقلاع

الملف الإفتراضي يجب أن يعمل بشكل جيد , لا تقم بتعديله .

بسبب الطبيعة الواحدية لـ 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> .

## See also

- Archiso project page
- Archiso as pxe server
- Step-by-step tutorial on using ArchISO
- A live DJ distribution powered by ArchLinux and built with Archiso

Categories:

- Live Arch systems (العربية)
- العربية