X
تبلیغات
رایتل
آموزش نصب و کار با سیستم عامل جنتو Gentoo OS

تولد یک غول به نام لینوکس جنتو (بخش سوم)

چهارشنبه 20 اسفند‌ماه سال 1393 ساعت 04:00 ب.ظ

این بخش آخر از مقاله های سه گانه دانیل روبینز درباره نحوه شکل گیری توزیعی به نام لینوکس  جنتو است که اگر بخش اول و بخش دوم از این مقاله ها را خوانده باشید ٬ این مقاله را در ادامه آنها و پایان بخش آنها خواهید یافت. همیشه به مشارکت و نظرات شما نیاز مبرم وجود دارد. پس خواهشمندم آنرا دریغ نفرمایید. نظرات شما سمت سوی برگردان های آینده یا نوشتارهای آتی را مشخص خواهد نمود. 

 

 
توضیح: نسخه اصلی این نوشتار ابتدا در IBM developerWorks  منتشر گردید ٬ و برای خدمات داده ائی وسنجش آماده گردیده. این مستند نسخه بروزرسانی شده از مقاله اصلی است ٬ و شامل نسخه های انتشار داده شده توسط تیم مستندسازی لینوکس جنتو است.
 این مستند بشکل فعال بروزرسانی نمی شود.
 


ساخت یک توزیع ٬ بخش  ۳ 

۱.  خارج شدن نویسنده از لینوکس و بازگشت پس از آن

در انتهای نوشته پیشین من ٬ توضیح دادم چگونه گسترش لینوکس جنتو بشکل تاثیرگذاری بوسیله باگ idle-lockup بزرگی به حالت توقف در‌آمد که در زمانی رخ داد که من به تازگی به یک مادربرد سلرون - دوال جدید (یک Abit BP6) ارتقاء داده بودم. بدلیل اینکه من قادر به درست کردن اشکال نبودم ٬ و در آن زمان امکان جایگزینی مادربرد را هم نداشتم ٬ تصمیم گرفتم گسترش لینوکس جنتو را متوقف کنم و به FreeBSD روی بیاورم. من نیاز به یک دستگاه در حال کار داشتم ٬ و از آنجا که لینوکس گاه و بیگاه قفل می کرد ٬ زمان خوبی بود تا با یک سیستم عامل BSD آشنا شوم. پس من FreeBSD را نصب کردم ٬ و شروع به یادگیری نمودم ٬ و برای چند ماه به هیچ وجه به سراغ لینوکس نرفتم.  

اثر گذاری های FreeBSD

مجموعا من FreeBSD را دوست داشتم. احساس کردم که سیستم عامل بخوبی بهم پیوند خورده و هر بخش از دستگاه بخوبی در سطح بالائی بهینه سازی شده که تقریبا هرگز در دنیایی لینوکس دیده نشده بود. از این واقعیت لذت بردم که FreeBSD دارای صفحه های راهنمای کاملی بود ٬ برخلاف لینوکس که بسیاری از برنامه ها در آن تنها دارای مستندات داده GNU بودند ٬ که من مخصوصا از آنها استفاده نمی کردم.

بیشتر از همه ٬ از دستگاه پورت های FreeBSD تحت تاثیر قرار گرفتم ٬ تکنولوژی برای نگهداری و ارتقاء دستگاه. برخلاف پیشنهاد لینوکس ٬ پورت ها از بسته های باینری استفاده نمی کردند اما بجای آن بشکل خودکار هرچیزی را بشکل محلی از منبع اصلی آن کامپایل می کردند. خواه در حال نصب سامبا باشید یا در حال ارتقاء هسته دستگاه ٬ هرچیزی درست بروی دستگاه شما کامپایل می شد. این بینش در من بوجود آمد و بسیار به آنچه من تلاش می کردم در جنتو بوجود بیاورم شبیه بود. در این راه و بسیاری راه های دیگر ٬ سیستم عامل FreeBSD با سلیقه من به عنوان یک گسترش دهنده و مدیر دستگاه طراحی شده بود. به این دلیل ٬ FreeBSD برای چندین ماه محیط راحتی را برای من بوجود آورد ٬ و من خوشحالم که زمان کافی برای آشنائی با این سیستم عامل جذاب گذاشتم.  

پروژه های FreeBSD

