چرا هنوز از رابط متنی استفاده می‌کنیم؟

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

واقعیت ساده‌ست. جدای از امکانات زیادی که رابط متنی به ما میده مثل اینکه قابلیت اجرا‌ش توی محیط‌های مختلف بیشتره، سریع‌ترهِ، سبک‌تره و… یه ویژگی خیلی خوبی داره و اون اینکه امکان خودکار سازی کارها رو برامون خیلی بهتر می‌کنه. این کار خودکار سازی توی حالت گرافیکی هم انجام میشه ولی خب اشتباهات بیشتره و ممکنه خیلی وقت‌ها نتیجه معقول رو دریافت نکنیم. به همین خاطر رابط متنی باید باشه.

سریع بودن و سبک بودن و قابلیت اجرایی بودن‌ش هم که موضوعات ساده‌ای هستش، شما در هر جایی می‌تونید به یه خط فرمان دسترسی داشته باشید حالا به هر صورتی که شده.

حالا که این رو گفتم بزارید با سه شیوه از کامند-لاین هم آشناتون کنم: یه نوعی هست بهش میگن ls یه جور از کامند-لاین غیر تعاملی هستش، یعنی توش شما یه سری پارامتر و ورودی میدید و در نهایت خروجی رو براتون تولید میکنه. یه نوع دیگه‌ش هم هست که تعاملیه، مثلا بیشتر توی پکیج منیجرها می‌تونیم ببینیمش، وقتی شما کاری رو انجام میدید مثلا به شما قبل از خروجی اون دستور اصلی میگه که این دستور ممکنه فلان خراب کاری رو انجام بده آیا ادامه میدید یا نه. در آخر هم رابط TUI یا رابط کاربری متنی هستش که برای ابزارهای گرافیکی ساخته میشه، با این ابزارها میتونید کارهایی رو که توی محیط گرافیکی هم انجام میشن رو به صورت متنی انجام بدید.

 

لینوکس (یک) 🐧: ویدیوکست 📹: ۱۹ دستور ساده ترمینال

خب ماجرا از چه قراره، توی مطلب «به به! قسمت ویدیوکست رو راه‌اندازی کردم 🤓» گفتم که یه کانال یوتیوب راه‌اندازی کردم و اون‌جا یه پلی‌لیست رو ایجاد کردم به اسم ویدیوکست📹 که اونجا می‌تونید ویدیوهای تقریبا آموزشی و باحال وبلاگ رو ببینید. به عنوان اولین ویدیو تصمیم گرفتم که آموزش کار با ۱۹ دستور ساده ترمینال لینوکس رو ضبط کنم. البته قرار بود این ۱۹ دستور رو به صورت نوشتاری بنویسم ولی خب احساس کردم خیلی خسته کننده میشه، یه مطلب رو هم قبلا در  مطلب «لینوکس (یک) 🐧: دستور pwd و cd» منتشر کردم ولی خودم خیلی جذابش ندونستم یا بهتر بگم خواب آور بود 😴 … لینوکس جذابه نباید اینجوری باشه ☺️.

ادامه خواندن لینوکس (یک) 🐧: ویدیوکست 📹: ۱۹ دستور ساده ترمینال

تفاوت گنو/لینوکس و لینوکس

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

ادامه خواندن تفاوت گنو/لینوکس و لینوکس

لینوکس (یک) 🐧: دستور pwd و cd

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

ادامه خواندن لینوکس (یک) 🐧: دستور pwd و cd

نرم‌افزار آزاد – Free/Libre Software

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

Libre and Gratis

آزاد یا رایگان

اولین موضوعی که باید در رابطه با نرم‌افزار آزاد یا Free Software گفته بشه این هستش که Free به این معنا نیست که شما چیزی رو به صورت رایگان عرضه کنید، در واقع این Free برمی‌گرده به کلمه Freedom یا همون آزادی. به همین دلیل نوشته میشه Free/Libre به این خاطر که Libre داره اشاره می‌کنه به حالت گفته شده. وقتی که هرچیزی رایگان -از نظر پولی- باشه بهش می‌گیم Gratis. پس اینجا منظورمون آزادی هستش نه موضوع پول. نرم‌افزار می‌تونه پولی باشه و می‌تونه رایگان هم باشه. در هر حال این موضوعی بود که اول از همه باید گفته می‌شد.

برنامه کامپیوتری

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

کنترل کردن یا کنترل شدن

در دنیای نرم افزار دو احتمال کلی برای مبحث کنترل وجود داره. یا اینکه شما -کاربر- برنامه رو کنترل می‌کنید و یا اینکه برعکس نرم‌افزار داره شما -کاربر- رو کنترل می‌کنه:

