چرا میگن بگیم "گنو/لینوکس" و نگیم "لینوکس"؟
با یه پست جدید در خدمتتونیم 😊
یکی از صحبتهایی که همیشه بین حرفهای و تازهکارا شکل میگیره اینه که نباید بگیم
لینوکس بلکه باید بگیم گنو/لینوکس.
خب چرا؟
بیاید برگردیم به 1983، زمانی که گنو (GNU) به عنوان یه پروژه اوپن سورس توسط ریچارد استالمن ایجاد شد. هدف اصلیشونم ساخت سیستم عاملی بود که سورس کد مشخص داشته باشه همچنین متن باز، آزاد، سریع و ایمنی باشه.
پروژه گنو شروع کرد به ساختن بخشهای مختلف سیستم عامل، و خیلی از ابزارها و چیزای مهمی که هنوز بسیار بسیار مهم هستن، مثلا GCC، Bash، emacs، coreutils
اینایی که گفتیم چنتا نمونه از چیزایی بودن که پروژه گنو ساخت.
مثلا coreutils کامندها و دستورات بیسیکی کار با فایلها رو شامل میشه. کامند ls و cp و rm و ... از همین coreutils هستن.
خلاصه که خیلی چیزا ساختن، ولی همچنان یه مشکلی بود...
کرنل که عملا هسته سیستم عامل بود رو نداشتن و کرنلهای موجود رو هم استفاده نکردن به دلایل دیگه.
میرسیم به 1991، یه دانشجوی فنلاندی به اسم لینوس توروالدز میاد و یه کرنل میسازه و توجه پروژه گنو جمع میشه به این کرنل، یه کرنل اوپن سورس و رایگان که همین قضیه هم باعث میشه جای خالی کرنل توسظ لینوکس پر بشه.
وایسا ببینم، مگه لینوکس سیستم عامل نبود؟
خب باید بگم نه :)))
لینوکس در اصل یه کرنله.
در نهایت ابزارهای گنو و کرنل لینوکس ترکیب میشن و گنو/لینوکس متولد میشه.
با ترکیب این دوتا، اولین توزیع گنو/لینوکسی به وجود میاد تو سال 1993 و اسمشم میشه Slackware
احتمالا خیلیا نمیشناسنش ولی یه نام آشنا در همین زمان به وجود میاد که قطعا میدونم میشناسید :)
و دبیان متولد میشه 😄
پس اگر بگیم لینوکس، عملا داریم بخش عظیمی از سیستم عامل رو که گنو تشکیل میده رو زیر سوال میبریم و بیخیال زحماتش میشیم.
یه سوال دیگه هم پیش میاد:
چرا گنو خودش کرنل ننوشت؟
در اصل گنو هم یه کرنل داره!!
یه میکرو کرنل به اسم Mach که فانکشنالیتیهای اصلی و هسته رو انجام میده و hurd هم در اصل چیزای high level تر رو انجام میده.
اما خب باید بگم که اگه پشت گوشتون رو دیدید کرنل کامل hurd رو هم خواهید دید 😁
حدود 30 ساله که داره توسعه پیدا میکنه و هنوزم بدرد استفاده نمیخوره و جای کار داره.
و این بود داستان توسعه لینوکس، گنو، و قضیه نامگذاری گنو/لینوکس که بهش پرداختیم.
امیدوارم روز و شب خوبی داشته باشید
با یه قلب خوشگل خوشحالمون کن 🫡❤️
➖➖➖➖➖➖➖➖➖➖
با یه پست جدید در خدمتتونیم 😊
یکی از صحبتهایی که همیشه بین حرفهای و تازهکارا شکل میگیره اینه که نباید بگیم
لینوکس بلکه باید بگیم گنو/لینوکس.
خب چرا؟
بیاید برگردیم به 1983، زمانی که گنو (GNU) به عنوان یه پروژه اوپن سورس توسط ریچارد استالمن ایجاد شد. هدف اصلیشونم ساخت سیستم عاملی بود که سورس کد مشخص داشته باشه همچنین متن باز، آزاد، سریع و ایمنی باشه.
پروژه گنو شروع کرد به ساختن بخشهای مختلف سیستم عامل، و خیلی از ابزارها و چیزای مهمی که هنوز بسیار بسیار مهم هستن، مثلا GCC، Bash، emacs، coreutils
اینایی که گفتیم چنتا نمونه از چیزایی بودن که پروژه گنو ساخت.
مثلا coreutils کامندها و دستورات بیسیکی کار با فایلها رو شامل میشه. کامند ls و cp و rm و ... از همین coreutils هستن.
خلاصه که خیلی چیزا ساختن، ولی همچنان یه مشکلی بود...
کرنل که عملا هسته سیستم عامل بود رو نداشتن و کرنلهای موجود رو هم استفاده نکردن به دلایل دیگه.
میرسیم به 1991، یه دانشجوی فنلاندی به اسم لینوس توروالدز میاد و یه کرنل میسازه و توجه پروژه گنو جمع میشه به این کرنل، یه کرنل اوپن سورس و رایگان که همین قضیه هم باعث میشه جای خالی کرنل توسظ لینوکس پر بشه.
وایسا ببینم، مگه لینوکس سیستم عامل نبود؟
خب باید بگم نه :)))
لینوکس در اصل یه کرنله.
در نهایت ابزارهای گنو و کرنل لینوکس ترکیب میشن و گنو/لینوکس متولد میشه.
با ترکیب این دوتا، اولین توزیع گنو/لینوکسی به وجود میاد تو سال 1993 و اسمشم میشه Slackware
احتمالا خیلیا نمیشناسنش ولی یه نام آشنا در همین زمان به وجود میاد که قطعا میدونم میشناسید :)
و دبیان متولد میشه 😄
پس اگر بگیم لینوکس، عملا داریم بخش عظیمی از سیستم عامل رو که گنو تشکیل میده رو زیر سوال میبریم و بیخیال زحماتش میشیم.
یه سوال دیگه هم پیش میاد:
چرا گنو خودش کرنل ننوشت؟
در اصل گنو هم یه کرنل داره!!
یه میکرو کرنل به اسم Mach که فانکشنالیتیهای اصلی و هسته رو انجام میده و hurd هم در اصل چیزای high level تر رو انجام میده.
اما خب باید بگم که اگه پشت گوشتون رو دیدید کرنل کامل hurd رو هم خواهید دید 😁
حدود 30 ساله که داره توسعه پیدا میکنه و هنوزم بدرد استفاده نمیخوره و جای کار داره.
و این بود داستان توسعه لینوکس، گنو، و قضیه نامگذاری گنو/لینوکس که بهش پرداختیم.
امیدوارم روز و شب خوبی داشته باشید
با یه قلب خوشگل خوشحالمون کن 🫡❤️
#⃣#gnome #linux
➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
👍12❤2🔥1
خب امروز میخوایم اسنپ استور رو بررسی کنیم و ببینیم چرا خیلیا دوست ندارن ازش استفاده کنن. 🤔
❓ اسنپ چیه؟
اسنپ یه فروشگاه نرمافزاریه که از بستههای Snap 📦 استفاده میکنه و توسط Canonical (سازندهی اوبونتو) توسعه داده شده و پشتیبانی میشه.
🎯 هدفش چیه؟
ایدهی اصلی Snap این بود که مشکل وابستگیهای نرمافزاری توی لینوکس رو حل کنه. توی توزیعهای مختلف لینوکس، بستهها معمولاً به کتابخانهها و فایلهای خاصی نیاز دارن که ممکنه توی هر توزیع متفاوت باشند. این موضوع باعث مشکلاتی در نصب و اجرای نرمافزارها میشه.
Snap با این ایده شروع کرد که:
✔ مدیریت یکپارچهی نرمافزارها 🛠️:
✔ پشتیبانی از بهروزرسانیهای خودکار 🔄:
✔ امنیت بالاتر 🔐:
❌ مشکلات اسنپ
1⃣ سرعت پایین 🚶♂️:
برنامههای Snap معمولاً کندتر از نسخههای معمولی اجرا میشن. حتی نصب، بهروزرسانی یا حذف برنامهها هم با سرعت پایینی انجام میشه.
2⃣ استفادهی زیاد از فضای ذخیرهسازی 💾:
چون هر بسته همهی وابستگیهاش رو با خودش داره، فضای بیشتری اشغال میکنه. برای مثال، ممکنه چندین نسخهی مختلف از یک کتابخانه داخل پکیجهای مختلف ذخیره بشه.
3⃣ انحصار 🔒:
اسنپ فقط توسط Canonical مدیریت میشه و استفاده از مخازن جایگزین سخت یا حتی محدود شده. برخلاف فلت پک که به کاربر اجازه میده مخازن مختلفی اضافه کنه، Snap فقط یک مخزن رسمی داره.
🔄 جایگزینهای بهتر از اسنپ؟
💡 بهجای Snap، میشه از Flatpak و AppImage استفاده کرد که هرکدوم مزایا و معایب خودشون رو دارن.
➖➖➖➖➖➖➖➖➖➖
❓ اسنپ چیه؟
اسنپ یه فروشگاه نرمافزاریه که از بستههای Snap 📦 استفاده میکنه و توسط Canonical (سازندهی اوبونتو) توسعه داده شده و پشتیبانی میشه.
🎯 هدفش چیه؟
ایدهی اصلی Snap این بود که مشکل وابستگیهای نرمافزاری توی لینوکس رو حل کنه. توی توزیعهای مختلف لینوکس، بستهها معمولاً به کتابخانهها و فایلهای خاصی نیاز دارن که ممکنه توی هر توزیع متفاوت باشند. این موضوع باعث مشکلاتی در نصب و اجرای نرمافزارها میشه.
Snap با این ایده شروع کرد که:
✅ همهی وابستگیهای یک نرمافزار رو داخل خودش بذاره.
✅ پکیجها رو در محیطهای ایزوله (sandboxed) اجرا کنه تا با هم تداخلی نداشته باشن.
✅ نرمافزارها بدون وابستگی به نسخهی خاصی از یک توزیع، روی همهی سیستمها یکپارچه اجرا بشن.🔥 ویژگیهای اسنپ استور
✔ مدیریت یکپارچهی نرمافزارها 🛠️:
کاربرا میتونن برنامهها رو نصب، بهروزرسانی یا حذف کنن، بدون نگرانی از وابستگیها.
✔ پشتیبانی از بهروزرسانیهای خودکار 🔄:
برنامههایی که از Snap Store نصب شدن، بهصورت خودکار به آخرین نسخه بهروزرسانی میشن.
✔ امنیت بالاتر 🔐:
به خاطر sandboxing (اجرای ایزولهی بستهها)، برنامهها تأثیر کمتری روی سیستم و همدیگه دارن و احتمال آسیبپذیری کمتر میشه.
❌ مشکلات اسنپ
1⃣ سرعت پایین 🚶♂️:
برنامههای Snap معمولاً کندتر از نسخههای معمولی اجرا میشن. حتی نصب، بهروزرسانی یا حذف برنامهها هم با سرعت پایینی انجام میشه.
2⃣ استفادهی زیاد از فضای ذخیرهسازی 💾:
چون هر بسته همهی وابستگیهاش رو با خودش داره، فضای بیشتری اشغال میکنه. برای مثال، ممکنه چندین نسخهی مختلف از یک کتابخانه داخل پکیجهای مختلف ذخیره بشه.
3⃣ انحصار 🔒:
اسنپ فقط توسط Canonical مدیریت میشه و استفاده از مخازن جایگزین سخت یا حتی محدود شده. برخلاف فلت پک که به کاربر اجازه میده مخازن مختلفی اضافه کنه، Snap فقط یک مخزن رسمی داره.
🔄 جایگزینهای بهتر از اسنپ؟
💡 بهجای Snap، میشه از Flatpak و AppImage استفاده کرد که هرکدوم مزایا و معایب خودشون رو دارن.
#️⃣ #snap #linux
➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
👍4