مقدار زیادی از تفاوت ها بین لینوکس و فری بی اس دی از تفاوت ساختار گسترش آنها بوجود می آید. گسترش لینوکس بشدت چند رو است ٬ و ما به توزیع برای پیش برد آن وابسته ایم و تکه های  گوناگونی از لینوکس در سراسر اینترنت پخش هستند. در مقایسه این با FreeBSD و دیگر BSD ها (شامل OpenBSD و NetBSD ) ٬ که در آنها یک تیم متشکل گسترش وجود دارد که بروی یک کد منبع واحد کار می کنند. خوب حداقل هر BSD دسته ائی از کدهای متشکل خود را دارد. این می تواند چیز خوبی باشد٬ و نتیجه در FreeBSD نبود چیزی مانند بهم پچ شده ها است که در بسیاری از توزیع های لینوکس انجام می شود.

پس می توانیم تکنولوژی را پشت پرده مقایسه کنیم. چرخش FreeBSD درکار نشان می دهد که FreeBSD برای سرور بودن بهتر از لینوکس است. آنها به شما می گویند که FreeBSD در زیر لودهای زیاد بهتر خواهد بود و چیدمان بهتری در TCP/IP دارد. اگر شما لینوکس ۲.۲ را با FreeBSD مقایسه کنید ٬ من با آن موافقم. فری بی اس دی سیستم عامل گرانقدری برای سرور است ٬ برای اطمینان. اما فقط در لینوکس ۲.۲ و پیشتر از آن. این را به آن جهت که من کارکردی برای آزمایش کرنل های ۲.۴ که اجرا می کردم داشتم. آنها بسیار جدی گرانقدر بودند و شامل چیدمان TCP/IP زیبا و در مجموع یک طراحی مجدد دستگاه netfilter که واقعا پایداری داشت را با خود داشتند. در انتها فکر می کنم که لینوکس مجموعه جدیدی از بازخوردهای استاندارد را ارائه خواهد داد و سرورهای یونیکس آزاد را بیش از پیش از حالت تجاری خارج خواهد نمود.  

پیکربندی های FreeBSD

در مورد میزکار بیشتر از دنیای سرورها واقعا مقایسه امکان پذیر نیست -- لینوکس بازیگر بی رقیب میدان است. همه گسترش های جدیدترین میزکارها ابتدا بروی لینوکس پدیدار شده اند و لینوکس از کارت های صدا و گرافیک های سه بعدی بخوبی پشتیبانی می کند.  با لینوکس ۲.۴ لینوکس به این تسلط بر محیط ادامه داد.

چیزی که من درباره FreeBSD دوست نداشتم استفاده آن از فایل سیستم UFS بود. هنگامیکه UFS قابل اتکاتر و بالاتر از ext2 بود ٬ همچنین بشکل کرخ کننده ائی آهسته بود. این امکان وجود دارد که از یک افزونه مخصوص UFS به نام بروزرسانی نرم استفاده کرد که قابلیت سرعت بخشیدن به فایل سیستم بوسیله اداره کردن اپراتور IO در چانکی بزرگتر را داراست. هنگامیکه بروزرسانی نرم بشکل ترسناکی در UFS گسترش یافت ٬ دیگر نمی توانم بگویم واقعا بازدهی UFS از ext2 به هر طریقی بهتر است.  البته این بیشتر موثق است که FreeBSD در جنگ فایل سیستم ها از لینوکس شکست خورد. که حداقل این برای توزیع های بالاتر از ۲و۲ در مقایسه با FreeBSD صحت دارد.

هرچند کفه در مقایسه با لینوکس های مدرن ۲.۲ و ۲.۴ به سمت FreeBSD می چرخد. فایل سیستمی ReiserFS (یک ژورنال موجود برای لینوکس) فقط متحیر کننده است. لینوکس همچنین ext3 و JFS را از IBM و XFS را برای ادامه در اختیار دارد که توقع بازخورد زیبائی را از کارکرد آنها بخوبی می توان داشت. اکنون ReiseFS به لینوکس امتیاز سرعت بسیار بیشتر در برابر FreeBSD را می دهد و یکی از دلائلی است که لینوکس ۲.۴ در همه آرگومنت هائی که پیشتر FreeBSD در آنها امتیاز داشت از آن پیشی می گیرد.  