کنترل کاربر توسط برنامه
کنترل برنامه توسط کاربر

شروط نرم‌افزار آزاد

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

شرط صفرم: آزادی در اجرا: شما باید بدون هیچ شرایط خاص و بدون هیچگونه دسته‌بندی منطقه‌ای یا نژادی و یا … بتوانید برنامه رو اجرا کنید و آزادی این رو داشته باشید که برنامه رو برای هر قصدی اجرا کنید.

شرط یکم: بتونید برنامه رو تغییر بدید: یعنی سورس برنامه رو در اختیار داشته باشید و بتونید اون سورس رو براساس میل و خواسته های خودتون تغییر بدید. خب در چنین حالتی هرکسی می تونه برنامه خودش رو تغییر بده. درسته؟! منظورم اینه که تغییر یک برنامه که توسط من انجام میشه روی برنامه‌ای که تو داری، هیچ تاثیری نمی زاره و این مسئله خیلی مهمه. یکی از خوبی های وجود چنین حالتی درست شدن انجمن ها و تیم‌های همکاری بین افراد مختلف هستش. شما تصور کنید که ۳ نفر هستید که یکی از شما برنامه نویسی بلد نیست. مثلا مهندس معماری هستش. ۲ نفر دیگه برنامه‌نویس هستند. در چنین حالتی مهندس معماری بدون اینکه مستقیما روی کدها کار کنه می تونه تاثیر بزاره. چطوری؟! به اون دو نفر برنامه نویس میگه اگه مثلا فلان قسمت برنامه رو تغییر بدید خوب میشه. اون دو نفر هم هرکدوم نظرات خودشون رو دارن و در نهایت چیز خیلی خوبی رو میسازن. به این حالت میگن حالت مشارکتی … حالتی که توی اون افراد با هر سطح دانشی به هر طوری شده می تونن به هم در توسعه برنامه‌ها کمک کنند.

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

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

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

اونها با این کارشون می تونن شما رو جاسوسی کنند، کی می‌خوابید، با کی حرف می‌زنید، چه موسیقی گوش می‌دید و… بزارید یه نمونه خیلی ساده رو بگم. آمازون کیندل ها رو دیدید؟ این دستگاه‌ها به اسم کتابخون هم شناخته شدند، مثل تبلت هستند با این تفاوت که سیستم عامل خودشون رو دارن و تنها از یکسری فرمت‌ها مثل pdf و فرمت‌های اکثرا متنی پشتیبانی می‌کنند. کیندل یکی از این دستگاه‌هاست که توسط شرکت آمازون به فروش می‌رسه. این دستگاه ها مادام که به اینترنت یا یک شبکه متصل میشن -یا می‌شدند- از طریق یک بک دور «بک‌دور یا در پشتی یکی از راه‌های نفوذ به یک سیستم کامپیوتری یا شبکه یا هر چیز دیگری است. با یک مثال ساده. تصور کنید شما یه خونه دارید که یک در اصلی داره، حالا یه دزده از پشت خونه برای خودش یه در می‌سازه (زمین رو حفر میکنه یا هر کار دیگه‌ای) و به خونه شما دسترسی پیدا میکنه. این در حالی است که شما به عنوان صاحب خونه از این در پشتی خبری ندارید.» که توی دستگاه وجود داشت اطلاعات کاربر همراه با کتابخونه‌ش رو به سرورهای خود آمازون ارسال می‌کرد. در حقیقت یک دسترسی به صورت Remote «مثل ریموت ماشین. از دور کار میکنه» رو به شرکت می‌داد. یکی از کارهایی که اونا انجام دادن توی سال ۲۰۰۹ کتاب ۱۹۸۴ به نویسندگی جورج اورول از دستگاه‌های کیندل بدون اینکه کاربر بدونه حذف کردند. این یک نمونه خیلی ساده از دزدی‌ها و جرائمی است که نرم افزارهای غیر آزاد و شرکت‌های انحصاری انجام میدن. یک نمونه دیگه‌ش بک دور‌ مایکروسافت هستش که توی سیستم عامل ویندوز قرار می‌گیره و به سیستم‌های اطلاعاتی آمریکا این اجازه رو میده که بتونن اطلاعات و فعالیت های کاربران رو شناسایی کنند.

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

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

فروش برنامه به کاربر

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

خب راه‌حل چیه؟

گنو/لینوکس

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

گنو/لینوکس

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

