Linux Zone | لینوکس زون
146 subscribers
5 photos
1 video
26 links
اینجا هر چیزی که درباره لینوکس می‌دونیم باهاتون به اشتراک می‌ذاریم 🐧

©️ این کانال بخشی از مجموعه @ninja_learn_ir است.
Download Telegram
🌀چطوری توی گرداب برنچ های مختلف دبیان غرق نشیم؟
احتمالا تا حالا شنیدید که دبیان سه تا شاخه(branch) توسعه داره: Stable, Testing, Unstable. چون معمولا از نسخه ی پایدار یا همون Stable استفاده میشه اون دوتای دیگه خیلی به چشم نمیان. توی این پست میخوایم تفاوت این نسخه ها و اینکه اصلا کاربرد این سه تا نسخه چیه رو بررسی کنیم.

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

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

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

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

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

#linux #debian


🐧 CHANNEL | GROUP
👍3
تفاوت Display Server های محبوب: Wayland و X11🖥
چند وقتی میشه که توی دنیای لینوکس دسکتاپ یه سوال، یه بحثی هست که: Wayland یا X11؟ واقعا چه تفاوتی دارن؟ کدوم یکی رو باید انتخاب کرد؟ بریم یه نگاه ساده بهشون بندازیم تا تفاوتشون رو درک کنیم و راحت تر بتونیم بینشون انتخاب کنیم.

‏X11: قدیمی ولی کارآمد📺
‏X11 یه دیسپلی سرور قدیمیه که از دهه‌ها پیش همراه لینوکس و کاربراش بوده. میشه گفت به خاطر همین قدیمی بودنش، سازگاری خیلی خوبی با نرم افزار و درایور های مختلف داره و هنوزم استفاده میشه، دستکاپ XFCE هنوزم داره به عنوان پیش فرض ازش استفاده میکنه و دسکتاپ هایی مثل پلاسما یا گنوم با اینکه پیش فرضشون به Wayland تغییر کرده ولی هنوز امکان استفاده از X11 رو دراختیار کاربر قرار میدن.
یکی دیگه از مزایاش امکان اجرای برنامه های گرافیکی از راه دور با SSH هست. از معایبش میشه به عدم پشتیبانی بومی از ویژگی های مدن مثل شفافیت و Vsync و ساختار پیچیده و کد بیس قدیمی که روند توسعه رو نگهداری رو سخت میکنه اشاره کرد.

‏Wayland: جدید، سریع و آینده دار🖥
‏Wayland اومده که جایگزینی برای X11 باشه. از برتری هاش میشه به سرعت بیشتر، کد ساده تر، ساختار مدرن، ‌امنیت بهتر، مصرف منابع کمتر و پشتیبانی از تکنولوژی ها جدید تر اشاره کرد. مدتی هست که دسکتاپ های گنوم و پلاسما به طور پیش فرض ازش استفاده میکنن.
مشکلی که داره اینه که هنوز با همه چی سازگار نیست. بعضی برنامه ها یا ابزار های قدیمی ممکنه باهاش مشکل داشته باشن که ممکنه برای اجراشون نیاز به استفاده از XWayland داشته باشین.

کدوم رو انتخاب کنیم؟🤔
اگه دنبال حداکثر سازگاری و درصدر اطمینان بالا هستین X11 هنوزم شمارو راضی نگه میداره. اگه سیستم و نرم افزار هاتون جدیدن و میخوان از امکانات و تکنولوژی های مدرن، امنیت و سرعت بیشتری بهره ببرین Wayland گزینه ی بهتریه.

#linux #display_servers #x11 #wayland


🐧 CHANNEL | GROUP
👍4
‏GRUB چیه؟📂
‏GRUB مخفف GNU GRUB یا GNU GRand Bootloader هست. این ابزار یه bootloader چند مرحله ایه که وظیفه داره کرنل سیستم عامل از روی دیسک پیدا کنه و اجراش کنه. ولی پشت این ظاهر ساده ساختار نسبتا پیچیده و وظیفه ی مهمی داره.

