لینوکس

گنو/لینوکس  سیستم عاملی شبه‌یونیکس است که بخش عمدهٔ آن، سازگار با استاندارد پازیکس است. بسیاری از توزیع‌های گنو/لینوکس از کلمهٔ «لینوکس» در نام خود استفاده می‌کنند، اما بنیاد نرم‌افزار آزاد از نام «گنو/لینوکس» برای تأکید بر اهمیت سیستم عامل گنو استفاده می‌کند که باعث ایجاد برخی بحث‌ها مثل بحث نام‌گذاری گنو/لینوکس شده‌است. به نظر سازندهٔ لینوکس، استفاده از نام «گنو/لینوکس» برای کل سیستم، اشتباه است.

گنو/لینوکس می‌تواند سخت‌افزارهای مختلفی از جمله انواع مختلف تلفن همراه، تبلت، مسیریاب و کنسول بازی، رایانه‌های رومیزی، رایانه‌های بزرگ، ابررایانه‌ها و رایانه‌های تک بردی (SBC) را پشتیبانی کند.

اگرچه ابتدا لینوکس فقط برای استفاده روی ریزپردازنده‌هایی با معماری ۸۰۳۸۶ اینتل طراحی شده‌بود، اما امروزه انواع گوناگون معماری‌ها را پشتیبانی می‌کند، و در انواع و اقسام وسایل؛ از رایانهٔ شخصی گرفته تا ابررایانه‌ها و تلفن‌های همراه و سرورها به کار می‌رود. این سیستم‌عامل در ابتدا بیشتر توسط افراد مشتاق، به‌طور داوطلبانه گسترش پیدا می‌کرد و به کار گرفته می‌شد. لینوکس توانسته‌است پشتیبانی شرکت‌های بزرگی چون آی‌بی‌ام و هیولت-پاکارد را به‌دست‌آورد و با بسیاری از نسخه‌های تجاری یونیکس رقابت کند. طرفداران لینوکس و بسیاری از تحلیلگران این موفقیت را ناشی از استقلال از فروشنده، کم‌هزینه‌بودن پیاده‌سازی، سرعت بالا، امنیت و قابل اطمینان بودن آن می‌دانند.

لینوکس، توزیع‌های مختلفی دارد، از جمله دبیان، سنت او اس (مناسب سرور)، کالی لینوکس (که بیشتر برای تست نفوذ استفاده می‌شود) فدورا و نمونه‌های دیگر نام دارند.

آمار دقیقی از تعداد تمام توزیع‌های لینوکس وجود ندارد اما تخمین‌های در این مورد وجود دارد.

به‌طور کلی می‌توان گفت هر سیستم عامل کامپیوتری دارای هسته یا کِرنِل و رابط بین نرم‌افزار و سخت‌افزار سیستم است و وظیفهٔ انجام کارهای اساسی را دارد.

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

 تاریخچه 

در سال ۱۹۸۴ میلادی ریچارد استالمن که رئیس بنیاد نرم‌افزارهای آزاد بود پروژه گنو (GNU) را آغاز کرد. در این پروژه که یک جنبش نرم‌افزاری محسوب می‌شد، برنامه‌نویسان با یکدیگر همکاری می‌کردند که این همکاری تا به امروز نیز ادامه دارد.

آن زمان بیشتر ابزارهای پروژه گنو که با زبان برنامه‌نویسی سی و اسمبلی نوشته شده‌بود، آمادهٔ کار بودند و تنها یک هستهٔ سیستم‌عامل مناسب و آزاد، کم بود. حتی سیستم‌عامل مینیکس نیز با وجود در دسترس بودن کد منبع آن، آزاد نبود و حق نشر مخصوص داشت. کار در پروژه گنو به سمت طراحی یک هستهٔ مناسب متمرکز می‌شد اما به نظر می‌رسید که برای ایجاد این هسته حداقل چند سال دیگر زمان نیاز است. این تأخیر برای لینوس توروالدز قابل تحمل نبود؛ بنابراین خودش دست به کار شد و با الهام از کد مینیکس کار را مجدد آغاز کرد. سرانجام در ۲۵ اوت سال ۱۹۹۱ در ساعت ۲۰:۵۷ (به وقت گرینویچ) پیامی تاریخی به گروه خبری comp.os.minix از طرف لینوس توروالدز ارسال شد. او یک دانشجوی فنلاندی بود که آن زمان در دانشگاه هلسینکی درس می‌خواند.

متن پیام او چنین بود:

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

پنگوئن تاکس نشانه و نماد شانس هستهٔ لینوکس است. لینوس توروالدز مالک علامت تجاری لینوکس است که به عنوان «نرم‌افزار سیستم‌عامل رایانه برای تسهیل در استفاده و عملیات رایانه» به ثبت رسیده‌است.

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

 توزیع‌های لینوکس 