بازگشت به گسترش لینوکس جنتو

پس از چند ماه تصمیم گرفتم دوباره به دنیای لینوکس بازگردم و لینوکس جنتو را در یک جعبه گسترش جدید راه اندازی کنم. در ابتدا بحث های شروع دوباره لینوکس جنتو بیشتر از یک بحث اداری بود -- من زمان زیادی را صرف فراگیری دانش لینوکسی کرده بودم و چسبیدن به BSD همه آنرا به هدر می داد. هرچند اندکی پس از شروع بروزرسانی لینوکس جنتو من چندین دلیل جدید برای اشتباهم در بازگشت داشتم که در بالا به برخی از آ»ها اشاره کردم. FreeBSD محیط صلح طلبانه ائی بود اما همینطور هم اندکی در آن ماندن خسته کننده بود. لینوکس جائی است که تقلا در آن جریان دارد که پیشترفت های بزرگ از آن آغاز می شود. جای شکی وجود ندارد که اگر بدنبال انتظارات و نوآوری ها هستید ٬ لینوکس مکان آن است.

برای من لینوکس ۲.۲ ناامید کننده خبر بازگشت به محیط ۲.۰ را می داد اما لینوکس ۲.۴ بشارت نگرانی برای آینده را بهمراه داشت. بنابر این لینوکس جنتو دوباره متولد شد و من هیجان زده بودم.

دلیل دیگری هم برای تولد دوباره جنتو وجود داشت -- آکیم گوتینگر رهبر تیم گسترش من. می خواهم اندکی جا برای تشکر از آکیم بگذارم که به من کمک کرد تا گسترش لینوکس جنتو را دوباره شروع کنم. اندکی پس از بازگشت به دنیای لینوکس شروع به دریافت پست های الکترونیکی از آکیم کردم. تقریبا در همه پست های الکترونیکی وی چیز جدیدی فرستاده بود. کدهای ebuild (خودساز) برای لینوکس جنتو یا برخی رفع ایرادهای مورد نیاز جداگانه. هنگامیکه شروع به گسترش لینوکس جنتو نمودم ٬ آکیم به اهدا کردن زمان خودش و منابعی که به بازگشت توزیع بروی پای خودش کمک می کرد ادامه داد. اینگونه بود تا هنگامیکه من و آکیم تنها دونفری بودیم که بروی لینوکس جنتو کار می کردیم و این تنها انتخاب بود. به این دلیل که ما هردو نسخه های مشابهی از توزیع را داشتیم و از آنجا که مهارت های آکیم بالا بود ٬ ما می توانستیم مقدار بسیار زیادی از کارها را انجام دهیم و هرگز احساس نکردم افزودن یک گسترش دهنده سوم می تواند کمکی به بهبود کارکرد ما داشته باشد. اکنون آکیم رهبر تیم گسترش لینوکس جنتو بود و به بهسازی روزانه شالوده لینوکس جنتو مشغول بود. ما به نقطه ائی رسیدیم که آماده بودیم برای شخص دیگری که کار بروی شاخه CVS را آغاز کند و شروع کردیم به دقت به گسترش تیم گسترش لینوکس جنتو.  

نسخه جدید

احساس نمی کنم که همه زمانی را که در دنیای BSD گذراندم اتلاف وقت کامل بود. در واقع آن زمان به من قابلیت بالائی برای بازتاب بر رویدادهای درونی جمعیت لینوکس داد و اینکه چگونه لینوکس چگونه می تواند به بهینه سازی چیزها کمک کند.

در نسخه جدید لینوکس جنتو بحثی را درباره استفاده نکردن بیشتر از pgcc راه انداختم که بهینه سازی بالائی را در باینری های کامپایل شده نداشته باشیم. از آنجا که پایداری هدف اصلی بود ما از بهینه سازی موثر (-O2 -mpentium) استفاده کردیم اما راه ساده ائی را فراهم آوردیم برای کاربران تا این تنظیمات را بنابه میل خودشان در دستگاه خودساز ما تغییر دهند.

FreeBsd به من ایده خوبی داد که چگونه یک دستگاه خودساز باید کار کند. تصمیم گرفتم تا چندین ویژگی FreeBSD را به دستگاه خودساز خودمان (که اکنون به نام پرتیج خوانده می شد) اضافه کنم تا یک نسخه پسین دستگاه پرت سالم ارائه دهیم.

