بخش های لینوکس

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

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

لینوکس کدباز است
هر برنامه یا نرم‌افزاری را با یک زبان یا چند زبان برنامه‌نویسی می‌نویسند. وظیفه‌ نوشتن این کدها و طراحی برنامه‌ها به عهده‌ برنامه‌نویسان است. بعد از اجرای همین کدهای نوشته شده، حاصل همان برنامه‌ای می‌شود که شما می‌بینید و با آن کار می‌کنید. حال برنامه‌نویس یا شرکت نویسنده‌ برنامه می‌تواند کدهای برنامه را برای خودش نگه دارد و سایرین فقط برنامه‌ اجرا شده (و بدون کد) را ببینند؛ یا اینکه می‌توانند کدهای برنامه را منتشر کند تا سایرین نیز بتوانند از آن استفاده کنند. اگر این حالت پیش بیاید به آن برنامه Open Source یا کدباز یا منبع‌باز می‌گویند. برنامه‌های کدباز یک ویژگی بسیار مهم دارند و آن برطرف کردن اشکالات به‌صورت مداوم نسبت به برنامه‌هایی است که کدباز نیستند.

با انتشار کدهای یک برنامه، برنامه‌نویسان در سراسر دنیا با مطالعه‌ کدها، سریعا اشکالات برنامه را پیدا کرده و آنها را برطرف می‌کنند. در این صورت برنامه‌ کدباز در زمان اندکی پیشرفت می‌کند و ایرادات و اشکالاتی که معمولا موجب آزار کاربران می‌شود از بین می‌رود. با پیشرفت برنامه، امنیت آن نیز بیشتر می‌شود. شاید برای یک کامپیوتر خانگی امنیت خیلی معنا پیدا نکند (که اصلا هم اینطور نیست) اما برای کامپیوترهای اداری که حاوی اطلاعات مهمی هستند امنیت حرف اول را می‌زند. برای کامپیوترهای سرور که خدمات اینترنتی و شبکه را ارائه می‌کنند امنیت مهم‌ترین قسمت کار است.

پس استفاده از برنامه‌ای که مطمئن باشد و باعث از دست رفتن اطلاعات و هزینه نشود بسیار مهم می‌نماید. لینوکس هم کدباز است. هم هسته‌ لینوکس کدباز است و هم نرم‌افزارهای پروژه‌ گنو و همچنین اکثر نرم‌افزارهای دیگری که در لینوکس قابل استفاده هستند (و محصول گنو نسیتند) نیز کدباز هستند. این بدین معناست که شما با سیستم‌عاملی روبرو هستید که ایرادات و اشکالات و حفره‌های امنیتی‌اش به مراتب کمتر از سایر نرم‌افزارهاست و ایراداتی هم که به مرور زمان توسط کاربران کشف می‌شوند به سرعت مرتفع شده و نرم‌افزارهایش رو به تکامل می‌روند. خاصیت نرم‌افزارهای کدباز همین است که به‌شکل مداوم به‌روز می‌شوند و کاربران از بابت مشکلات امنیتی دغدغه‌ای ندارند.

لینوکس نرم‌افزار آزاد است
متولیان پروژه‌ گنو بنیادی به نام «بنیاد نرم‌افزارهای آزاد» را نیز بنا نهاده‌اند. نرم‌افزار آزاد بنا به عقاید این بنیاد به نرم‌افزاری گفته می‌شود که دارای ۴ شرط یا ۴ آزادی باشد:

۱- آزادی اول: آزادی اجرای برنامه برای هر منظوری است. شما آزادید از نرم‌افزار آزاد هرگونه که دلتان می‌خواهد استفاده کنید. می‌توانید آن‌را روی هر سیستمی نصب کنید و از آن برای هر هدفی استفاده کنید.
۲- آزادی دوم: آزادی مطالعه و بررسی چگونگی عملکرد نرم افزار است. شما حتی در این مطالعه و تحقیقات می‌توانید آن را به صورت دلخواه تغییر نیز بدهید. دسترسی به کدهای برنامه پیش شرط این مطلب است. بدین معنی که اگر نرم‌افزاری کدباز نباشد مسلما این امکان برایتان به وجود نمی‌آید.
۳- آزادی سوم: آزادی کپی و تکثیر نرم‌افزار است. شما آزادید نرم‌افزار را به طور رایگان یا با دریافت وجه برای دیگران به هر مقدار که خواستید تکثیر کنید و هیچ قانونی شما را خلافکار نمی‌داند. این موضوع بدین معنی نیست که تمامی نرم‌افزارهای آزاد رایگان هستند. نرم‌افزارهای آزاد و کدباز بسیار زیادی وجود دارند که رایگان نیستند. در واقع مبلغی که شما می‌پردازید قیمت کدهای نوشته شده نیست. قیمت پشتیبانی، بسته‌بندی، رساندن به دست مشتری، به‌روز رسانی و سایر خدمات پس از فروش است. تعداد زیادی از نسخه‌های معروف لینوکس رایگان نیستند. شما می‌توانید نسخه‌های کپی‌شده‌ آنها را استفاده کنید اما هیچ‌گاه نسخه‌ کپی‌یتان شامل به‌روز رسانی که امر بسیار مهمی است نمی‌شود.

