کانال مهرداد لینوکس
3.5K subscribers
714 photos
25 videos
8 files
551 links
لینوکس حرفه ای و اخبار فنی به زبان ساده
تمام محتوای کانال تحت مجوز کرییتیو کامنز (Creative Commons license) CC BY قابل استفاده است

هشتگ:
#Linux
#AI
#Python
#Programming
#DevOps
#دیوار_لینوکس
#Utility
Download Telegram
دستور cd مخفف Change Directory در Linux
💠 پاس دادن آرگومان
mkdir /tmp/newdir
cd !$ # این معادل است با: cd /tmp/newdir
mkdir /home/user/myfolder
cd !!:$ # معادل cd /home/user/myfolder

💠خروجی یک دستور
cd "$(mktemp -d)"

💠 رفتن به خانه
cd ~   # یا cd خالی
cd ~root # root رفتن به دایرکتوری خانه کاربر

دستور cd مقدار $HOME را میخواهد
ولی دستور ~ cd مقدار ~ که معادل دقیق مسیر home که یک شورت کات دایرکتوری اصلی خانه است را میخواند
export HOME=/tmp
cd # به /tmp میره
cd ~ # همچنان به /home/user میره

💠 بازگشت به مسیر قبلی - cd
اگر دوباره اجرا شود، به مسیر فعلی بازمی‌گردد.

💠 تغییر سریع دایرکتوری
cd /home/user/Documents
cd .. # حالا در /home/user هستید
cd ../.. # رفتن دو سطح به بالا
cd ... # معادل دستور قبل در بعضی شل ها
cd ./ # مسیر فعلی کاربرد اسکریپت‌نویسی
cd / # رفتن به ریشه


🔥چقدر از این ترفند ها را بلد بودید ؟😎 ⁉️ مثلا کار این دستور چیه ؟ (لطفا در گروه جواب ها را spoiler بزنید)
cd !!:2

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
👍20🔥3
☠️ خاتمه کار فرایند ها در لینوکس

💀 دستور kill
باید شناسه فرآیند (PID) یا دستور ps یا top به دست بیاورید و
kill PID

🎯 دستور pkill
pkill firefox

💣 دستور xkill
دستور را اجرا کنید با کلیک کردن روی پنجره برنامه، آن را خاتمه دهید.

🧨 دستور killall
این دستور مشابه pkill عمل می‌کند اما به جای ارسال سیگنال به یک فرآیند خاص، تمام فرآیندهایی که نام آن‌ها با نام داده شده مطابقت دارند را خاتمه می‌دهد.
killall firefox

نکته کنکوری:
دستور pkill -f Firefox به جای نام برنامه، کل خط فرمان اجرای را بررسی میکنه.​
در صورتی که killall Firefox فقط نام ، البته دستور killall همه جا نصب نیست
یادمون باشه pkill -f Firefox دستور خطری است چون اگر در مسیر اجرای برنامه ای دیگه ای اسم firefox باشه میبنده
مثلا ~/tools/firefox/pythonprogram.py چون firefox داره میبنده

🔮 استفاده از htop
و با فشردن کلید F9 و سپس انتخاب سیگنال مناسب میتوانید برنامه را ببنید

🔑 دستور systemctl stop
اگر یک سرویس دارید
sudo systemctl stop apache2


در لینوکس نمیشه و نمیخواهم، آپدیت دارم و ... نداریم 😎
🔥 مالک سیستم بودن را با لینوکس تجربه کنید
👍29🔥41
کانال مهرداد لینوکس
⁉️ آیا انتخاب یک توزیع‌ لینوکس Immutable (غیرقابل تغییر) برای شما مناسبه ؟ یک لینوکس Immutable فایل‌سیستم فقط‌خواندنی (read-only) داره و برای تغییر باید از Layering یا Overlay استفاده بشه به جای تغییرات مستقیم، نسخه‌های جدید یا کانتینر جایگزین نسخه قبلی…
🔥ابزار Bootc سیستم عاملی مثل کانتینر (Docker یا ...)

