تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

تاریخچه لینوکس، مروری کوتاه و کاربردی


۲ مهر ۱۴۰۴

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

سرور مجازی لینوکس با کیفیت بالا و منابع اختصاصی
✅ سرعت بالا ✅ امنیت قوی ✅ منابع اختصاصی
خرید سرور مجازی لینوکس

آنچه در ادامه خواهید خواند:

  • به چه دلیل لینوکس انتخاب بهتری است؟
  • ریشه‌ها در یونیکس
  • آغاز یونیکس
  • ویژگی‌های اصلی و مهم یونیکس
  • تکامل لینوکس
  • آزمایش‌های متن‌باز
  • ویژگی‌های کلیدی لینوکس
  • توزیع‌های محبوب لینوکس
  • سوالات متداول
  • جمع بندی

به چه دلیل لینوکس انتخاب بهتری است؟

در محیط‌های رایانش ابری و سرورها، لینوکس به دلایل عملی متعددی انتخابی برجسته است:

  • به‌روزرسانی مداوم: توزیع‌های لینوکس به‌طور منظم به‌روزرسانی می‌شوند و توسط جوامع فعال توسعه‌دهندگان پشتیبانی می‌گردند. برای مثال، اوبونتو هر شش ماه یک نسخه‌ی جدید منتشر می‌کند.
  • سازگاری گسترده: لینوکس روی سخت‌افزارهای متنوع، از سرورهای قدرتمند گرفته تا لپ‌تاپ‌های قدیمی، اجرا می‌شود و می‌تواند در کنار سیستم‌عامل‌های دیگر (مثل ویندوز) نصب شود، که برای توسعه‌دهندگانی که محیط‌های چندگانه را آزمایش می‌کنند بسیار مفید است.
  • نصب آسان نرم‌افزار: با استفاده از مخازن نرم‌افزاری مانند apt در اوبونتو یا yum در سنت‌او‌اس، نصب ابزارها و برنامه‌ها با یک دستور ساده انجام می‌شود. مثلاً نصب وب‌سرور Apache با دستور sudo apt install apache2 در اوبونتو به‌راحتی انجام می‌شود.
  • نیازهای سخت‌افزاری کم: لینوکس می‌تواند روی دستگاه‌هایی با منابع محدود اجرا شود، مثلاً سرورهای ابری کوچک یا دستگاه‌های IoT.
  • سازگاری با ابزارهای سروری: بسیاری از ابزارهای محبوب مانند Docker و Kubernetes ابتدا برای لینوکس طراحی شده‌اند، که آن را به گزینه‌ای ایده‌آل برای توسعه‌ی اکوسیستم‌های ابری تبدیل می‌کند.
  • انعطاف‌پذیری: توسعه‌دهندگان می‌توانند رفتار سیستم‌عامل را با اسکریپت‌نویسی یا تغییر تنظیمات هسته سفارشی‌سازی کنند، مثلاً برای بهینه‌سازی عملکرد یک سرور وب.

لینوکس ریشه در جنبش نرم‌افزار آزاد و متن‌باز دارد و به همین دلیل، برخی توسعه‌دهندگان آن را به دلایل اخلاقی و عملی انتخاب می‌کنند:

  • تعهد به آزادی: استفاده از لینوکس برای برخی توسعه‌دهندگان نشانه‌ای از حمایت از دسترسی آزاد به فناوری و آزادی بیان است.
  • جامعه‌ی فعال: جامعه‌ی لینوکس منبعی غنی برای یادگیری و حل مشکلات است. برای مثال، توسعه‌دهندگان می‌توانند از انجمن‌های اوبونتو یا رد هت سؤالات خود را بپرسند یا از مستندات گسترده‌ی آنلاین بهره ببرند.

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

ریشه‌ها در یونیکس

لینوکس ریشه در پروژه‌های یونیکس و مولتیکس دارد که هر دو هدفی مشترک برای ایجاد یک سیستم‌عامل چندکاربره‌ی قدرتمند را دنبال می‌کردند.

آغاز یونیکس

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