ساختار کلی GRUB🛠️
گراب رو میشه توی دوتا لایه تعریف کرد:
1️⃣لایه ی اول:
این قسمت بسیار کوچیکه و بسته به نوع سیستمتون داخل MBR یا EFI Partition ذخیره میشه. تنها کاری که انجام میده بارگذاری بخش بعدی GRUB هست. چون فضای بسیار محدودی داره، فقط نقش یک واسطه ساده رو بازی میکنه.
2️⃣لایه ی دوم:
این بخش روی پارتیشن سیستم(معمولا boot/) قرار میگیره و شامل اجزای اصلی GRUB هست. مثل ماژول ها، فایل های تنظیمات، تم ها منوی بوت. GRUB در این بخش قابلیت هایی مثل خوندن فایل سیستم ها، نمایش منوی انتخاب سیستم عامل و بارگذاری کرنل لینوکس یا bootloader ویندوز رو داره.

مهم ترین فایل ها و مسیرها در GRUB:🗃️
‏boot/grub/grub.cfg/:

فایل اصلی کانفیگ های GRUB. این فایل خودکار توسط grub-mkconfig ساخته میشه. معمولا نباید اون رو ویرایش کرد.

‏etc/default/grub/:

این فایلیه که قابل ویرایشه،‌اینجا گزینه هایی مثل سیستم عامل پیش فرض، زمان تایمر منو،‌تنظیمات گرافیکی و ... رو میتونید مشخص کنید.
فقط بعد از ویرایش فایل و نوشتن تنظیمات خودتون باید این دستور رو بزنید:
sudo update-grub


‏/boot/grub/:

این مسیر شامل تمام فایل های مرتبط با GRUB هست، مثل grub.cfg، ماژول ها، تم ها و تنظیمات دیگه.

ماژول های GRUB:🔗
این ابزار به شکل ماژولار طراحی شده، یعنی قابلیت لود فایل سیستم ها، رمزنگاری، شبکه و کلی تنظیمات و امکانات دیگه از طریق ماژول ها اضافه میشه و در نهایت با کنار هم قرار گرفتن ماژول ها GRUB میتونه به درستی کارهای خودش و کارهای فوق‌العاده دیگه ای انجام بده. مثلا:
‏ext2.mod:
پشتیبانی از ext2/ext3/ext4
‏linux.mod:
لود کرنل‌های لینوکس
‏luks.mod:
پشتیبانی از پارتیشن‌های رمزنگاری‌شده

