لینوکس چیست؟
ما بحث خود را با مقدمه ای در مورد سیستم عامل شدن لینوکس آغاز می کنیم. درباره ی توسعه ی گذشته و آینده لینوکس صحبت خواهیم کرد و نگاهی دقیق تر به مزایا و معایب آن می اندازیم. در مورد توزیعات مختلف و همچنین سورس آزاد صحبت خواهیم کرد و سرانجام کمی در مورد GNU (تلفظ می شود gu-nu) بحث خواهیم کرد.
این فصل به سؤالاتی از این قبیل پاسخ می دهد:
1) لینوکس چیست؟
2) لینوکس کجا و چگونه آغاز شد؟
3) آیا لینوکس همان سیستم عاملی نیست که در آن همه چیز در حالت متنی انجام
می شود؟
4) آیا لینوکس آینده درخشانی دارد؟
5) مزایای استفاده از لینوکس چیست؟ معایب آن چیست؟
6) چند نوع لینوکس وجود دارد و من چگونه یکی از آنها را که برای من مناسب باشد انتخاب کنم؟
7) جنبشهای OpenSource (سورس آزاد) و GNU چیست؟
تاریخچه
برای درک عمومیت و محبوبیت لینوکس، باید حدود 30 سال به عقب برگردیم ... .
تصور کنید که رایانه ها به بزرگی خانه ها یا حتی استادیوم ها هستند. زمانی که اندازه رایانه ها به خودی خود مشکلات فراوانی را پدید می آورد، معضل دیگری وجود داشت که مشکل را حادتر می کرد: هر رایانه سیستم عامل متفاوتی داشت و نرم افزارها تنها برای برآورده کردن یک هدف خاص ایجاد می شدند. برنامه هایی که به یک رایانه داده می شد، روی سیستم دیگر اجرا نمی شد و قابلیت کار با یک سیستم به این معنا نبود که شما
می توانید با یک رایانه دیگر کار کنید؛ و این امر چه برای کاربران و چه برای مدیران سیستم مشکل آفرین بود. رایانه ها بسیار گران بودند و تازه پس از خریدن آن باید تلاش زیادی می شد تا به کاربران نحوه کار کردن با آن آموزش داده شود. در نتیجه هزینه نهایی IT بسیار بالا بود.
جهان از نظر فناوری آن قدر پیشرفته نبود تا رایانه های کوچکتر بسازد، بنابراین باید برای یک دهه دیگر آن اندازه ها را تحمل می کرد. در سال 1969 یک گروه از برنامه نویسان در آزمایشگاه های بل (Bell Labs) به فکر پیدا کردن راه حلی برای این مشکل افتادند تا بتوانند سازگاری نرم افزارها را سر و سامان بدهند.
آنها سیستم عاملی ایجاد کردند که:
1) ساده و جذاب بود؛
2) با زبان برنامه نویسی C نوشته شده بود (به جای اسمبلی)؛
3) قادر به بازیابی کدها بود.
توسعه دهندگان نام این پروژه را UNIX نهادند.
قابلیت بازیابی کد بسیار مهم بود. تا آن زمان، تمام رایانه های تجاری موجود با کدی نوشته شده بودند که اختصاصاً برای آن سیستم توسعه داده شده بو. از این جهت، یونیکس تنها به مقدار کمی از این کدها نیاز داشت که امروزه عموماً به هسته (Kernel) معروف است. برای پایه ریزی یونیکس در هر سیستم، تنها به این مجموعه از کدها نیاز بود.
سیستم عامل و دیگر دستورات با استفاده از زبان سطح بالای سی در این هسته ساخته شده بودند. این زبان انحصاراً برای توسعه یونیکس ایجاد شده بود. با استفاده از این تکنیک جدید، توسعه سیستم عاملی که بتواند بر روی سخت افزارهای مختلف اجرا شود، بسیار ساده تر بود. تولیدکنندگان نرم افزار به سرعت یونیکس را پذیرفتند. زیرا
می توانستند با زحمت کمتر، ده برابر فروش بیشتر داشته باشند. وضعیت خارق العاده ای به وجود آمده بود. تصور کنید رایانه هایی از شرکتهای مختلف در یک شبکه به هم متصل شده اند یا کاربران بدون نیاز به آموزش اضافی، بر روی سیستم های مختلفی کار می کنند یونیکس نقش بزرگی را در سازگار کردن کاربران با سیستم های مختلف ایفا کرد. طی دهه های بعد توسعه یونیکس ادامه یافت. امکان انجام کارهای بیشتری بر روی فراهم شد. سازندگان نرم افزار و سخت افزار بیشتری، پشتیبانی یونیکس را به محصولات خود افزودند.
یونیکس ابتدا فقط بر روی محیطهای بزرگ مانند MainFrame و MiniComputer ها پیدا می شد. (توجه داشته باشید که رایانه های شخصی در رده MicroComputer ها هستند). شما می بایست در یک دانشگاه یا دولت و یا یک سازمان بزرگ اقتصادی کار
می کردید تا بتوانید یونیکس را ببینید.
اما رایانه های کوچکتر در حال توسعه بودند و تا پایان دهه 80، تعداد زیادی از مردم از رایانه های خانگی استفاده می کردند. در آن زمان نسخه های مختلفی از یونیکس برای PC به وجود آمده بود اما هیچ یک واقعاً رایگان نبود.
لینوس توروالدز، مرد جوانی که در رشته علوم رایانه دانشگاه هلسینکی تحصیل
می کرد، به این فکر افتاد که ایجاد نسخه ای رایگان و دانشگاهی از یونیکس ایده بسیار خوبی خواهد بود. او خود شروع به کدنویسی کرد.
او پرسش و پاسخ را در مورد چگونگی به کارگیری یونیکس در رایانه ی شخصی اش آغاز کرد.
از ابتدا، هدف لینوس، توسعه یک سیستم عامل کاملاً رایگان و سازگار با یونیکس اصلی بود و این دلیل پرسش او در مورد استانداردهای POSIX است. POSIX همچنان استاندارد یونیکس است.
در آن زمان هنوز (PnP = Plug and Play) اختراع نشده بود و بسیاری از مردم علاقه داشتند که نسخه ای از یونیکس را روی رایانه خود داشته باشند و این تنها یک مانع کوچک بود. راه اندازهای جدیدی برای انواع مختلف سخت افزار در دسترس قرار می گرفت، یک نفر آن را می خرید و برای تست کردن در لینوکس، ارائه می کرد. کدهای رایگان بیشتری برای گستره بزرگی از سخت افزارها در اختیار قرار گرفت. کار این برنامه نویسان هرگز متوقف نشد، چون هر سخت افزاری که پیدا می کردند، می توانست برای لینوکس مفید باشد.
در آن زمان این برنامه نویسان به nerd ها و freak ها معروف بودند. اما این مطلب برای آنها اصلاً مهم نبود. (تا وقتی که لیست سخت افزارهای پشتیبانی شده طولانی تر
می شد!) امروزه با کمک این افراد، لینوکس فقط برای اجرا روی PC های جدید ایده آل نیست بلکه گزینه مناسبی برای سخت افزارهای قدیمی و عجیب و غریب است که در صورت عدم وجود لینوکس بلااستفاده می ماند.
دو سال بعد از پیام لینوس، 12000 کاربر لینوکس وجود داشت. این پروژه در تمام مدتی که در محدوده استاندارد POSIX کار می کرد، به طور مداوم رشد می کرد. تمام ویژگی های یونیکس در سالهای بعد اضافه شد و حاصل آن سیستم عامل کنونی و کامل لینوکس است.
امروزه تمام نقش آفرینان بزرگ در زمینه بازار سخت افزار و نرم افزار، تیم توسعه گران لینوکس دارند. شما در محله خود می توانید سیستم هایی با لینوکس از پیش نصب شده با پشتیبانی رسمی بخرید.
کاربرد کنونی سیستم های لینوکس
امروزه لینوکس به بازار رایانه های رومیزی پیوسته است. توسعه گران لینوکس در ابتدا بر روی شبکه ها و سرویس ها متمرکز شدند و برنامه های اداری آخرین موانعی بودند که باید از سر راه برداشته می شدند. ما نمی خواهیم تأکید کنیم که مایکروسافت بر این بازار حکومت می کند اما گروههای مختلف از سالهای پیش برای تبدیل لینوکس به یک گزینه قابل قبول برای ایستگاههای کاری (WorkStation) و تهیه یک رابط کاربری (User Interface) آسان و سوییت اداری (Office Suit) سازگار با مایکروسافت مانند واژه پردازها (WordProcessor) و صفحه گسترده ها (SpreadSheet) و ... تلاش خود را آغاز نموده اند.
در زمینه سرور، لینوکس به عنوان یک سکوی پایدار و قابل اعتماد شناخته شده است که بانک های اطلاعاتی و سرویس های تجاری را برای شرکتهایی مانند آمازون (کتابخانه ی آنلاین معروف)، اداره پست آمریکا و ارتش آلمان پشتیبانی می کند. مخصوصاً استفاده سرویس دهنده های اینترنت از لینوکس به عنوان دیوار آتش و پراکسی سرور (Proxy Server) افزایش یافته است. و شما یک نسخه از لینوکس را نزد هر مدیر شبکه یونیکس که به مدیریت آسان علاقه دارد، خواهید یافت. گروهی از ماشینها با سیستم عامل لینوکس در تولید فیلمهایی مانند تایتانیک و شرک استفاده شده اند. در ادارات پست، مراکز حساسی وجود دارند که نامه ها را به مسیر خاصی هدایت می کنند. در موتورهای جستجوی بزرگ از این گروهها برای جستجوهای اینترنتی استفاده می شود. این موارد تنها چند نمونه از وظایف سنگینی است که لینوکس روزانه در سراسر جهان انجام می دهد. همچنین شایان ذکر است که لینوکس مدرن تنها بر روی ایستگاههای کاری و سرورهای mid and high اجرا نمی شود بلکه بر روی PDA ها، موبایلها و تعداد زیادی از سیستمهای جاسازی شده و حتی ساعتهای مچی اجرا می شود. این امر باعث شده است که لینوکس تنها سیستم عاملی باشد که از این گستره عظیم سخت افزاری پشتیبانی کند.
آیا کار با لینوکس مشکل است؟
لینوکس سیستم عاملی ایده آل برای کاربران قدرتمند و برنامه نویسان است چون این سیستم توسط همین افراد توسعه داده شده است.
هر چیزی که یک برنامه نویس آرزو داشته باشد، موجود است مانند کامپایلرها،
کتابخانه ها و ابزارهای توسعه و اشکال زدایی. این برنامه ها در هر توزیع استاندارد لینوکس وجود دارند. کامپایلر رایگان سی موجود است و تمام مستندات و راهنماها در دسترس هستند. اغلب، مثالهایی هم موجود است تا شما بتوانید به سرعت برنامه نویسی را آغاز کنید. لینوکس بسیار شبیه به یونیکس است و حرکت از یونیکس به سمت لینوکس و بالعکس امری بسیار عادی است.
در ابتدا، برای آغاز کار با سیستم، حرفه ای بودن مورد نیاز بود. کسانی که در لینوکس حرفه ای شده بودند نسبت به افرادی که هنوز آن را ندیده بودند، وضعیت بسیار بهتری داشتند. معمولاً به کاربران توصیه می شد که راهنماها را بخوانند. با وجود این که راهنماها روی همه سیستمها موجود بودند، یافتن آنها بسیار مشکل بود و اگر هم کسی آنها را پیدا می کرد، توضیحات، آنچنان با لغات تکنیکی آمیخته بودند که کاربر جدید به زودی ناامید می شد. انجمن کاربران لینوکس دریافت که اگر لینوکس بخواهد نقش مهمی را در بازار سیستم عاملها بازی کند، باید تغییراتی جدی در دسترسی این سیستم ایجاد شود.
پیشرفت توسعه
شرکتهایی مانند SuSE (زوزه تلفظ می شود)، Mandrake و Redhat تأسیس شدند. این شرکتها توزیعات مختلفی از لینوکس را به صورت بسته بندی ارائه کردند که برای استفاده های عمومی مناسب بود. آنها تعداد زیادی از رابطهای کاربری گرافیکی (مانند KDE) را که توسط انجمن لینوکس، توسعه داده شده بود، برای ساده کردن مدیریت برنامه ها و سرویسها، سازماندهی کردند. امروزه شما به عنوان یک کاربر لینوکس همه چیز را برای فهمیدن ریزه کاریهای سیستم در اختیار دارید و دیگر نیازی به آگاه بودن از چگونگی سازگار کردن سیستم با نیازهای خود ندارید.
امروزه شما می توانید به صورت گرافیکی وارد سیستم شوید و تمام برنامه های مورد نیاز خود را بدون تایپ حتی یک کاراکتر اجرا کنید، در حالی که توانایی دسترسی به هسته سیستم را نیز دارید. به دلیل ساختار خاص، لینوکس به یک کاربر اجازه پیشرفت در سیستم را می دهد و به طور مساوی نیازهای کاربران مبتدی و باتجربه را با هم فراهم می آورد. کاربران مبتدی مجبور نیستند که کارهای مشکل انجام دهند، در حالی که کاربران حرفه ای نیز مجبور نیستند به همان روشی که در آغاز یادگیری لینوکس یاد گرفته بودند، عمل کنند.
زمانی که توسعه در حیطه سرویس دهی ادامه می یابد، کارهای بزرگی برای کاربران سیستم های رومیزی انجام می شود. این کاربران، عموماً به عنوان گروهی تلقی می شوند که حداقل می خواهند بدانند که سیستم چگونه کار می کند. توسعه گران نرم افزارهای رومیزی، تلاشهای بسیار زیادی را صورت می دهند تا زیباترین میز کارهایی را که تا به حال دیده اید، بسازند. یا حداقل کاری کنند تا ماشین لینوکس شما، همانند یک ایستگاه کاری ویندوز و یا مکینتاش به نظر برسد. آخرین توسعه ها، پشتیبانی شتابدهنده های سه بعدی و ابزارهای USB و همچنین به روز رسانی آسان سیستم ها را شامل می شود. لینوکس این چیزها را داراست و تلاش می کند، که تمام سرویس های موجود را در یک فرم منطقی ارائه دهد تا مردم عادی بتوانند آن را درک کنند. در زیر، لیست کوتاهی حاوی چند مثال عالی وجود دارد. این سایتها تصاویر زیادی دارند که به شما نگاه تازه ای در مورد میز کارهای لینوکس می دهد.
آیا لینوکس آینده دارد؟
اندیشه ای که در سورس آزاد وجود دارد، بسیار ساده است. زمانی که برنامه نویسان بتوانند کدها را بخوانند، تغییر بدهند و توزیع کنند، کدها به تکامل خواهند رسید. مردم
می توانند آن را دریافت کنند، تغییر بدهند، اشکال زدایی کنند. و این افراد این کار را با چنان سرعتی انجام می دهند که بازدهی توسعه گران نرم افزار در شرکتهای بزرگ در برابر آن کوچک جلوه می کند. این نرم افزارها انعطاف پذیرتر خواهند بود و البته با کیفیت تر (نسبت به نرم افزارهایی که توسط مجراهای معمول ایجاد می شوند) و دلیل آن هم این است که نسبت به محیط های توسعه ی بسته، افراد بیشتری آن را در شرایط متفاوت تری امتحان کرده اند.
سورس آزاد این امر را بر دنیای تجاری روشن کرده و آهسته آهسته، تولیدکنندگان تجاری هم این قضیه را درک می کنند. در حالی که تعداد زیادی از افراد فنی و دانشجویان طی 20 سال درستی این قضیه را درک کرده اند و این راهی است که باید پیموده شود. تولیدکنندگان تجاری، کاربردهایی نظیر اینترنت را نیاز داشتند تا درک کنند که می توانند از سورس آزاد سود ببرند.
لینوکس هم اکنون رشد بسیاری کرده در حالی که در گذشته انحصاراً یک سیستم دانشگاهی بود و تنها برای افرادی با پیش زمینه فنی زیاد مناسب بود. اکنون لینوکس چیزی بیش از یک سیستم عامل است.
هم اکنون یک پشتیبانی زیربنایی کامل از زنجیره ساخت یک سیستم عامل، ایجاد و تست برنامه ها، فراهم آوردن همه امکانات برای کاربران، تأمین و نگاهداری، پشتیبانی و
شخصی سازی وجود دارد. امروز لینوکس برای پذیرش چالشهای جهان در حال توسعه آماده است.
در حالی که لینوکس شناخته شده ترین نمونه سورس آزاد است، پروژه دیگری وجود دارد که سهم زیادی در محبوبیت لینوکس ایفا کرده است. این پروژه SAMBA نام دارد و موفقیت آن در مهندسی معکوس SMB و CIFS است (که برای سرویس دهی فایل و چاپ در ماشینهای مبتنی بر PC استفاده می شود) و از ویندوز NT و OS/2 و لینوکس و البته بسیاری از سیستم عاملهای دیگر پشتیبانی می کند. بسته های آن، هم اکنون برای بیشتر سیستم های موجود است و از راه حلهای به هم پیوسته در محیطهای پیچیده با استفاده از پروتکلهای ویندوز پشتیبانی می کند (سرورهای فایل و چاپ سازگار با ویندوز (تا ویندوز XP))
موفق تر از سامبا، می توان از پروژه آپاچی یاد کرد. این سرور بر روی یونیکس، ویندوز NT و بسیاری از سیستم عاملهای دیگر اجرا می شود. این محصول ابتدا به عنوان A PAtCHy Server شناخته می شد که بر پایه یک کد قبلی و تعداد زیادی از وصله ها بنا شده بود. نام نهایی کد شایسته است، زیرا با نام قبیله بومی آمریکا یعنی آپاچی مرتبط است که به خاطر توانایی های فوق العاده در جنگ و مقاومت خستگی ناپذیر معروف هستند. آپاچی نشان داده است که ذاتاً سریعتر، پایدارتر و با امکانات از دیگر سرویس دهنده های وب است. آپاچی بر روی سایتهایی اجرا می شود که روزانه میلیونها بیننده دارند و گرچه هیچ پشتیبانی رسمی توسط توسعه گران موجود نیست، اما انجمن کاربران آپاچی به تمامی سؤالات شما پاسخ خواهند داد. پشتیبانی تجاری هم توسط چند شرکت ثالث وجود دارد.
در زمینه نرم افزارهای اداری، گزینه های متفاوتی از معادلهای مایکروسافت آفیس موجود است که از برنامه های جزئی تا برنامه های کلی موجود بر روی سیستم های ویندوز را شامل می شود. این کار سهم زیادی را در قابل قبول ساختن لینوکس برای بازار رایانه های رومیزی ایفا کرده است. زیرا کاربران نیازی به آموزش اضافی برای یادگیری کار با سیستم های جدید را ندارند.
این میز کار، ستایش کاربران عادی را به همراه دارد. اما در کنار تحسین باید به نیازهای خاص آنها نیز توجه کرد که هر روز در حال پیچیده تر شدن است. جامعه سورس آزاد (که بیشتر از مردمی تشکیل شده که نیمی از یک دهه در آن شرکت کردند)، جایگاه لینوکس را به عنوان یک بازیگر مهم در بازار رایانه های رومیزی و همچنین یک نرم افزار IT عمومی، تثبیت کرده است. داوطلبان و همچنین کارمندانی که حقوق می گیرند با زحمت کار می کنند تا لینوکس بتواند جایگاهی را در بازار به دست آورد.
وجود کاربران بیشتر سؤالات بیشتری را به وجود می آورد. جامعه سورس آزاد مطمئن سات که لالاخره به سؤالها جواب داده می شود و با نگاهی شکاک به کیفیت سؤالات
می نگرد. حاصل این کار، پایداری و دسترسی بیشتر است.
لیست کردن تمام برنامه های موجود لینوکس، از حوصله این کتاب خارج است. زیرا هزاران بسته نرم افزاری موجود است. در این کتاب، ما متداولترین بسته ها را معرفی خواهیم نمود که اکثراً رایگان هستند. برای از بین بردن ترس کاربران مبتدی، در اینجا تصویری از یکی از پرطرفدارترین برنامه ها نشان داده می شود. شما خود می توانید ببینید که از هیچ تلاشی برای راحت کردن کار کاربرانی که از ویندوز به لینوکس آمده اند، دریغ نشده است.
ویژگیهای لینوکس
مزایای لینوکس
بسیاری از مزایای لینوکس، دست آورد منشاء و مبداء لینوکس است که ریشه در یونیکس دارد، البته به استثنای اولی.
لینوکس رایگان است
برای داشتن لینوکس حتی می توانید پولی بابت خریدن سی دی نپردازید، بلکه لینوکس را به طور رایگان از اینترنت دانلود کنید.
برای ثبت آن نیز لازم نیست هزینه ای بپردازید. اضافه کردن کاربر و همچنین به روز رسانی رایگان است و اگر بخواهید رفتار سیستم را عوض کنید، سورس برنامه به صورت کاملاً رایگان در دسترس است.
لیسانسی که معمولاً برای لینوکس استفاده می شود، GPL (لیسانس عمومی GNU) نام دارد. این لیسانس تصریح می کند که هرکس بخواهد، این حق را دارد که لینوکس را تغییر دهد، و نهایتاً نسخه تغییر یافته را دوباره توزیع کند، با این شرط که بعد از توزیع، سورس همچنان در دسترس باشد. در عمل شما آزاد هستید که یک نسخه از هسته را بگیرید و مثلاً پشتیبانی از ماشینهای ارتباط از راه دور را به آن بیافزایید و کد خود را دوباره بفروشید با این شرط که خریداران، یک نسخه از کد را در اختیار داشته باشند.
لینوکس قابلیت انتقال به هر نوع سخت افزاری را دارد
یک تولیدکننده که بخواهد نوع جدیدی از رایانه خویش را بفروشد و نداند که چه سیستم عاملی می تواند از ماشین جدیدش (مثلاً CPU خودروی شما و یا ماشینهای شست و شو) پشتیبانی کند، می تواند یک نسخه از هسته لینوکس را بگیرد و آن را برای کار با سخت افزارش آماده کند زیرا مستندات مربوط به این کار به طور رایگان موجود است.
لینوکس ساخته شده است که به کار کردن ادامه بدهد
همانند یونیکس، انتظار می رود یک سیستم لینوکس بدون نیاز به این که همواره reboot شود، کار کند. دلیل این که بیشتر کارها در شب انجام می شود و یا به طور خودکار برای انجام در زمانهای بی مشغله برنامه ریزی می شوند، این است که در زمانهای پرکارتر دسترسی بهتر و همچنین مجموعه ی هماهنگ تری از سخت افزار وجود داشته باشد. این ویژگی لینوکس، آن را در محیطهایی که در آن مردم فرصت یا امکان کنترل کردن کارهای خود را به طور شبانه روزی ندارند، قابل پذیرش می کند.
لینوکس امن است
مدل امنیتی که در لینوکس استفاده می شود بر پایه نظریه امنیتی یونیکس است که به دلیل پایداری و کیفیت اثبات شده اش، شناخته شده است. اما لینوکس تنها برای استفاده به عنوان یک سد دفاعی علیه حملات اینترنتی مناسب نیست؛ بلکه به راحتی با شرایط دیگر نیز انطباق پیدا می کند و از همان استانداردهای سطح بالا برای امنیت خود استفاده می کند. ماشین توسعه یا ایستگاه کنترل شما به اندازه دیوار آتش امن است.
اندازه لینوکس قابل تغییر است
شما می توانید بسته های نرم افزاری مناسب خود را به یک پالمتاپ با 2 مگابایت حافظه تا یک واحد ذخیره سازی پتابایتی با هزاران گره، اضافه کنید و لینوکس را در همه ی این محیطها اجرا کنید. شما دیگر نیازی به یک ابرکامپیوتر ندارید، زیرا به وسیله اجزای
سازنده ای که توسط سیستم شما پشتیبانی می شود می توانید کارهای بزرگ انجام دهید. اگر بخواهید کارهای کوچکتر انجام دهید، مثل ایجاد سیستم عامل برای یک پردازشگر embedded یا بازیابی 486 قدیمی خود، لینوکس به خوبی از عهده کارها برمی آید.
سیستم عامل لینوکس و برنامه های آن، به زمان اشکال زدایی اندکی نیاز دارند
به این دلیل که لینوکس توسط هزاران نفر توسعه داده شده و امتحان شده است، خطاها و همچنین مردمی که آنها را رفع می کنند، به سرعت پیدا می شوند. گاهی اتفاق افتاده است که بین پیدا شدن یک ایراد و رفع آن، تنها چند ساعت فاصله بوده است.
معایب لینوکس
توزیعات بسیار مختلفی وجود دارد
Tot rationes و Quot Capites. همانطور که رومیها قبلاً گفته اند: مردم بیشتر، عقاید بیشتر. در نگاه اول، تعداد توزیعات لینوکس ممکن است ترسناک یا تمسخرآمیز به نظر برسد (بسته به نظر شما). و صد البته به این معنی نیز هست که هرکس هر چیزی که بخواهد پیدا خواهد کرد. و شما نیاز ندارید که حرفه ای باشید تا توزیع مناسب خود را پیدا کنید. زمانی که در مورد بهترین توزیع می پرسید، معمولاً هر کاربری خواهد گفت که بهترین توزیع، توزیعی است که خود او استفاده می کند.
پس شما کدامیک را انتخاب کنید؟ زیاد نگران نباشید. هر توزیع کم یا زیاد، حاوی مجموعه ای از بسته های پایه ای همانند است. جدا از این پایه ها، برنامه های ویژه ای توسط شرکتهای ثالث اضافه می شود تا برای نمونه توربو لینوکس را برای اینترپرایزهای متوسط و کوچک، ردهت را برای سرورها، SuSE را برای ایستگاههای کاری مناسب کند. به هر حال، تفاوتها، بسیار ظاهری به نظر می رسند. بهترین استراتژی امتحان کردن تعدادی از توزیعات است، که متأسفانه هرکس فرصت چنین کاری را ندارد. اما خوشبختانه، توصیه های زیادی در مورد انتخاب توزیع موجود است. مثلاً linuxjournal که در میان موضوعات بسیار دیگر، در مورد سخت افزار و پشتیبانی نیز بحث می کند. راهنمای HOWTO The Installation هم درمورد انتخاب توزیع بحث می کند.
لینوکس زیاد کاربرپسند نیست و برای تازه کارها گیج کننده است
در پرتو محبوبیت لینوکس، تلاش قابل توجهی برای ساده سازی لینوکس برای کار (به خصوص برای کاربران جدید) صورت گرفته است. هر روز اطلاعات بیشتری منتشر
می شود (مانند این راهنما) تا خلاء موجود ناشی از کمبود مستندات برای کاربران را در هر مرحله ای پر کند.
آیا یک محصول سورس آزاد قابل اعتماد است؟
چگونه ممکن است چیزی که رایگان است، قابل اعتماد هم باشد؟ کاربران لینوکس این حق را دارند که از لینوکس استفاده کنند یا نکنند. که این مزیتی بزرگ نسبت به کاربران
نرم افزارهای تجاری است (که این آزادی را ندارند) بعد از دوره های طولانی تسبت کردن، بسیاری از کاربران لینوکس به این نتیجه می رسند که لینوکس به خوبی (و در بسیاری از موارد بهتر و سریعتر از) راه حلهای سنتی است. اگر لینوکس قابل اعتماد نبود، مدتها پیش از بین رفته بود و هیچ وقت این محبوبیت را با میلیونها کاربر نداشت. اکنون کاربران
می توانند بر سیستم خود تأثیر بگذارند، و برداشتهای خود را با انجمن در میان بگذارند. پس سیستم هر روز بهتر و بهتر می شود. این پروژه ای است که هرگز پایان نمی یابد و البته این حقیقت است. و در محیط همواره متغیر اطراف ما، لینوکس پروژه ای است که برای تکامل تلاش می کند.
مکملهای لینوکس
لینوکس و GNU
گرچه توزیعات مختلفی از لینوکس موجود است، شما شباهتهای فراوانی را در توزیعات متفاوت خواهید یافت، زیرا هر بسته لینوکس، در حقیقت از اجزای ساختاری تشکیل شده است که شما می توانید آنها را باتوجه به نظرات و نیازهای خود در کنار هم قرار دهید. نصب لینوکس در حقیقت آغاز یک ارتباط طولانی است. تنها زمانی که شما فکر می کنید که سیستم به خوبی در حال کار کردن است، لینوکس تصور شما و خلاقیت را برمی انگیزد و شما درمی یابید که سیستم چه قدرتی را می تواند به شما بدهد و شما تلاش خواهید کرد که حدود سیستم خود را دوباره تعیین کنید.
لینوکس ممکن است باتوجه به توزیع، سخت افزار و علاقه شخصی شما متفاوت به نظر برسد، اما پایه و اساسی که محیط گرافیکی و دیگر رابطها روی آنها بنا می شوند، همانند باقی می ماند. سیستم لینوکس بر روی ابزارهای (GNU gnu's not UNIX) ساخته شده است. که مجموعه ای از راههای استاندارد را برای استفاده سیستم تأمین می کند. تمام ابزارهای GNU سورس آزاد هستند، بنابراین می توانند بر روی هر سیستمی نصب شوند. بسیاری از توزیعات، ابزارهای پر کاربرد را به صورت بسته های از پیش کامپایل شده مانند RPM در ردهت و dpkg در Debian عرضه می کنند، بنابراین شما برای نصب یک بسته نیازی به برنامه نویس بودن ندارید. به هر حال، اگر شما علاقه مند باشید که خودتان کارها را انجام دهید، از لینوکس لذت خواهید برد. زیرا بسیاری از توزیعات با مجموعه ی کاملی از ابزارهای توسعه عرضه می شوند و امکان نصب برنامه جدید را از روی سورس می دهد. این روش نصب، به شما اجازه می دهد که نرم افزار جدید را حتی اگر به صورت از پیش بسته بندی شده وجود ندارد، بر روی سیستم نصب کنید.
نرم افزارهای تجاری بسیاری برای لینوکس موجودند و ما برای اطلاعات بیشتر در مورد آنها به مستندات ویژه آنها مراجعه می کنیم. در این راهنما، ما تنها نرم افزارهایی را که به طور رایگان موجودند و بیشتر با لیسانس GNU عرضه می شوند، بررسی می کنیم. برای نصب بسته های جدید یا پاک شده، شما به یک مدیریت نرم افزار نیاز خواهید داشت. بسیاری از توزیعات شامل dpkg، RPM و Ximian Red Carpet هستند.
RPM یا مدیریت بسته ردهت، در بسیاری از سیستم های لینوکس استفاده می شود، با این وجود که نام آن نشانگر این مطلب نیست. Dpkg سیستم مدیریت بسته Debian است، که از رابط کاربری با نام apt-get استفاده می کند و می تواند بسته های RPM را به خوبی مدیریت کند. Ximian Red Carpet توزیعی ثالث از RPM است که از لایه کاربری گرافیکی استفاده می کند. تولیدکنندگان دیگر نیز ممکن است روالهای نصب خاص خود را داشته باشند که گاهی اوقات یادآور برنامه هایی مانند InstallShield که بر روی ویندوز و دیگر سیستم عاملها شناخته شده هستند، می باشند. هنگامی که در لینوکس پیشرفت می کنید، با این برنامه ها برخورد خواهید کرد.
GNU/Linux
هسته لینوکس (استخوان بندی سیستم شما، بخش 1-3-2-3 را ببینید) بخشی از پروژه GNU نیست اما از لیسانسی مشابه با آن استفاده می کند. تعداد زیادی از ابزارهای توسعه (که در حقیقت ماهیچه های! سیستم شما هستند) و مخصوص لینوکس نیستند، از پروژه GNU گرفته شده اند. به دلیل این که هر سیستم قابل استفاده لینوکس باید حاوی کرنل و حداقل یک مجموعه کوچک از این ابزارها باشد، عده ای بر این عقیده اند که چنین سیستمی باید GNU/Linux نامیده شود.
به منظور رسیدن به بالاترین درجه عدم وابستگی میان توزیعات، ما از GNU/Linux در سراسر این کتاب استفاده خواهیم کرد. اگر هم در مورد GNU/Linux صحبت نکردیم، توزیع خاص، نسخه و نام برنامه ذکر خواهد شد.
بهتر است چه توزیعی را نصب کنم؟
قبل از نصب، مهمترین فاکتور سخت افزار است. به دلیل این که هر توزیع لینوکس حاوی بسته های پایه است و می توانند به گونه ای ساخته شوند که تقریباً هر نیازی را تأمین کنند (زیرا همه از هسته لینوکس استفاده می کنند) شما تنها باید بدانید که آیا این توزیع روی سخت افزار من اجرا می شود یا نه؟ برای نمونه LinuxPPC برای اجرا روی مکینتاش و دیگر PowerPC ها ساخته شده است و بر روی رایانه های x86 اجرا نمی شود. LinuxPPC بر روی مکینتاشهای جدید اجرا می شود اما شما نمی توانید آن را بر روی برخی از مکینتاشهای قدیمی که از تکنولوژی باس قدیمی استفاده می کنند، اجرا کنید.
نکته دیگر، در مورد سخت افزارهای شرکت سان مایکروسیستمز است که می تواند از SPARC های قدیمی تا ULTRASPARC ها جدید را شامل شود و هردو به نسخه های متفاوت لینوکس نیازمندند.
بعضی از توزیعات برای پردازشگرهای خاص طراحی شده اند مانند Athlon، در حالی که به طور همزمان بر روی استانداردهای قدیمی مانند 686، 586، 486 اجرا می شوند. گاهی اوقات برخی توزیعات که برای پردازشگرهای خاصی ساخته شده اند، قابل اعتماد نیستند زیرا به وسیله افراد کمتری تست شده اند. بسیاری از توزیعات لینوکس، مجموعه ای از برنامه ها را برای رایانه های عمومی، با بسته های ویژه ای حاوی کرنل بهینه سازی شده برای CPU های مبتنی بر x86 عرضه می کنند. این توزیعات به خوبی تست شده اند و بر روی پایه های عادی نگهداری شده اند و کار خود را بر روی اجرای مبتنی بر سرور، نصب آسان و روالهای به روز رسانی متمرکز کرده اند. مانند ردهت، SuSE و Mandrake که پرطرفدارترین توزیعات لینوکس هستند و به خاطر کاربری آسان برای تازه کارها، معروف می باشند، در حالی که مانع حرفه ای ها برای استفاده هرچه بیشتر از رایانه خود نمی شوند. اخیراً لینوکس بر روی لپ تاپ ها و سرورهای middle-range نیز اجرا می شود. راه اندازهای جدید تنها پس از آزمایشهای فراوان عرضه می شوند که این بر پایداری سیستم می افزاید.
ممکن است میز کار استاندارد یک رایانه GNOME باشد درحالیکه رایانه دیگر از KDE به عوان پیش فرض استفاده کند. عموماً، GNOME و KDE برای تمام توزیعات معروف موجود هستند.
ابزارهای مدیریت پنجره و میز کار دیگر نیز برای کاربران حرفه ای تر موجود است. روال نصب استاندارد به کاربران اجازه می دهد که روشهای نصب پایه ای متفاوت را انتخاب کنند، مانند ایستگاه کاری، جایی که تمام بسته ها برای استفاده و توسعه روزانه مورد نیازند یا نصب سرور که در آن می توان سرویس های شبکه مختلف را انتخاب کرد. کاربران حرفه ای می توانند هر ترکیبی از بسته ها را که می خواهند طی رویه ابتدایی نصب کنند.
هدف این راهنما این است که با تمام توزیعات سازگار باشد. برای راحتی خودتان، به کاربران تازه کار به شدت توصیه می شود که یکی از توزیعات اصلی را نصب کنند، که از تمامی سخت افزارها و برنامه ها به طور پیش فرض پشتیبانی کند. برای تازه کارها
گزینه های زیر بسیار مناسب اند:
.1 Redhat Linux
.2 SuSE linux
.3 Mandrake
.4 Knoppix: سیستم عاملی که از CD-ROM شما اجرا می شود و شما نیز به نصب هیچ چیز ندارید.
ایزوهای قابل دانلود می توانند از linuxiso گرفته شوند. و توزیعات اصلی قابل خریداری از فروشگاه رایانه ای هستند.