پرتیج قلب لینوکس جنتو است و بیشتر از یک مدیر بسته یا دستگاه نگهدارنده است. با توجه به دسته ائی از ابزارهای ساخت و کدهای ساخت ٬ پرتیج به شما اجازه می دهد تا همه توزیع را از روی کد منبع اصلی دوباره سازی کنید. اما از آن مهمتر برای من این است که پرتیج به کاربر هوشمند کنترل کامل می دهد تا جنتو لینوکس را چگونه بسازد.  برای ما این خیلی مهم است چراکه این به آن معنی است که ما در حال مستند سازی هستیم که چگونه یک توزیع بسازیم آن هم درست در هنگامیکه گسترش لینوکس جنتو را به پیش می بریم. و به این دلیل که کار با پرتیج بسیار ساده است و فهم آن راحت است ٬ ما انتظار داریم که این کاربری لینوکس را برای مردم بیشتری جالب نماید ٬ تا جائیکه دیگران بتوانند به کدها و اسکریپت های ما اهدا هم داشته باشند.

پرتیج مسیر ما برای بازکردن تکنولوژی لینوکس بروی دیگران است. با یادگیری اسکریپت خودساز ٬ شما می توانید ببینید چگونه همه بسته های گوناگون با یکدیگر در یک مجموعه کامل هماهنگ می شوند. اگر لازم باشد می توانید ادامه شاخه CVS ما را برداشته و آنرا هک نمایید تا توزیع دلخواه خودتان را ایجاد نمایید یا یک توزیع مبتنی بر تکنولوژی لینوکسی. ما بر این باوریم که این چیز خوبی است -- می خواهیم به مردم این آگاهی را بدهیم که نیاز دارند تا لینوکس را مرزهای جدید ببرند.  

نگرانی های تجاری

از آنجا که این تکوینی است ٬ مردمان بسیاری در پشت صحنه وجود دارند که با گسترش لینوکس جنتو درگیر هستند. و من شگفت زده نمی شوم که گسترش دهندگان ما عقاید بسیار متفاوتی از آنچه ما داشتیم برای آن تلاش می کردیم درباره پول ساز کردن لینوکس جنتو دارند. اساسا دو گروه از گسترش دهندگان وجود دارند: یک گروه با پول موافق نیستند. و گروه دیگر انتظار دارند به جنتو کمک کنند تا تبدیل به یک محصول تجاری موفق شود. این یک جداسازی قابل انتظار است: گروه اول درگیری های تجاری را به عنوان مانع با سرعت پیشرفتن می بینند و گروه دوم چیز منفی در آن نمی بینند.

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

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

چه باید کرد؟

پس چگونه باید تجاری سازی و تفکرات غیر از آن را با هم هماهنگ نمود؟ کلید این معما بیاد آوردن ساختار اساسی ما است -- ساختار اساسی نرم افزار جنتو لینوکس متن باز. بنابر این ساختار همه تلاش های ما باید بروی متن باز بودن تمرکز داشته باشد. این خوب نیست که تنها از نرم افزار های متن باز دانش داشته باشیم یا تنها از آنها استفاده کنیم . ما همچنین باید به ترویج گسترش و توزیع آن نیز بپردازیم و هرگز این مسیر را برای نقشه های تجاری تغییر ندهیم. از آن مهمتر ما هرگز نباید ساختار کسب و کار خودمان را بگونه ائی تنظیم کنیم که مانع دسترسی دیگران به کد منبع ما گردد. تیم گسترش ما می خواهد باز و در دسترس عموم باشد و توزیع آزاد از لینوکس جنتو نباید تنها اجازه این کار را بدهد بلکه باید آنرا تشویق هم بنماید. ما باید مدافع باز بودن متن باشیم نه تنها در شعار بلکه در عمل هم.

اگر شرکتی بخواهد برای تکنولوژی های بر اساس لینوکس تجاری خود از لینوکس جنتو استفاده کند ٬ آنها می توانند آنچه را به آن احتیاج دارند از شاخه CVS ما برداشت کنند و شروع به استفاده از آن نمایند چراکه همه کارهای ما زیر مجوز GPL توزیع می گردند. ما نمی خواهیم استفاده از کارهایمان را به هیچ عنوان محدود نماییم بجز اینکه همه آنها از مجوزهای عمومی گنو مشتق شده باشند.