قبلا در این پست مورد Immutable یا Atomic Distros صحبت کرده ام و گفتیم مشخصا آینده قوی داره که مثال میشه SteamOS، Fedora Silverblue یا NixOS
امروزه خیلی نرم افزار ها به‌صورت کانتینر (مثلاً Docker) اجرا میشوند

🔥 ایده اینه؟ چرا کل سیستم‌عامل را در قالب یک یا چند کانتینر تعریف نکنیم 😎

ابزار Bootc یک رویکرد نوین در ساخت سیستم‌عامل‌های لینوکسه که از مزایای کانتینریزاسیون و GitOps استفاده میکنه
با استفاده از فایل‌های پیکربندی و کانتینرها، تمام اجزای مورد نیاز سیستم‌عامل را در یک ریپو (repository) تعریف کنید.

🗓 یک سرویس وب Nginx را به عنوان بخشی از سیستم‌عامل
FROM quay.io/fedora/fedora-bootc:41
COPY nginx.container /usr/share/containers/systemd
COPY nginx.conf /etc/nginx

ابزار Bootc نه تنها برای سرورهای ساده مثل Nginx مناسبه حتی میشه برای ایجاد یک دسکتاپ لینوکسی کامل با نرم‌افزارهای مثل VSCode، OpenRazr و حتی درایورهای Nvidia استفاده کرد.
این روش به مفهوم GitOps نزدیکه و نیاز به ابزارهای پیکربندی مثل Ansible یا Chef نیست،

#linux #devops #تخصصی
👍11🔥42
💁🏻‍♂️مدیریت کاربران در لینوکس

چطور لیست کاربران لینوکس ببینیم؟
getent passwd
getent passwd | cut -d: -f1 # فقط اسم کاربر ها
getent passwd mehrdadlinux # getent passwd 1000

⚠️ این اطلاعات با پردازش مستقیم فایل /etc/passwd هم قابل انجام است

🔥 بررسی جزئیات اطلاعات کاربران
🚨به جای mehrdadlinux اسم یوزر یا (خروجی دستور whoami) را بنویسید
whoami
id mehrdadlinux
groups mehrdadlinux
lslogins -u mehrdadlinux
users /var/log/wtmp # تاریخچه لاگین کاربر
who -u
w
last
lastb
lastlog
chage -l mehrdadlinux


حالا ساخت کاربر با useradd و adduser

🔥 دستور useradd و تنظیمات اضافه کردن یک کاربر
# useradd -m mehrdadlinux #ساخت کاربر
# passwd mehrdadlinux # تنظیم رمز عبور
# usermod -aG sudo mehrdadlinux # گروه خاص
# userdel -r mehrdadlinux

🔥 دستور adduser
یک اسکریپت سطح بالا ، فقط اجراش کن تمام کار را یک جا میکنه
به صورت اینتراکتیو ازت سوال میپرسه و یک کاربر برات ایجاد میکنه 😎

⚠️ دقت کنید دستور adduser بیشتر در توضیع های مبتنی بر دبیان وجود داره

همین قدر ساده و آسان ❤️
👍18🔥41
🔥 کد پایتون را با تمام کتابخانه ها آنلاین فقط با یک کلیک روی وب سایت اجرا کن سخته؟
روی مرورگرت با Extension اجرا کن ؟ سخته ؟
🤩 فقط راست کلیک کن python اجرا میشه
Python Code Runner

⚠️دفعه اول که میخواهید اجرا کنید چون یک ماشین باید اجرا بشه یک مقدار طول میکشه دفعه بعد همان لحظه اجرا میکنه

موقع کار با هوش مصنوعی این Extension نرم افزار Python Code Runner خیلی کاربردی است راست کلیک میکنی و اجرای کد

کاربرد هاش در زمینه Web Scraping ، API Integration، Data Analysis ،Data Visualization،Automation عالیه
12👍3🔥3
🔥 مانیتورینگ سیستم لینوکس مدرن، زیبا، کارآمد با NeoHtop