خب این سیستم عامل کاملا آزاد بود و الان هم هست. اما برخی از توزیع‌های این سیستم عامل در حال حاضر کاملا آزاد نیستند و در اون‌ها از نرم افزارهای غیر آزاد استفاده میشه. به همین خاطر باید سعی بشه که این ابزارها از کامپیوترمون حذف بشه. -برای حذف این پکیج‌های غیر آزاد می‌تونید این لینک رو مطالعه کنید-

توزیع‌های غیرآزاد

نرم‌افزار آزاد و نرم‌افزار متن باز

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

نرم‌افزار آزاد و متن‌باز

لایسنس‌های نرم افزار آزاد

GPL3

خب یک برنامه برای اینکه آزاد باشه یا به عنوان یک نرم افزار آزاد ازش اسم برده بشه، جدای از اون چهار اصل نیاز داره تا مطابق با لایسنس‌های نرم افزاری که از طرف بنیاد نرم افزارهای آزاد یا Free Software Foundation عرضه میشه، نرم افزار خودش رو توزیع کنه. خب بزارید با یکی از مهمترین اون‌ها آشنا بشیم. لایسنس GPL یا GNU General Public License همونطور که گفته شد از طرف FSF منتشر شده و برنامه‌هایی که به صورت آزاد عرضه میشن می تونن از این لایسنس استفاده کنند. خب لایسنس‌های دیگه‌ای هم وجود داره اما یکی از اهمیت‌های این لایسنس وجود حالت کپی‌لفت یا Copy Left هستش. خب این درست برعکس حالت کپی رایت هستش … حالا از هر نظر مخصوصا جهت 🙂 ! کپی‌لفت به شما چه کمکی می‌کنند؟ ببینید ما نرم افزار آزاد رو درست نمی‌کنیم که به نرم افزارهای انحصاری این اجازه رو بدیم که از نرم افزارمون استفاده کنند. بزارید ساده‌تر بگم. فرض کنید که برنامه x رو به صورت آزاد عرضه کردید، خب این برنامه واقعا خوبه و واقعا عالی کار می‌کنه خب حالا یه شرکت بَد مثل مایکروسافت می‌آد کدهای شما رو برمیداره و اون‌ها رو در پروژه خودش استفاده می‌کنه و در نهایت برنامه خروجی رو به صورت آزاد منتشر نمی‌کنه. خب این حالتیه که از نرم افزار آزاد سوء استفاده میشه. برای همین کپی‌لفت عرضه شده است. کپی‌لفت میگه اگه شما دارید از نرم افزار آزاد استفاده می‌کنید، برای اینکه اون رو تغییر بدید و دوباره عرضه کنید هیچ کاری نیاز نیست که انجام بدید، بجز اینکه برنامه توزیع‌ شده رو مطابق با قواعد برنامه اول یا همون برنامه مادر دوباره عرضه کنید. یعنی اینکه اگه برنامه اول به صورت آزاد منتشر شد شما باید نرم افزار خودتون که مشتق شده از نرم افزار اولی هستش رو دوباره به صورت آزاد منتشر کنید. خب یه مشکل. تصور کنید دو تا برنامه وجود داره که یک کارکرد رو انجام می‌دن و هر دو به صورت متن باز در اختیار مردم قرار داره خب یکی‌شون آزاد هستش و دیگری نیست. برای اینکه برنامه آزاد بتونه در چنین حالتی برابری کنه نیاز هست که همواره آزاد بمونه اما نیازی نیست که کپی‌لفت هنوز وجود داشته باشه. خب برای این مورد هم لایسنس سفارشی ساخته شده به اسم LGPL که یک لایسنس با کپی‌لفت ضعیف هستش.

نرم‌افزار آزاد در مدارس و دانشگاه‌ها

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

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

در آخر یک سوال پیش می‌آد؟ چطوری می‌تونیم به دنیای نرم‌افزار آزاد کمک کنیم؟!

  • می‌تونیم نرم‌افزار آزاد بنویسیم!
  • می‌تونیم کمپین‌های نرم افزار آزاد رو تشکیل بدیم و یا اینکه توی اون‌ها شرکت کنیم.
  • می‌تونیم سعی کنیم که استاد‌ها و معلم‌های دانشگاه و مدارس رو متقاعد کنیم تا از نرم افزار آزاد استفاده کنند.
  • می‌تونیم به بقیه کمک کنیم!
  • و… .

منابع:

  1. سمینار ریچارد استالمن در TED
  2. اسلاید ریچارد استالمن در بنیاد نرم‌افزارهای آزاد

ویدیوی آموزشی کوتاه

