پارچ‌تان را نشکنید!

پارچ لینوکس یه توزیع ساده و خوش‌دست بر پایه آرچ لینوکسه که با نصاب گرافیکی Calamares و میزکارهای آماده، حتی برای تازه‌کارها هم کار کردن باهاش راحت شده. اما زیر این ظاهر قشنگ، یه سیستم غلتان (Rolling Release) داره که مدام به‌روز می‌شه و باید حواس‌تون بهش باشه. برخلاف اوبونتو یا فدورا که بروزرسانی‌هاشون مشخص و دوره‌ایه، پارچ همیشه در حال تغییره و ازتون می‌خواد مراقبش باشید.

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

اکوسیستم پارچ

برای اینکه سیستم رو درست مدیریت کنید، باید بدونید نرم‌افزارها از کجا میان و ابزارهاشون چطور کار می‌کنن.

کار با Pacman

pacman مدیر بسته‌ی پارچه که سریع و ساده کار می‌کنه. این ابزار بسته‌های آماده رو از مخازن رسمی می‌گیره و همه‌چیز رو مرتب نگه می‌داره.

مخازن نرم‌افزاری

نرم‌افزارهای پارچ از چند منبع مشخص میان. مخازن رسمی آرچ لینوکس پایه‌ی کارن و توسط تیم آرچ حسابی بررسی می‌شن. این مخازن شامل بسته‌های ضروری برای بوت سیستم (core) و نرم‌افزارهای اضافی مثل میزکارها (extra) هستن. پارچ هم مخازن خودشو داره: مخزن world که تمامی بسته‌ها و تنظیمات و همینطور برنامه‌های جامعه رو در خودش داره. اینا طوری ساخته شدن که با آرچ هماهنگ باشن.

مخزن AUR یه چیز دیگه‌ست. این مخزن رو جامعه‌ی کاربران آرچ مدیریت می‌کنه و به‌جای بسته‌های آماده، اسکریپت‌های ساخت (PKGBUILD) می‌ده. یعنی خودتون باید امنیت و نگهداریش رو چک کنید. پس با دقت باهاش کار کنید.

ابزار Paru

پارچ برای ساده کردن کار با AUR، ابزار paru رو پیش‌فرض گذاشته. paru دانلود، کامپایل و نصب بسته‌های AUR رو خودکار می‌کنه. اگه از اوبونتو یا فدورا اومدید، این دستورات رو مقایسه کنید:

بروزرسانی نصفه‌نیمه نکنید!

قبل از نصب هر بسته‌ی جدید، سیستم رو کامل به‌روز کنید. با $paru یا $pacman -Syu این کار رو درست انجام بدید. بدترین اشتباه، بروزرسانی ناقصه. مثلاً اگه فقط لیست بسته‌ها رو به‌روز کنید ($pacman -Sy) و بعد یه بسته جدید نصب کنید، ممکنه سیستم به هم بریزه.

فرض کنید سیستم‌تون از نسخه 3.0 کتابخانه openssl استفاده می‌کنه و ابزار curl بهش وابسته‌ست. مخازن رسمی، openssl رو به 3.1 ارتقا می‌دن و firefox جدید هم به این نسخه نیاز داره. اگه فقط $pacman -Sy firefox بزنید، pacman به‌خاطر وابستگی، openssl رو هم به 3.1 می‌بره. اما curl قدیمی شما هنوز به نسخه 3.0 نیاز داره که دیگه نیست. نتیجه؟ دفعه بعد که بخواید از curl استفاده کنید، خطای «library not found» می‌گیرید و سیستم خراب می‌شه. این مشکل شاید همون موقع خودشو نشون نده و چند روز بعد غافل‌گیرتون کنه. راه حل؟ همیشه اول $paru بزنید، بعد بسته‌ی جدید رو با $paru -S [package] نصب کنید.

مراقب ترکیب ناسازگار باشید

تو دبیان به سیستمی که از مخازن ناسازگار ساخته شده می‌گن «فرانکن‌دبیان». تو پارچ هم همچین چیزی هست و بهش می‌گیم «فرانکن‌پارچ». چون پارچ غلطانه، این مشکل حتی بدتره.