لینوکس همیشه یکی از اجزاء یک توزیع لینوکس  است. توزیع‌های لینوکس توسط افراد، یعنی گروه‌های نه چندان متشکل و سازمان‌های حرفه‌ای گوناگون ایجاد می‌شوند. این توزیع‌ها شامل تعدادی نرم‌افزار سیستم و برنامه‌های کاربردی به همراه روالی مشخص برای نصب آن‌ها بر رایانه هستند. توزیع‌ها به‌طور معمول برای اهداف مختلفی از جمله محلی‌سازی، پشتیبانی از یک معماری خاص، کاربردهای بی‌درنگ (real-time applications) و سامانه‌های توکار (embedded systems) به وجود می‌آیند و برخی از آن‌ها آگاهانه، تنها از نرم‌افزارهای آزاد استفاده می‌کنند.

یک توزیع همه منظورهٔ معمولی، شامل هستهٔ لینوکس، کتابخانه‌ها و ابزارهای گنو، پوسته‌های خط فرمان و انبوه بی‌شماری از نرم‌افزارهای کاربردی از مجموعه‌های اداری و سیستم پنجره‌ای اِکس گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است.

از توزیع‌های شناخته‌شدهٔ لینوکس می‌توان به موارد زیر اشاره کرد:
 اوبونتو (به انگلیسی: Ubuntu) (شناخته‌شده‌ترین و محبوب‌ترین توزیع لینوکس)
 آرچ لینوکس (به انگلیسی: Arch Linux) (مناسب برای: برنامه‌نویسان و توسعه‌دهندگان)
 دبیان (به انگلیسی: Debian) (یکی از محبوب‌ترین توزیع‌های لینوکس برای استفادهٔ مبتدیان و سرورها)
 کالی لینوکس (به انگلیسی: Kali Linux) (مناسب برای: تست‌های امنیتی از جمله تست نفوذ)
 فدورا (به انگلیسی: Fedora) (مناسب برای: توسعه‌دهندگان نرم‌افزار، آموزندگان)
 لینوکس مینت (به انگلیسی: Linux Mint) (مناسب برای: متخصصین، توسعه‌دهندگان و آموزندگان؛ از لحاظ ظاهری نزدیک‌ترین نسخه لینوکس به سیستم عامل ویندوز) 
 مانجارو (به انگلیسی: Manjaro) (مناسب برای: مبتدیان)
 اپن‌سوزه (به انگلیسی: open SUSE) (مناسب برای: مبتدیان و متخصصین ماهر)
 تِیلز (به انگلیسی: Tails) (مناسب برای: امنیت و حریم خصوصی)
 زورین او اس (به انگلیسی: Zorin OS) (مناسب برای: مبتدیان و متخصصین)
 سنت او اس (به انگلیسی: Centos) (مناسب برای: سیستم عامل سرور میزبانی سایت)

 گستره 
بیش از یک میلیارد دلار: برآورد اندازهٔ گنو/لینوکس که مقالهٔ تحقیقی‌ای است بر روی توزیع رِدهَت لینوکس ۷٫۱، که در آن تعداد خطوط کد منبع ۳۰ میلیون عنوان شده‌است.

در این تحقیق، با استفاده از روش (مدل هزینه سازنده – کوکو) برآورد شده‌است که بر روی این توزیع نزدیک به ۸ هزار نفر در سال کار گسترش (توسعه) انجام شده‌است.

چنان‌که این نرم‌افزار با روش‌های متعارف خصوصی گسترش می‌یافت، هزینهٔ گسترش‌اش در ایالات متحده با روش‌های گسترش متعارف خصوصی بالغ بر ۱/۰۸ میلیارد دلار (با قیمت دلار سال ۲۰۰۰) می‌شد.

بخش بزرگی از کد (۷۱٪) با زبان برنامه‌نویسیِ C نوشته شده‌است اما از بسیاری از زبان‌های دیگر همچون ++C، لیسپ، اسمبلی، پرل، فرترن، پایتون و زبان‌های اسکریپت‌نویسی گوناگونی هم استفاده شده‌اند. اندکی بیش از نیمی از خطوط کد، تحت مجوز عمومی گنو (جی‌پی‌اِل) هستند.

هستهٔ لینوکس ۲٫۴ میلیون خط کد است و ۸٪ کل کد را تشکیل می‌دهد.