حذف نرم‌افزارهای غیر آزاد با vrms

Richard M. Stallman
Richard M. Stallman

آزادی نرم افزار مسئله خیلی مهمیه. برخی از توزیع‌های لینوکس اخیرا این مفاد رو زیر پا گذاشتن و به اون اهمیت نمی‌دن. این کار هم با توزیع برخی از پکیج‌های غیرآزاد و انحصاری انجام میشه. خب چاره‌کار چیه! چاره کار اینه که ازشون استفاده نکنیم. نه منظورم اینه که چطوری شناسایی‌شون کنیم و حذفشون کنیم. خب این کاری نداره می‌تونیم از Virtual Richard M. Stallman کمک بگیریم. با این ابزار که توسط Bdale Garbee و Bill Geddes برای توزیع‌های دبیان ارائه شده می تونید اون‌ها رو شناسایی کنید. برای نصب این مورد با استفاده از apt-get می‌تونید دستور زیر رو وارد کنید:

بعد از اون دستور vrms رو وارد کنید. حالا می تونید برنامه‌هایی که آزاد نیستند رو ببینید. برای من مورد unrar رو آورد. خب چطوری حذف‌ش کنم؟ برای کامل حذف کردن از دستور purge استفاده کنید. به صورت زیر:

خلاص شدیم 🙂 … برای خوندن اطلاعات بیشتر در مورد این ابزار و دونستن گزینه های مختلف‌ش می‌تونید این صفحه رو مطالعه کنید.

لینوکس (یک) 🐧: آشنایی با محیط متنی

ساختار یک سیستم

خب خب سلام می‌گم به همتون و خوش اومدید به مرحله اول از آموزش لینوکس البته این مثل اندیس آرایه‌ست که از صفر شروع میشه در واقع حالا شما توی خونه‌ی دوم -شمردن بشرگونه- و یا شماره یک -شمردن آرایه‌گونه- هستید. خب توی قسمت قبلی یه ویدیو آخر نوشته گذاشتم که با اون می تونید اوبونتو رو نصب کنید. به قول جادی، اولین مرحله برای یادگیری لینوکس همون نصبشه! به همین سادگی 😁 … خب توی این مرحله می خوایم با محیط متنی لینوکس آشنا بشیم یعنی با ترمینال کار کنیم! البته می تونید از اون هم استفاده نکنید می تونید مستقیم وارد قسمت متنی بشید و هیچ کاری به محیط گرافیکی و اپلیکیشن ترمینال نداشته باشید ولی خب در نهایت همش یکیه! یکی نیست منظورم اینه خروجی دستورتون یکی خواهد بود -تاحدی؟! شاید،نه!- بیخیال! بریم واسه قسمت اول از لینوکس یک!

اولین مرحله از یادگیری این هستش که بفهمیم شل یا Shell یا پوسته چی هستش! به زبون خیلی ساده پوسته یه برنامه‌ای هستش که دستوراتی رو از کیبورد شما می خونه و اون‌ها رو برای اجرا شدن به سیستم عامل یا بهتر بگیم کرنل می فرسته! خیلی ساده و بدون هیچ ابهامی! تصور کنید یکی با مشت می زنه توی قفسه سینه‌تون. این درد از پوسته وارد درون‌تون میشه و قلبتون رو به درد میاره! چه وحشتناک!! اینم از مثال آوردن‌های من مثل آدم یه مثال بیار خب!😅 … اگه توی محیط گرافیکی گنو/لینوکس کار کرده باشید ممکنه که با اسم چیزی شبیه به ترمینال یا Terminal آشنایی داشته باشید یا اینکه باهاش برخورده باشید … به هر حال یه بار دیدیدش حتما! این اپلیکیشن در حقیقت پوسته رو برای شما پیاده سازی می کنه نه پیاده سازی نه، در اختیارتون قرار میده! پوسته خودش پیاده سازی شده، برای دسترسی بهش از ترمینال استفاده می کنید. حالا توی بعضی از توزیع‌ها ممکنه اسمش یه چیز دیگه هم باشه! خب توی این قسمت همونطور که گفتم در مورد این پوسته حرف می زنیم و اون رو می‌شکافیم. (عجب فعلی، بین خودمون باشه) … در این دوره از چیزی به اسم بش یا bash یا Bourne again shell یا ترجمه فارسی‌ش رو دقیقا نمی دونم چی میشه -بورن دوباره پوسته است- استفاده می کنیم. برای حقیقت پوسته یا شل‌ی که توی لینوکس استفاده می‌کنیم از خود یونیکس استفاده می‌کنه ولی خب این نسخه در اصل مال اونجاست در نهایت bash تغییراتی نسبت به اون نسخه اصلی داشته. مهم نیست این‌ها فعلا بیاید کمی با بش و دستورها آشنا بشیم:

خب ترمینال رو باز کن. برای اینکار سرچ کن Terminal یا اینکه CTRL+ALT+T رو بزن. بعد از اون قالب متنی شبیه این رو می بینی:

خب این قالب یعنی دقیقا چیزی نیست که میبینید. توی قسمت اول نام کاربری خودتون رو می‌بینید. بعد از علامت @ نام میزبان‌تون که اگه روی کامپیوتر شخصی باشید که فکر می کنم هستید چیزی خواهد بود که موقع نصب خودتون به فیلد Your computer name in network مقدار دادید. بعد از اون دو نقطه : و مسیر جاری. ممکنه که علامت تیلدا رو ببینید این بدان معناست که توی مسیر Home قرار دارید. در آخر هم یه علامت دلار‌ساین یا $ می‌بینید که بدین معناست شما کاربر عادی یا standard سیستم هستید. به این قالبی که می‌بینید می‌گن prompt یا آماده … حالتی که آماده است (شاید!) در حال حاضر سیستم من به صورت زیر نشون‌ش می‌ده:

حالا بیاید با یه دستور ساده و اولیه کار کنیم … دستور echo هاهاها … با این دستور می تونید چاپ کنید 🙂

خیلی هم ساده و خوشمزه! خب تا قسمت بعدی از آموزش لینوکس (یک) فعلا 🙏😎😍

لینوکس (صفر) 🐧: ردهت، فدورا، آرچ و اوپن‌سوزه

خب کجا بودیم؟ آهان! قرار شد که توی این جلسه در مورد توزیع‌های دیگر واقع در لیست‌مان حرف بزنیم و باهاشون یه ذره وَر بریم. خب این سری از مطلب که آخرین مطلب از معرفی توزیع‌ها خواهد بود در مورد توزیع‌های حرفه‌ای‌تر نسبت به موارد قبلی حرف می‌زنیم -البته من نمی‌گم حرفه‌ای، ولی خب حرفه‌ای ها معمولا از این نسخه‌ها استفاده می کنند، ما که حرفه ای نیستیم، نمی‌دونیم 🙄 – این توزیع‌ها عبارت هستند از ردهت، فدورا، آرچ، جنتو و اوپن‌سوزه.

ردهت


ردهت یا در واقع Red Hat Enterprise Linux که به RHEL هم اون رو می‌شناسن توزیعی از لینوکس هستش که توسط شرکت Red Hat توسعه داده شد. در واقع این نسخه از لینوکس رو بیشتر به عنوان یک توزیع تجاری می شناسن با این وجود ردهت نسخه رایگان خودش رو هم عرضه کرده و برخی از کدها رو هم به صورت متن باز و آزاد در اختیار کاربران قرار داده، اما با این وجود، شرکت رد‌هت از قواعد و شرایط خاص خودش برای انتشار و توزیع اونا استفاده می کنه.

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

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

فدورا


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

آرچ


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

این توزیع از مدیریت بسته خودش به نام Pacman استفاده میکنه. از طریق اون می تونید بروزرسانی و نصب و… رو انجام بدید.

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

اوپن‌سوزه


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

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

نتیجه‌گیری ساده تا این قسمت:

خب این هم از این توزیع‌ها رو به شما شناسوندم (عجب فعلی!) حالا دیگه خودتون مختارید از چی استفاده کنید. من به عنوان یک کاربر مبتدی از لینوکس مینت استفاده میکنم، کار باهاش ساده است و تمام کارهای من رو انجام می‌ده. پردازش متن داره، ادیتورم باهاش بالا می‌آد، LAMP رو خیلی ساده نصب می کنم و تمام! این کل نیاز من از یه کامپیوتره! البته می تونید از اوبونتو، دبیان و اوپن‌سوزه هم استفاده کنید ولی فکر نکنم این اوایل کار با آرچ لینوکس خیلی معقول باشه … نمی دونم هرجور که خودتون مایلید. از جلسه بعد میریم با ترمینال کار می‌کنیم، اگه می‌خواهید یاد بگیرید که چطوری لینوکس -اوبونتو- رو نصب کنید پیشنهاد می‌کنم این ویدیو رو ببینید … اگه از اون هم متوجه نشدید یه جستجو ساده بکنید «آموزش نصب اوبونتو»!

شاد باشید😎😍