# سیستم عامل ها > سیستم عامل های آزاد > توسعه‌ی لینوکس و نرم افزارهای آزاد > آموزش: ساخت یک توزیع مبتنی بر اوبونتو با Relinux

## prpe26

با سلام. 
اين آموزش رو به اين خاطر تدوين كردم كه هيچ رفرنس فارسي كاملي با محوريت ساخت توزيع موجود نيست!
براي اين آموزش؛ ابتدا بايد اوبونتو رو دانلود و نصب كنيد:
Http://ubuntu.com
خب بعد دانلود بايد رلينوكس رو دانلود كنيد كه لينكش رو ميزارم. براي آموزشهاي بعدي لينك و نحوه كانفيگ رلينوكس رو ميزارم :)

----------


## prpe26

دانلود و کانفیگ ریلینوکس:

خب در این آموزش سعی دارم تا نحوه کانفیگ و راه اندازی ریلینوکس رو به شما آموزش بدم :)

برای دانلود به این لینک بروید:

https://launchpad.net/relinux

خب حالا که دانلود کردید ؛ وقت آن رسیده که فایل را اکسترکت کنیم و بریم سراغ کانفیگ!

(توجه: من جهت راحتی کار نام فایل رو به relinux.tar.gz تغییر دادم)

خب ابتدا عمل اکسترکت رو انجام میدیم:

tar -xvf ./relinux.tar.gz


سپس باید فایلهایی که درون این فایل بودند رو به جای مناسبشون منتقل کنیم!

sudo cp -R usr etc /usr /etc /

----------


## prpe26

و اما ادامه آموزش ؛ 

وقتی که اوبونتو و ریلینوکس را داریم ؛ باید تغییرات دلخواه را درون توزیع ایجاد کنیم ولو تغییرات بسیار جزئی مثل تغییر نام توزیع!

برای تغییر نام ؛ و همچنین تغییر نام در بوت لودر دو کد زیر را نیاز داریم:

