DuckLinux
201 subscribers
278 photos
13 videos
1 file
120 links
🦆 اردک مهربان و رفیق پنگوئن دوست‌داشتنی! 🐧

آخرین اخبار لینوکس، ترفندهای کاربردی و تکنولوژی‌های جدید را در چنل ما دنبال کنید.
Download Telegram
🟢 - کلاینت Git مدرن برای GNOME با قابلیت‌های جدید منتشر شد!
🚀 - نسخه Gitte 0.10 منتشر شده؛ یک Git Client گرافیکی مبتنی بر GTK4 که برای GNOME و دسکتاپ لینوکس توسعه پیدا می‌کنه.
✨ - مهم‌ترین تغییرات این نسخه:
🔹 نمایش Side-by-Side Diff برای مقایسه راحت‌تر تغییرات کد
🔹 اضافه شدن پشتیبانی از Git LFS برای فایل‌های حجیم
🔹 پشتیبانی از Git Submodules
🔹 میانبرهای کیبورد جدید برای سریع‌تر شدن Workflow
🔹 بهبودهای مختلف رابط کاربری و رفع باگ‌ها
🧩 - کلاینت Gitte می‌تونه گزینه‌ای جذاب برای توسعه‌دهنده‌هایی باشه که به‌جای کار با Git در ترمینال، یک رابط گرافیکی هماهنگ با محیط GNOME می‌خوان.

🗓️ - در کنار این خبر، توسعه GNOME هم ادامه داشته؛ از جمله اضافه شدن پروفایل‌های سفارشی شتاب Pointer در GNOME 51 که قبلاً خبرش رو پوشش دادیم. و بهبودهای مختلف GNOME Calendar.
📅 - نسخه نهایی GNOME 51 هم قراره در تاریخ ۲۵ شهریور منتشر بشه.

🦆 @ducklinux1
Gp - @duckgplinux
❤1👍1
🟢 - ریموت دسکتاپ KDE Plasma 6.8 قراره روان‌تر بشه!
🚀 - یکی از تغییرات باحال Plasma 6.8، بهبود عملکرد ریموت دسکتاپ با KRDP هست؛ یعنی وقتی از راه دور به دسکتاپ وصل می‌شی، تصویر با تأخیر کمتری بهت می‌رسه.
🔧 - مشکل قبلی این بود که وقتی Encoder سریع‌تر از Client فریم تولید می‌کرد، فریم‌ها توی صف جمع می‌شدن و باعث افزایش Latency می‌شدن.

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

✨ - چند تغییر مهم دیگه در Plasma 6.8:
- بهبود Input Method و مدیریت کیبورد روی صفحه
- امکان نمایش دستی کیبورد در برنامه‌های XWayland
- قابل‌فهم‌تر شدن تنظیمات Clipboard برای تصاویر و MIME Actions
- اضافه شدن پشتیبانی KWin از Wayland Commit-Timing
- رفع چند Crash و مشکل مربوط به Wallpaper و اجرای KWin
📅 - نسخه Plasma 6.8 Beta 2 در ۲ مهر منتشر می‌شه و نسخه نهایی Plasma 6.8.0 برای ۲۲ مهر برنامه‌ریزی شده؛ هم‌زمان با سی‌امین سالگرد تأسیس KDE.

🦆 @ducklinux1
Gp - @duckgplinux
❤1
😭 - اوبونتو می‌خواد Firmware مخصوص HWE داشته باشه! 🛠️
🚀 - توسعه‌دهنده‌های اوبونتو دارن بررسی می‌کنن که برای نسخه‌های LTS، پکیج جدیدی به اسم "linux-firmware-hwe" اضافه کنن.
🧩 - مشکل فعلی اینه که Firmware های جدید معمولاً برای کرنل‌های جدیدتر منتشر می‌شن؛ اما وقتی روی کرنل قدیمی‌تر نصب بشن، ممکنه باعث Regression و خراب شدن بعضی سخت‌افزارها بشن.
⚠️ - برای مثال، بعضی Firmwareهای جدید مربوط به کرنل Linux 7.0 HWE در Ubuntu 24.04، حداقل دو مشکل برای کاربرهایی که هنوز از کرنل 6.9 استفاده می‌کردن ایجاد کردن.
💡 - پیشنهاد جدید اینه که کرنل‌های HWE به "linux-firmware-hwe" وابسته باشن تا Firmware ها هم‌زمان با کرنل HWE به‌روزرسانی بشن و کاربران کرنل اصلی کمتر در معرض مشکل قرار بگیرن.