چطوری میشه توی GRUB تغییر ایجاد کرد؟🛠️
فقط کافیه که فایل /etc/default/grub/ رو ادیت کنید. برای مثال:
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s`
GRUB_DEFAULT=0
GRUB_THEME="/boot/grub/themes/your-theme/theme.txt"

و بعدش میتونید با اجرای دستور زیر تنظیمات جدید رو اعمال کنید:
sudo update-grub


جمع بندی✍️
‏GRUB یه bootloader قدرتمند، کاملا آزاد و متن بازه که میتونه سیستم عامل های مختلف رو مدیریت کنه و توی مدیریت چندین سیستم عامل مختلف روی یه کامپیوتر کمک کنه. قابلیت شخصی سازی بالایی داره، از تغییر تایمر و ترتیب منو گرفته تا اضافه کردن پس زمینه و حتی نصب تم های گرافیکی خاص و جذاب. تنظیم کردنش هم ساده هست و با مقداری گشتن میتونید دقیقا به همون چیزی تبدیلش کنید که میخواید.

#linux #bootloaders #GRUB


🐧 CHANNEL | GROUP
👍3
‏Cron Jobs در لینوکس
‏Cron یک از ابزار های قدرتمند و کاربردی لینوکسه که به شما اجازه میده دستورات یا اسکریپت هارو توی یه بازه/دوره ی زمانی مشخص و کاملا خودکار اجرا کنید.

‏Cron Job چیه؟

‏cron job یه تسک زمان بندیه که توی سیستم های Unix Base اجرا میشه. به طور مثال شما میتونید کارهای زیر رو با کمک cron job کاملا خودکار و زمان بندی شده انجام بدید.
اجرای روزانه اسکریپت بکاپ
پاک کردن لاگ ها یا فایل های کش قدیمی
ارسال ایمیل گزارش ها به ادمین سیستم
اجرای یک API call توی زمان مشخص

ساختار زمان بندی توی cron
⏱️
این ابزار برای زمان بندی از یه سینتکس خاصی استفاده میکنه که همین خاص بودنش باعث شده درکش پیچیده باشه و در عین حال بشدت کاربردیش کرده.
* * * * * command_to_run
│ │ │ │ │
│ │ │ │ └ Day of the Week (0 - 7)
│ │ │ └── Month (1 - 12)
│ │ └──── Day of the Month (1 - 31)
│ └────── Hour (0 - 23)
└──────── Minute (0 - 59)

مثلا دستور زیر یک اسکریپت رو هرروز ساعت 2:30 اجرا میکنه:
30 2 * * * /home/rick/backup.sh


مدیریت Cron Jobs🛠
با استفاده از کامند crontab میتونید cron job هاتون رو مدیریت کنید.
ایجاد یا ویرایش cron jobها:
crontab -e

لیست cron job های فعال برای کاربر فعلی:
crontab -l

حذف کرون جاب های فعلی:
crontab -f

حتی میتونید از اجرا شدن cron هاتون لاگ هم داشته باشین:
0 2 * * * /home/rick/backup.sh >> /var/log/backup.log 2>&1


نکات مهم⚠️
1.محیط اجرای cron با محیط ترمینال فرق داره
ممکنه بعضی متغیر های محیطی توی cron در دسترس نباشن. پس بهتره که مسیر کامل دستورات و فایل هارو بنویسید. به عنوان راه حل میتونید مستقیما اون متغیر هارو توی crontab تعریف کنید.
PATH=/usr/bin:/bin:/usr/local/bin

2.برای اجرای اسکریپت ها مطمئن باشید که فایل دسترسی اجرا شدن رو داشته باشه.
میتونید با دستور زیر این دسترسی رو به اسکریپت بدین.
chmod +x ./script.sh


مثال
📝
*/15 * * * * /home/rick/check_server.sh 
# Every 15 minutes
0 9 * * 1 /home/rick/weekly_report.sh
# Every Monday at 9 AM
0 3 1 * * /home/rick/monthly_cleanup.sh
# On the 1st of each month at 3 AM


مشاهده لاگ‌های cron🔎

اگه میخواین بدونین cron job هاتون واقعا اجرا شدن یا نه، میتونید لاگ های سیستم رو چک کنید:
grep CRON /var/log/syslog    # Debian/Ubuntu
journalctl -u cron.service # systemd-based systems


جمع بندی✍️
‏Cron یکی از دوست داشتنی ترین ابزار های لینوکسه که فقط با چند خط ساده میتونید کلی از کارهای تکراری و خودکار انجام بدین و یه خودکارسازی خوب برای خودتون یا سرورتون داشته باشین. البته که سینتکس زمانبندیش یکمی پیچیدس ولی بعد یه مدتی دستتون میاد و بهش عادت میکنید.

#️⃣#linux #tools


🐧 CHANNEL | GROUP
2🔥1
یه چیت شیت کوچیک مربوط به کرون جاب ها
🔥2
اثربخشی تکنیک های تعمیر کامپیوتر روی سیستم عامل های مختلف

#️⃣#linux #meme


🐧 CHANNEL | GROUP
🤣8
میرور ها توی لینوکس🐧
حتما توی استفاده از لینوکستون از دستور های آپدیت پکیج منیجر ها(مثل apt update) استفاده کردید. دستور هایی که نسخه های پکیج های مختلف نرم افزاری رو از مخزن بسته ها دریافت میکنن و اگه نیاز به بروزرسانی داشته باشن براتون بروزرسانی انجام میدن. ولی این مخزن ها چی هستن؟

‏Mirror ها یا مخازن🪞
هر پکیج منیجر یه مخزن یا به اصطلاح Mirror داره. مخزن ها سرورهایی هستن که نسخه های مشابهی از یه پکیج نرم افزاری رو نگه میدارن. این مخزن ها توی سراسر دنیا هستن و یه جورایی پخش شدن. اینجوری دیگه همه ی کاربرا از فقط یه سرور استفاده نمیکنن. توی نقاط مختلف ایران مخزن های مختلفی وجود داره تا دانلود ها سریع تر و پایدار بشن.
مثلا:
sudo apt update
sudo apt install vim

اینجا apt میره از یکی از مخزن ها پکیج vim رو میگیره و نصب میکنه.

چرا این همه Mirror به وجود اومدن؟🤔
اگه این مخازن توی نقاط مختلف پخش نشده بودن یا فقط یه سرور واحد وجود داشت، با درخواست آپدیت همزمان کاربرا سرعت دانلود میومد پایین و همچنین دانلود ناپایدار بود. اما اینجوری هرکی میتونه مخزن مناسب خودش(مثلا نزدیک به محل زندگیش یا کشور خودش) رو انتخاب کنه و پکیج هاشو از اونجا دانلود کنه.
اینجوری بار این همه درخواست بین سرورهای مختلف تقسیم میشه و سرعت و پایداری هم بالا میره. توی بعضی موارد(مثل کالی یا فدورا) هم میتونیم با عوض کردن مخازن تحریم هارو دور بزنیم.

چطوری نسخه ها هماهنگ میمونن؟🔄
وقتی دستور apt update رو می‌زنید، سیستم میره سراغ فایل‌هایی مثل Packages.gz و Release توی مخزن (repository) که لیست کامل بسته‌ها، نسخه‌ها و هش‌ها رو نگه می‌دارن. این فایل‌ها از سرورهای مخزن ها میان، ولی اصلشون از مخزن اصلی (مثلاً deb.debian.org) تولید می‌شه. حالا میرورها با استفاده از ابزارهایی مثل rsync یا apt-mirror به‌صورت خودکار و منظم با مخزن اصلی همگام می‌شن و فقط فایل‌های جدید یا تغییر کرده رو می‌گیرن. اینطوری همه میرورها تقریباً همیشه نسخه‌ی هماهنگی از پکیج‌ها دارن و وقتی چیزی نصب می‌کنید، از نزدیک‌ترین یا سریع‌ترین میرور دانلود میشه.

پکیج ها توی مخازن دستکاری نمیشن؟🔐
برای اینکه هیچکس نتونه پکیج های داخل مخزن ها رو دستکاری کنه یا نسخه ی مخرب آپلود کنه، هر پکیج با کلید دیجیتال(GPG) امضا میشه. وقتی از دستورهای آپدیت استفاده میکنین سیستم فایل Release.gpg رو بررسی میکنه که امضای دیجیتال پکیج هارو توی خودش داره. این امضا فقط با کلید رسمی توزیع قابل اعتبار سنجیه.
پکیج منیجر هش هر پکیج رو با چیزی که توی فایل Packages.gz ثبت شده مقایسه میکنه، اگه حتی یه بیت از پکیج دستکاری شده باشه هش تایید نمیشه و پکیج نصب نمیشه.

جمع بندی✍️
میرورها نسخه‌های کپی‌شده‌ای از مخزن‌های اصلی لینوکس هستن که با ابزارهای خودکار مرتب همگام‌سازی می‌شن. اینطوری دانلود پکیج‌ها سریع‌تر، پایدارتر و در دسترس‌تر میشه. امنیت پکیج‌ها هم با امضای دیجیتال و بررسی هش تضمین میشه، پس حتی اگه یه میرور دستکاری بشه، سیستم متوجه میشه و نصب رو متوقف می‌کنه.

#️⃣#linux #terminal #tools


🐧 CHANNEL | GROUP
👍2