Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Linux Zone | لینوکس زون avatar

Linux Zone | لینوکس زون

اینجا هر چیزی که درباره لینوکس می‌دونیم باهاتون به اشتراک می‌ذاریم 🐧
©️ این کانال بخشی از مجموعه @ninja_learn_ir است.
TGlist rating
0
0
TypePublic
Verification
Not verified
Trust
Not trusted
Location
LanguageOther
Channel creation dateFeb 17, 2025
Added to TGlist
Mar 17, 2025
Linked chat

Records

16.04.202523:59
142Subscribers
24.02.202523:59
0Citation index
19.04.202523:59
243Average views per post
23.04.202521:00
0Average views per ad post
31.03.202513:53
14.89%ER
27.02.202514:19
241.84%ERR
Subscribers
Citation index
Avg views per post
Avg views per ad post
ER
ERR
MAR '25MAR '25MAR '25MAR '25MAR '25APR '25APR '25APR '25

Popular posts Linux Zone | لینوکس زون

14.04.202508:42
🔧 چطور یک داکر برای خودمون بسازیم؟ – قسمت دوم

در قسمت قبل با cgroups آشنا شدیم و دیدیم چطور می‌تونیم مصرف منابع مثل RAM و CPU رو برای یک پراسس محدود کنیم. حالا وقتشه به سراغ دومین جزء اصلی کانتینرها بریم:

🧩 ‏namespace چیه و چرا مهمه؟

‏Namespace‏ها مکانیزمی در کرنل لینوکس هستن که اجازه می‌دن یک پراسس (یا گروهی از اون‌ها) نمای متفاوتی از بخش‌های مختلف سیستم ببینن. به زبان ساده‌تر، با namespaceها می‌تونیم یک محیط ایزوله برای پراسس‌ها بسازیم.
مثال:

1️⃣ هر کانتینر PIDهای خودش رو داشته باشه و PIDهای بیرونی رو نبینه.
2️⃣ فضای شبکه‌ی مخصوص خودش رو داشته باشه، با IP و interface جدا.
3️⃣ فقط فایل‌های خاصی از سیستم فایل رو ببینه، نه کل چیزی که روی سیستم هست.

📦 چه namespace‌هایی به صورت دیفالت وجود داره؟:

- pid: برای جداسازی فضای پراسس ها (Process IDs)
- net: برای جداسازی تنظیمات شبکه مثل interface، routing و ...
- mnt: برای مدیریت جداگانه‌ی mountها و filesystem
- uts: برای جداکردن hostname و domainname
- ipc: برای جداکردن فضای ارتباط بین پردازه‌ها (مثل shared memory)
- user: برای جداسازی فضای کاربری و دسترسی‌ها
- cgroup: برای اینکه هر پراسس فقط cgroup خودش رو ببینه

🧪 چطور با یک namespace جدید پراسس هارو ایزوله کنیم؟

با استفاده از ابزار unshare می‌تونیم پراسس جدیدی بسازیم که در namespaceهای جداگانه اجرا می‌شه. مثلاً برای اجرای یک شِل با PID namespace جداگانه:

sudo unshare --pid --fork --mount-proc bash


حالا توی این شِل جدید اگر ps بگیریم، فقط پراسس خودمون رو می‌بینیم و PID ما از دید درون این namespace معمولاً 1 خواهد بود.

🧩 چطور با cgroup ترکیبش کنیم؟
وقتی namespace رو با cgroup ترکیب کنیم، عملاً داریم پایه‌ی یک کانتینر واقعی رو می‌سازیم: یه محیط ایزوله که هم منابعش محدوده، هم چیزی از بیرون نمی‌بینه.
🎯 مثال:

# ساخت cgroup با محدودیت RAM


حالا که داخل شل جدید هستیم، می‌خوایم این پراسس جدید رو به cgroupای که قبلاً ساختیم اضافه کنیم. همون‌طور که گفتیم، باید این کار از داخل شل انجام بشه چون فقط از داخل می‌تونیم به‌راحتی به PID فعلی (با $$) دسترسی داشته باشیم:

echo $$ | sudo tee /sys/fs/cgroup/mycontainer/cgroup.procs


حالا برای اینکه چک کنیم محدودیت ها اعمال شدن از این دستور داخل شل استفاده میکنیم:

cat /sys/fs/cgroup/mycontainer/memory.max


با این کار، شل جدید ما (و تمام پراسس‌هایی که از داخل اون اجرا می‌شن) تحت محدودیت‌هایی که برای cgroup تعریف کردیم قرار می‌گیرن مثل محدودیت RAM، CPU یا I/O. به این ترتیب، کم‌کم داریم ساختار اولیه یک container ساده رو شکل می‌دیم.

✍️ جمع‌بندی
در این پست با namespaceها آشنا شدیم و دیدیم چطور می‌تونن محیط یک پراسس رو از بقیه‌ی سیستم جدا کنن به صورت عملی یه کانتینر خیلی جمع و جور ساختیم. در قسمت بعد، سراغ root filesystem و mount namespace می‌ریم تا بتونیم فایل‌سیستم اختصاصی برای کانتینرمون بسازیم.
اگه سوالی درباره namespaceها داشتید توی کامنت ها با ما در میون بزارید.