با پشتیبانی از Mac، Windows ، linux

راه اندازی با یک کلیک

نیاز داشتم وقتی یک نرم افزار را در System Monitor لینوکس نگاه میکنم همان لحظه به جزئیات متغییر های محیطی و
و کل اطلاعات آن دسترسی داشته باشم


جلوی هر فرایند سه تا علامت 📌ℹ️✖️ وجود داره
که به شما در نظارت کمک زیادی میکنه

این گزینه ℹ️ برای من کارامد بود که در عکس نمونه عملکرد را میبینید

نصب
نسخه appimage را بدون نیاز به نصب به راحتی فقط دانلود و اجرا کنید نسخه deb و rpm هم هست

#linux
1👍15🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
حالا که بحث الگوریتم داغه
بریم سر یک musical studio که با نظریهٔ اتوماتا و پیمایش گراف موسیقی میسازه
https://github.com/myanvoos/algoMIDI
👍5😁1🙏1
در build جدید Windows 11 مایکروسافت
شما بدون داشتن اتصال اینترنت و Microsoft Account نمیتوانید ویندوز را نصب کنید

⚠️اسکریپت bypassnro.cmd script حذف شده
من زمانی را یادمه که کامپیوتر ها هنوز مال خودمون بودن

منبع
#linux
👍19🤬8🤣4👎1😁1
🔥 بالاخره Firefox صدای کاربرهاش را شنید و پشتیبانی از Progressive Web Apps (PWAs)
را به فایرفاکس اضافه کرد

اپلیکیشن‌های پیش‌رونده وب (PWA) نوعی از برنامه‌های تحت وب شبیه وب سایت که تجربه‌ای مشابه با اپلیکیشن‌های نصب شده میده
این اپلیکیشن‌ها قابلیت‌هایی مثل دسترسی آفلاین، ارسال اعلان‌های پوش (Push Notifications) و عملکرد سریع دارند
🗓 در نسخه ۵۸ مرورگر فایرفاکس برای اندروید، موزیلا پشتیبانی از قابلیت‌های اولیه PWAs را معرفی کرد.

🔥 فایرفاکس در حال (دوباره) افزودن پشتیبانی از Web Apps برای دسکتاپه. در این رویکرد جدید، تمرکز بر ارائه تجربه‌ای «اپ‌مانند» برای هر وب‌سایتی است که کاربر انتخاب کنه بدون اینکه از ویژگی‌های اصلی مرورگر فایرفاکس (مانند نوار آدرس، افزونه‌ها، بوکمارک‌ها و …) چشم پوشی بشه

ویژگی‌های کلیدی پشتیبانی جدید از Web Apps در فایرفاکس:
💠نمایش آیکون جداگانه
💠مدیریت پنجره‌ها
💠انتقال پویا بین تب و حالت اپ
💠یکپارچگی با مرورگر
، در نسخه‌های Nightly فایرفاکس یک تنظیم مخفی به نام browser.taskbarTabs.enabled اضافه شده است که به فعال‌سازی این قابلیت کمک می‌کند

منبع
🔥9👍42🎉1
😁20🔥6👍32🥰1
نسخه لپ‌تاپ RTX 5090 انویدیا 50 درصد کندتر از نسخه دسکتاپ است

به قول قیصر:اه انویدیا تو آدمو مایوس میکنی
البته در نظر بگیرید توان مصرفی روی لپ تاپ ها روی 150 وات است
از طرفی ببینید من چقدر رو شما ها حساب میکنم فکر میکنم میرید RTX 5090 لپ تاپ میخرید 😁

منبع
#hardware
🤯9😁81👍1😱1
This media is not supported in your browser
VIEW IN TELEGRAM
در لینوکس دستور تکراری نزن
دستور Watch در Linux دستور را در فواصل معین مکرر اجرا میکنه
مثلا دستور free برا مشاهده لحظه ای RAM یا ...

