۲.۴ نرم افزارهای آزاد مهم
۲.۴.۱ RedHat¶
ردهت کسب و کار اصلیاش که در آن مشتریانش افراد حقیقی بودند را کنار گذاشته است (آخرین نسخهی "Red Hat Linux" در آوریل ۲۰۰۴ منتشر شد) و در حال حاضر توزیعی برای استفادهی حرفهای توسط شرکتها تحت نام "Red Hat Enterprise Linux" (RHEL) را در بازار عرضه میکند. برای هر سرور مجوز RHEL باید جدا تهیه شود، با این وجود شما برای نرمافزار هزینهای پرداخت نمیکنید- که تحت GPL و مجوزهای FOSS مشابه عرضه میشود- بلکه پرداخت شما به منظور دسترسی به بروزرسانی مرتب و پشتیبانی در مواقع مورد نیاز است. RHEL بیشتر به سمت مراکز داده هدایت شده است و، در میان چیزهای دیگر، از ساخت کلاسترهای «قابل تغییر» پشتیبانی میکند.
۲.۴.۲ Fedora¶
فدورا (http://www.fedoraproject.org) توزیعی است که بیشتر توسط ردهت کنترل میشود و به عنوان بستر آزمایشی برای RHEL عمل میکند. نرمافزارها و ایدههای جدید ابتدا در فدورا آزمایش میشوند و هرچیزی که کارایی خود را ثابت کرد دیر یا زود در RHEL به کار برده میشود. بر خلاف RHEL، فدورا فروخته نمیشود بلکه برای داونلود رایگان در دسترس عموم قرار میگیرد؛ این پروژه توسط کمیتهای رهبری میشود که اعضای آن تا حدی توسط جامعهی توسعهدهندگان انتخاب میشوند و ردهت در نامزد کردن آنها دخیل است. (مدیر کمیته توسط ردهت نامزد میشود و حق وتو دارد) برای بسیاری از کاربران فدورا، قسمتی از جذابیت این توزیع تمرکز آن بر روی نرمافزارهای رایج و ایدههای جدید است، با وجود اینکه بروزرسانی ملازمهی این ویژگی میباشد. فدورا برای افراد مبتدی کمتر مناسب است و همچنین به کاربردن آن بر روی سرویسدهندهها که پایداری در آنها مهم است توصیه نمیشود. از آنجا که ردهت نرمافزارش را تحت مجوزهای FOSS مانند GPL توزیع میکند، در عمل ممکن است که بدون پرداخت هزینهی مجوز، سیستمی داشت که با سیستم عاملی مشابه توزیع فعلی RHEL کار کند. توزیعهایی مانند(CentOS (http://www.centos.org یا Scientific Linux (https://www.scientificlinux.org/) اساسا بر پایهی ردهت میباشند ولی تمامی برندهای مربوط به ردهت را حذف میکنند. در این صورت شما در اصل همان نرمافزار را اما بدون پشتیبانی دریافت میکنید. توزیع CentOS به حدی به RHEL نزدیک است که ردهت حاضر است برای سیستم CentOS به شما پشتیبانی بفروشد. یعنی حتی نیاز نیست برای دریافت این پشتیبانی ابتدا RHEL را نصب کنید.
۲.۴.۳ SUSE¶
شرکت آلمانی SUSE ابتدا در ۱۹۹۲ به عنوان مرکزی تخصصی در حوزهی لینوکس تحت نام " Gesellschaft für Software- und System-Entwicklung " تاسیس شد و از اینرو نام S.u.S.E را برای خود انتخاب کرد. یکی از محصولات آن نسخهی آلمانی توزیع لینوکس پاتریک ولکردینگ یعنی «Slackware» بود که خود آن نیز از اولین توزیع کامل لینوکس یعنی Softlanding Linux System یا SLS مشتق شده است. لینوکس S.u.S.E ۱.۰ در ۱۹۹۴ ظاهر شد و آرام آرام از Slackware با به کارگفتن ویژگیهایی از ردهت مانند مدیریت بستهی RPM یا فایل /etc/sysconfig منشعب شد. اولین نسخهی لینوکس S.u.S.E که دیگر شبیه Slackware نبود نسخهی ۴.۲ ۱۹۹۶ بود. SuSE (نقطهها از زمانی به بعد حذف شدند) به زودی توزیع لینوکس آلمانی زبان پیشرو شد و لینوکس SuSE را در یک "مجموعهی بسته بندی شده" با دو طعم "شخصی" و "حرفهای" منتشر کرد. نسخهی "حرفهای" به صورت قابل توجهی گرانتر بود، و در میان چیزهای دیگر بیشتر حاوی نرمافزارهای سروری بود. در نوامبر ۲۰۰۳ شرکت نرمافزاری آمریکایی Novell اعلام کرد SuSE را به قیمت ۲۱۰ میلیون دلار خریده است؛ معامله در ژانویهی ۲۰۰۴ انجام شد. (در این زمان بود که حرف یو کوچک به حرف یو بزرگ تبدیل شد) در آوریل ۲۰۱۱ Novell که و SUSE که زیرمجموعهی آن بود توسط Attachmate خریداری شد که قبل از آن در زمینهی فروش شبیهساز ترمینال، سیستمهای نظارتی و سرویسها و ابزارهای یکپارچه سازی نرمافزار که قبلا در جامعهی لینوکس و متن باز قابل توجه نبوده اند، فعالیت میکرده است. از آن زمان به بعد Novell به فعالیتش به عنوان دو واحد تجاری جداگانه که یکی از آنها SUSE است ادامه داده است. مانند ردهت، SUSE یک "لینوکس سازمانی" تحت عنوان SUSE Linux Enterprise Server (SLES، http://www.suse.com/products/server/)، ارائه میدهد که مانند RHEL تقریبا در فواصل زمانی بلند مدت منتشر میشود و چرخهی حیاتی ۷-۱۰ ساله را تضمین میکند. به علاوه یک SUSE Linux Enterprise Desktop (SLED) وجود دارد، که توزیعی است که به منظور استفاده بر روی ایستگاه های کاری دسکتاپ عرضه شده است. SLES و SLED در بسته هایی که شامل میشوند تفاوت دارند؛ در SLES، تمرکز بر روی نرم افزارهای سروری است، در حالی که SLED بیشتر به سمت استفاده از نرمافزارهای تعاملی متمایل شده است. SUSE نیز توزیع "مشتری خصوصی" خود را ارائه کرده و آن را با عنوان "openSUSE" به صورت آزاد در اختیار عموم قرار داده است (http://www.opensuse.org/) – در گذشته این توزیع تنها زمانی برای دانلود در دسترس عموم قرار میگرفت که چندین ماه از توزیع آن بر روی رسانه نوری گذشته بود. بر خلاف ردهت، SUSE هنوز یک "مجموعه بسته بندی شده" ارائه میدهد که شامل نرمافزارهای انحصاری میباشد. بر خلاف فدورا، openSUSE پلتفرم مطرحی است که هنوز دورهی عمر ان کوتاه است. YaST یکی از ویژگیهای قابل توجه توزیع SUSE، "YaST" است، که یک ابزار جامع مدیریت سیستمی گرافیکی میباشد.
۲.۴.۴ Debian¶
بر خلاف شرکتهای بزرگ عرضه کنندهی توزیع لینوکس ردهت و Novell/SUSE، پروژهی دبیان (http://www.debian.org/) نتیجهی همکاری بین داوطلبانی میباشد که هدفشان ارائهی توزیع لینوکس با کیفیتی است که "Debian GNU/Linux" خوانده میشود. پروژهی دبیان در ۱۶ آگوست ۱۹۹۳ توسط یان مورداک اعلان عمومی شد؛ این اسم تلفیقی از اسم او و اسم دوست دخترش در آن زمان (همسر سابقش) دبرا میباشد (که در نتیجه "debb-ian" خوانده میشود). در حال حاضر این پروژه شامل بیش از ۱۰۰۰ داوطلب است. دبیان بر اساس سه سند استوار گشته است: سند رهنمودهای نرمافزار آزاد دبیان (DFSG) تعیین میکند که پروژه چه نرمافزاری را "آزاد" محسوب میکند. این مسئله ازین لحاظ حائز اهمیت است که تنها نرمافزار آزاد DFSG میتواند چنانکه شاید و باید بخشی از توزیع Debian GNU/Linux باشد. پروژه همچنین نرمافزارهای غیر آزاد را گسترش میدهد، که به شدت از نرمافزار آزاد DFSG بر روی سرورهای توزیع جداست: مورد دوم main خوانده میشود و اولی non-free نام دارد. (فضایی مابین این دو با نام contrib قرار دارد؛ که شامل نرمافزارهایی است که به خودی خود DFSG-free میباشند که با کمپوننتهای دیگر غیر آزاد کار نمیکنند) قرارداد اجتماعی اهداف پروژه را توصیف میکند. نظامنامهی دبیان سازمانهای پروژه را توصیف میکند. در هر زمانی حداقل سه نسخهی Debian GNU/Linux موجود میباشد: نسخههای جدید یا تصحیح شدهی بستهها در دستهی branch قرار داده میشود. اگر برای مدت زمان خاص، خطای سنگینی در یک بسته مشاهده نشود، به دستهی testing منتقل میشود. به طور مرتب هر چند وقت محتویات testing "ثابت" نگه داشته میشوند، به طور کامل تست میشوند و نهایتا به عنوان نسخهی stable منتشر میشوند. یکی از انتقادهای رایج به Debian GNU/Linux همین بازهی زمانی طولانی بین نسخههای stable میباشد؛ گرچه عدهی زیادی این ویژگی را یک مزیت میدانند. پروژهی دبیان Debian GNU/Linux را تنها برای دانلود در دسترس قرار میدهد؛ رسانههای دیگر(CD و...) از فروشندههای شخص ثالث قابل تهیه است. Debian GNU/Linux به موجب سازمانش، مرزبندی شفافش بین نرمافزار آزاد و غیر آزاد، یک بنیان بینقص برای پروژههای مشتق شده است. برخی از پروژههای معروفتر در این زمینه عبارت اند از Knoppix (یک "live cd" که امکان تست لینوکس روی یک PC بدون نیاز به نصب آن را فراهم میکند)، SkoleLinux (نسخهای از لینوکس که به طور اخص با نیازمندیهای مدارس تطبیق داده شده است)، یا توزیعهای تجاری مانند Xandros. لیموکس نیز، که نوع دیگری از لینوکس دسکتاپ میباشد و در اداره کل شهر مونیخ استفاده میشود، بر اساس Debian GNU/Linux پایه گذاری شده است.
۲.۴.۵ ubuntu¶
یکی از معروفترین مشتقات دبیان اوبونتو است، که توسط کمپانی انگلیسی Canonical Ltd تهیه شده است. این کمپانی توسط شخصی پیشگام با نام مارک شاتلورث تاسیس شده است. ("Ubuntu" واژهای از زبان زولو است که عبارت "انسانیت به خرج دادن در قبال دیگران" را معنی میدهد.) اهداف "اوبونتو" گانهی اوبونتو این است که بر اساس Debian GNU/Linux یک لینوکس ساده فهم، با قابلیت بالا و روان را ارائه دهد که در بازههای زمانی منظم به روز رسانی میشود. دستیابی این اهداف برای مثال توسط ارائه شدن اوبونتو بر روی تنها سه معماری کامپیوتری، تسهیل شده است بر خلاف دبیان که برای ده معماری کامپیوتری مختلف فراهم شده است. همچنین اوبونتو با محدود کردن خودش به زیر مجموعهای از نرمافزارهای ارائه شده توسط Debian GNU/Linux در نیل به این اهداف کمک کرده است. اوبونتو بر اساس نسخههای unstable دبیان استوار میباشد و در بخش اعظم آن از همان ابزارهای مختص توزیع نرمافزاری استفاده شده است، اما الزاما بستههای نرمافزاری دبیان و اوبونتو متقابلا سازگار نیستند. اوبونتو در دورههای شش ماههای منتشر میشود که انصافا منظم هستند، و هر دو سال یکبار یک نسخهی "LTS" یا با پشتیبانی دراز مدت عرضه میشود که کمپانی کنونیکال برای آن به مدت ۵ سال به روز رسانی را تضمین میکند. برخی از توسعه دهندگان اوبونتو همچنین در پروژهی دبیان شرکت کنندههای فعالی میباشند، که این مساله تا حد خاصی رد و بدل شدن اطلاعات بین این دو پروژه را تضمین میکند. از طرف دیگر، همهی توسعه دهندگان دبیان به میانبرهایی که اوبونتو اغلب به خاطر سوداندیشی میزند روی خوش نشان نمیدهند، در حالی که دبیان ممکن است به دنبال راه حلهای جامع تری باشد که حتی گاهی اوقات نیازمند صرف انرژی بیشتری هستند. بعلاوه به نظر نمیرسد که اوبونتو به اندازهی دبیان خود را مدیون به ایدهی نرمافزار آزاد بداند؛ در حالی که تمامی ابزارهای زیربنایی دبیان (مانند سیستم مدیریت باگ) به عنوان نرمافزار آزاد موجود اند، این مسئله همیشه در مورد اوبونتو صادق نیست. اوبونتو نه تنها میخواهد یک سیستم دسکتاپ جذاب را فراهم کند، بلکه همچنین قصد دارد تا جای سیستم های ثابت تری مانند RHEL و SLES را در فضای سروری، با ارائهی توزیعهای پایدار با یک چرخه حیات طولانی و پشتیبانی خوب، بگیرد. واضح نیست که چگونه شرکت کنونیکال قصد دارد در این مسیر طولانی سود مالی کند؛ چرا که برای مدتی طولانی است که این پروژه از خزانههای شخصی مارک شاتلورث پشتیبانی مالی میشود، که از زمانی که اعتبار گواهینامهی اینترنتی خود، یعنی Thawte، را به Verisign فروخته است به اندازهی کافی پر هستند.
۲.۴.۶ توزیعهای دیگر¶
علاوه بر توزیعهای ذکر شده توزیعهای بسیار دیگری وجود دارند از قبیل لینوکس ماندریوا (http://www.mandriva.com/en/linux/) یا توربولینوکس (http://www.turbolinux.com/) به عنوان رقیبان کوچکتر ردهت و سوزه، لینوکس گنتو (http://www.gento.org/ ) به عنوان توزیعی که روی کد منبع متمرکز است، "سیستمهای لایو" متنوع برای اهداف مختلف از فایروالها تا پلتفرمهای چندرسانهای و بازی، یا سیستمهای متراکمی که به عنوان روترها، فایروالها یا سیستمهای نجات قابل استفاده هستند. همچنین اگر فقط "تعداد سیستمهای نصب شده" را در نظر بگیریم، لینوکس را میتوان با کمی چشم پوشی از تفاوتهای آن یک توزیع لینوکس در نظر گرفت. اندرود از یک کرنل سیستم عامل لینوکس به همراه یک محیط کاربری تشکیل شده است که توسط گوگل نگهداری میشود و اساس آن بر نسخهی جاوای گوگل استوار است ("Dalvik") به جای محیط مرسومی که با GNU، X، KDE و ... پشتیبانی میشود. یک گوشی هوشمند یا تبلت اندرویدی، بر خلاف یک PC لینوکسی معمولی که openSUSE یا دبیان بر روی آن اجرا میشود،کاملا خودش را به کاربر ارائه میدهد، اما همچنان یک سیستم لینوکسی قابل توجه است. در حالی که اکثر کاربران اندروید سیستم خود را به صورت از قبل نصب شده بر روی گوشی یا تبلتهای خود خریداری میکنند و سپس هیچ گاه آن را تغییر نمیدهند، اکثر دستگاههای اندرویدی امکان نصب یک "توزیع" اندرویدی جایگزین را (گاهی اوقات با هک کردن) فراهم میکنند، که تعداد زیادی از آنها موجود است. برای بسیاری از دستگاهها این تنها راه به دست آوردن نسخهی به روز اندروید است، اگر سازندهی دستگاه و/ یا فراهم کنندهی سرویس تلفونی انتشار یک نسخهی رسمی جدید را ضروری ببیند.
۲.۴.۷ تفاوتها و شباهتها¶
با وجود اینکه تعداد زیادی توزیع لینوکسی وجود دارد، حداقل توزیع اصلی به نظر میرسد که به زندگی واقعی به طور منصفانهای شبیه باشد. یک دلیل آن به خاطر استفادهی آنها از برنامههای پایهای یکسان است- برای مثال، مفسر خط فرمان همیشه bash میباشد. از طرف دیگر استانداردهایی وجود دارند که رشد درجه را محدود میکنند. این ها شامل استانداردهای سلسله مراتبی فایل سیستم (FHS) یا پایهی استاندارد لینوکس (LSB)، که سعی میکنند یک "نسخهی پایه" متحد لینوکس را تدوین کنند تا فراهم کنندگان نرمافزار شخص ثالث توزیع نرمافزارشان برای هر تعداد توزیعهای لینوکس ممکن تسهیل شود. متاسفانه LSB منجر به آن موفقیتی قرار بود به آن دست پیدا کند نشد- از آن به عنوان شیوهای برای کند کردن یا متوقف کردن نوآوری در لینوکس و کاهش دهندهی تنوع سوء برداشت میشد (با این وجود اکثر توزیعها این امکان را فراهم میکنند که بتوان از یک محیط LSB موازی با و مستقل از محیط نرمافزاری که خود توزیع فراهم کرده است، استفاده است)، در حالی که فراهمکنندگان شخص ثالث که در درجهی اول مد نظر قرار داشتند ترجیح دادند که برای بستههای نرمافزاریشان برای "توزیعهای سازمانی" اصلی مانند RHEL و SLES "تاییدیه" بگیرند و تنها این پلتفرمها را پشتیبانی کنند. در حالی که قطعا غیر محتمل نیست که بتوان SAP یا Oracle را بر روی مثلا دبیان گنو/لینوکس اجرا کرد(یا به اجرا واداشت)، هزینهای که تحت مجوز گرفتن برای بستههای نرمافزاری تجاری بزرگ مثل اینها خرج میشود صرف میشود آن قدر است که در نهایت هزینههای مجوز برای RHEL و SLES با آن تفاوت چندانی نمیکند. فرق قابل توجهی که توزیعهای مختلف با هم دارند شیوهایست که بستههای نرمافزاری را مدیریت میکنند (نصب کردن و پاک کردن)، و در نتیجه فرمت بستههای نرمافزاری از پیش ساخته شده درون توزیعها با هم تفاوت دارد. در حال حاضر دو فرمت اصلی برای این منظور وجود دارد که یکی توسط دبیان گنو/لینوکس("deb") و دیگری توسط ردهت ("rpm") توسعه داده شده است. مانند اکثر اوقات هیچ کدام از آن ها برتری آنچنانی بر دیگری ندارد، بلکه هر کدام نقاط قوت کافی دارند تا مانع از تغییر رویه طرفداران خود به سمت دیگری شوند. روش deb توسط دبیان گنو/ لینوکس، اوبونتو و دیگر مشتقات دبیان به کاربرده میشود، در حالی که ردهت، سوزه، و توزیعهای متنوعی که از آنها مشتق شدهاند بر rpm تکیه میکنند. هر دو روش شامل مدیریت جامع "وابستگیها" در بین بستهها هستند، که به تضمین ثبات سیستم و جلوگیری از حذف بستههای نرمافزاری که بستههای دیگر در سیستم به آنها وابسته هستند کمک میکنند (یا برعکس وادشتن آنها به نصب در حالتی که بستهی دیگری که نصب میشود به آنها نیاز دارد و آنها قبلا نصب نشدهاند). در حالی که کاربران ویندوز و OS X به تهیه نرمافزار از منابع مختلف عادت کرده اند۷، حداقل توزیعهای بزرگ مانند دبیان، openSUSE، یا اوبونتو تلاش میکنند که مستقیما بواسطهی ابزارهای مدیریت بسته برای کاربران خود مجموعهی جامعی از نرمافزار را فراهم کنند. این ابزارها اجازهی دسترسی به "مخازن" توزیعها را میدهند و ابزارهای جست و جویی را (با کیفیتهای متفاوت) برای بستههای نرمافزاری به خصوص ارائه میدهند که سپس بتوانند براحتی ، احتمالا به همراه وابستگیهایشان، بر روی شبکه نصب شوند. توجه به این نکته اهمیت دارد که الزاما همیشه امکان تعویض بستهها بین توزیعها وجود ندارد، حتی اگر آنها از فرمت بستهی یکسان استفاده میکنند (deb یا rpm) – این بستهها حاوی پیش فرضهایی در مورد ساختار یک توزیع هستند که بمراتب از فرمت بسته تجاوز میکند. این کار کاملا هم غیر عملی نیست (برای مثال دبیان گنو/ لینوکس و اوبونتو به اندازهی کافی مشابه هستند تا بتوان تحت شرایط مناسب یک بستهی دبیان را بر روی یک سیستم اوبونتو یا نصب کرد یا بالعکس) اما، با یک حساب سر انگشتی میتوان متوجه شد که هر چه یک بسته ریشهی عمیقتری در یک سیستم دوانده باشد، شانس به رخ دادن مشکل بیشتر است- بستهای که تنها حاوی چند فایل اجرایی و مستندات آنهاست کمتر احتمال دارد مشکلی ایجاد کند در مقایسه با سرویس سیستمی که باید با سلسله مراتب استارت آپ سیستم یکپارچه شود. اگر در موردی تردیدی وجود داشت، باید از آزمایشهایی که نتایج آنها غیر قطعی است خودداری کرد. جدول ۲.۱ نشان دهندهی یک جمعبندی کلی از مهمترین توزیعهای لینوکس میباشد. برای اطلاعات بیشتر، به DistroWatch یا سایتهای هرکدام از توزیعها مراججعه کنید. پاورقی ۷: اگرچه اپل و مایکروسافت در حال حاضر مشتاق اند تا ایدهی "فروشگاه نرمافزار" متمرکز را که در گوشیهای هوشمند پدیدهای شناخته شده است، برای سیستم عاملهای PC خود نیز پیاده سازی کنند.