$sudo gksu gedit /etc/*release


که برای تغییر نام توزیع است و 

$sudo gksu gedit /etc/casper.conf


که در اصل برای تغییر نام توزیع در بوت لودر و صفحه نصب است!

اما برای تغییر در تم بوت ؛ در پوشه 

/lib/plymouth

میتوانیم تغییر ایجاد کنیم و برای تغییر در نصاب نیز باید سورس کد آن را  داشته باشیم ؛ در قسمت بعدی در مورد تغییرات اساسی و ریمستر گرفتن از توزیع  بخث خواهم کرد!

----------


## prpe26

خب ؛ یک سری تنظیمات هست که در پوشه خانگی شما ذخیره شده ؛ اون تنظیمات مربوط میشه به startup applications و تنظیمات کانکی و .... !
خب اگر میخواید اونها رو کاربر توزیعتون هم بهشون دسترسی داشته باشه ؛ طبق دستور زیر عمل کنید:

۱- ابتدا به پوشه خانگی خودتون برید ؛ 
۲- با زدن همزمان کلیدهای ctrl+H فایلهای مخفی رو نمایان کنید ؛ هر تنظیمی  که الان دلتون میخواد رو بیارید هرجا که دلتون میخواد؛ یعنی کپی کنید.
۳- حالا پوشه ای به اسم etc بسازید؛ درون این پوشه هم یک پوشه با نام skel درست کنید.
۴- اون پوشه های مخفی که عموما با نقطه شروع میشند رو داخل skel کپی کنید.
۵- توسط ترمینال پوشه دلخواه رو باز کنید (فرض میکنیم روی دسکتاپ پوشه ای به اسم settings داریم)

$cd Desktop/settings


و حالا کد زیر رو اجرا میکنیم تا تنظیمات به پوشه اصلی برن:

$sudo cp -R etc /etc /


خب کار تقریبا تموم شده ؛ اما چند نکته ریز رو به یاد داشته باشید:
۱- فایل های profile و bash_history  کاملا شخصی هستند پس اونا رو کپی نکنید
۲- اگر نیازی میبینید که تنظیماتی رو دوباره از نو اعمال کنید ؛ این کار رو  بزارید آخر سر ؛ چون در نهایت خود شمایید که از نتیجه مطلوب لذت میبرید ؛  همچنین کانفیگ خوب برای جلب رضایت کاربران (حتی اگر فقط خودتون کاربر  هستید) یکی از مهم ترین فاکتورهاست :)

----------


## prpe26

خب و اما نصاب ؛ نصاب رو باید یا :
۱- خودتون بسازید
۲- از نصاب های پیشفرض استفاده کنید.

البته ممکنه هیچ کدومش باب میل شما نباشه ؛ پس میریم سراغ کامپایل از سورس 

نصاب اوبونتو Ubiquity نام داشته و یکی از زیباترین و بهترین نصابهای موجود در دنیای گنو/لینوکس به شمار میاد.

خب برای داشتن سورس؛ باید از دستور source استفاده کنیم و سورس رو دانلود کنیم:

$sudo apt-get source ubiquity


بعد از دانلود سورس؛ یک پکیج tar.xz و یک فایل dsc به همراه فولدر محتوی سورس مشاهده میشه.
خب دقت کنید اینجا کمی کار مشکل میشه چون در اصل ما باید این نصاب رو از  سورس کامپایل کنیم. قبل از هرچیز بسته های dpkg-dev و checkinstall رو نصب  میکنیم:

$sudo apt-get install dpkg-dev checkinstall


خب حالا باید فایل dsc رو توسط dpkg-dev اجرا کنیم ؛ (برای راحتی کار ؛ نام فایل ubiquity.dsc در نظر گرفته شده است)
خب ابتدا این فایل رو اجرا میکنیم:
$sudo dpkg-source -x ./ubiquity.dsc


حالا به فولدر محتوی سورس میریم و طبق معمول عملیات کامپایل رو با دستورات make و make install انجام میدیم.
اما اگر ؛ بسته deb از فایل ساخته شده میخواید و میخواید همزمان نصب شه :  بجای make install از checkinstall استفاده کنید به شکل زیر:

$sudo checkinstall

----------


## darklove

عالی بود.
موفق باشید.

----------


## prpe26

من خودم به همین شکل جبیر او اس و سریر رو ساختم. البته سریر بیسش اوپن سوز هست که تفاوتهایی داره.
سعی میکنم اموزش رو کامل کنم حتما :)

----------


## prpe26

خب ؛ و اما ادامه داستان ....  

میرسیم به بخشی که همه منتظرش بودید ؛ بخش مهم و پرکار ما هم همین هست (در این بخش بیشتر از دقت و کاربلد بودن به حوصله نیاز دارید).

خب در آموزش های قبلی تقریبا همه چیز رو گفتم ؛ در این آموزش با من باشید تا کامل ریمستر کردن توزیع رو یاد بگیرید.

۱- ساخت فایل کانفیگ.

فایل کانفیگ ؛ فایلی هست که مشخصات توزیع خودتون رو درونش قرار میدید. خب ؛  برای ساخته شدنش توسط ریلینوکس ؛ به فولدری که میخواید برید و بعد این کد  رو در ترمینال بزنید:

$sudo relinux config


خب یک فایل به نام relinux.conf در پوشه خانگی (یا فولدری که داخلش هستید)  ایجاد میشه. این فایل رو باز کنید و اونقدر ادیتش کنید تا به نتیجه مطلوب  برسید. دقت کنید حجم کدهاش زیاده و حجم کدهای کامنتش بیشتر! پس دقت کنید  اشتباها کامنت ها رو تغییر ندید و کدهای اصلی رو تغییر بدید.
این فایل در نهایت دیستروی شما رو با نام پیشفرض Custom درست میکنه که با ادیتش میتونید نام دلخواه رو درونش بیارید. 
در نگه داری از این فایل هم کوشا باشید 

۲- ساخت فایل سیستم SquashFS :
این فایل ؛ فایل سیستم شماست که بکاپ گرفته شده ؛ با تمام تغییراتی که درونش اعمال کردید ؛ پس باید اینجا هم با دقت بسازید !
برای ساخت اسکواش اف اس ؛ شما حتما مجرای خنک کننده دستگاهتون رو طوری  بزارید که سیستم داغ نشه و خاموش نکنه. شما بهتره در اطاقی این کار رو  انجام بدید که کولر داشته باشه . البته مهم ترین قضیه داشتن فن و خنک کننده  قوی هست . برای لپتاپ ها بهتره یک کولپد تهیه کنید.
برای ساخت squashfs کد زیر رو بزنید:
$sudo relinux squashfs ./relinux.conf


البته دقت کنید در دایرکتوری خانگی باشید موقعی که کد رو میزنید. 
این آدرس هم برای فایلی که ساخته میشه :
/home/relinux


خب شما در قسمت ISOLinux و ادیت فایل isolinux.cfg میتونید بوت لودر اولیه  (همونجایی که انتخاب میکنید لایو بالا بیاد یا بره به صفحه نصب و ...) رو  ادیت کنید.


۳- ساخت فایل ایزو:
برای ساخت فایل ایزو هم کار خیلی راحته :
$sudo relinux onlyiso ./relinux.conf


خب بعد از ساخته شدن؛ این فایل هم در اون آدرس قرار میگیره به همراه فایل md5sum !
بعد از این کار ؛ شما میتونید براحتی بقایای ریمسترینگ رو پاک کنید و به نصب توزیع خودتون بپردازید:

$sudo relinux clean


موفق باشید

----------


## prpe26

دوستان آموزش تموم شد ؛ هر سوال  و مشکلی دارید در این تاپیک بپرسید  :چشمک:

----------


## ayub_coder

سلام اگه میشد که این مسائل رو بیشتر گسترش بدید. و ریز کار را هم بگید. 
اگه میشد ادامه بدید خیلی خوب میشد.  :قلب:

----------


## prpe26

هرجای آموزش نیاز به ریزه کاری داره بفرمایید در خدمتم  :لبخند:

----------


## ayub_coder

حتما باید اینو امتحان کنم.!!  :قلب: خوب وقتی این ساخته شد همه ی نرم افزارایی که توس اوبونتو نصبه روی دیسترو هم پیش فرض نصب میشه؟

----------


## faribaz79

سلام. من می خواهم یک اوبونتو بهینه شده بسازم که به صورت اتوماتیک اوبونتو را نصب کنه. و از متد Preseeding methods می خواهم استفاده کنم. ولی دقیقا نمی دونم چه جوری باید شروع کنم.؟

----------


## prpe26

> حتما باید اینو امتحان کنم.!! خوب وقتی این ساخته شد همه ی نرم افزارایی که توس اوبونتو نصبه روی دیسترو هم پیش فرض نصب میشه؟


بله. 

مثلا مینت خودش با این ابزار ساخته میشه. و کدکها و سافتور سنتر خودش و ... توش هست :)




> سلام. من می خواهم یک اوبونتو بهینه شده بسازم که به صورت اتوماتیک اوبونتو را نصب کنه. و از متد Preseeding methods می خواهم استفاده کنم. ولی دقیقا نمی دونم چه جوری باید شروع کنم.؟


خب شما میتونید چند کار انجام بدید :

1- کرنل و squashfs و aufs و ... رو دستی کامپایل و کانفیگ کنید ، بعد کل فایل سیستم رو توی یک پوشه کپی کنید در نهایت از اون توسط mksquashfs و mkisofs فایل ایزو تهیه کنید (توی ویکی پاپی لینوکس عبارت Remaster رو جستجو کنید ، راهنماش میاد). 

2- از ابزارهای آماده استفاده کنید :)

----------


## pouralijan

> خب ؛ یک سری تنظیمات هست که در پوشه خانگی شما ذخیره شده ؛ اون تنظیمات مربوط میشه به startup applications و تنظیمات کانکی و .... !
> خب اگر میخواید اونها رو کاربر توزیعتون هم بهشون دسترسی داشته باشه ؛ طبق دستور زیر عمل کنید:
> 
> ۱- ابتدا به پوشه خانگی خودتون برید ؛ 
> ۲- با زدن همزمان کلیدهای ctrl+H فایلهای مخفی رو نمایان کنید ؛ هر تنظیمی  که الان دلتون میخواد رو بیارید هرجا که دلتون میخواد؛ یعنی کپی کنید.
> ۳- حالا پوشه ای به اسم etc بسازید؛ درون این پوشه هم یک پوشه با نام skel درست کنید.
> ۴- اون پوشه های مخفی که عموما با نقطه شروع میشند رو داخل skel کپی کنید.
> ۵- توسط ترمینال پوشه دلخواه رو باز کنید (فرض میکنیم روی دسکتاپ پوشه ای به اسم settings داریم)
> 
> ...




سلام 
من وقتی دستور بالا رو میزنم این erorr میده
hp-hassking@hphassking-VirtualBox:~/Desktop/settings$ $sudo cp -R etc /etc /
cp: cannot create regular file `/etc/skel/.vboxclient-clipboard.pid': Permission denied
cp: cannot create regular file `/etc/skel/.ICEauthority': Permission denied
cp: cannot create regular file `/etc/skel/.bash_history': Permission denied
cp: cannot create directory `/etc/skel/.gvfs': Permission denied
cp: cannot create regular file `/etc/skel/.screenrc': Permission denied
cp: cannot create directory `/etc/skel/.local': Permission denied
cp: cannot create directory `/etc/skel/.pulse': Permission denied
cp: cannot create regular file `/etc/skel/.vboxclient-seamless.pid': Permission denied
cp: cannot create directory `/etc/skel/.thumbnails': Permission denied
cp: cannot create directory `/etc/skel/.gnome2': Permission denied
cp: cannot create directory `/etc/skel/.fontconfig': Permission denied
cp: cannot create regular file `/etc/skel/.vboxclient-display.pid': Permission denied
cp: cannot create directory `/etc/skel/.cache': Permission denied
cp: cannot create directory `/etc/skel/.xinput.d': Permission denied
cp: cannot create regular file `/etc/skel/.bash_logout': Permission denied
cp: cannot create directory `/etc/skel/.mozilla': Permission denied
cp: cannot create regular file `/etc/skel/.xsession-errors': Permission denied
cp: cannot create regular file `/etc/skel/.Xauthority': Permission denied
cp: cannot create regular file `/etc/skel/.xsession-errors.old': Permission denied
cp: cannot create directory `/etc/skel/.mission-control': Permission denied
cp: cannot create directory `/etc/skel/.gstreamer-0.10': Permission denied
cp: cannot create regular file `/etc/skel/.gtk-bookmarks': Permission denied
cp: cannot create regular file `/etc/skel/.profile': Permission denied
cp: cannot create regular file `/etc/skel/.gksu.lock': Permission denied
cp: cannot create directory `/etc/skel/.gconf': Permission denied
cp: cannot create directory `/etc/skel/.dbus': Permission denied
cp: cannot create directory `/etc/skel/.byobu': Permission denied
cp: cannot create symbolic link `/etc/skel/.Private': Permission denied
cp: cannot create directory `/etc/skel/.compiz-1': Permission denied
cp: cannot create regular file `/etc/skel/.apport-ignore.xml': Permission denied
cp: cannot create regular file `/etc/skel/.bashrc': Permission denied
cp: cannot create directory `/etc/skel/.config': Permission denied
cp: cannot create symbolic link `/etc/skel/.ecryptfs': Permission denied
cp: cannot create regular file `/etc/skel/.pulse-cookie': Permission denied
cp: `/etc' and `/etc' are the same file
hp-hassking@hphassking-VirtualBox:~/Desktop/settings$

----------


## prpe26

خب شما فلگ $ رو چرا کپی میکنید؟ اون prompt خود bash هست و نیازی نیست کپیش کنید. در اصل باید در ترمینال بزنید:

sudo cp -R etc /etc /

:)

----------


## linuxusr

سلام
من دستور   
sudo <span class="highlight">relinux</span> config
رو که وارد میکنم مینویسه:
bash: span: No such file or directory
لطفا راهنمایی کنید.

----------


## pbm_soy

ای کاش قبل از شروع یک توضیح کلی میدادید!
اونطوری که من فهمیدم کل کارها تحت لینوکس انجام میشود آیا سیستم عاملی که در آن کار میکنید حتما باید ابونتو باشد؟ البته فکر نمیکنم اصل فایل iso ابونتو است که دانلود میکنیم و بروی آن تغییرات میدهیم
آیا اینکارها را در ویندوز هم میتوان انجام داد؟ آیا relinux تحت ویندوز دارد ؟

----------