هیچ‌وقت مخازن توزیع‌های دیگه مثل Manjaro، EndeavourOS یا Garuda رو به پارچ اضافه نکنید. اینا با آرچ ریشه‌ی مشترک دارن، ولی نسخه‌های بسته‌ها و زمان‌بندی بروزرسانی‌هاشون فرق داره و این تفاوت‌های کوچیک می‌تونه سیستم رو خراب کنه. مخازن آزمایشی آرچ (testing) رو هم فعال نکنید، چون بسته‌هاشون هنوز پایدار نیستن. مخازن دبیان یا فدورا که دیگه اصلاً جای بحث نداره.

مخازن شخص ثالث هم خطر دارن. حتی اگه امروز مشکلی نداشته باشن، ممکنه بعداً با بسته‌های رسمی تداخل کنن. مخازن رسمی آرچ، world پارچ، و AUR برای اکثر نیازها کافین.

کار با AUR

AUR یکی از نقاط قوت پارچه، ولی باید با دقت ازش استفاده کنید. AUR بسته آماده نداره، بلکه اسکریپت‌های PKGBUILD می‌ده که کد منبع رو دانلود، کامپایل و نصب می‌کنه. یعنی امنیت و نگهداریش با شماست. پارچ با نصب پیش‌فرض paru کار رو ساده کرده، ولی این راحتی نباید گول‌تون بزنه. همیشه قبل از نصب، PKGBUILD رو چک کنید و دنبال کدهای مشکوک باشید. نظرات کاربران و سابقه‌ی نگهدارنده‌ی بسته تو سایت AUR هم می‌تونه کمک کنه.

بسته‌های AUR نیاز به نگهداری دارن. مثلاً بعد از بروزرسانی یه کتابخانه مثل پایتون، باید بسته‌های وابسته رو دوباره بسازید. paru این کار رو تا حدی خودکار می‌کنه، ولی باید حواس‌تون باشه.

اشتباهات روزمره

بعضی عادت‌های کوچیک می‌تونن به مرور سیستم رو به هم بریزن.

وقتی بسته‌ای رو با $pacman -R حذف می‌کنید، مراقب باشید. این فقط خود بسته رو حذف می‌کنه. اگه بخواید وابستگی‌های غیرضروری رو هم پاک کنید، از $pacman -Rs استفاده کنید. اما $pacman -Rsc خطرناکه و ممکنه به اشتباه بخش‌های مهمی از سیستم رو پاک کنه. $pacman -Rdd هم فقط برای حرفه‌ای‌هاست و تو استفاده معمولی جایی نداره.

فایل‌های .pacnew رو نادیده نگیرید. اینا وقتی ایجاد می‌شن که بروزرسانی یه تنظیم جدید بیاره. اگه بررسی‌شون نکنید، ممکنه سرویس‌ها خراب بشن یا امنیت سیستم به خطر بیفته. ابزار pacdiff می‌تونه کمک کنه.

کش بسته‌ها تو /var/cache/pacman/pkg/ مثل یه شبکه ایمنیه که اجازه می‌ده اگه مشکلی پیش اومد، به نسخه‌های قبلی برگردید. از $pacman -Scc که این کش رو کامل پاک می‌کنه استفاده نکنید. به جاش $paccache -r بزنید که فقط نسخه‌های قدیمی‌تر رو پاک می‌کنه و چند نسخه اخیر رو نگه می‌داره.

روش‌های دیگه برای نصب نرم‌افزار

علاوه بر مخازن رسمی و AUR، ابزارهای مدرنی مثل Flatpak هم هستن. اینا نرم‌افزارها رو تو محیط ایزوله با تمام وابستگی‌هاشون اجرا می‌کنن و برای برنامه‌های اختصاصی مثل Spotify یا Zoom خوبن، چون دسترسی‌شون به سیستم رو محدود می‌کنن. فقط یه کم فضای بیشتری می‌گیرن و ممکنه با میزکارتون کامل هماهنگ نباشن. پیشنهاد من اینه: اول مخازن رسمی، بعد AUR یا Flatpak.

از $sudo make install اصلاً استفاده نکنید. این روش فایل‌های ردیابی‌نشده تو سیستم پخش می‌کنه و حذف یا بروزرسانی نرم‌افزار رو سخت می‌کنه. اگه نرم‌افزاری پیدا نکردید، یه PKGBUILD بنویسید تا با pacman هماهنگ بشه.

چند توصیه آخر

برای اینکه سیستمتون سالم بمونه، این چند تا نکته رو رعایت کنید.