در پژوهشی جدید که بر روی توزیع لینوکس دبیان نسخهٔ ۴٫۰ که در سال ۲۰۰۷ عرضه شده صورت گرفت، مشخص شد این توزیع دارای نزدیک به ۲۸۳ میلیون خط کد بود که تخمین زده می‌شود هزینهٔ گسترش‌اش با روش‌های گسترش متعارف خصوصی بالغ بر ۸٫۰۷ میلیارد دلار (با قیمت دلار سال ۲۰۱۳) و زمان مورد نیاز حدود هفتاد و سه هزار نفر در سال می‌شود.

 کاربردهای سیستم‌عامل‌های شکل گرفته بر پایهٔ لینوکس 
در گذشته یک کاربر لینوکس برای پیکربندی و نصب سیستم خود، نیازمند دانش بالایی از رایانه بود. این دلیل، علاوه بر دسترسی به درون سیستم، باعث شده بود که به‌طور سنتی کاربران لینوکس را (بر خلاف کاربران ویندوز یا مک‌اواس) کسانی شکل بدهند که با رایانه بیشتر آشنا هستند. افرادی که معمولاً با القاب «هَکِر» و «گیک» شناخته می‌شوند. این نگرش در سال‌های اخیر با افزایش راحتی کار در لینوکس و گسترده شدن استفاده از بسیاری از توزیع‌ها، اعتبار خود را از دست داده‌است. لینوکس در بازار سرورها و کاربردهای ویژه (مانند پردازش تصویر و سرویس وب) پیشرفت قابل‌ملاحظه‌ای کرده و در حال ورود به بازار بزرگ رایانه‌های رومیزی است.

لینوکس اساس مجموعه نرم‌افزار سرور، موسوم به لمپ (نرم‌افزار) متشکل و مخفف از (ل) لینوکس، (آ) آپاچی، (م) مای‌اس‌کیوال/ماریا دی بی، (پ) پرل/(پ) پی‌اچ‌پی/(پ) پایتون) را تشکیل می‌دهد که میان توسعه‌دهندگان وب محبوبیت گسترده‌ای کسب کرده‌است. به دلیل پایداری و انعطاف لینوکس، این سیستم‌عامل حضور پررنگی به عنوان سیستم‌عاملی برای کامپیوترهای کارساز دارد. بر اساس آمار در سال ۲۰۰۸، از میان ۱۰ تا از معتبرترین شرکت‌های هاستینگ Hosting دنیا، ۵ شرکت سیستم‌عامل لینوکس را در کارسازهای وب خود به‌کار می‌گیرند.
توزیع‌های لینوکس به‌طور گسترده‌ای به عنوان سیستم‌عامل در اَبَررایانه‌ها استفاده می‌شود: از نوامبر سال ۲۰۱۰، از ۵۰۰ سیستم برتر، تمام آن‌ها تحت اجرای توزیع‌های لینوکس هستند. لینوکس همچنین به عنوان سیستم‌عامل برای سامیت Summit، قوی‌ترین ابررایانهٔ جهان، به‌کار می‌رود.

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

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

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

نمونه نرم‌افزارهای مشهوری که معمولاً تحت گنو/لینوکس به عنوان نرم‌افزار سرور استفاده می‌شوند:
 سرور پروکسی-کش (Proxy-Cache)
 اسکوئید (SQUID)
 سرور سامانه نام دامنه (DNS)
 بایند (Bind)
 سرور وب (Web Server)
 آپاچی (APACHE)
 انجینکس (Nginx)
 سرور پست الکترونیکی (Mail Server)
 پست‌فیکس (Postfix)
 سرور پایگاه داده
 مای‌اس‌کیوال (Mysql)
 مانگودی‌بی (MongoDB)
 ردیس (Redis)
 سیستم تشخیص نفوذ شبکه
 اسنورت (Snort)
 سوریکاتا (نرم‌افزار) (Suricata)

 نصب 
بندانگشتی|صفحه دسکتاپ توضیع اوبونتو لینوکس.
در سال‌های آغازین، دشوار بودن روند نصب سیستم‌عامل‌های بر پایهٔ لینوکس مانعی برای پذیرش آن‌ها بود؛ اما در سال‌های اخیر نصب گنو/لینوکس بسیار آسان شده‌است. بسیاری از توزیع‌ها دارای روند نصب آسان و قابل‌مقایسه با نسخه‌های ویندوز هستند؛ به‌گونه‌ای که توزیع اوبونتو با چند کلیک نصب می‌شود. علاوه بر این، رایانه‌های شخصی‌ای با توزیع‌های گنو/لینوکس وارد بازار شده‌اند و به آسانی از بسیاری از فروشنده‌های اصلی، همچون دل، هیولت-پاکارد و وال-مارت قابل‌تهیه هستند.

یکی از بهترین نصّاب‌های گنو/لینوکس که به‌طور گسترده نیز استفاده می‌شود، calamares نام دارد، که در خیلی از توزیع‌ها برای نصب مورد استفاده قرار می‌گیرد.

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

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

