لمن هذا
- ان كان لديك الصبر الكافي لعمل توزيعتك الخاصة وايضا حط الانترنت المناسب فرحبا بك :) - ان كنت تريد اقامة احتفال وتوزيع فيدورا علي من ياتي كنسخ iso فغالبا لن يعجبهم كمبتدئين فيدورا نفسها حيث ان لاتحتوي علي فلاش او مشغلات الفديو الغير حرة - ان كنت لاتملك خط انترنت سريع انت ومجموعة من اصدقاء وتريدون استخدام فيدورا
مشاريع اخري
هناك توزيعات اخري مشتقة من فيدورا ربما تود ان تلقي عليها نظرة في ديسترو واتش فربما تجد مايوفر عليك الوقت
المتطلبات
يجب عليك تثبيت الحزم التالية
yum install livecd-tools fedora-kickstarts system-config-kickstart
ملف kickstart
لكي تقوم بعمل توزيعتك المفضلة من فيدورا عليك انشاء ملف kickstart واللذي تقوم بتعرف كل شئ به , التطبيقات , المخازن , اي تعديلات علي ملفات التهيئة وغيرها
اي جملة تبدأ بهاش # في ملف kickstart لايتم النظر لها اطلاقا
لذا يمكنك كتابة تعليقات لتذكر نفسك لاحقا بلماذا كتبت هذا ولم لم تكتب ذاك وهكذا
الطريقة اليدوية
[user@host:~]$ rpm -ql fedora-kickstarts
سيقوم هذا الامر بعرض ملفات kick start معدّة مسبقا وتم استخدامها في انتاج توزيعات فيدورا الحية
التي تجدها علي الموقع ولنقل مثلا اني اريد ان اقوم بعمل توزيعة مبنية علي توزيعة فيدورا
lxde ولكن مع بعض النكهات التي اريدها الامر بسيط
اطلع علي هذه الملفات قبل ان تكمل القراءه لكي تتعرف علي الشكل العام للملف وكيف يكون شكله
ملف نصي
افتح محرر النصوص اللذي تريده قم بعمل ملف وليكن اسمه مثلا palestine95.ks ولايهم اين سوف يتم حفظه
تضمين الملف المٌجهّز
بعد ذلك سأقوم بتضمين الملف الاصلي في ملف توزيعتي الخاصة بالشكل التالي
%include /usr/share/spin-kickstarts/fedora-livecd-lxde.ks
مره اخري يمكنك استخدام الامر
[user@host:~]$ rpm -ql fedora-kickstarts
لاستعراض كافة ملفات kickstart الموجوده وان لم يعجبك اي منها يمكنك فقط ان تقوم بتضمين ملف /usr/share/spin-kickstarts/fedora-live-base.ks وبعدها يمكنك لاحقا تثبيت بيئة العمل التي تناسبك حتي لو كانت iceWM
المخازن
بعد ذلك علي ان اقوم بتحديد المخازن التي اريد استخدام حزم منها , مثلا مخازن الفلاش ومخازن rpmfusion وغيرها
كالتالي
repo --name=rpmfusion-free --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-16&arch=$basearch repo --name=rpmfusion-free-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-16&arch=$basearch repo --name=rpmfusion-nonfree --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-16&arch=$basearch repo --name=rpmfusion-nonfree-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-16&arch=$basearch repo --name=flash-i386 --baseurl=http://linuxdownload.adobe.com/linux/i386/ repo --name=chrome --baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
الاسطر الاربعة الاولي تقوم بتضمين مخازن rpmfusion الحرة والغير حرة واخر سطرين لمخازن ادوبي لتثبيت الفلاش ومخزن جوجل كروم لتثبيت جوج كروم
الخصائص
بعد ذلك نقوم بتحديد الخصائص وساكتفي بذكر اثنين
selinux --disabled timezone Africa/Cairo
الاول يقوم باغلاق selinux لاني اعمل دائما خلف جدران نارية ولا اقوم بتثبيت اي شئ الا اذا كنت واثق من مصدره بالاضافة اني اقوم بعمل التغييرات علي توزيعتي لذا فهو مزعج جدا بالنسبة لي
السطر الثاني يقوم بتحديد المنطقة الزمنية
تحديد الحزم المطلوبة
عليك معرفة اسماء الحزم في مدير الحزم وليس مجرد اسم عام , اقصد انك يجب ان تكون علي علم انك لتثبيت برنامج فك الضغط المستخدم في جنوم ستحتاج الي تثبيت الحزمة المسماه
file-roller
وانك تحتاج الي حزمة unrar لكي يتعامل تطبيق فك الضغط مع ملفات rar
ولنقل الان اني اريد تثبيت فايرفوكس وثاندربيرد وايضا الفلاش و gnome-mplayer وgparted و dosfstools جوجل كروم - رغم اني لا استخدمه -
لكني لا اريد ايضا تثبيت xarchiver ولا اريد تثبيت مجموعة التطبيقات الخاصة بالطباعة لاني لا املك واحده فسوف اقوم بكتابة الاتي
%packages #Repositories meta packages rpmfusion-free-release rpmfusion-nonfree-release adobe-release-i386 #Packages I don't want -sylpheed -@printing -xarchiver -mtpaint -epdfview -gxine -gxine-mozplugin #Packages I want firefox thunderbird google-chrome-stable flash-plugin unrar gparted gnome-mplayer evince file-roller
نعم انت ادركتها الان :D
كلمة %packages كلمة مفتاحية توجد في هذا المكان لكي يعلم التطبيق اللذي سيقوم ببناء توزيعتك بان هذه هي اسماء الحزم فكما تعرف الحواسيب غبية ويجب ان تكون تدقيق معها وتخبرها بكل شئ لانها لاتعرف شئ
واي تطبيق تريد تثبيته فقط اكتب اسمها واي تطبيق يتم تثبيته افتراضيا من ملف kickstart اللذي قمت بعمل تضمين له ولا تريد اكتب اسمه مسبوق بالشارطة مثل
-xarchiver
الامر نفسطه ينطبق علي مجموعات البرامج ولكن اكتب قبل اسم المجموعة علامة @ وان كنت لاتعرف كثر من البرامج يتم وضعها في مجموعات تتكامل مع بعضها مثلا مجموعة الطباعة التي قمت
لكي تعرف المزيد عن مجموعة الطباعة مثلا
yum info @printing
يمكنك ان تطلف لخيالك العنان , eclipse , netbeans , virtualbox
ملحوظة : اول ثلاثة حزم في المثال والتي تنتهي بكلمة release هي حزم لاضافة المخازن للتوزيعة بعد التثبيت لان المخازن التي قمنا باضافتها في الاعلي سارية اثناء عمل وطبخ التوزيعة فقط وليس في داحل التوزيعة نفسها بعد عملها
نهاية الملف
ضع في نهاية الملف
%end
لتخبر البرنامج الذي سيقوم بعملية البناء انك انتهيت
الطريقة النصف الالية
قم بفتح التطبيق system-config-kickstart واختر اللغة والدولة وكلمة السر الافتراضية للمستخدم رووت وايضا حالة selinux , ان كنت تريده ام لا الي غير ذلك من الاختيارات
قم بحفظ الملف , ثم باكمال ما تريده كما في الطريقة اليدوية
الطبخ
[root@pospos:~]# livecd-creator -c palestine95.ks --title Palestine95 --cache=/media/Partion/cache --verbose
- اولا الامر يجب تنفيذ كمستخدم رووت - -c اختيار يحدد مكان ملف kickstart المستخدم في البناء - --title يحدد اسم التوزيعة وسميتها فلسطين 95 , ولايشترط ان يكون نفس اسم ملف kickstart - --cache هذا سيقوم بتحديد المكان اللذي سيتم بداخله تحميل الملفات المطلوبة لعمل الطبخة وهو اختيار غير ضروري لكن لن لم تحدده , سيقوم التطبيق الجاحد بحذف كل الملفات بعد انتهاء الطبخ وصدقني ستندم كثرا لانك بعد انتهاء طبخ توزيعتك بالتاكيد ستحتاج الي تجربتها وقد تكتشف انك محتاج الي تطبيق اخر او ازالة تطبيق معين وطبعا ستحتاج الي تنفيذ هذ التطبيق مره اخري واللذي سيقوم بتحمل كل الملفات مره اخري , والتي لايقل حجمها في اضعف الاحوال من 700 ميجا !!!! - --verbose لكي يكون البرنامج كثر الكلام معي , احب دائما ان اكون علي علي بكل مايجري بحاسوبي
خيارات اخري
هناك العديد والعديد من الاشياء التي لم اذكرها , مثلا يمكنك تنفيذ سكريبت معين يقوم بنسخ ملفات معينة او عمل اي شئ تحبه علي التوزيعة قبل تغليفها في ملف iso , وايضا يمكنك غلق الجدار الناري وغيره وغيره لكني لا اعتقد انها خيارات شائعة ولكن عموما يمكنك النظر في ملفات kickstart الاخري وبمجرد النظر لها ستتعرف علي وظيفتها وان لم تتعرف يمكنك دائما ان تسال