این فقط یه شروع برای این پروژه است و هدف من این بوده که فقط یک راه ساده و قابل گسترش برای اینکار ارایه کنم، و گیت به نظرم بهترین بستر بود. هنوز دسته بندی ها درست نیست، سوالات و مقدمه هنوز شباهتی به راهنما :) ندارند، لطفا در صورتی که پیشنهادی دارید، این پروژه را فورک کنید، ویرایش کنید و درخواست pull بدهید. اگر سوالی بود یا پیشنهادی که در این قالب جای نمیگرفت،‌با fzerorubigd روی جیمیل تماس بگیرید. ممنون.
سیستم عامل چیست؟ لینوکس یا گنو/لینوکس؟
ما از کامپیوتر چه می‌خواهیم؟ اجرای برنامه‌های مورد نظر. گاهی این برنامه‌ها سطح بالا و عمومی هستند (مثل فایرفاکس) و گاهی سطح پایین‌تر و خاص تر مثل لاگین از راه دور در یک سرور. گاهی ساده و تک منظوره مثل کپی فایل و گاهی با قابلیت انجام کلی کار مثل برنامه‌های چت چندپروتکله. این برنامه‌ها بعضی وقت‌ها بخشی از سیستم عامل هستند (مثل دستور کپی) و گاهی برنامه‌های مستقل (مثل فایرفاکس). اما به هرحال همه اینها توسط یک بخش داخلی‌تر از سیستم عامل به اسم «هسته/کرنل/Kernel» کنترل می‌شوند.
کرنل یا هسته یک سیستم عامل، بخش اصلی یک سیستم عامل است که ما معمولا با آن ارتباطی نداریم ولی همیشه مثل یک قلب یا مغز آن پشت نشسته و درخواست‌های ما را (که توسط برنامه‌ها به آن می‌رسند) به شکل مناسب به حافظه، سی‌پی‌یو و دستگاه‌های جانبی می‌رساند.
حالا داستان لینوکس برمی‌گردد به حوالی سال ۱۹۸۳. در آن سال استالمن افسانه‌ای که از تجاری بودن همه سیستم‌عامل‌ها خسته شه بود، اعلام کرد که می‌خواهد یک سیستم عامل مشابه یونیکس آزاد بنویسد. او اسم این پروژه را گنو گذاشت و از لوگوی گوزن یالدار آمریکای شمالی برای آن استفاده کرد.
یادتان که هست سیستم عامل از دو بخش هسته و برنامه‌های مرتبط ایجاد شده. پس اگر بگویم که این پروژه هیچ وقت به طور کامل تمام نشد باید بپرسید: کدام بخشش؟ جواب «هسته» است. این پروژه باعث شد حجم عظیمی نرم‌افزار آزاد و بازمتن که برای کارکرد کامل یک سیستم عامل لازم هستند نوشته شود (از شل که دستورات را در آن تایپ می‌کنید بگیرید تا کپی و پینگ و لاگین به سیستم‌های راه دور و تنظیمات شبکه و حتی یک کمپایلر عالی سی) اما هسته این سیستم عامل (رابط با سخت‌افزار و حافظه و سی.پی.یو.) که قرار بود هرد نامیده شود هنوز که هنوز است تمام نشده.
دقیقا اینجا بود که پنگوئن به فیلم اضافه شد. در اوایل دهه ۹۰، لینوس توروالدز به عنوان تفریح، یک هسته سیستم عامل نوشت و اسمش را گذاشت لینوکس و علامتش را هم همان پنگوئن مشهور و دوست داشتنی (:
حالا چه داریم؟‌ یک هسته عالی به اسم لینوکس و یک مجموعه ابزار سیستم عامل به اسم گنو. این دو تا را که به هم بچسبانیم یک سیستم عامل کامل خواهیم داشت به اسم گنو/لینوکس. مبارک است (: بنا به همین استدلال، اسم صحیح چیزی که ما استفاده می‌کنیم گنو/لینوکس است و نه لینوکس. عبارت لینوکس از نظر فنی فقط به هسته سیستم عامل اشاره دارد و از نظر اخلاقی زحمات پایه‌گذارهای اصلی جنبش آزادی نرم‌افزار را نادیده می‌گیرد ولی در هر حال، در جهان به عنوان یک غلط مصطلح پذیرفته شده است.
بازگشت به بالا
توزیع چیست؟‌ چرا نسخه های مختلفی از لینوکس وجود دارند؟ اوبونتو، فدورا، مینت، آرچ و...
لینوکس گام به گام توسط استفاده کننده برای استفاده کننده ساخته شده. پس برگردید به بحث قبلی تا یک قدم جلوتر برویم. گفتیم که پروژه گنو/لینوکس از پیوستن ابزار سیستم عامل گنو و هسته لینوکس به وجود آمد. حالا فرض کنید شما بخواهید آن را نصب کنید. چکار باید بکنید؟ در حالت قدیم، باید یک متخصص کامل یونیکس باشید. باید هسته را بگیرید و کمپایل کنید. بعد یک دیسک را فرمت کنید و بوت سکتور را جوری تنظیم کنید که از این کرنل بوت شود. بعد دستورات (برنامه‌های) دیگر را روی آن کپی کنید و تمام وابستگی‌ها را هم رعایت کنید… اگر فکر می‌کنید سخت است باید بگویم که یا واقعا حرفه‌ای هستید یا متوجه اصل جریان نشده‌اید (:‌ این روند از نظر من غیرممکن است (:
برای حل این مشکل، افراد و شرکت‌هایی آمده‌اند و دیسترو/Distro ها را ساخته‌اند که ترجمه خوبش، توزیع است. در همان سال ۱۹۹۲ که هسته لینوکس آمد، توزیع‌ها هم ظاهر شدند. آدم‌ها هسته را به همراه چند برنامه اصلی و یک برنامه نصب کننده روی یکی دو فلاپی جا می‌دادند و بین دیگران پخش می‌کردند. حالا دیگر کافی بود فلاپی اول را در درایو بگذارید و روند نصب را پی گیری کنید تا در نهایت به یک کامپیوتر گنو/لینوکس کامل برسید. توزیع‌ها کم کم زیاد شدند. هر شرکت یا گروهی کرنل را برمی‌داشت و به همراه برنامه‌های گنوی انتخابی و حتی برنامه‌های مستقل ولی آزاد (مثل اپن آفیس، فایرفاکس، پخش کننده ویدئو و ..)‌ روی یک سی دی یا دی وی دی رایت می‌کرد و بین بقیه پخش می‌کرد. بعضی‌ها هم که نمی‌خواستند خودشان همه کار را از صفر مدیریت کنند، یک دیسترو / توزیع مادر را برمی‌داشتند و بنا به نیاز خودشان یک دیستروی جدید از آن منشعب می‌کردند (مثلا اوبونتو که از دبیان منشعب شده). یک نمودار متحیر کننده و عالی از روند به وجود آمدن دیستروها را در اینجا ببینید.
تفاوت توزیع‌ها با یکدیگر معمولا در چند نکته است: گروه هدف (بعضی‌ها مخصوص یک گروه خاص درست شده‌اند، مثلا کاربران ایرانی)، مدیریت بسته (برنامه‌های جدید از چه طریقی نصب می‌شوند و گنو/لینوکس چطور روند نصب اتوماتیک بسته‌های نرم‌افزاری را کنترل می‌کند) و میز کار (بعدا حرف می‌زنیم). گاهی هم بعضی از توزیع‌ها تجاری هستند. مثلا ردهت که به عنوان یک شرکت تجاری، برای پیشتیبانی و کارهای دیگر، پول می‌گیرد. این روزها توزیع‌های زنده (Live) هم بسیار مرسوم شده‌اند. اینها توزیع‌هایی هستند که بدون نصب هم می‌توانند کامپیوتر را بوت کنند و بعد از بوت شدن به شکل کامل، در صورت علاقمندی می‌توان آن‌ها را نصب کرد. در نهایت این را هم اضافه کنم که تهیه کنندگان توزیع‌ها، بسته‌های متفاوتی را برای توزیع‌شان انتخاب می‌کنند. مثلا توزیع پارسیکس به شکل پیشفرض لغتنامه فارسی را در سی دی خود را قرار داده. قابل ذکر است که تقریبا تمام نرم‌افزارهای مرسوم را می‌شود روی همه توزیع‌های مرسوم در هر لحظه حذف و اضافه کرد.
بازگشت به بالا
از چه توزیعی برای شروع استفاده کنم؟
سعی کنید کار خود را با توزیع‌هایی که از جامعه کاربری بالایی برخوردارند شروع کنید. هر زمان احساس کردید این توزیع نیازهای شما را برطرف نمی‌کند، می‌توانید با شناختی بهتر از چیزی که توقع دارید؛ توزیع دیگری انتخاب کنید. به دنبال بهترین توزیع نباشید؛ مناسب‌ترین توزیعتان را بعد از کار در محیط گنو/لینوکس خواهید شناخت.
    بازگشت به بالا
    من از نرم‌افزار xyz در توزیع A استفاده می‌کنم؛ آیا می‌توانم از این نرم‌افزار در توزیع B هم استفاده کنم؟
    تقریبا همیشه می‌توانید این‌کار را کنید. توزیع‌های جدید بیشتر در نصب پیش‌فرض نرم‌افزارها تفاوت دارند ولی شما می‌توانید نرم‌افزار را از مخازن توزیع B دریافت و نصب کنید. بعضی استثناها نرم‌افزارهای انحصاری هستند که در توزیع‌های Enterprise استفاده می‌شوند یا نرم‌افزارهایی که برای یک توزیع خاص تهیه می‌شوند.
      بازگشت به بالا
      آیا می‌توانم از بسته .deb برای نصب نرم‌افزار در توزیعی غیر دبیان (یا دبیان بیسد) استفاده کنم؟ (یا بالعکس)
      بسته‌های با پسوند deb یا rpm، بسته‌هایی هستند که برای مدیر بسته (Package Manager) خود معنا دارند. شما می‌توانید با نصب نرم‌افزاری که بسته‌های مورد نظر را بشناسد (مثلا نرم‌افزار dpkg) آن نرم‌افزار را نصب کنید، ولی این راه حل خوبی نیست. معمولا بسته‌های مختلف نرم‌افزاری که می‌خواهید، از سوی مسئول مخازن شما یا نویسنده برنامه تهیه می‌شود. دقت کنید «نرم‌افزار» را معمولا به عنوان کد یا فایل اجرائی نرم‌افزار اطلاق می‌کنیم که در توزیع‌های مختلف قابل نصب هستند ولی «بسته» مفهومی برای گروهی از توزیع‌ها است. اگر به دنبال پاسخ کامل‌تری هستید، قسمت «چگونه در گنو/لینوکس برنامه نصب کنم» را بخوانید.
        بازگشت به بالا
        چگونه در گنو/لینوکس برنامه نصب کنم؟ مدیر بسته چیست و چرا نصب نرم‌افزار مانند ویندوز نیست؟
        شکل سنتی نصب نرم‌افزارها در گنو/لینوکس، کمپایل از کد برنامه و قرار دادن فایل‌های خاص در مسیرهای مورد نظر بود؛ به عنوان مثال فایل‌های اجرایی در مسیر usr/bin/ یا bin/ یا usr/local/bin/ قرار بگیرند و فایل‌های تنظیمات در etc/. به این مرحله Installation گفته می‌شود. معمولا نرم‌افزارهای گنو/لینوکسی برای نصب نیاز به نرم‌افزارهای دیگری دارند که از آن‌ها برای کار خود استفاده می‌کنند. به این نرم‌افزارها وابستگی یا Dependency گفته می‌شود. برنامه‌نویسان نرم‌افزار آزاد به وفور از وابستگی‌ها استفاده می‌کنند، چرا که موجب صرفه‌جویی در زمان توسعه می‌شود و معمولا با منع قانونی برای استفاده از آن‌ها مواجه نمی‌شوند. به کمک نرم‌افزارهایی چون GNU Automake و چک کردن خودکار وابستگی‌ها می‌توان از این شیوه به سادگی استفاده کرد و نرم‌افزارها را نصب کرد.
        ولی این شیوه معایبی نیز دارد: وابستگی‌ها را در صورت موجود نبودن، نصب نمی‌کند، گزارشی از به روزرسانی‌های نرم‌افزار به شما نمی‌دهد، حذف نرم‌افزار نیاز به نگه داشتن فایل‌هایی که در موفع نصب ساخته شدند دارد و اطلاعات نرم‌افزار را به صورت ساختاری متمرکز نگه نمی‌دارد. همچنین کمپایل نرم‌افزار عملی نسبتا زمان‌بر است و بیشتر کاربران گنو/لینوکس از توزیع‌هایی استفاده می‌کنند که بسته‌های کمپایل شده ارائه می‌دهند.
        برای جبران این کمبودها، بسته‌ها (Packages) و مدیر بسته‌ها (Package Manager) ساخته شدند. برای کار با مدیر بسته‌ها، فایل‌های فشرده‌ای چون فایل‌های rpm یا deb تهیه می‌شوند که شامل اطلاعاتی برای نصب (کپی فایل‌ها در مسیر مناسب) است. سپس این فایل‌ها در مخازن (Repositories) توزیع شما قرار داده می‌شوند یا ممکن است در سایت دیگری میزبانی شود. مدیر بسته قبل از نصب نرم‌افزار، از وابستگی‌ها باخبر است. مدیر بسته با لیست کردن فایل‌های نصب شده توسط بسته نرم‌افزاری، حذف آن را در آینده آسان‌تر می‌کند و نیز شما را از به روز رسانی‌های بسته‌های نرم‌افزاری آگاه می‌کند. مدیر بسته صحت فایل و دریافت آن از منبع مطمئن را ـ برای آغشته نشدن به بدافزار- بررسی می‌کند. به طور کلی مدیر بسته دارای پایگاه داده‌ای از اطلاعات است که مدیریت نرم‌افرارهایی را که نصب می‌کند برای شما آسان می‌کند. بسته‌های دیستروهایی مثل دبیان، فدورا و آرچ شامل فایل‌های کمپایل شده نرم‌افزار است و مدیربسته توزیع جنتو از فایل‌های سورس برنامه استفاده می‌کند.
        نرم‌افزارهای مدیر بسته متنوع هستند و قابلیت‌هایی دارند که ممکن است به دلیل مشکل بودن پیاده‌سازی یا ساختار بسته‌ها در توزیع‌های دیگر، در مدیر بسته توزیع شما موجود نباشد. ممکن است شما از بسته‌های نرم‌افزاری که برای توزیع دیگری تهیه شده‌اند در توزیع خود استفاده کنید یا حتی روش سنتی را برگزینید، ولی دقت کنید نصب نرم‌افزار به وسیله‌ای غیر از مدیر بسته توزیع خودتان، به معنی از دست رفتن فواید آن است.
          بازگشت به بالا
          آیا میتوانم برای خودم یک دیستروی سفارشی بسازم و منتشر کنم؟
          هم بله و هم نه. ایجاد یک توزیع سفارشی میتواند آموزنده باشد، ولی رساندن آن به حدی که بتوان آنرا منتشر کرد کار ساده‌ای نیست. بهتر است به جای ایجاد یک توزیع جدید، به یکی از توزیعهای موجود کمک کنید. در حال حاضر توزیع‌های مختلفی وجود دارند که توسط کاربران ایرانی گسترش داده میشوند، به عنوان مثال آریوس که شما میتوانید به آن کمک کنید.
            بازگشت به بالا
            چطور میتوانم فونت جدید نصب کنم؟
            برای نصب فونت، روشهای مختلفی وجود دارد. میتوانید فونتها را در پوشه .fonts در پوشه خانگی کاربر خودت کپی کنید. در این حالت فونت تنها برای کاربر شما در دسترس خواهد بود. برای نصب فونت برای همه کاربرها میتوانید آنها را در /usr/share/fonts کپی کنید.
            علاوه بر این، اکثر توزیعهای لینوکس، بسته های آماده برای فونتهای فارسی را در اختیار شما میگذارند. این اسکریپت : اسکریپت نصب فونت فارسی برای لینوکس هم امکان نصب تعدادی از فونتهای مطرح فارسی و همچنین فونت تاهوما را فراهم میاورد.
              بازگشت به بالا
              چطور میتوانم از نرم‌افزار xyz که در ویندوز استفاده می‌کردم، در گنو/لینوکس استفاده کنم؟
              گنو/لینوکس، ویندوز نیست و هیچ راه حل قطعی‌ای برای اجرا کردن نرم‌افزارهای ویندوزی در محیط گنو/لینوکس وجود ندارد. نرم‌افزار Wine با شبیه‌سازی کتابخانه‌های ویندوز می‌تواند به نصب نرم‌افزار ویندوزی شما کمک کند. همچنین می‌توانید در این سایت به دنبال معادل نرم‌افزار ویندوزی خود در گنو/لینوکس بگردید.
                بازگشت به بالا
                سوال دیگری دارم که اینجا نیست. کجا بپرسم؟
                برای پرسیدن سوال، فرومها بهترین مکان هستند . انجمنهای فارسی اوبونتو - TECHNOTUX - مرجع فارسی لینوکس • صفحه فهرست - LinuxReview Community انجمن های آرچ لینوکس ایران
                از چنل‌های IRC هم میتوانید استفاده کنید (تکمیل بیشتر)
                از هر طریقی که مایل هستید سوال بپرسید، سعی کنید سوال خود را هوشمندانه مطرح کنید تا به پاسخ بهتری برسید.
                  بازگشت به بالا
                  بعد از نصب ویندوز روی پارتیشن جدا، گنو/لینوکس پاک شد! چرا؟
                  توزیع شما پاک نشده، اطلاعات قسمتی از هارددیسک که برای بارگذاری سیستم‌عامل مهم است، توسط ویندوز بازنویسی شده.
                    بازگشت به بالا