بسیاری از توزیع‌ها می‌توانند بی‌درنگ از طریق دیسک‌های زنده، بسیار سریع‌تر از نصب بر روی دیسک سخت، اجرا شوند. به این صورت که یک بار از لوح فشرده راه‌اندازی می‌شوند و می‌توان از گنو/لینوکس بدون هیچ‌گونه تغییری در محتویات دیسک سخت استفاده کرد. به همین نحو، برخی توزیع‌های حداقلی، همچون تامزروت‌بوت (Tomsrtbt)، بدون نیاز به تغییر محتویات دیسک سخت از طریق فلاپی دیسک (Floppy Disk) قابل اجرا هستند.

همچنین بسیاری توزیع‌ها از راه‌اندازی از طریق شبکه، پشتیبانی می‌کنند؛ یعنی همهٔ مراحل نصب و پیکربندی دستگاه، می‌تواند از طریق شبکه انجام شود.

 پشتیبانی 
فروشندگان تجاری و دیگر کاربران گنو/لینوکس در اجتماعات آنلاین (کانال‌های آی‌آرسی)، گروه‌های خبری، فهرست‌های پستی و انجمن‌های اینترنتی پشتیبانی فنی ارائه می‌کنند. گروه کاربران گنو/لینوکس (LUGs) در همهٔ جهان به کاربران بسیاری به‌رایگان یاری می‌رساند.

مدل کسب‌وکار بیشتر فروشندگان تجاری گنو/لینوکس (مانند ردهت و اوبونتو)، بر پایهٔ دریافت دست‌مزد جهت پشتیبانی است. این‌گونه دریافت پشتیبانی در برابر پرداخت پول برای کاربران تجاری گنو/لینوکس حائز اهمیت است.

 ساختار دایرکتوری لینوکس 
سیستم‌عامل گنو/لینوکس یک سیستم منطقی است نه فیزیکی، این مورد به این معناست که ممکن است هر فایل یک پوشه از یک پارتیشن خاص باشد ولی در آدرس‌دهی ممکن است همه فایل‌ها در یک آدرس باشند. برای مثال: پوشهٔ Documents لینوکس در ویندوز می‌تواند /home/username/Documents باشد ولی غالباً چیزی که وجود دارد این است که در ویندوز C:\Users\UserName\Documents معادل پوشه ذکرشده است. به همین دلیل در لینوکس باید کاملاً مشخص گردد هر فایل دقیقاً چیست. ساختارهای دایرکتوری لینوکس به علت گستردگی‌ای که دارند می‌توانند به شما در کارکرد راحت‌تر با لینوکس کمک کنند؛ ازاین‌رو یادگیری آن‌ها در اولویت است. در ادامه چند مورد از اصلی‌ترین آن‌ها را معرفی خواهیم کرد.
 دایرکتوری /
 دایرکتوری /bin
 دایرکتوری /boot
 دایرکتوری /dev
 دایرکتوری /etc
 دایرکتوری /home
 دایرکتوری /lib
 دایرکتوری /media
 دایرکتوری /mnt
 دایرکتوری /opt
 دایرکتوری /proc
 دایرکتوری /root
 دایرکتوری /sbin
 دایرکتوری /tmp
 دایرکتوری /usr
 دایرکتوری /var
 دایرکتوری /selinux

 نگارخانه 

 یادداشت‌ها 

 جستارهای وابسته 
 سیارک ۹۸۸۵ لینوکس
 بنیاد لینوکس
 گنو هرد
 فهرست توزیع‌های لینوکس
 لینوکس توکار

 پیوند به بیرون 
 اوبونتو برای تازه‌واردها
 گنو یا لینوکس
 ویکی اوبونتو فارسی
 وبگاه هستهٔ لینوکس
 وبگاه linux.com
 وبگاه linux.org
 بنیاد لینوکس
 پروژهٔ مستندات لینوکس
 نقشهٔ داخلی سیستم‌عامل گنو/لینوکس
 کرنل لینوکس

 منابع 

 گلین مودی: برنامه یاغی: جنبش لینوکس و بازمتن، انتشارات پرسیوس، شابک ۳-۹۹۵۲۰-۷۱۳-۰
 جیددا آر (۲۰۰۴)


رده:اختراع‌های فنلاندی
رده:سکوهای رایانش
رده:سیستم‌عامل‌ها
رده:لینوس توروالدز
رده:نرم‌افزارهای ۱۹۹۱ (میلادی)
رده:نرم‌افزارهای آزاد چندسکویی
رده:نرم‌افزارهای آزاد نوشته‌شده با سی
رده:پروژه‌های متن‌باز