#️⃣ #linux #containers #namespaces #build_your_own_docker

➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
05.04.202507:48
🗓 تقویم جلالی توی ترمینال لینوکس
دیگه تقریبا همه cal رو میشناسن، همون تقویم کوچیک و بامزه که میتونیم با دستور cal بهش دسترسی پیدا کنیم. ولی خب همونطور که میدونید این ابزار برای تقویم های میلادی طراحی شده و تقویم میلادی رو نشون میده.امروز که 5 آوریل 2025 هست خروجی این دستور این شکلیه:
cal

برای نمایش تقویم یه سال خاص:
cal 2025

یا نمایش تقویم یه ماه مشخص:
cal 4 2019

که در این مثال، تقویم آوریل 2019 نمایش داده می‌شه.

🔥 jcal، تقویم جلالی برای لینوکس
‏jcal یه جایگزین پیشرفته برای cal هست که علاوه بر تقویم میلادی، تقویم شمسی (جلالی) رو هم نمایش میده.

📌 نصب jcal
میتونید خیلی راحت از طریق مدیر بسته ی توزیعتون نصبش کنین:
sudo apt install jcal #Debian

📌 استفاده از jcal
برای دیدن تقویم ماه جاری به همراه تقویم شمسی، این دستور رو اجرا کنید:
jcal

برای نمایش کل سال شمسی:
jcal -y

برای نمایش تقویم یک سال خاص:
jcal 1403

و نمایش یک ماه مشخص از سال خاص:
jcal 6 1401

که در این مثال، تقویم شهریور 1401 نمایش داده می‌شه.

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

#️⃣ #linux #terminal #tools

➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
09.04.202509:45
🛠 چند alias کاربردی برای هر کاربر لینوکس
حتما با alias ها آشنایی دارین، همون لقب دادن به دستوراتمون.
کاربردش چیه؟ میتونیم کلی دستور طولانی یا حتی دستورایی که تایپ کردنشون هر دفعه مثل یه کابوس میمونه رو توی دستور مورد نظر خودمون خلاصه کنیم.
ساده تر بگیم، درواقع با اینکار داریم به شل(zsh, bash, fish) میگیم که دستور مورد نظر a معادل دستور طولانی b هست.


با این aliasها توی فایل ~/.bashrc یا ~/.zshrc می‌تونی کلی زمان تو ترمینال صرفه‌جویی کنی 💻⚡️

# ====== System Management ======

🔗برای راحتی کار میتونید فایل آماده ی alias هارو از لینک زیر دانلود کنید:
فایل آماده ی alias ها

📌 نکته: بعد از اضافه کردن aliasها، فراموش نکن که ترمینالت رو یه بار ببندی و باز کنی یا دستور زیر رو وارد کنی:
source ~/.bashrc  # or ~/.zshrc


#️⃣ #linux #terminal #tools

➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
16.04.202507:48
🌀چطوری توی گرداب برنچ های مختلف دبیان غرق نشیم؟
احتمالا تا حالا شنیدید که دبیان سه تا شاخه(branch) توسعه داره: Stable, Testing, Unstable. چون معمولا از نسخه ی پایدار یا همون Stable استفاده میشه اون دوتای دیگه خیلی به چشم نمیان. توی این پست میخوایم تفاوت این نسخه ها و اینکه اصلا کاربرد این سه تا نسخه چیه رو بررسی کنیم.

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

‏Debian Stable به روز و قابل استفاده🔄
توی این نسخه خبری از ثبات کامل نیست اما نرم افزار ها نسبت به نسخه ی پایدار جدیدترن. درواقع نسخه های جدید نرم افزار ها قبل از اینکه وارد نسخه ی پایدار بشن مدتی رو توی این نسخه میمونن و باگ ها و مشکلاتشون با آپدیت برطرف میشه. برای کسایی که نرم افزار های نسبتا به روز میخوان ولی دوست ندارن هرروز کرش ببینن مناسبه.

‏Debian Unstable به روز ولی پرحاشیه⚠️
همه چی اول از اینجا شروع میشه! نسخه های آزمایشی پکیج ها، باگ ها، آپدیت های لحظه ای و ... برای کسایی که دوست دارن روی لبه ی تکنولوژی حرکت کنن، همیشه به روز ترین هارو داشته باشن و باگ براشون تفریحه. ممکنه یه آپدیت بده کاملا باگ و کار نکردن و ممکنه یه آپدیت بده کاملا درست و بدون باگ، قابل اعتماد نیست و باید انتظار باگ رو داشته باشین.

کدوم رو استفاده کنیم؟🤔

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

#linux #debian

➖➖➖➖➖➖➖➖➖➖
🐧 CHANNEL | GROUP
Log in to unlock more functionality.