چطوری لینوکس رو شروع کنیم و توش پیش بریم

از سری: راهنمای شروع

auto-startup-linux-644x250

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

آشنایی اولیه

قدم صفر اینه که بدونیم لینوکس چیه، از کجا اومده و به کجا می ره و چرا باید یادش گرفت. همینطور باید دید داشته باشیم در مورد مطالب مرتبط با این دنیا. در این لحظه پیشنهاد من اینها هستن:

در این مرحله شما مهمه که بدونین چرا دارین لینوکس رو یاد میگیرین. همینجا می تونم بگم که اگر فکر می کنین قراره یاد گرفتن لینوکس شما رو با کلاس کنه یا بتونین باهاش همه چیز رو هک کنین یا باعث بشه دیگه کلا با کامپیوترتون مشکلی نداشته باشین، بهتره کلا بیخیال یاد گرفتن بشین (: لینوکس هم یک سیستم عامله و مثل همه نرم افزارها اشکالاتی داره، شغل هاش گاهی خسته کننده است، گاهی شما رو محدود می کنه و هیچ جای دنیا هم نیست که با یک دانش ثابت بشه بهش نفوذ کرد (: اگر دنبال این چیزها نیستین و مثلا می خواین مدیر سیستم بشین یا کنجکاو هستین مثل یک شمشیرباز بتونین با اسلحه تون کار کنین یا برای پروژه به لینوکس احتیاج دارین، با ما باشین!

کمی ور رفتن با لینوکس

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

مجموعه ویدئویی لینوکس دسکتاپ برای آدم های شاد می‌تونه کمک خوبی برای شما در این مرحله باشه که نصب اول و دوال بوت کردن و غیره رو به شما نشون می ده.

مشارکت در جامعه

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

لینوکس دسکتاپ برای آدم های شاد

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

پروژه های پیشنهادی در این سطح می‌تونن اینها باشن:
– درست کردن یک توزیع شخصی با استفاده از ابزارهای ریمسترینگ مثلا اوبونتو
– تست کردن چند توزیع لینوکس مرسوم و ور رفتن با اونها، مثلا اوبونتو، فدورا، کوبونتو و مینت

مدیریت سیستم مقدماتی

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

در این مرحله می‌شه این پیشنهادها رو برای تمرین مطرح کرد:
– نصب و کار جدی با توزیع‌های کمی غیرمرسوم مثل آرچ یا جنتو
– راه اندازی وب سرور روی کامپیوتر شخصی یا به شکل بهتر نصب یک وردپرس روی کامپیوتر لوکال

در این مرحله یک منبع خوب دیگه مجموعه آموز لینوکس خود بنیاد لینوکس است.

پیش‌تر رفتن از الپیک ۱

در واقع وقتی به اینجا رسیدین تا حد زیادی می تونین راه خودتون رو پیدا کنین. معلومه که یک قدم استاندارد خوندن الپیک ۲ از کتاب های مرجعش است. از نظر من خیلی خوبه که شروع کنین به امتحان کردن چند لینوکس مرسوم (مثل سنت او اس و دبیان و اوبونتو سرور) و یادگیری جدی تر اونها. همچنین مهمه که از اینجا به بعد وارد لایه‌های عمیق تر بشین. همونطور که بالاتر گفتم اگر در این مرحله هر چیزی دیدین که در موردش دقیق نمی دونستین، با فرصت جدیدی برای حرفه ای شدن روبرو هستین. مثلا اگر درمورد exim شنیدین،‌ خیلی خوشحال باشین چون موضوع جدیدی دارین که در موردش سرچ کنین و چیز یاد بگیرین یا اگر جایی دیدین که از globbing حرف زده شاید واقعا چیز جدیدی باشه یا اسم واقعی چیزی که شما همین حالا هم بلدینش – شاید هم نصف و نیمه! در این مرحله باید هی زیر پای خودتون رو محکم کنین و مطمئن بشین چیزی که می دونین رو واقعا می‌دونین.

یک ایده هم انجام پروژه‌هایی مثل اینها است:

  • راه اندازی یک وب سرور خونگی برای خودتون (سطح بعدی:‌بشه از اینترنت هم بهش وصل شد)
  • ساخت سرتیفیکت های ssl
  • درست کردن یک فایل سرور که همه بتونن باهاش فایل جابجا کنن
  • درک کردن کامل selinux
  • نصب پروژه های بزرگ مثل owncloud، docker، دیتابیس‌های جدید مثل مونگو، هدوپ، … و کار کردن با اونها برای آزمایش اینکه چطوری کار می کنن و نصب می شن
  • نصب لینوکس روی دیوایس های غیر پی سی کلاسیک که ساده ترینش چیزهایی مثل رزبری پای ها هستن و پیچیده‌تر ها مثل گوشی‌ها و تبلت‌ها
  • کار با لینوکس های خاص منظوره مثل clearOS

در چنین مرحله ای لازمه شما درک خوبی از شبکه داشته باشین، منطقا باید در حد +Network بلد باشین و اگر می خواین واقعا فرق کنین CCNA خونده باشین.

قدم‌های بعدی

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

در این مرحله لازمه شما سواد ترکیبی داشته باشین و دیگه فقط متخصص سیستم عامل نباشین. بلد بودن یک زبان اسکریپت نویسی یا برنامه نویسی مثل پایتون شما رو به یک اسلحه جدید برای جنگ با مشکلات مجهز می کنه!


همونطور که گفتم این مطلب قراره دائما به روز نگه داشته بشه. خوشحال می شم اگر چیزی به نظرتون می رسه که باید به متن اضافه بشه یا سوالی هست که دقیقا به این بحث مرتبطه ولی جواب داده نشده، در کامنت ها ذکر کنین.

  • Richard

    سلام جادی جان
    خیلی ممنون بابت پست خوبت…
    فقط یه سوالی، الان LPIC سطح یک امتحان 102 کامل شده؟
    چون آخر مبحث پرینتر‌ها میگی که بازم آموزش داریم!!

    • jadijadi

      بله بله. تا آخر این هفته دیگه تموم می شه ۱۰۲. بپرسم ببینم چرا جدیدها رو نذاشتن

      • Richard

        ممنون جادی جان
        خوش و خرم باشی…

  • خیلی زحمت کشیدید… مرسی

  • Sina Deuxshiri

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

    • jadijadi

      خب در واقع راه حل اینه که خودت اون راهنما که چطوری مشکل کارت گرافیک رو حل کردی رو دقیق بنویسی یک جایی (:‌ اگر اینکار اتفاق نیافته وضع هم پیش نمی ره (: دنیای لینوکس دنیای مشارکته.

      2016-06-06 10:27 GMT+04:30 Disqus notifications@disqus.net:

      • Sina Deuxshiri

        بله حتما این کار و انجام می‌دم.

  • Masoud

    سلام جادی. ممنون از مطلب خوبت. فقط یه چرا وقتی سایت http://linuxbook.ir/ باز می کنیم آنتی ویروس Avast هشدار خطرناک بودن این سایت رو میده؟!!

    • jadijadi

      چک می کنم (: مطمئنا آنتی ویروس خنگه. این یک سایت استاتیک است (:

      • Mahan Hazrati

        من هم برای سایت خودم همچین مشکلی رو چند سال پیش داشتم. احتمالا رو سرورت بد افزار افتاده .
        مال من یه adware بود

  • حامد

    خیلی عالی و خوب مثل همیشه جادی جان!
    مهمتر از همه چی ایدهٔ خوبت برای بروز کردن پسته.

    سایت ادایکس هم آموزش خوبی داره که بنیاد لینوکس ارائه داده:
    https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-0

    • jadijadi

      اینم اضافه کرم

  • صدرا

    عالی!
    این سری رو به بخش پروژه هایی برای تفریح اضافه کن.

    • jadijadi

      حتما. بعدی رو هم بنویسم این کار رو می کنم (:

      • صدرا

        سوتی!
        سوتی!
        تو منوی چپ زندگی نامه توروالدزو دوبار نوشتی P:

  • صدرا

    سایت codecademy.com یه سر بزن آموزش های خوبی داره. Bash, Git, Python و خیلی از زبونا. اینتراکتیو و هوشمندانه طراحی شده، انگلیسی خفنی هم نمی خواد.

  • سوشیانت زوارزاده

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

  • Sina Yara

    سلام جادی واقعا ممنونم ازت خودمم دنبال یه راهی بودم چطور شروع کنم کار با گنو لینوکس رو اخرش تصمیم گرفتم به عنوان تنها سیستم عامل روی لپتاپم ازش استفاده کنم اوایل خوب بود و کار ای فان به قول تو باهاش میکردم مثل نصب کدک ها با ترمینال که کار ساده ای بود اما بعد تو که گیر کردم و جلو نمیرفتم مجبور شدم برم سر ویندوز دوباره حالا هم هموز نا امید نشدم بعد تموم شدن امتحانای این ترم میخوام بازم از همین روش الگو بگیرم! ممنونم ازت راستش اینم بگم که همیشه واسم الگو بودی اما کاری نمیکردم که شبیهت بشم اما حالا میخوام دوباره تلاش کنم

  • shirin1900

    ممنونم از مطلب مفیدتون کتاب لینوکس و زندگی رو امروز خوندم وهمین الان که 2 شب در فرانسه است تمومش کردم واقعا جذاب بود . فقط یک سوال یه بخشهایی از کتاب کامل نیست درسته؟ مثل دستورات پیشرفته لینوکس . اونا رو کامل میکنید ؟

  • جواد

    “دو نفر رو در نظر بگیرین.”
    نفر سومی هم هست که اسمش رو هم نشنیده. بش بگی لینوکس دعوا می‌شه. به اون چه جوری باید معرفی بشه؟ اینا خوب پیشرفت می کنن چون عاشق شخصی سازی هستن از داشبورد ماشین گرفته و …

  • لوسینافر
  • محمدرضا

    دوره های الپیک رو ادامه میدی؟؟؟ یا همین سطح اول اخریش هست؟؟؟ خیلی خوب و جذاب درس میدی… من سر کلاسای دانشگاه اصن نمیتونم جزوه بنویسم و حوصلن از استاد سر میره… ولی از دوره ای گذاشتی یه جزوه هم نوشتم… دستت درد نکنه

  • Amir Rastin

    جادی جان این پستت انرژی پتانسیل گیکی من رو آزاد کردم و تصمیم گرفتم این خط رو که گفتی انجام بدم .
    راه اندازی یک وب سرور خونگی برای خودتون (سطح بعدی:‌بشه از اینترنت هم بهش وصل شد)
    اول آپاچی و پی اچ پی و … نصب کردم از لوکال هاست خوب دیده میشد بقیه هم که با موبایلاشون به وای فای وصل بودن با ای پی محلی میتونستن وب سرور رو ببینن . بعدش رفتم کلی سرچ کردم که
    how to turn a laptop into a webserver
    how to turn my ubuntu desktop into web server
    و کلی سرو کله زدن با گوگل فهمیدم که باید روی مودمم یه حرکتی بزنم به اسم آی پی فورواردینگ با کلی دردسر فهمیدم چجوری این کار رو تو مودم های تی پی لینک میشه انجام داد بعد به دوستم تو تلگرام آی پیمو دادم زد تو مرورگرش کلی تعجب کرد که وبلاگ زدیو این داستانا گفتم از رو لپ تاپ خودم هاست شده شاخ در آورده بود بعدش دیدم همون سایته که آموزش میده میگه برید به سایت
    noip.com
    اونجا میتونید دی ان اس ثبت نام کنید دامنه وصل کنید (حالا این وسط چه میدونم دی ان اس چیه ولی رگ غیرته گیکی و کنجکاوی هولم میده جلو) رفتم ثبت نام کردم یه دامنه گرفتم یه برنامه هم بهم داد که روی اوبونتو نصب میشه و اگه ای پی سیستمم عوض بشه به طور خودکار روی سایت اپدیت میکنه و دی ان اس رو روی آی پی جدید تنظیم میکنه . و کلی حال کردم و پز دادم که کاری کردم که از کل دنیا بشه به لپ تاپم وصل شد .

    اینم آدرس دامنه که البته اون موقعی که سر بهش میزنید باید لپ تاپ من قاعدتا روشن و به اینترنت وصل باشه .

    بعد این کار باحال هم میرم سراغ ماونت کردن و اون داستانی که توی دوره الپیک گفتی مثلا فلان فلش رو وصل کردم فلان کار رو بکن و تنها سر نخی هم که ازش دارم کلمه اف اس تب هستش …

    خلاصه تابستون که درسا تموم شده کلی دارم از گیک بودنم لذت میبرم… :)

  • امید

    مطلب بسیار شیوا و گویا بود. تشکر جادی.
    همین خلاصه گفتن که جدابیت داره. ( به شرط کیفیت داغون نشه :)
    کل وب فارسی بگردی محتوای خوب و ارزشمند پیدا نمیکنی (خیلی کم)
    حتی طراحی سایت ( افتضاح)
    از Debian هم بنویسید و بیشتر از Free BSD زیادی شناس نیست (عموم) اونم باید باحال باشه
    می خوام بدونم ساختار برنامه و پکیج مثل دبین هست؟ با نرم افزار و کد لینوکس مشگل نداره؟
    بازم ممنون

  • sae13

    اقا من خودم تازه کارم و تازه دارم با دنیا گنولینوکس آشنا میشم. از روی تجربه خودم به تازه کارا پیشنهاد میکنم با مانجارو شروع کنید .
    https://manjaro.github.io/
    چون نصب برنامه ها رووش به شدت ساده تر از ابونتویه. کار کردن با
    pacman و yaourt
    ساده تر از
    apt و dpkg یه .
    مخصوصا توی
    yaourt
    همممه چی پیدا میشه نیاز نیست از همون اول قلق یا غلغ یا قلغ یا غلق نصب
    tar.bz و
    git
    یاد گرفت.
    و انجمن هم میتونید از انجمن ارچ یوزر ایرانی استفاده کنید.البته کنار انجمن ابونتو.پیشنهاد میکنم توی دو تاشون عضو باشید.
    http://archusers.ir/

  • Sara

    سلام جادی !
    این مطلبت خیلی خوب بود !
    من تازه دارم پایتون یاد میگیرم ، اگه منبعی میشناسی که پروجکت بیس باشه و برا هر مبحث یه پروژه تعریف کرده باشه بهم معرفی کن !
    خیلی خیلی ممنوووونم ،

  • Ali Fatahi

    سلام یک پیشنهاد داشتم اگر میشه یک ویدیو هم در مورد موقعیت های شغلی و یا سایت هایی که میشه از طریق اون شغل هایی مثل :sysadmin و کلا شغل هایی که با لینوکس در ارتباطه بسازید ممنون

  • Pingback: شروع کار با گنو/لینوکس - علی مولایی()

  • Pingback: گنو/لینوکس – یادداشت های یک تازه نویسنده()