arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
226 lines (131 loc) • 17.8 kB
Markdown
**Archiso** هي مجموعة صغيرة من البرامج النصية الخاصة بالصدفة bash قادرة على بناء صورة لقرص إقلاعي سواءً أكان CD أو USB لتوزيعة Arch Linux , هذه الأداة عامة جداً , لذا فهي تُتيح لك إمكانية توليد العديد من أنواع الأقراص : بدءًا من أنظمة الإستعادة وحتى أقراص التنصيب و الأقراص الحية CD/DVD/USB . ببساطة إن كانت تتضمن Arch على إسطوانة براقة فهي قادرة على فعل ذلك. تعد الأداة mkarchiso بمثابة القلب والروح بالنسبة ل Archiso .جميع خيارات هذه الأداة تم توثيقها في مخرجات الاستخدام , لذا استخدامها المباشر لن يتم التطرق إليه هنا . يساعدك مقال الويكي التالي على إنشاء قرصك الحي في وقت بالغ القصر .
## Contents
* [1 الإعداد](#.D8.A7.D9.84.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF)
* [2 إعداد القرص الحي](#.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A)
* [2.1 تنصيب الحزم](#.D8.AA.D9.86.D8.B5.D9.8A.D8.A8_.D8.A7.D9.84.D8.AD.D8.B2.D9.85)
* [2.2 إضافة مستخدم](#.D8.A5.D8.B6.D8.A7.D9.81.D8.A9_.D9.85.D8.B3.D8.AA.D8.AE.D8.AF.D9.85)
* [2.3 إضافة ملفات إلى صورة القرص الحي](#.D8.A5.D8.B6.D8.A7.D9.81.D8.A9_.D9.85.D9.84.D9.81.D8.A7.D8.AA_.D8.A5.D9.84.D9.89_.D8.B5.D9.88.D8.B1.D8.A9_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A)
* [2.4 aitab](#aitab)
* [2.5 محمل الإقلاع](#.D9.85.D8.AD.D9.85.D9.84_.D8.A7.D9.84.D8.A5.D9.82.D9.84.D8.A7.D8.B9)
* [2.6 مدير تسجيل الدخول](#.D9.85.D8.AF.D9.8A.D8.B1_.D8.AA.D8.B3.D8.AC.D9.8A.D9.84_.D8.A7.D9.84.D8.AF.D8.AE.D9.88.D9.84)
* [3 بناء ملف ISO](#.D8.A8.D9.86.D8.A7.D8.A1_.D9.85.D9.84.D9.81_ISO)
* [4 استخدام ملف ISO](#.D8.A7.D8.B3.D8.AA.D8.AE.D8.AF.D8.A7.D9.85_.D9.85.D9.84.D9.81_ISO)
* [4.1 CD](#CD)
* [4.2 USB](#USB)
* [4.3 grub4dos](#grub4dos)
* [5 See also](#See_also)
## الإعداد
**ملاحظة** البرنامج النصي التالي يجب استخدامه على جهاز يعمل بمعمارية x86_64
. قبل البدء يجب عليك [تنصيب](/index.php/Pacman "Pacman")[archiso](https://www.archlinux.org/packages/?name=archiso) من [المستودعات الرسمية](/index.php/Official_repositories "Official repositories") بشكل آخر يمكنك الحصول عليه من [AUR](/index.php/AUR "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* لإنشاء قرص كامل التخصيص يجب عليك الانتقال الى الخطوة [#إعداد القرص الحي](#.D8.A5.D8.B9.D8.AF.D8.A7.D8.AF_.D8.A7.D9.84.D9.82.D8.B1.D8.B5_.D8.A7.D9.84.D8.AD.D9.8A). أما إذا كنت تستخدم نمط *baseline* لإنشاء قرص حي بسيط , لذا فإنك لا تحتاج الى أي تعديلات او تخصيصات و يمكنك مباشرة الإنتقال الى الخطوة [#بناء ملف ISO](#.D8.A8.D9.86.D8.A7.D8.A1_.D9.85.D9.84.D9.81_ISO).
## إعداد القرص الحي
هذا القسم يُفصل كيفية تهيئة إعدادت صورة القرص الحي الذي ستقوم بإنشائه سامحاً لك بتحديد الحزم و الإعدادات التي ترغب في تضمينها الى صورة القرص . الآن إنتقل الى المجلد الذي قمت بإنشائه مسبقاً (~/archlive/releng/ اذا كنت تتبع خطوات هذا الدليل) ستشاهد عدداً من الملفات والمجلدات :
داخله , نحن مهتمون بعدد منها فحسب , بشكل رئيسي
packages.* هنا نقوم سطرًا بسطر بإنشاء قائمة للحزم التي تريد تنصيبها , هذا المجلد root-image وهو المجلد الجذر لصورة القرص الذي يعمل كطبقة فوقية حيث يحتوي على جميع التغيرات التي سنقوم بها .
### تنصيب الحزم
عليك إنشاء قائمة بالحزم التي تريد تنصيبها على القرص الحي ; بإنشاء ملف يحوي على أسماء الحزم كاملةً حيث يجب أن يكون هنالك اسم حزمة واحدة في كل سطر , هذه الجزئية ***عظيمة القدر'** حيث تسمح لك بإنشاء أقراص حية ذات توجه مُعين , فقط عليك تحديد الحزم التي تُريد ومن م القيام بإنشاء ملف iso الخاص بالقرص .* الملفان packages.i686 و packages.x86_64 يسمحان لك بتحديد الحزم التي التي سيتم تنصيبها على معماريات 32 bit أو 64 bit على و الترتيب .
**تلميحة :** يمكنك أيضا إنشاء مستودع محلي خاص بك **[custom local repository](/index.php/Custom_local_repository "Custom local repository")** أو باستخدام الحزم من [AUR](/index.php/AUR "AUR")/[ABS](/index.php/ABS "ABS"). , عليك فقط إضافة مستودعك المحلي في أعلى الملف **pacman.conf** للحصول على أولوية عن باقي المستودعات، ثم انطلق .
يُفضل تنصيب "rsync" إذا أردت تنصيب النظام الذي تُريد إنشاؤه في وقت لاحق دون الحاجة الى وجود اتصال بالإنترنت أو لتجاوز خطوة إعادة تحميل الحزم مرة اخرى .([#التنصيب](#.D8.A7.D9.84.D8.AA.D9.86.D8.B5.D9.8A.D8.A8))
### إضافة مستخدم
توجد طريقتان لإنشاء المستخدمين ; أما بإضافة تعليمة 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 موقع](http://syslinux.zytor.com/wiki/index.php/SYSLINUX) بالإضافة الى [archiso git repo](https://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files). باستخدام الإضافات يمكنك إنشاء قوائم ذات مظهر جميل و معقد بآن واحد , شاهد المثال [هنا](http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32).
### مدير تسجيل الدخول
تشغيل 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](/index.php/CD_Burning "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](https://projects.archlinux.org/?p=archiso.git;a=summary)
* [Archiso as pxe server](/index.php/Archiso_as_pxe_server "Archiso as pxe server")
* [Step-by-step tutorial on using ArchISO](https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb)
* [A live DJ distribution powered by ArchLinux and built with Archiso](http://didjix.blogspot.com/)