Cook Your Own Fedora

From FedoraProject

Revision as of 01:28, 19 June 2012 by Egydev (Talk | contribs)

Jump to: navigation, search

Contents

لمن هذا

- ان كان لديك الصبر الكافي لعمل توزيعتك الخاصة وايضا حط الانترنت المناسب فرحبا بك :) - ان كنت تريد اقامة احتفال وتوزيع فيدورا علي من ياتي كنسخ 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 الاخري وبمجرد النظر لها ستتعرف علي وظيفتها وان لم تتعرف يمكنك دائما ان تسال


المثال اللذي قمت بالشرح عليه