۴- آزادی چهارم: آزادی تقویت، بهبود و اشکال‌زدایی نرم‌افزار و در نهایت انتشار عمومی آنست. باز هم تاکید می‌شود که دسترسی به کدهای منبع پیش شرط این مطلب است. نکته‌ای که در بالا به آن اشاره شد و یکی از نقاط قوت نرم‌افزارهای کدباز به‌شمار می‌رفت، این بود که این نرم‌افزارها به‌شکل مداوم به‌روز و رفع اشکال می‌شوند. این به‌روز رسانی دقیقا همین موضوعی است که آزادی چهارم به آن اشاره می‌کند. هر کسی که قابلیت و توانایی مطالعه‌ کدها را داشته باشد می‌تواند آنها را مرور کرده و اشکالاتش را برطرف کند. همین موضوع باعث تقویت، بهبود و اشکال‌زدایی نرم‌افزارها می‌شود و یکی از برتری‌های نرم‌افزارهای کدباز و آزاد به شمار می‌رود. همانطور که گفته شد لینوکس، گنو و اکثر نرم‌افزارهای قابل استفاده در لینوکس نیز آزاد هستند. این نیز یکی از برتری‌های مهم لینوکس به‌شمار می‌آید.

نسخه‌های متنوع
لینوکس یا با نام صحیح‌تر گنو/لینوکس نسخه‌های بسیار بسیار زیادی دارد. هر نسخه از گنو/لینوکس را یک «توزیع» می‌نامند. آمار دقیقی از تعداد توزیع‌ها وجود ندارد. اما چیزی در حدود ۱۵۰۰ تا ۲۰۰۰ توزیع لینوکس وجود دارد. حال این تعداد را با تعداد نسخه‌های مختلف سیستم‌عامل‌های دیگر مقایسه کنید که نهایتا به ۷ – ۸ عدد می‌رسد. شما در انتخاب یک توزیع لینوکس مناسب برای هدفتان، انتخاب بسیار گسترده‌ای دارید. تمام این توزیع‌ها یک سری نقاط مشترک دارند؛ مانند همان ۷ – ۸ نسخه‌ سیستم‌عامل‌های دیگر. نقاط اختلاف این توزیع‌هاست که آنها را مطرح و متفاوت می‌کند. هر کدام از توزیع‌ها یک سری قابلیت‌ها و نرم‌افزارهای مخصوص خودشان دارند که آنها را از سایرین متفاوت می‌کند.

پس باز هم می‌بینید که انتخاب شما در لینوکس بسیار وسیع و گسترده است. گروهی از این نسخه‌ها برای سرورها طراحی شده‌اند. از نرم‌افزارهای کاربردی در این توزیع‌ها کاسته شده و هدف صرفا سرور (کامپیوترهای خدمات دهنده‌ی شبکه و اینترنت) است. علت اینکه از نرم‌افزارهای کاربردی و حتا ظاهر گرافیکی در این نسخه‌ها خبری نیست اینست که هر نرم‌افزاری یک سری ایرادات امنیتی دارد. به هر حال با زیاد شدن تعداد نرم‌افزارها تعداد اشکالات کل سیستم بالا می‌رود و با کم کردن نرم‌افزارها اشکالات کل سیستم کم می‌شود. پس وقتی وجود ظاهر گرافیکی و نرم‌افزارهایی مانند بازی و پخش‌کننده‌ DVD در یک سرور لزومی ندارد چرا امنیت را پایین بیاوریم؛ آن هم در کامپیوتری که اگر با مشکل مواجه شود ممکن است ضررهای مالی هنگفتی به آن شبکه یا شرکت وارد کند.

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