🗓 به صورت پیش فرض watch هر 2 ثانیه یکبار دستور یا برنامه ای را اجرا میکند. (با اپشن -n تعداد ثانیه عوض میشه)
watch free -m
watch -n 1 sensors

🔥 تفاوت بروزرسانی ها
وقتی به روزرسانی میشه میخواهید ببینید چه چیزی تغییر کرده
watch -d uptime

را بزنید حالا تغییرات قابل رهگیری هستند

پورت های باز شبکه ؟
تغییرات هارد دیسک؟
کلی ایده باحال پشت این دستور هست 😎
@MehrdadLinuxchannel
🔥20👍6
👍23😁9🤣51
از دستورات طولانی یا پیچیده لینوکس خسته شدی؟
با دستور alias در linux
نام‌های کوتاه‌تر و ساده‌ باعث افزایش سرعت و کارایی کار با ترمینال میشه
alias نام_مستعار='دستور اصلی'
alias ll='ls -lh --color=auto'

تایپ کردن ll در ترمینال، همان خروجی دستور ls -lh --color=auto است

موقتی بودن aliasها:
تعریف‌های alias که به این روش ایجاد می‌شوند، پس از بستن ترمینال از بین می‌روند. برای دائمی کردن آن‌ها، باید این دستورات را به فایل‌های پیکربندی شل مانند ~/.bashrc یا ~/.zshrc اضافه کنید.​

حذف یک alias: برای حذف یک alias موقت، می‌توانید از دستور unalias استفاده کنید:​
unalias ll

برای مشاهده لیست aliasهای فعلی، دستور زیر را اجرا کنید:​
alias

تعریف برای SSH
میتوانید برای سرور هایی که متصل میشوید در مسیر ~/.ssh/config یک alias تعریف کنید
Host hetznerba
Hostname 1.2.3.4
IdentityFile ~/mlsshkey/.ssh/id_dsa
user mehrdadlinux
Port 666
ForwardX11Trusted yes
TCPKeepAlive yes

بهترین alias هایی که شما برای خودتان تعریف کردید برای ما بنویسید
بقیه دوست داشتند استفاده کنند

@MehrdadLinuxchannel
👍174
🔥آموزش فایروال لینوکس بی‌دردسر UFW (uncomplicated firewall) به زبان ساده

چک کنید وضعیت فایروال فعال باشد (نیاز به sudo یا دسترسی Root)
ufw status
ufw status numbered
ufw app list نمایش لیست برنامه ها

🚨فعال کردن فایروال UFW دسترسی خارجی به تمام پورت های یک سرور را مسدود می کند ⚠️ اگر با SSH به سرور متصل هستید اطمینان پیدا کنید قبلا دسترسی SSH با آموزش های که در ادامه امده را باز کردید

چک کنید وضعیت فایروال فعال باشد
ufw enable  قعال کردن
ufw disable غیر فعال کردن

بلاک Block کردن یا اجازه دادن Allow یک IP Address یا یک Subnet
ufw deny from 8.8.8.8     تک ایپی
ufw allow from 8.8.8.8 تک ایپی
ufw allow “OpenSSH” اسم برنامه

ufw deny from 8.8.8.0/24 ساب نت
ufw allow from 8.8.8.0/24 ساب نت

ایجاد محدودیت فقط روی یک Interface خاص
ufw deny in on eth0 from 8.8.8.8

پاک کردن یک Rule
ufw delete allow from 8.8.8.8
ufw delete 1 با شماره قانون

باز کردن یک پورت خاص
ufw allow ssh
ufw allow 22
ufw deny out 25 بستن خروجی

⁉️ آموزش بیشتر بزارم ؟
@MehrdadLinuxchannel
👍27🔥61
چطور باید لینوکس را Active کنم ⁉️ اخطار لایسنس Linux 😱

والا🤣

https://github.com/MrGlockenspiel/activate-linux
@MehrdadLinuxchannel
🤣22😁7
🔥 پروژه 8pinLinux اجرای لینوکس با سه تراشه ۸-پین😎

