بعد از مدتها, بالاخره تصمیم گرفتم در این قسمت از انجمن دست به قلم بشم و چند نکته که به نظرم هر کاربر آرچ باید بلد باشه را براتون توضیح بدم, اگر یک کاربر عادی باشید و زیاد درگیر مطالعهی صفحات ویکی یا گشت زدن توی انجمن آرچ نباشید, معمولا از یه سری نکتهی ساده اما ضروری که به شخصه توی منابع فارسی ندیدم, بی اطلاع میمونید, برای همین سعی کردم این نکات ساده و بسیار ضروری را براتون توی یه پست جمع آوری کنم.
اگر مدت زیادی هست که از آرچ 1 استفاده میکنید (یعنی توزیع جدیدی یا همان آرچ را دوباره نصب نکردید), احتمالا یه سری مشکلاتی براتون پیش اومده, مثلا اینکه حس میکنید توزیع نسبت به روزهای اول کندتر شده, دیرتر بالا میاد و یا هر موقع دستور زیر را میزنید حس میکنید که تعداد بستهها از اونچه باید, بیشتر شدند:
pacman -Q | wc -l
yaourt -S pamac-aurدر دبیان-بیسها, دستوری وجود داره که بستههایی که وابستگی بستهی دیگری نیستند و ازشون استفادهای هم نمیشه و یا broken هستند و باید حذف بشن را حذف میکنه و کلیتر بخوام بگم یه طور پاکسازی هست, که میشه این دستور:
sudo apt autoremovesudo pacman -R $(pacman -Qdtq)echo "alias autoremove="sudo pacman -R $(pacman -Qdtq)"" >> .bashrcما در بالا از "Qdtq" استفاده کردیم و اون را به عنوان ورودی "Pacman -R" معرفی کردیم, از اونجایی که همه میدونیم قسمت اول دستور یعنی "pacman -R" چی هست, میریم سراغ بررسی آپشنهای قسمت دوم دستور;
۱. در ابتدا حرف "Q" به معنی Query هست و معمولا زمانی استفاده میشه که بخواهیم بستههایی که روی سیستم نصب شدهاند را مشاهده کنیم.
۲. دومین حرفی که استفاده شده یعنی "d" به این معنی هست که فقط بستههایی که به عنوان وابستگی نصب میشن را نمایش بده.
۳. سومین حرف که "t" هست, میگوید بستههایی که در حال حاضر هیچ استفادهای از آنها نمیشه را نمایش بده.
و اما حرف چهارم که بالا درموردش صحبت نکردم,فقط و فقط اسم بستهها را نمایش میده یعنی نسخهی اون بسته را در ادامه نمایش نمیده, حالا شاید براتون سوال باشه که چرا این اتفاق میاُفته درحالی که این موضوع ربطی به وابستگی و بستههای غیر ضروری و .. نداره, در جواب باید بدونید که ما داریم این دستور را به عنوان ورودی معرفی میکنیم و پکمن فقط اسم بسته را برای حذف اون قبول میکنه و اگر اسم و نسخه درکنار هم باشند, خطای "Target not found" پدیدار میشه 
برسیم به بستههایی که در کش پکمن ذخیره میشن, در حالت خیلی ساده برای اینکه بستههایی که توی کش هستند را پاک کنید دستور زیر کمکتون میکنه:
paccache -r[naruto@ArchLinux ~]$ paccache -r==> finished: 70 packages removed (disk space saved: 452.97 MiB)
paccache -rk 3بستههای کش در مسیر زیر ذخیره میشن:
/var/cache/pacman/pkg/sudo pacman -Sc[naruto@ArchLinux ~]$ sudo pacman -Sc
Packages to keep:
All locally installed packagesCache directory: /var/cache/pacman/pkg/
:: Do you want to remove all other packages from cache? [Y/n] nDatabase directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] n
بررسی دستور بالا:
فرمانی که بالاتر بهتون گفتم, از دو آپشن بیشتر استفاده نکرده, که میشن "S" و "c";
۱. حرف "S" به جای کلمهی Sync استفاده میشه و معمولا زمانی که ما بخوایم بستهها را به نسخهی جدیدتر ارتقاء بدیم یا پایگاههای دادهی پکمن را به روز رسانی کنیم و یا بستهای نصب کنیم ازش استفاده میشه!
۲. حرف بعدی که "c" هست هم به جای clean نشسته و خب از اسمش معلومه چیکار میکنه! (پاکسازی میکنه
)
در ادامه چند حالت سادهتر از پاک کردن بستهها براتون میگم که احتمالا میدونید و سپس میریم سراغ بررسی لاگهای سیستم و ایدههایی که چرا سیستم ما دیرتر بالا میاد!
برای اینکه فقط بستهی مورد نظر را پاک کنید و وابستگیهاش را نگه دارید:
sudo pacman -Rd pkgnamesudo pacman -Ru pkgnamesudo pacman -Rsncu pkgnameپیشنهاد میکنم یه سری به صفحات مربوط به پکمن در ویکی آرچ بزنید!
خب از بحث حذف کردن بستهها خارج بشیم و برسیم به خدمتها (سرویسها), اگر از دستهای هستید که plymouth نصب نکردید و میتونید لاگ مربوط به راه اندازی سرویسها را موقع بالا اومدن آرچ لینوکس ببینید, ممکنه بعضی از سرویسها fail بشن که با رنگ قرمز نشون داده میشن, اگر این سرویسها سریع رد میشن و شما نمیتونین دقیقا تشخیص بدید که چه سرویسی بارگذاری نشده میتونید از دستور زیر استفاده کنید تا سرویسهایی که موقع راهاندازی شکست میخورن را ببینین:
systemctl --failedjournalctl -xefu service_namejournalctl -p 3 -xb[naruto@ArchLinux ~]$ journalctl -p 3 -xb
-- Logs begin at Wed 2017-11-22 21:53:48 +0330, end at Fri 2018-02-09 16:02:07 +0330. --
Feb 09 13:27:06 ArchLinux kernel: [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later)
Feb 09 13:27:06 ArchLinux kernel: DMAR: Failed to find handle for ACPI object _SB.PCI0.SDMA
Feb 09 13:27:06 ArchLinux kernel: DMAR: Failed to find handle for ACPI object _SB.PCI0.SDHC
در مورد اینکه چرا سیستم ممکنه دیر بالا بیاد, اینکه روت و هوم روی SSD باشند خیلی تاثیر داره, اگر از HDD استفاده میکنید, طبیعی هست که آرچ لینوکس کمی دیرتر بالا بیاد, دیر بالا اومدن به Display manager و تمی که برای اون استفاده میکنید, سرویسهایی که بارگذاری نمیشند, تعداد سرویسهایی که در استارتاپ قرار دادید و همین طور تم plymouth شما (اگر استفاده میکنید) مربوط میشه!
تقریبا این مطلب تمومه به جز یه مورد دیگه, که مهمترین قسمت این مقاله هست!!
اگه در شرایطی هستید که کلی بلا سر آچ لینوکس آوردید و میخواید این توزیع را دوباره نصب کنید و همینطور حوصله ندارید و نمیخواهید دوباره آرچ را دانلود کنید, روی فلش مموری یا دیسکی بریزید و دوباره پارتیشن بندی کنید, میتونید از دستوری استفاده کنید که شما را میبره به زمانی که تازه اسکریپت pacstrap را اجرا کرده بودید و بهتون اجازه میده از اونجا دوباره آرچ لینوکس را پیکربندی کنید, این دستور کل بستههای سیستم شما را به جز بستههای مربوط به گروه بستههای Base و Base-devel پاک میکنه, در واقع همه چیز را به جز خود آرچ پاک میکنه!!
دستوری حذف تمامی بستهها که معمولا از TTY اجرا میشه:
pacman -R $(pacman -Qq | grep -ve "$(pacman -Qqg base)" -ve "$(pacman -Qqg base-devel)")echo $(pacman -Qq | grep -ve "$(pacman -Qqg base)" -ve "$(pacman -Qqg base-devel)") | tr ' ' 'n' > remove
cat remove | lessاین مقاله هم تموم شد, اینها نکات خیلی سادهای بودند که تقریبا بیشتر افراد میدونن ولی چون توی منابع فارسی چیزی پیدا نکردم, تصمیم گرفتم اینجا بنویسمشون!
اگر هر ایدهای دارید که فکر میکنید میشه به این مطلب اضافهاش کرد, خوشحال میشم باهام به اشتراک بذاریدش 
امیدوارم مفید واقع بشه, سایونارو 

برچسب:
نویسنده: استخدام کار