در سال ۱۹۶۹، بل لبز بودجه‌ی پروژه‌ی مولتیکس را قطع کرد، اما محققانی مانند کن تامپسون و دنیس ریچی کار را با حفظ اصول اصلی ادامه دادند. در سال‌های ۱۹۷۲-۱۹۷۳، آن‌ها یونیکس را با زبان C بازنویسی کردند، که این اقدام یونیکس را به سیستمی قابل‌حمل تبدیل کرد. برخلاف سیستم‌عامل‌های دیگر آن زمان که به سخت‌افزار خاصی وابسته بودند، یونیکس می‌توانست روی دستگاه‌های مختلف اجرا شود، مانند سرورهای قدیمی یا حتی کامپیوترهای شخصی امروزی.

تحقیقات در بل لبز (بعداً AT&T) ادامه یافت و آزمایشگاه‌های سیستم یونیکس با همکاری سان مایکروسیستمز نسخه‌هایی از یونیکس را توسعه دادند که توسط شرکت‌های تجاری پذیرفته شدند. همزمان، تحقیقات دانشگاهی، به‌ویژه در دانشگاه کالیفرنیا، برکلی، منجر به ایجاد توزیع نرم‌افزاری برکلی (BSD) شد. این توزیع الهام‌بخش سیستم‌عامل‌هایی مانند NeXTStep (پایه‌ی macOS) و MINIX (یک سیستم‌عامل آموزشی که لینوس توروالدز از آن برای مقایسه در توسعه‌ی لینوکس استفاده کرد) شد.

ویژگی‌های اصلی و مهم یونیکس

یونیکس بر اساس سه اصل طراحی شده است:

  • وضوح: طراحی مدولار یونیکس باعث می‌شود هر بخش (مانند مدیریت فایل یا فرآیندها) به‌صورت جداگانه و مشخص عمل کند. برای مثال، دستور ls در خط فرمان به‌سادگی فهرست فایل‌ها را نمایش می‌دهد، بدون پیچیدگی‌های غیرضروری.
  • قابلیت‌حمل: استفاده از زبان C امکان اجرای یونیکس روی سخت‌افزارهای مختلف را فراهم کرد. این ویژگی شبیه به این است که یک برنامه‌ی امروزی روی ویندوز، مک و لینوکس اجرا شود.
  • همزمانی: یونیکس از ابتدا برای پشتیبانی از چندین کاربر طراحی شد. برای مثال، یک سرور یونیکس می‌تواند همزمان درخواست‌های چندین کاربر را پردازش کند، مانند میزبانی یک وب‌سایت و اجرای یک پایگاه داده.

تکامل لینوکس

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

آزمایش‌های متن‌باز

ریچارد استالمن، یکی از پیشگامان نرم‌افزار آزاد، در آزمایشگاه هوش مصنوعی MIT پروژه‌ی GNU (مخفف «GNU’s Not Unix!») را آغاز کرد. او در سال ۱۹۸۴ MIT را ترک کرد تا اجزای GNU را به‌عنوان نرم‌افزار آزاد منتشر کند. هسته‌ی GNU، معروف به HURD، تمرکز اصلی بنیاد نرم‌افزار آزاد (FSF) شد که در سال ۱۹۸۵ تأسیس گردید.

در همین زمان، لینوس توروالدز، دانشجوی فنلاندی، به دلیل محدودیت‌های مجوز MINIX، شروع به توسعه‌ی سیستم‌عامل خود کرد. او در ۲۵ اوت ۱۹۹۱ در گروه کاربری MINIX اعلام کرد که سیستمی شبیه به MINIX در حال ساخت دارد. این پروژه با استفاده از ابزارهای GNU، مانند کامپایلر GNU C، توسعه یافت و در سال ۱۹۹۴ نسخه‌ی ۱.۰ هسته‌ی لینوکس منتشر شد.

لینوکس از کدهای GNU استفاده می‌کند و بسیاری از توزیع‌های آن به اجزای GNU وابسته‌اند. استالمن پیشنهاد کرده که اصطلاح «GNU/Linux» به‌جای «لینوکس» استفاده شود تا نقش GNU و آرمان‌های آزادی نرم‌افزار را برجسته کند. با این حال، در دستگاه‌های نهفته (مانند گوشی‌های هوشمند)، اغلب فقط از هسته‌ی لینوکس بدون اجزای GNU استفاده می‌شود.

ویژگی‌های کلیدی لینوکس