اگر دنبال یک پروژه هستید که توزیع دبیان Linux و ویرایشگر vi، کامپایلر gcc و ابزار make را
روی حداقل ۸ مگابایت رم، پردازنده‌ای با حداقل ۱ میلیون دستور در ثانیه (MIPS)، کارت حافظه SD برای ذخیره‌سازی و پورت USB
اجرا کند پیداش کردی 🎉

🗓 رابط USB:تراشه PL2303GL (مبدل USB به سریال خروجی ۳.۳ ولت با جریان ۱۰۰ میلی‌آمپر)
🗓 حافظه رم: از تراشه‌های PSRAM با بسته‌بندی SOIC-8 (ظرفیت ۸ مگابایت)
🗓نرم افزار : برای اجرای لینوکس یک امولاتور ARMv5TE به پردازنده ۸-بیتی امکان اجرای کدهای ۳۲-بیتی
🗓 عملکرد: امکان‌پذیری اجرای linux بر روی سخت‌افزارهای بسیار ساده و کم‌هزینه

مستندات بیشتر اینجا
@MehrdadLinuxchannel
🔥19👍3
⛔️ مشکل پشتیبانی از تراشه M4 اپل در Asahi Linux

توزیع ​Asahi Linux یک پروژه متن‌باز است که هدف آن پورت کردن سیستم‌عامل لینوکس به مک‌های مجهز به تراشه‌های Apple Silicon (مانند M1 و M2) است
😱 بعد از معرفی SPTM (Secure Page Table Monitor) و پیکربندی‌های جدید هایپروایزر در Apple M4 فرآیند مهندسی معکوس و توسعه درایورهای لینوکس را پیچیده‌تر شده.

تمرکز فعلی تیم Asahi Linux بر روی upstream کردن پشتیبانی از تراشه‌های M1 و M2 و برخی افراد دیگر در حال کار بر روی پشتیبانی از M3 هستند. با این حال، به نظر می‌رسد که پشتیبانی از M4 به دلیل پیچیدگی‌های خاص خود، فرآیندی دشوار خواهد بود.

در آگوست ۲۰۲۳، پروژه Asahi Linux با پروژه فدورا همکاری کرد تا توزیعی به نام Fedora Asahi Remix را ارائه دهد که جایگزین توزیع اصلی مبتنی بر Arch Linux شد
در فوریه ۲۰۲۵، هکتور مارتین از رهبری پروژه کناره‌گیری کرد و دلایل آن را فرسودگی و مشکلات با جامعه کرنل لینوکس عنوان کرد
منبع
#linux #Mac
@MehrdadLinuxchannel
👍8👎1
🎯 بلاک کردن IP های یک کشور در لینوکس

لیست IP کشورها را از سایت ipdeny میگیریم مثلا ایران میشه
wget -O ir.zone https://www.ipdeny.com/ipblocks/data/countries/ir.zone

روش اول استفاده از iptables
while read ip; do
iptables -A INPUT -s $ip -j DROP
iptables -A OUTPUT -d $ip -j DROP
done < ir.zone

روش دوم استفاده از nftables
nft add table ip filter
nft add chain ip filter input { type filter hook input priority 0 \; }
while read ip; do
nft add rule ip filter input ip saddr $ip drop
done < ir.zone

اکر روی پورت خاصی حمله دارید مثلا SSH میتوانید از Fail2Ban هم استفاده کنید
 /etc/fail2ban/jail.local
[sshd]
enabled = true
bantime = 86400
findtime = 600
maxretry = 3

اگر سرور وب دارید (Nginx یا Apache)، می‌توانید از ماژول GeoIP هم استفاده کنید
استفاده از Cloudflare هم یگ گزینه است از قسمت Firewall Rules میتوانید ir را فیلتر کنید

🚀 بهترین ترکیب برای امنیت:
استفاده از iptables + fail2ban + Cloudflare (برای سایت‌ها) + GeoIP در وب‌سرورها

نظر شما چیه ؟
@MehrdadLinuxchannel
👍20🔥42