ما دوست داریم بسیاری از مردم از کارهای ما بهره مند شوند اما همچنین دوست داریم شما هم در گسترش جنتو لینوکس سهیم باشید. اگر شما بخشی از یک شرکت هستید که از لینوکس جنتو به عنوان اساس در محصولات خود استفاده می کنید ٬ انتظار داریم که شما هم گسترش های بشکل آزاد توزیع شده خود را برای ما ارسال کنید تا ما بتوانیم آنها را به شاخه CVS خود اضافه کنیم. از این راه همه بهره برداری می کنند. ما می توانیم افزوده های شما را نگهداری و ارتقا دهیم و شما در برگشت می توانید از این گسترش ها بهره برداری نمایید. ما می خواهیم بین فعالیت های تجاری و غیر تجاری منافع مشترک ایجاد نماییم. از این راه هر دوی ادمین های دستگاه های جنتو لینوکسی و سازندگان محصولات سروری تجاری می توانند از کارهای یکدیگز بهره ببرند و جنتو لینوکس را ثابت نگاه دارند. اینک زمان تبادل آزادانه کد بین همه افراد است. تنها متن باز چنین چیزی را ممکن می سازد.

چه چیز آینده را نگاه می دارد؟

درست همین هنگام ما در حال آماده سازی انتشار لینوکس جنتو نسخه ۱ هستیم ( که ممکن است هنگامیکه شما این مقاله را می خوانید انتشار یافته باشد) اما چه چیزی آینده را نگاه می دارد.

چنانکه بسوی نسخه ۲ به پیش می رویم انتظار داریم پرتیج را ارتقا دهیم ٬ چیزی را که قلب لینوکس جنتو است. هر گسترش بزرگی در لینوکس جنتو از ارتقا دادن جنتو آغاز می شود. من دوست دارم که در ادامه راه پروسه نوشتن کدهای بش را در پایتون پیگیری کنم که به ما اجازه می دهد ویژگی های جدیدی را مانند طراحی شی گرائی به دستگاه خودساز خود اضافه کنیم.

در ادامه تغییر در پرتیج انتظار دارم بادقت و به آهستگی تیم گسترش مان را با پیدا کردن گسترش دهندگان ماهر که می توانند دیدگاه مشابه ما داشته باشند ٬ بزرگتر نماییم.  همچنانکه تیم گسترش ما رشد می کند ما قادر خواهیم بود شمار کدهای خوساز موجود برای جنتو لینوکس را بسیار وسیع نماییم. اما مهمتر از آن یک تیم گسترش بزرگتر می تواند به ما توانائی نگهداری جنتو در لبه تکنولوژی لینوکس را بدهد. این جائی است که تفریح آغاز می شود :)

ما همچنین انتظار داریم شرکت های تجاری با تکنولوژی لینوکس جنتو را به عنوان اساس محصولاتشان انتخاب کنند. ما قطعا چنین ارتباطاتی داریم و انتظار بیش از آن را در آینده داریم. این نوع از همکاری تفریح آور است و با منافع بزرگ برای کاربران لینوکس جنتو همراه است.

در پایان هدف اولیه ما این است که برخی چیزها با همه معنی در جمعیت لینوکس به مشارکت گذاشته شود. همچنین توزیع های لینوکس بسیاری برای انتخاب وجود دارند و ما می دانیم که لینوکس جنتو چیزهائی را ارائه می دهند که جای دیگری وجود ندارند. ما منتظر ویژگیهای گسترش دهندگان لینوکس جنتو هستیم و شما هم منتظر باشید.  

خواستگاه ها 


• Start at the beginning of my story with "Making the distribution",  Part 1, and Part 2.
• Find out more about Gentoo Linux from our Web site.
• Check out the competetion at FreeBSD.
• Read up on the GPL.
• Take a look at the official Stampede site.
• Find out more about the Free X86 Project.
• Get the GTK+ Reference Documentation.
• Check out the XMultiMedia System, an X11/gtk+-based MP3/CD player app.
• Get started on threads with a POSIX Threads tutorial from the University of Arizona.
• Get the latest on the RPM Packaging Tool.
• Visit the good folks at Debian.
• And see the official GCC site.