🧐 - البته اگر کرنل GA و HWE هم‌زمان روی سیستم نصب باشن، هر دو کرنل از Firmwareهای HWE استفاده می‌کنن؛ بنابراین احتمال مشکل هنگام اجرای کرنل قدیمی همچنان وجود داره.
📅 - این تغییر هنوز قطعی نشده، اما ممکنه در Ubuntu 26.10 معرفی بشه تا Firmwareهای جدید همراه با HWE اوبونتو 26.04 ارائه بشن.
🦆 @ducklinux1
Gp - @duckgplinux
❤2
🧠 - درایور NPU اینتل رسماً با Ubuntu 26.04 سازگار شد!
⚙️ - اینتل نسخه 1.38 از Intel Linux NPU Driver رو منتشر کرده؛ درایور متن‌بازی که امکان استفاده از واحد پردازش عصبی یا NPU پردازنده‌های Core Ultra رو در لینوکس فراهم می‌کنه.

🐧 - مهم‌ترین تغییر این نسخه، اضافه‌شدن پشتیبانی رسمی از Ubuntu 26.04 LTS هست؛ البته درایور از قبل هم روی این نسخه کار می‌کرد، اما حالا رسماً توسط اینتل پشتیبانی می‌شه.
🔬 - اینتل پردازنده‌های Meteor Lake، Arrow Lake، Lunar Lake، Panther Lake و Wildcat Lake رو روی Ubuntu 26.04 آزمایش کرده تا عملکرد درایور NPU بررسی بشه.
💻 - آزمایش‌ها با کرنل پیش‌فرض Linux 7.0 انجام شدن. پشتیبانی رسمی از Ubuntu 24.04 LTS هم همچنان ادامه داره.
📦 - نسخه 1.38 به‌جز پشتیبانی رسمی از Ubuntu 26.04، تغییر مهم دیگه‌ای نداره.

🔗 - نسخه جدید درایور User-Space از طریق مخزن رسمی اینتل در GitHub قابل دریافت هست.
🦆 @ducklinux1
Gp - @duckgplinux
❤1👍1🤣1
🖼️ - رابط گرافیکی GTK 4.24 با Fractional Scaling بهتر منتشر شد! ✨
🚀 - نسخه GTK 4.24 به‌عنوان جدیدترین نسخه پایدار GTK4 منتشر شده؛ درست چند روز پیش از انتشار رسمی GNOME 51.
🌫️ - این نسخه از پروتکل Wayland به نام "ext-background-effect" پشتیبانی می‌کنه؛ قابلیتی که امکان ایجاد پس‌زمینه‌های تار یا Blur پشت پنجره‌ها، مثل ترمینال‌های شفاف، رو فراهم می‌کنه.
📐 - پشتیبانی از Fractional Scaling هم بهتر شده. حالا محتوای رابط کاربری به مرز پیکسل‌های واقعی دستگاه نزدیک‌تر می‌شه تا نمایش در مقیاس‌هایی مثل ۱۲۵٪ و ۱۵۰٪ دقیق‌تر باشه.
⌨️ - نکته؛ GTK 4.24 همچنین از پروتکل Wayland Text Input v3.2 پشتیبانی می‌کنه و چندین بهبود دیگه در مدیریت ورودی و کیبورد به همراه داره.
🎞️ - برای کاربرهایی که به‌دلیل حساسیت حسی ترجیح می‌دن انیمیشن‌ها کمتر باشن، تنظیمات Reduced Motion حالا در بخش‌های بیشتری رعایت می‌شه.
⚡ - عملکرد GDK Frame Clock هم بازطراحی شده تا فریم‌ها دقیق‌تر سر وقت نمایش داده بشن و تعداد Frame Drop ها کاهش پیدا کنه. نسخه اندروید GTK4 هم حالا زمان‌بندی فریم‌ها رو با VSync هماهنگ می‌کنه.
🦆 @ducklinux1
Gp - @duckgplinux
👍2❤1
🔤 - اینتل پروژه فونت متن‌بازش رو لغو نکرد!
🛠️ - اینتل در دو سال گذشته به‌دلیل کاهش هزینه‌ها، چندین پروژه متن‌بازش رو کنار گذاشته؛ اما این بار درباره فونت Intel One Mono تصمیمش رو تغییر داده.

📦 - مخزن Intel One Mono همین هفته Archive شد، ولی فقط دو روز بعد دوباره از حالت آرشیو خارج شد تا توسعه و نگهداریش ادامه پیدا کنه.
👨‍💻 - فونت Intel One Mono در سال ۲۰۲۳ معرفی شده بود؛ یک فونت Monospace مخصوص برنامه‌نویس‌ها که روی خوانایی، وضوح و استفاده طولانی‌مدت تمرکز داره.
⌛ - البته این پروژه مدتیه فعالیت زیادی نداره؛ آخرین تغییرات واقعی کد به ژوئیه ۲۰۲۴ برمی‌گرده و در سال ۲۰۲۵ فقط چند تغییر در README انجام شده.

🧹 - در همین هفته، اینتل چند پروژه متن‌باز دیگه رو هم آرشیو یا متوقف کرده؛ از جمله اسکریپت تشخیص قابلیت‌های Intel AMX، مستندات Intel Media Driver Helper و کد Masked Occlusion Culling برای توسعه بازی.

💻 - اگر از طرفدارهای Intel One Mono هستید، خبر خوب اینه که فونت همچنان روی GitHub موجوده و فعلاً قرار نیست کنار گذاشته بشه.
🦆 @ducklinux1
Gp - @duckgplinux
❤2🔥1🥰1
🔥 - اختلاف بر سر استفاده از AI، بیش از ۱۰۰ پکیج Void Linux رو بدون Maintainer کرد!
🤖 - یکی از Maintainerهای Void Linux به نام Andrea Brancaleoni بعد از استفاده از GLM-5.3-Flash و OpenCode برای نوشتن متن یک Pull Request، با سیاست AI پروژه به مشکل خورد.

📜 - طبق قوانین Void Linux، مشارکت‌ها باید توسط انسان نوشته و درک شده باشن. استفاده از ابزارهای AI برای تحقیق و یادگیری مجازه، اما تمام استفاده از AI باید اعلام بشه.

📦 - بعد از این اتفاق، Brancaleoni تصمیم گرفت مالکیت پکیج‌هایی رو که نگهداری می‌کرد کنار بذاره. نتیجه این تصمیم، Orphan شدن ۱۱۳ پکیج در Void Linux بود.

🧩 - بین این پکیج‌ها نام‌های مهمی دیده می‌شه؛ از جمله Alacritty، Clementine، Kubernetes، Docker CLI، Terraform، Virt-Manager، Intel Thermald و چندین پکیج Python.

🛠️ - این پکیج‌ها فعلاً بدون Maintainer مشخص باقی می‌مونن؛ مگر اینکه Maintainerهای دیگه‌ای مسئولیت نگهداریشون رو قبول کنن.

🦆 @ducklinux1
Gp - @duckgplinux
👍2🔥1😁1😐1
🐧 - دبیان ۱۳.۷ اومد؛ کلی باگ و مشکل امنیتی رفع شد!
🛠️ - دبیان ۱۳.۷ با اسم Trixie منتشر شده و جدیدترین آپدیت‌های امنیتی و باگ‌فیکس‌ها رو برای نصب‌های تازه‌ی Debian 13 همراه خودش آورده.

🔒 - توی این نسخه ده‌ها مشکل امنیتی مربوط به پکیج‌هایی مثل Linux Kernel، Chromium، NTFS-3G، Roundcube، Samba، PHP، Postfix، Zip، Cockpit و Wireshark برطرف شده.
🐞 - چندتا باگ معمولی هم رفع شدن؛ مثلاً مشکل کرش احتمالی Akondai Search و ایرادهای مربوط به دانلود و آپدیت Spices در Cinnamon.
🧩 - زنجیره‌ی ابزار LLVM 22 هم آپدیت شده تا از بیلدهای جدید Chromium بهتر پشتیبانی کنه. یه‌سری تغییر و آپدیت دیگه هم برای پکیج‌های مختلف انجام شده.

💿 - اگه می‌خوای دبیان ۱۳ رو تازه نصب کنی، بهتره از ایمیج‌های جدید Debian 13.7 استفاده کنی تا از همون اول آخرین اصلاحات رو داشته باشی.
🚀 - نسخه‌ی بعدی، یعنی Debian 14، فعلاً قراره نیمه‌ی دوم سال ۲۰۲۷ منتشر بشه.
🦆 @ducklinux1
Gp - @duckgplinux
❤5👍1
⚠️ - فایل سیستم EROFS قابلیت LZ4 Rolling Decompression رو موقتاً غیرفعال کرد!
🐧 - فایل‌سیستم فقط‌خواندنی EROFS که توی سیستم‌های امبدد، کانتینرها و بعضی کاربردهای دیگه استفاده می‌شه، به‌خاطر احتمال خراب‌شدن داده‌ها مجبور شده قابلیت LZ4 Rolling Decompression رو فعلاً کنار بذاره.

🔍 - ماجرا از جایی شروع شد که تیم AWS متوجه شد بعضی دیتاست‌های خاص و نادر LZ4 ممکنه باعث خونده‌شدن داده‌ی خراب بشن. بررسی‌های بیشتر نشون داد پیاده‌سازی فعلی LZ4 در کرنل گاهی می‌تونه کپی‌های حافظه‌ی کنترل‌نشده به سمت عقب انجام بده.
💥 - این رفتار با فرضیاتی که EROFS برای بهینه‌سازی Rolling Decompression در نظر گرفته بود سازگار نیست و می‌تونه صحت داده‌ها رو به خطر بندازه؛ مخصوصاً چون کد اصلی LZ4 کاملاً تحت کنترل EROFS نیست.

🧠 - نکته؛ Rolling Decompression برای کاهش مصرف RAM استفاده می‌شه. این قابلیت اجازه می‌ده هنگام بازکردن فایل‌های فشرده، به‌جای نگه‌داشتن حجم زیادی از صفحات موقت، فقط یک پنجره‌ی محدود از داده‌های اخیر نگه داشته بشه.

🦆 @ducklinux1
Gp - @duckgplinux
❤2
🤣7
📸 - فوتو ویوور Shotwell 33 منتشر شد؛ بالاخره مهاجرت به GTK4 انجام شد!
🐧 - پروژه‌ی مدیریت عکس Shotwell برای دسکتاپ GNOME بعد از مدت‌ها نسخه‌ی جدیدش رو منتشر کرده. نسخه‌ی Shotwell 33 مهم‌ترین تغییر خودش رو با مهاجرت رابط کاربری از GTK3 به GTK4 به همراه داره.
🛠️ - این پروژه از زمان انتشار Shotwell 0.32 در آوریل ۲۰۲۳ بیشتر فقط آپدیت‌های جزئی دریافت کرده بود و حالا بعد از چند سال، یک نسخه‌ی بزرگ و مهم منتشر شده.

🔗 - از این به بعد Shotwell می‌تونه URIها رو مستقیماً داخل Viewer باز کنه؛ یعنی مدیریت و مشاهده‌ی تصاویر از مسیرها و منابع مختلف راحت‌تر می‌شه.
🖨️ - بخش چاپ تصاویر هم بازطراحی شده و مشکلات مختلف مربوط به Memory Leak و کرش‌های احتمالی برطرف شدن.
🐞 - در کنار این تغییرات، تعداد زیادی باگ ریز و درشت و چندین مشکل دیگه هم رفع شده تا تجربه‌ی استفاده از برنامه روان‌تر و پایدارتر باشه.
🚀 - انتشار Shotwell 33 درست قبل از عرضه‌ی GNOME 51 انجام شده و می‌تونه یکی از برنامه‌های مهم آماده‌شده برای نسل جدید دسکتاپ GNOME باشه.
🦆 @ducklinux1
Gp - @duckgplinux
❤1
🌀 - درایور کنترل فن ARCTIC برای لینوکس دوگانه‌لایسنس شد!
🌬️ - شرکت ARCTIC اوایل امسال درایور کنترلر فن خودش رو برای لینوکس منتشر کرده بود؛ اتفاقی جالب، چون معمولاً پشتیبانی لینوکس برای چنین تجهیزات جانبی‌ای به جامعه‌ی متن‌باز واگذار می‌شه.

🐧 - حالا درایور "arctic_fan_controller" علاوه بر GPLv2+، با لایسنس BSD-2-Clause هم منتشر می‌شه.
🔓 - این تغییر باعث می‌شه توسعه‌دهنده‌ها راحت‌تر بتونن درایور رو به سیستم‌عامل‌های دیگه، مخصوصاً خانواده‌ی BSD، پورت کنن؛ جاهایی که ممکنه لایسنس‌های permissive مثل BSD رو ترجیح بدن.
🛠️ - این کنترلر به کاربران اجازه می‌ده سرعت فن‌های کیس رو مستقیماً از لینوکس مدیریت کنن؛ بدون اینکه فقط به ویندوز وابسته باشن.
💰 - خود کنترلر ARCTIC هم با قیمت حدود ۸.۹۹ دلار عرضه می‌شه و به‌عنوان یک گزینه‌ی ارزون و کاربردی برای کنترل فن با پشتیبانی رسمی لینوکس شناخته می‌شه.

🚀 - تغییر لایسنس وارد شاخه‌ی hwmon-next شده و انتظار می‌ره همراه چرخه‌ی توسعه‌ی Linux 7.4 در اواخر امسال وارد کرنل بشه.
🦆 @ducklinux1
Gp - @duckgplinux
❤2
🗑️ - فایل‌سیستم قدیمی BFS از لینوکس ۷.۴ حذف می‌شه!
🐧 - توسعه‌دهنده‌های کرنل لینوکس تصمیم گرفتن فایل‌سیستم قدیمی BFS رو در چرخه‌ی توسعه‌ی Linux 7.4 حذف کنن؛ چون این فایل‌سیستم تقریباً دیگه استفاده‌ای نداره و بیشتر به‌عنوان یک بدهی فنی قدیمی داخل کرنل باقی مونده بود.

📦 - حواستون باشه منظور BFS هست، نه BeFS که فایل‌سیستم سیستم‌عامل BeOS محسوب می‌شه. BFS در اصل روی SCO UnixWare برای پارتیشن Boot استفاده می‌شد.
🧱 - این فایل‌سیستم امکانات خیلی محدودی داره؛ فقط از فایل‌های پشت‌سرهم پشتیبانی می‌کنه و اصلاً قابلیت ساخت Subdirectory نداره. داده‌های داخل چنین پارتیشنی هم معمولاً چیزی بیشتر از Kernel و تنظیمات Bootloader نیست.

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

🧹 - پیش از این هم فایل‌سیستم‌های قدیمی EFS و FreeVxFS در Linux 7.3 حذف شده بودن. حالا BFS هم به این فهرست اضافه می‌شه.
🦆 @ducklinux1
Gp - @duckgplinux
❤3
⚡ - بهبود Zstd در لینوکس ۷.۴؛ فشرده‌سازی و Decompression سریع‌تر می‌شن!
🧠 - توسعه‌دهنده‌ی لینوکس، Usama Arif، مجموعه‌پچ‌های جدیدی برای بهبود عملکرد Zstd آماده کرده که قراره در چرخه‌ی توسعه‌ی Linux 7.4 وارد کرنل بشن.

🛠️ - این پچ‌ها یک مشکل اضافه‌کاری در کرنل رو برطرف می‌کنن: در بعضی مسیرها، Stream مربوط به فشرده‌سازی و Decompression دوبار Initialize می‌شد، در حالی که Initialization اول هیچ داده‌ای پردازش نمی‌کرد و عملاً دور ریخته می‌شد.

🚀 - با تغییر جدید، راه‌اندازی Stream تا اولین مرحله‌ی واقعی پردازش داده عقب می‌افته؛ در نتیجه Initialization غیرضروری حذف می‌شه و عملکرد بهتر می‌شه.

📊 - نتایج بنچمارک روی داده‌های ۴ کیلوبایتی "crypto_acomp" نشون می‌ده سرعت فشرده‌سازی Zstd چند درصد بهتر شده و سرعت Decompression هم:
🔥 - روی سیستم واقعی حدود ۱۳٪ سریع‌تر شده.
🔥 - داخل ماشین مجازی حتی تا حدود ۳۵٪ افزایش سرعت ثبت شده.

📦 - این پچ‌ها حالا وارد شاخه‌ی توسعه‌ی cryptodev شدن و انتظار می‌ره در پنجره‌ی Merge مربوط به Linux 7.4 برای ورود به کرنل اصلی ارسال بشن.

🦆 @ducklinux1
Gp - @duckgplinux
❤3
🐧 - لینوکس ۷.۳-rc3 منتشر شد؛ یک نسخه‌ی آزمایشی نسبتاً بزرگ!
🛠️ - سومین نسخه‌ی آزمایشی هفتگی Linux 7.3 منتشر شده و این چرخه همچنان یکی از دوره‌های شلوغ توسعه‌ی کرنل محسوب می‌شه. نسخه‌ی پایدار لینوکس ۷.۳ فعلاً برای نیمه‌ی دوم اکتبر برنامه‌ریزی شده.
🤖 - بخش قابل‌توجهی از اصلاحات این هفته با کمک ابزارهای AI و LLMها انجام شده؛ موضوعی که در چرخه‌ی توسعه‌ی Linux 7.3 بیشتر از قبل دیده می‌شه.
🗂️ - این نسخه تغییرات و رفع باگ‌های بیشتری در فایل‌سیستم‌ها داره؛ از جمله XFS، کلاینت SMB، NetFS، AFS، EROFS و Btrfs.

