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

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

auto-startup-linux-644x250

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

آشنایی اولیه

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قدم‌های بعدی

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

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


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