Penguins🐧
Open in Telegram
We are penguins, don't argue with us. We are genius. GP : @Penguins_Hub Admins : 7 Penguins
Show moreThe country is not specifiedThe category is not specified
945
Subscribers
+124 hours
+97 days
+4530 days
Posts Archive
945
شامگاه نکو✨️
مشکل افت عملکرد Fedora 44 روی لپتاپهای جدید برطرف میشه
بعد از اینکه مشخص شد Fedora 44 روی بعضی لپتاپهای جدید Intel، مخصوصاً Framework Laptop 13 Pro، عملکرد ضعیفتری نسبت به توزیعهای دیگه داره، علت اصلی پیدا شد.
مشکل از تعامل Tuned-PPD با درایور Intel P-State بود. وقتی Tuned حالت Performance رو فعال میکرد، درایور P-State بهدرستی وضعیت پردازنده رو مدیریت نمیکرد و باعث افت عملکرد میشد.
این مشکل در کرنل برطرف شده و Patch مربوطه وارد چرخه توسعه Linux 7.3 شده؛ همچنین قرار هست برای کرنل Fedora 44 هم Backport بشه.
در تستهای قبلی، جایگزین کردن tuned-ppd با power-profiles-daemon هم باعث شد عملکرد Fedora روی این سختافزار به شکل محسوسی بهتر بشه.
- @MainPenguins | Hub | Source
#News
945
غروب دلنشین🌆 :)
یک تغییر در درایور لینوکس، Latency وایفای را تا ۷ برابر کاهش داد!
گاهی وقتی اینترنت روی لینوکس کند یا ناپایدار به نظر میرسه، اولین چیزی که به ذهنمون میرسه سرعت اینترنت یا خود مودمه.
اما این بار مشکل جای دیگهای بود:
داخل درایور Wi-Fi.
توسعهدهندگان در حال کار روی یک Patch Series برای درایور
ath11k هستند؛ درایوری که برای چیپستهای Qualcomm Wi-Fi 6 / 802.11ax در لینوکس استفاده میشود.
مشکل اصلی این بود که ath11k در مسیر ارسال داده، Queue مخصوص خودش را نداشت و همین باعث میشد مدیریت صفهای شبکه بهینه نباشد.
نتیجه؟
وقتی شبکه تحت بار سنگین قرار میگرفت، بستهها بیشتر در صف منتظر میماندند و Latency بالا میرفت.
حالا چه چیزی تغییر کرده؟
در این Patch Series، یک Queue و مکانیزم زمانبندی مناسبتر برای مسیر انتقال داده اضافه شده و در کنار آن از AQL یا Airtime Queue Limits برای کنترل بهتر مقدار دادهای که اجازه دارد در صف منتظر بماند استفاده شده است.
ایده ساده است:
قبلاً ممکن بود داده زیادی وارد صف ارسال شود و بخشی از آن فقط منتظر بماند.
حالا سیستم بهتر کنترل میکند که چه مقدار داده واقعاً باید در صف باشد.
در نتیجه، در تست انجامشده:
قبل: ≈ 155 ms بعد: ≈ 22 msیعنی تقریباً ۷ برابر Latency کمتر. و جالبتر اینکه در یک حالت دیگر، با نگه داشتن latency در سطح مشابه، throughput حدود ۲.۲ برابر بهتر شده است. البته این اعداد مربوط به یک سناریوی Benchmark مشخص هستند و قرار نیست هر دستگاهی که
ath11k دارد دقیقاً همین نتیجه را بگیرد.
نکته جالب این ماجرا
این تغییر هیچ Wi-Fi جدیدی اختراع نکرده.
سرعت اسمی Wi-Fi هم قرار نیست ناگهان بیشتر بشه.
سختافزار همان سختافزار قبلی است.
تغییر اصلی در نحوه مدیریت صفها و زمانبندی انتقال داده در درایور اتفاق افتاده.
یعنی گاهی اوقات برای سریعتر شدن یک سیستم، لازم نیست سختافزار را عوض کنیم؛
کافی است نرمافزاری که سختافزار را کنترل میکند بهتر شود.
Patchها هنوز در حال توسعهاند و نتیجه نهایی بعد از تکمیل و بررسی upstream مشخص خواهد شد.
- @MainPenguins | Hub | Source
#News #Linux #Networking
945
صبح نکو🌻
🐧 LLVM/Clang 23.1 منتشر شد؛ کامپایلرها برای سختافزارهای جدید آمادهتر شدند
نسخه LLVM 23.1 منتشر شد و حالا اولین نسخه پایدار از سری LLVM 23 در دسترسه. این انتشار، مجموعهای از تغییرات مربوط به کامپایلر، لینکِر، معماریهای جدید و زبانهای C/C++ رو با خودش آورده.
یکی از تغییرات مهم این نسخه، اضافه شدن پشتیبانی از AMD Zen 6 با Target جدید
znver6 هست.
یعنی قبلاً کامپایلر برای نسلهای قبلی پردازندههای AMD اطلاعات و بهینهسازیهای مخصوص خودش رو داشت؛ حالا LLVM میتونه هنگام کامپایل، معماری Zen 6 رو هم بهصورت مشخص هدف قرار بده و از قابلیتهای جدیدش، از جمله AVX-512 BMM، استفاده کنه.
در سمت NVIDIA هم پشتیبانی اولیه از Rigel اضافه شده؛ همینطور در بخش GPUهای AMD، Target مربوط به GFX1310 وارد LLVM شده.
فقط CPU و GPU نیست؛ در این نسخه پشتیبانی از معماریهای دیگری مثل Arm C1-Ultra و SpacemiT X100 RISC-V هم بهبود پیدا کرده.
از طرف دیگر، C++26 هم یک قدم جلوتر رفته.
LLVM 23.1 بخشی از قابلیتهای C++26 رو از طریق:
-std=c++2cدر اختیار توسعهدهندهها قرار میده؛ البته هنوز نباید انتظار پشتیبانی کامل از کل استاندارد C++26 رو داشته باشیم. در کنار اینها، LLD بهبودهایی دریافت کرده، قابلیتهای بیشتری از C2Y وارد شده و تغییراتی هم در تشخیص خطاهای کامپایلر و بخشهای مختلف Backend انجام شده. LLVM 23.1 در ۲۵ آگوست ۲۰۲۶ منتشر شده و طبق برنامه، نسخههای نگهداری 23.1.x هم در ادامه منتشر خواهند شد. - @MainPenguins | Hub | Source
#News #Linux #OpenSource
945
مثلاً:
ps -eo user,pid,ppid,lstart,cmdحالا به
PID و مخصوصاً PPID توجه کنیم.
PPID یعنی:
Parent Process ID
یعنی چه Processی باعث ایجاد این Process شده.
پس به جای اینکه فقط بپرسیم:
«این برنامه اجرا شده؟»میتوانیم بپرسیم:
چه چیزی آن را اجرا کرده؟این تفاوت کوچکی نیست. ما داریم از: Process میرسیم به: Process Tree و بعد به: Execution Chain مثلاً:
systemd
│
└── example.service
│
└── /usr/local/bin/example
│
└── child-process
حالا اگر این زنجیره را پیدا کنیم، دیگر فقط یک فایل مشکوک نداریم.
میدانیم سیستم چگونه به اجرای آن رسیده.
- @MainPenguins | Hub | Source 1 | Source 2 | Source 3 | Source 4
#Security #Learning
945
🌙 شامگاه پنگوئنها بهخیر
🛡 لینوکس امن | قسمت ۳
بعد از روشن شدن سیستم، واقعاً چه چیزهایی اجرا میشوند؟
تا حالا شده یک برنامه را ببندی، سیستم را Restart کنی و ببینی...
دوباره اجرا شده؟
یا حتی بدتر:
برنامهای را ببینی که اصلاً یادت نمیآید نصبش کرده باشی، ولی با هر بار روشن شدن سیستم دوباره بالا میآید.
اینجا یک سؤال امنیتی مهم مطرح میشود:
چه چیزی باعث میشود یک برنامه بدون اینکه خودمان اجراش کنیم، دوباره اجرا شود؟به این مفهوم در امنیت میگوییم: Persistence یعنی روشی که یک برنامه یا سرویس باعث میشود بعد از Restart، Logout یا حتی در شرایط خاص دیگری، دوباره اجرا شود. البته Persistence لزوماً چیز بدی نیست. تقریباً تمام سیستمهای لینوکسی پر از برنامههایی هستند که عمداً باید بعد از Boot اجرا شوند. مثلاً:
NetworkManager sshd pipewire systemd-journald bluetoothپس صرفاً اینکه یک برنامه بعد از Boot اجرا میشود، به معنی بدافزار بودن آن نیست. مسئله اینجاست:
آیا میدانیم چه چیزی آن را اجرا کرده؟اول باید بفهمیم «چه کسی» برنامه را اجرا میکند در سیستمهای مدرن لینوکسی، یکی از مهمترین بازیگران این ماجرا systemd است. برای دیدن سرویسهایی که در حال اجرا هستند:
systemctl --type=service --state=running
و برای دیدن سرویسهایی که برای اجرای خودکار فعال شدهاند:
systemctl list-unit-files --type=service --state=enabled
اما اینجا یک اشتباه رایج وجود دارد:
Enabled بودن یک سرویس به معنی Running بودن آن نیست.
enabled بیشتر دربارهی این است که systemd در چه شرایطی آن Unit را در Boot یا Transaction مناسب فعال کند.
برای بررسی یک سرویس مشخص:
systemctl status NAME
و برای دیدن اینکه واقعاً چه چیزی قرار است اجرا شود:
systemctl cat NAME
اینجا میتوانیم به چیزی مثل این برسیم:
[Service] ExecStart=/usr/local/bin/exampleحالا یک سؤال جدید داریم:
/usr/local/bin/example
دقیقاً چیست؟و اینجاست که Investigation شروع میشود. فقط اسم فایل را باور نکن فرض کنیم یک سرویس ناشناس پیدا کردیم:
example.serviceو داخلش نوشته:
ExecStart=/usr/local/bin/exampleقبل از اینکه وحشت کنیم، فایل را بررسی میکنیم:
ls -lah /usr/local/bin/example
بعد:
file /usr/local/bin/exampleو اطلاعات دقیقتر:
stat /usr/local/bin/exampleاینجا چیزهایی مثل: Owner Permission Size Modification Time را میبینیم. اما هنوز یک سؤال مهمتر باقی مانده: این فایل متعلق به کدام Package است؟ Package Manager میتواند یک سرنخ خیلی خوب باشد اگر Arch داریم:
pacman -Qo /path/to/fileدر Debian/Ubuntu:
dpkg -S /path/to/file
و در Fedora/RHEL:
rpm -qf /path/to/fileاگر Package Manager بگوید:
No package owns ...این به خودی خود نشانهی بدافزار نیست. ممکن است فایل: توسط کاربر ساخته شده باشد توسط یک Installer مستقل نصب شده باشد متعلق به یک نرمافزار خارج از Repository باشد یا اصلاً یک فایل محلی کاملاً legitimate باشد. اما حالا یک سرنخ جدید داریم. زمانها هم داستان تعریف میکنند اینجا
stat جالب میشود:
stat /path/to/fileمثلاً اگر ببینیم فایل خیلی جدید است، میتوانیم زمان تغییرش را با زمان نصب یا تغییر سرویس مقایسه کنیم. اما یک دام مهم:
Modification time به تنهایی مدرک قابل اعتمادی برای زمان ایجاد فایل نیست.در بسیاری از فایلسیستمهای لینوکسی، چیزی که به آن
birth time میگوییم ممکن است اصلاً وجود نداشته باشد یا قابل اتکا نباشد.
پس:
Timestamp = سرنخ، نه حکم نهایی.
این دقیقاً همان تفاوت بین «اجرای چند دستور» و Investigation است.
فقط Serviceها نیستند
اگر چیزی را در systemctl پیدا نکردیم، هنوز تمام نشده.
Linux راههای مختلفی برای اجرای خودکار برنامهها دارد.
مثلاً systemd timers:
systemctl list-timers --all
یا Autostart مربوط به محیط دسکتاپ:
ls -lah ~/.config/autostart/
و در بعضی سیستمها Cron:
crontab -lو:
sudo ls -lah /etc/cron.*
در نتیجه یک تصویر بزرگتر داریم:
Linux Boot / Login
│
┌────────────────┼────────────────┐
│ │ │
systemd timers cron
│ │
│ scheduled jobs
│
services
│
▼
ExecStart
│
▼
Process
Login
│
▼
Desktop
│
▼
Autostart Entries
و این فقط بخشی از داستان است.
حالا یک لایه حرفهایتر
فرض کنیم یک Process مشکوک پیدا کردیم.945
شب بهخیر✨️
Wayland در برابر X11؛ کدوم سریعتره؟
توی یک تست روی PorteuX، عملکرد Wayland و X11 رو از جنبههای مختلف مقایسه کردن.
نتیجه جالب بود: Wayland بهخاطر معماریش میتونه مسیر کارآمدتری برای نمایش و compositing داشته باشه، اما اینطور نیست که هر برنامهای روی Wayland لزوماً سریعتر از X11 اجرا بشه.
بخش مهم ماجرا خود compositor و نحوهی پیادهسازی rendering و مدیریت frameهاست. یعنی صرفاً استفاده از Wayland تضمینکنندهی عملکرد بهتر نیست.
در واقع نتیجهی تست بیشتر نشون میده که مقایسهی «Wayland سریعتره یا X11؟» بدون درنظر گرفتن compositor و implementation، چندان معنیدار نیست.
- @MainPenguins | Hub | Source
#News
945
شامگاه نکو🌃
Shelly 3.1 منتشر شد؛ ساخت پکیجهای Arch بدون makepkg
نسخه 3.1 از Shelly، پکیجمنیجر مدرن برای Arch Linux منتشر شد و این بار یک قابلیت مهم بهش اضافه شده: ساخت مستقیم پکیجهای Arch از PKGBUILD.
حالا Shelly خودش فرآیند Build رو مدیریت میکنه و دیگه برای ساخت پکیج به makepkg وابسته نیست. فقط کافیه داخل پوشه PKGBUILD بزنید:
shelly buildحتی میتونید وابستگیهای موردنیاز رو هم با --sync-deps بهصورت خودکار نصب کنید. در کنار این، پشتیبانی بهتر از AUR، sandbox با Landlock، run0، Shell Completion و مدیریت بهتر Cache و Transactionها هم اضافه شده. پکیجهای ساختهشده همچنان کاملاً با pacman سازگار هستن. - @MainPenguins | Hub | Source & Source 2
#News, #Update, #Apps
945
پسین نکو🔆
اپل M6 و M5 Ultra معرفی شدند؛ کار Asahi Linux سختتر شد
اپل امروز M6 را بهعنوان اولین چیپ ۲ نانومتری خودش معرفی کرد و همزمان M5 Ultra را هم با معماری چهار-دای عرضه کرد.
تغییرات مهم:
M6: پردازنده ۱۲ هستهای، GPU دوازده هستهای و پهنای باند حافظه یکپارچه تا ۱۷۰GB/s
M5 Ultra: تا ۳۶ هسته CPU، ۸۰ هسته GPU و پهنای باند حافظه ۱.۲TB/s
M6 نسبت به M5 تا ۱.۲ برابر عملکرد چندرشتهای بیشتری ارائه میدهد.اما برای لینوکس، داستان کمی متفاوت است؛ با معرفی نسلهای جدید Apple Silicon، توسعهدهندگان Asahi Linux باید پشتیبانی از سختافزارهای جدید را هم اضافه کنند. در حال حاضر حتی پشتیبانی اولیه از M3 Pro/Max/Ultra در Linux 7.3 تازه به مرحله بوت شدن تا کنسول رسیده و هنوز GPU Acceleration و قابلیتهای لازم برای استفاده روزمره را ندارد. - @MainPenguins | Hub | Source
#News
945
دل شبخوش🌉
Linux 7.3؛ یکی از پرفورمنسمحورترین نسخههای کرنل در راهه
توسعه Linux 7.3 هنوز ادامه داره، ولی همین الان هم چند تغییر مهم برای بهبود عملکرد واردش شده.
تغییرات مهم:
بهبود Scheduler برای مدیریت بهتر پردازشها
بهبود عملکرد فایلسیستمهایی مثل Btrfs
کاهش Latency برای کاربردهای Real-time
بهبودهای مختلف در بخش شبکه و درایورهای گرافیکیدر مجموع، تمرکز این نسخه بیشتر روی Performance، مدیریت بهتر منابع و کاهش تأخیر بوده و هنوز تا انتشار نهایی زمان باقی مونده. - @MainPenguins | Hub | Source
#News, #Update
945
توالت (مایکروسافت) داره زباله (ویندوز) رو تمیز میکنه!
مایکروسافت داره یکی از قابلیتهای قدیمی ویندوز رو که تقریباً از زمان Windows XP دستنخورده مونده، در ویندوز 11 بازطراحی میکنه.
مایکروسافت همزمان داره بخشهای قدیمی دیگهای مثل AutoPlay، پنجره Properties و ابزار مدیریت پرینترها رو هم با WinUI بازطراحی میکنه
که تمایلی نداریم پوشش بدیم اگر دوست داشتین خودتون برین ببینین
- @MainPenguins | Hub | Source🚽
#News, #WC, #Trash
945
+1
GNU Emacs 31.1 منتشر شد
نسخه 31.1 ادیتور قدیمی و قدرتمند GNU Emacs منتشر شد.
تغییرات:
پشتیبانی از کنترل با ماوس در ترمینال حالا بهصورت پیشفرض فعاله
اضافه شدن پوشه user-lisp/ برای فایلهای کانفیگ
پشتیبانی از Child Frameها در فریمهای متنی
بافرهای grep و xref حالا قابل ویرایش هستن
قبل از نصب یا آپدیت پکیجها میشه تغییراتشون رو بررسی کرد
یک تم جدید به نام newcomers-presets برای سادهتر شدن تجربه کاربران تازهکار اضافه شدهدر مجموع Emacs 31.1 بیشتر روی بهبود تجربه کاربری و سادهتر کردن شروع کار برای کاربران جدید تمرکز کرده. به این آپدیت میگن "خوشحال کنندهی کمیل" - @MainPenguins | Hub | Source
#News, #Update
945
+1
شامگاه نکو🌃
Postcard؛ یک ایمیلکلاینت جدید برای GNOME
یه ایمیلکلاینت جدید به اسم Postcard برای GNOME ساخته شده که ظاهرش شباهت زیادی به Geary داره و روی GTK4 و libadwaita نوشته شده.
امکانات و ویژگیها:
نوشتهشده با Python + GTK4/libadwaita
پشتیبانی از IMAP و SMTP
جستوجوی سریع با ایندکس محلی SQLite
نمایش ایمیلهای HTML با WebKitGTK
ذخیره امن رمزها با libsecret
متنباز و قابل بررسیجالب اینجاست که سازنده پروژه از ابزارهای AI برای توسعه Postcard استفاده کرده (کاملا وایب کد شده). پروژه هنوز جدیده و بیشتر یه گزینه امیدوارکننده برای کساییه که دنبال یه ایمیلکلاینت مدرن و هماهنگ با GNOME هستن. - @MainPenguins | Hub | Source
#News, #App
945
دستور مایکرو.. ببخشید، توالت هم هست که بهش متن بدی و خروجی ascii کارکتر میده.
نصب سادهای هم داره
sudo apt install toilet
- @MainPenguins | Hub
#Learning, #News, #Command
945
پسین نکو🔆
توی ترمینالتون میتونین STAR WARS ببینین!
پروسه خیلی سادهای هم داره اول Telnet رو نصب کنید
sudo apt-get install telnet
بعدش این کامند رو بزنین
telnet towel.blinkenlights.nl
- @MainPenguins | Hub
#Learn, #Command
945
+1
ظهر بهخیر🔆
یک شهر سایبرپانکی سهبعدی فقط با ASCII ساخته شد!
یک توسعهدهنده مستقل به نام Grow Now! Games یه شهر سایبرپانکی سهبعدی ساخته که تمام محیطش با کاراکترهای ASCII نمایش داده میشه.
این پروژه بدون Unity یا Unreal ساخته شده؛ هستهاش با Rust نوشته شده و با WebAssembly + WebGL اجرا میشه. موتور پروژه هم فقط حدود ۲۸۳ کیلوبایت حجم داره.
برای رندر، بهجای مدل و تکسچرهای معمولی از Character Atlas و Shaderهای WebGL استفاده شده و میتونه حدود ۱۴٬۴۰۰ کاراکتر رو همزمان نمایش بده.
میتونید توی شهر راه برید، ساختمانها، ماشینها و شخصیتهای متحرک رو ببینید و همه اینها مستقیماً داخل مرورگر اجرا میشن.
بدون دانلود و نصب
پیشنهاد سازنده: Chrome یا Edge با Hardware Acceleration
حداقل ۴ گیگابایت RAM نیاز دارید
قابل اجرا روی موبایل، ولی دسکتاپ بهتره
نسخه فعلی صدا ندارهاین پروژه فعلاً Prototypeـه و کدش عمومی نیست، ولی سازنده گفته ممکنه در آینده Open Source بشه. متاسفانه رایگان نیست. - @MainPenguins | Hub | Source & Buy and Download
#News, #Games
945
پیشین نکو☕️
Linux 7.3؛ بهبودهای مهم در درایورهای گرافیکی
تغییرات بخش DRM در Linux 7.3 وارد کرنل شدند و این نسخه مجموعهای از بهبودها را از کارتهای گرافیک قدیمی تا نسلهای جدید به همراه دارد.
تغییرات:
بهبود عملکرد گیمینگ در شرایطی که مصرف VRAM از ظرفیت کارت بیشتر میشود، با قابلیت DMEMCG Eviction
بهبود پشتیبانی از کارتهای قدیمی AMD Radeon و مدیریت بهتر GPU Reset
پشتیبانی از نسلهای جدید AMD و فعال شدن دومین Graphics Pipe در برخی APUها
فعال شدن گرافیک Nova Lake اینتل بهصورت پیشفرض
ادامه توسعه درایور متنباز Nova انویدیا با بهبودهای مربوط به Blackwell، Hopper و GSP
اضافه شدن پشتیبانی NVDEC در Nouveau که زمینه را برای Vulkan Video در NVK فراهم میکند
ادامه توسعه زیرساخت درایورهای گرافیکی مبتنی بر Rust
بهبود مدیریت حافظه گرافیکی در TTMدر مجموع، Linux 7.3 یکی از نسخههای مهم اخیر برای بخش گرافیک محسوب میشود؛ مخصوصاً برای گیمینگ، GPUهای قدیمی و سختافزارهای نسل جدید. - @MainPenguins | Hub | Source
#News