⚠️ - یکی از مهم‌ترین اصلاحات، غیرفعال‌شدن موقت LZ4 Rolling Decompression در EROFS به‌خاطر احتمال خراب‌شدن داده‌هاست؛ مشکلی که برای رفع کاملش به زمان بیشتری نیاز داره.
🔊 - بیشتر حجم پچ‌های rc3 همچنان مربوط به درایورهاست؛ این بار عمدتاً درایورهای صدا و شبکه. درایورهای GPU هم حضور دارن، اما تغییراتشون خیلی گسترده نیست.
🌐 - در کنار این موارد، اصلاحات مختلفی برای هسته‌ی اصلی، شبکه، Landlock و self-testهای آن، معماری‌های s390 و PowerPC و چند بخش پراکنده‌ی دیگه انجام شده.
🦆 @ducklinux1
Gp - @duckgplinux
❤7👍1🖕1
درحال اماده سازی یک پست برای تفسیر Shell در گنو لینوکس و معرفی تعدادی Shell برای شما هستم.
منتظر پست باشید.❤️
🔥4👍2🖕1
👍 - شل (Shell) در گنو لینوکس چیست؟ با معروف ترین شل های دنیای گنو لینوکس اشنا شوید!
👌 - وقتی تو ترمینال دستور ls, cd و sudo apt/dnf update رو میزنیم. برنامه ای این وسط هست که این دستور ها رو دریافت و برای سیستم تفسیر میکنه. به این برنامه شل (Shell) میگیم.
نکته: شل در واقع پلی میان شما و سیستم شماست، که علاوه بر اجرای دستور ها، امکان نوشتن اسکریپت برای خودکار سازی کار های مختلف رو فراهم میکنه.
🥸 - ترمینال با شل فرق دارد!
محیط ترمینال در واقع پنجره ای هست که ما دستورات رو داخلش وارد میکنیم. به عنوان مثال؛ Gnome Console یا Konsole
اما شل برنامه ای هست که دستور رو اجرا و تفسیر میکنه، سپس کرنل منابع سخت افزار و فرایند ها رو مدیریت میکنه.
🥶 - تعداد شل های ساخته شده خیلی زیاد هستن، ولی ما سعی میکنیم معروف ترین هاش رو بهتون معرفی کنیم.
اما بپردازیم به Shell های گنو لینوکس:
😶 - بش (Bash) :
یکی از معروف‌ترین شل‌های دنیای گنو لینوکس که تقریباً در اکثر دیستروهای رایج وجود داره.
بش برای اجرای دستورات و نوشتن اسکریپت‌ها خیلی کاربردیه. این شل تعدادی دستور داخلی (Built-in) مثل cd، echo و export داره؛ اما بسیاری از برنامه‌هایی که از طریق اون اجرا می‌شن، برنامه‌های خارجی هستند.
بخش قابل‌توجهی از این ابزارها، ابزارهای گنو مثل ls، cat و grep هستند، البته همه برنامه‌هایی که از طریق Bash اجرا می‌شن لزوماً متعلق به گنو نیستند.
🎃 - زد شل (Zsh) :
شل قدرتمندی با امکانات پیشرفته برای تکمیل خودکار دستورها، شخصی‌سازی محیط ترمینال و کارهای تعاملی.
زد شل بین بسیاری از کاربران حرفه‌ای و توسعه‌دهنده‌ها محبوبه و از اسکریپت‌نویسی با امکانات مشابه Bash پشتیبانی می‌کنه.
یکی از قابلیت‌های مهم Zsh، امکانات پیشرفته‌تر برای Globbing هست؛ یعنی استفاده از الگوهایی مثل *.txt برای انتخاب فایل‌ها. البته Bash هم از Globbing پشتیبانی می‌کنه.
🐟 - فیش (Fish) :
شل مدرن و کاربرپسندی که مخفف Friendly Interactive Shell هست و با تمرکز روی تجربه بهتر در ترمینال طراحی شده.
فیش امکاناتی مثل Autosuggestions برای پیشنهاد خودکار دستورها، Syntax Highlighting، تکمیل خودکار پیشرفته و شخصی‌سازی ساده‌تر رو به‌صورت پیش‌فرض ارائه می‌ده.
این شل زبان اسکریپت‌نویسی مستقل خودش رو داره و از نظر Syntax با Bash و Zsh متفاوته؛ بنابراین اسکریپت‌های Bash لزوماً مستقیماً در Fish اجرا نمی‌شن.
فیش برای استفاده روزمره و کارهای تعاملی خیلی مناسبه، اما برای یادگیری اصول Shell و اجرای اسکریپت‌های رایج لینوکس، آشنایی با Bash همچنان اهمیت زیادی داره.
🐚 - دش (Dash) :
یک شل سبک و سریع برای سیستم‌های Unix-like که نامش مخفف Debian Almquist Shell هست.
دش بیشتر برای اجرای اسکریپت‌های POSIX Shell و کارهای سیستمی استفاده می‌شه و به‌دلیل حجم کم و سرعت بالا، مصرف منابع پایینی داره.
در بعضی توزیع‌ها، از جمله اوبونتو و دبیان، بسیاری از اسکریپت‌های سیستمی با Dash اجرا می‌شن؛ چون برای اجرای سریع اسکریپت‌های راه‌اندازی و مدیریتی مناسبه.
دش امکانات تعاملی پیشرفته‌ای مثل Autosuggestions و شخصی‌سازی گسترده Zsh یا Fish رو نداره و هدف اصلیش، اجرای سریع و سازگار اسکریپت‌هاست.
🐚 - کی‌اس‌اچ (Ksh) :
یکی از شل‌های قدیمی و قدرتمند دنیای Unix که نامش مخفف KornShell هست.
کورن شل برای اجرای دستورات، نوشتن اسکریپت‌های Shell و استفاده تعاملی طراحی شده و امکاناتی مثل متغیرها، توابع، کنترل جریان و مدیریت Jobها رو ارائه می‌ده.
این شل تأثیر زیادی روی توسعه Bash و دیگر شل‌های مدرن گذاشته و بسیاری از قابلیت‌های آن، مثل Arithmetic Expansion و امکانات پیشرفته اسکریپت‌نویسی، بعدها در شل‌های دیگر هم دیده شدند.
کورن شل در محیط‌های Unix سازمانی و سروری، به‌خصوص سیستم‌های مبتنی بر Unix سنتی، سابقه و کاربرد زیادی داشته؛ هرچند امروزه در دسکتاپ لینوکس به‌اندازه Bash، Zsh یا Fish رایج نیست.
🧠 - میرسیم به سوال اصلی؛ کدوم Shell رو انتخاب کنیم؟
اگر تازه وارد دنیای لینوکس شدید، Bash بهترین گزینه برای شروع یادگیری مفاهیم Shell و اسکریپت‌نویسیه.
اگر تجربه تعاملی و شخصی‌سازی بیشتر می‌خواید، Zsh و Fish انتخاب‌های جذابی هستند.
در طرف مقابل، Dash بیشتر برای اجرای سریع اسکریپت‌های سیستمی و Ksh بیشتر برای محیط‌های Unix سنتی و سازمانی شناخته می‌شه.
در نهایت، همه این Shellها یک هدف مشترک دارند: دریافت و اجرای دستورها و فراهم کردن امکان مدیریت و خودکارسازی کارها در سیستم‌عامل.
🐚 - نکته اخر؛ ترمینال فقط پنجره است. قدرت واقعی پشت آن، Shell و ابزارهایی هستند که اجرا می‌کند.
🦆 @ducklinux1
Gp - @duckgplinux
👍4❤2🖕1
💾 - لینوکس باگ خطرناک از دست‌رفتن بی‌صدای داده‌ها را بعد از سه سال رفع کرد!
🐧 - یک باگ قدیمی در کرنل لینوکس باعث می‌شد بعضی داده‌های فضای کاربر بدون هیچ خطایی از بین برن؛ مشکلی که از سال ۲۰۲۳ وجود داشته و حالا وصله‌ی اصلاحی آن وارد کرنل شده.
⚠️ - این باگ زمانی رخ می‌داد که Transparent Huge Pages یا همان THP فعال باشه، سیستم تحت محدودیت‌های cgroup قرار بگیره و برنامه بعد از فراخوانی MADV_FREE اقدام به نوشتن داده کنه.

💥 - در چنین شرایطی، فشار شدید روی حافظه می‌تونست باعث بشه بعضی Writeها کاملاً ناپدید بشن؛ بدون اینکه برنامه یا کاربر متوجه از دست‌رفتن داده‌ها بشه.
📊 - این مشکل فقط تئوری نبود و در محیط‌های واقعی هم دیده شده؛ از جمله کاربرانی از کتابخانه‌ی تحلیل داده‌ی Polars که با از دست‌رفتن داده‌های Production مواجه شده بودن.
🛠️ - خوشبختانه رفع این مشکل فقط به تغییر یک خط کد نیاز داشت. پچ مربوطه در شاخه‌ی x86/urgent ادغام شده و برای Backport به شاخه‌های پشتیبانی‌شده‌ی Stable Kernel هم علامت‌گذاری شده.
🦆 @ducklinux1
Gp - @duckgplinux
❤1🖕1