لینوکس در عین ارث‌بری از یونیکس، تفاوت‌های مهمی دارد:

  • هسته‌ی مستقل: هسته‌ی لینوکس جدا از دیگر اجزای سیستم‌عامل توسعه می‌یابد و از منابع متنوعی مانند GNU بهره می‌گیرد. مثلاً، اوبونتو از ابزارهای GNU برای مدیریت بسته‌ها استفاده می‌کند.
  • آزاد و متن‌باز: تحت مجوز GPL منتشر شده و توسط جامعه‌ای جهانی نگه‌داری می‌شود. برای مثال، هر توسعه‌دهنده می‌تواند کد منبع لینوکس را دانلود و برای پروژه‌های خود تغییر دهد.
  • هسته‌ی یکپارچه و پویا: لینوکس می‌تواند ماژول‌های هسته را به‌صورت پویا بارگذاری یا تخلیه کند، مثلاً برای افزودن پشتیبانی از یک سخت‌افزار جدید بدون نیاز به راه‌اندازی مجدد.
  • پشتیبانی از SMP: امکان استفاده از چندین پردازنده را فراهم می‌کند، که برای سرورهای پرقدرت امروزی مانند سرورهای ابری آمازون بسیار مفید است.
  • هسته‌ی پیش‌گیرانه: زمان‌بندی‌کننده‌ی لینوکس می‌تواند فرآیندها را در حین اجرا متوقف کند، که برای عملکرد بهتر در برنامه‌های پیچیده مانند پایگاه‌های داده حیاتی است.
  • عدم تمایز بین رشته‌ها و فرآیندها: این ویژگی باعث انعطاف‌پذیری بیشتر در مدیریت برنامه‌ها می‌شود.
  • رابط‌های متنوع: لینوکس هم از خط فرمان (مثل Bash) و هم از رابط‌های گرافیکی (مثل GNOME در اوبونتو) پشتیبانی می‌کند.

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

توزیع‌های متعددی از لینوکس وجود دارند که هر یک برای نیازهای خاصی طراحی شده‌اند:

  • دبیان: توزیعی آزاد با بیش از ۵۰,۰۰۰ بسته‌ی نرم‌افزاری، که برای سرورها و دسکتاپ‌ها مناسب است. برای مثال، توسعه‌دهندگان می‌توانند از دبیان برای راه‌اندازی یک سرور وب پایدار استفاده کنند.
  • اوبونتو: بر پایه‌ی دبیان و با پشتیبانی شرکت کنونیکال، برای کاربران مبتدی و حرفه‌ای مناسب است. اوبونتو به دلیل رابط کاربری ساده و مخازن گسترده، برای توسعه‌ی وب یا یادگیری لینوکس ایده‌آل است.
  • رد هت و فدورا: رد هت انترپرایز لینوکس برای محیط‌های تجاری و فدورا برای پروژه‌های جامعه‌محور مناسب‌اند. مثلاً فدورا برای آزمایش فناوری‌های جدید مثل راه‌اندازی کانتینرها با Podman استفاده می‌شود.
  • سنت‌او‌اس: توزیعی رایگان برای سرورهای وب، که به دلیل پایداری و سازگاری با رد هت، برای میزبانی وب‌سایت‌ها محبوب است.

سوالات متداول

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

لینوکس چیست و چه تفاوتی با یونیکس دارد؟

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

چرا توسعه‌دهندگان سرور از لینوکس استفاده می‌کنند؟

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

آیا لینوکس برای کاربران مبتدی مناسب است؟

بله، توزیع‌هایی مثل اوبونتو و لینوکس مینت رابط کاربری ساده و مستندات آموزشی گسترده دارند که شروع کار با لینوکس را برای مبتدی‌ها راحت می‌کند.

تفاوت بین توزیع‌های مختلف لینوکس چیست؟

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

آیا می‌توان لینوکس را کنار ویندوز نصب کرد؟

بله، بسیاری از کاربران از نصب دوگانه (Dual Boot) استفاده می‌کنند و می‌توانند در هنگام روشن کردن سیستم، بین ویندوز و لینوکس یکی را انتخاب کنند.

جمع بندی

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

به اشتراک بگذارید

برچسب‌ها: