</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

به‌روزرسانی Arch Linux

راهنمای کامل به‌روزرسانی Arch Linux: بهترین روش‌ها، پشتیبان‌گیری، رفع مشکل و نگهداری منظم سیستم.

مقدماتی۶ دقیقه مطالعهآخرین بروزرسانی: ۹ تیر ۱۴۰۵ویرایش در گیت‌هاب

به‌روزرسانی منظم، مهم‌ترین وظیفهٔ هر کاربر Arch Linux است. به‌دلیل مدل rolling-release، نگهداری منظم برای پایداری و امنیت سیستم ضروری است. در این آموزش، فرایند به‌روزرسانی، بهترین روش‌ها و رفع مشکلات رایج را مرور می‌کنیم.

چرا به‌روزرسانی در Arch مهم است؟#

در توزیع‌های rolling-release مانند Arch:

  • بسته‌ها دائماً به‌روز می‌شوند (هر روز ممکن است ده‌ها به‌روزرسانی باشد)
  • وابستگی‌ها ممکن است بین به‌روزرسانی‌ها تغییر کنند
  • گاهی به‌روزرسانی‌ها نیاز به مداخلهٔ دستی دارند
  • اگر مدت‌طولانی به‌روز نکنید، ممکن است سیستم غیرقابل به‌روزرسانی شود

قانون طلایی Arch

هفته‌ای حداقل یک‌بار (ترجیحاً روزانه) سیستم را به‌روز کنید. اگر بیش از یک ماه به‌روز نکرده‌اید، با احتیاط ادامه دهید و اخبار Arch را حتماً بخوانید.

قبل از به‌روزرسانی#

۱. بررسی اخبار Arch#

قبل از هر به‌روزرسانی، صفحهٔ Arch Linux News را بررسی کنید. اگر وصلهٔ دستی لازم است، ابتدا آن را انجام دهید.

۲. تهیهٔ نسخهٔ پشتیبان#

اگر از btrfs استفاده می‌کنید، قبل از به‌روزرسانی اسنپ‌شات بگیرید:

# اگر timeshift نصب است
sudo timeshift --create --comments "Before update" --tags D
 
# یا با btrfs subvolume
sudo btrfs subvolume snapshot / /snapshots/pre-update-$(date +%Y%m%d)

۳. تهیهٔ فهرست بسته‌ها#

# ذخیرهٔ فهرست بسته‌های نصب‌شده
pacman -Qqe > ~/pkglist.txt
 
# ذخیرهٔ بسته‌های AUR
pacman -Qqm > ~/aurlist.txt

به‌روزرسانی استاندارد#

# همگام‌سازی مخازن + ارتقای همهٔ بسته‌ها
sudo pacman -Syu

این دستور:

۱. فهرست بسته‌ها را از مخازن همگام می‌کند (-S) ۲. پایگاه دادهٔ محلی را به‌روز می‌کند (-y) ۳. تمام بسته‌های نصب‌شده را ارتقا می‌دهد (-u)

هرگز -Sy package را اجرا نکنید

دستور sudo pacman -Sy package (بدون u) مخزن را به‌روز می‌کند اما بسته‌های دیگر را ارتقا نمی‌دهد. این کار می‌تواند وابستگی‌ها را بشکند. همیشه از -Syu استفاده کنید.

به‌روزرسانی با AUR#

اگر از yay یا paru استفاده می‌کنید:

# به‌روزرسانی کامل (مخازن + AUR)
yay
 
# یا
yay -Syu
# به‌روزرسانی فقط AUR
yay -Sua
 
# به‌روزرسانی فقط مخازن رسمی
yay -Syu --repo

پس از به‌روزرسانی#

۱. بررسی سرویس‌های در حال اجرا#

پس از به‌روزرسانی، سرویس‌های قدیمی ممکن است هنوز در حال اجرا باشند. بهتر است آن‌ها را restart کنید:

# فهرست سرویس‌های قدیمی (نصب‌شده اما در حال اجرا با نسخهٔ قدیمی)
sudo systemctl list-units --type=service --state=running
 
# یا ابزار speziell
sudo pacman -S needrestart
sudo needrestart

۲. راه‌اندازی مجدد (در صورت نیاز)#

اگر کرنل به‌روزرسانی شده، باید restart کنید:

# بررسی نسخهٔ کرنل در حال اجرا در برابر نصب‌شده
uname -r
pacman -Q linux

اگر متفاوت بودند، reboot کنید.

۳. پاکسازی کش#

# نگه‌داشتن ۳ نسخهٔ اخیر هر بسته
sudo paccache -r
 
# یا نگه‌داشتن فقط نسخهٔ نصب‌شده
sudo paccache -ruk0

به‌روزرسانی پس از غیبت طولانی#

اگر مدت‌طولانی (مثلاً چند ماه) سیستم را به‌روز نکرده‌اید:

۱. اخبار Arch را از تاریخ آخرین به‌روزرسانی بخوانید#

تمام اخبار از آخرین به‌روزرسانی تا کنون را مرور کنید و وصله‌های دستی را اعمال کنید.

۲. به‌روزرسانی keyring اول#

# ابتدا فقط keyring را به‌روز کنید
sudo pacman -Sy archlinux-keyring

۳. به‌روزرسانی کامل#

# به‌روزرسانی با overwrite در صورت نیاز
sudo pacman -Syu

۴. در صورت خطای وابستگی#

# به‌روزرسانی با حذف bسته‌های mtree
sudo pacman -Syu --overwrite '*'
 
# یا اگر overwriting لازم است
sudo pacman -Syu --overwrite '/path/to/file/*'

اگر سیستم خیلی قدیمی است

اگر بیش از ۶ ماه به‌روز نکرده‌اید، گاهی نصب مجدد از ابتدا ساده‌تر است. اما اگر داده‌های مهم دارید، می‌توانید با دقت فرایند به‌روزرسانی را دنبال کنید. در فروم Arch Linux می‌توانید کمک بگیرید.

خطاهای رایج#

خطای "key could not be looked up"#

# راه‌اندازی مجدد keyring
sudo pacman-key --init
sudo pacman-key --populate archlinux
 
# به‌روزرسانی keyring
sudo pacman -Sy archlinux-keyring
sudo pacman -Syu

خطای "conflicting files"#

اگر دو بسته فایل یکسانی دارند:

# بررسی کدام فایل تداخل دارد
sudo pacman -Syu 2>&1 | grep "exists in filesystem"
 
# در صورت اطمینان، overwrite کنید
sudo pacman -Syu --overwrite '/path/to/file'

خطای "failed to commit transaction"#

# پاکسازی پایگاه دادهٔ قفل‌شده
sudo rm /var/lib/pacman/db.lck
 
# سپس به‌روزرسانی
sudo pacman -Syu

سیستم بوت نمی‌شود پس از به‌روزرسانی#

اگر کرنل خراب شد:

# از USB زنده Arch بوت کنید
# پارتیشن ریشه را نصب کنید
sudo mount /dev/sda3 /mnt
 
# chroot
arch-chroot /mnt
 
# reinstall کرنل
pacman -S linux
 
# rebuild initramfs
mkinitcpio -P
 
# خروج و reboot
exit
reboot

نگه‌داشتن linux-lts

همیشه linux-lts را به‌عنوان پشتیبان نصب داشته باشید. اگر کرنل اصلی خراب شد، می‌توانید از منوی بوت LTS را انتخاب کنید.

sudo pacman -S linux-lts

نگهداری منظم#

هفتگی#

# به‌روزرسانی
sudo pacman -Syu
 
# پاکسازی بسته‌های یتیم
sudo pacman -Rns $(pacman -Qdtq)
 
# پاکسازی کش
sudo paccache -r

ماهانه#

# بررسی فایل‌های پیکربندی تغییر نیافته
sudo pacdiff
 
# بهینه‌سازی پایگاه دادهٔ pacman
sudo pacman -Fy
 
# بررسی سلامت فایل‌های سیستمی
sudo pacman -Qk

خودکارسازی به‌روزرسانی#

تایمر سیستماتیک (با احتیاط)#

# ساخت تایمر برای به‌روزرسانی هفتگی
sudo nano /etc/systemd/system/auto-update.timer
[Unit]
Description=Weekly auto-update
 
[Timer]
OnCalendar=weekly
Persistent=true
 
[Install]
WantedBy=timers.target

به‌روزرسانی خودکار خطرناک است

به‌روزرسانی خودکار در Arch توصیه نمی‌شود، چون گاهی نیاز به مداخلهٔ دستی است. اگر خودکارسازی می‌کنید، حتماً اسکریپت بررسی اخبار و snapshot خودکار نیز داشته باشید.

ابزارهای مفید#

# نصب ابزارهای مفید نگهداری
sudo pacman -S pacman-contrib reflector
 
# سرویس پاکسازی خودکار کش
sudo systemctl enable --now paccache.timer
 
# سرویس به‌روزرسانی آینه‌ها
sudo systemctl enable --now reflector.timer

خلاصه#

در این آموزش:

  • اهمیت به‌روزرسانی منظم را یاد گرفتید
  • فرایند به‌روزرسانی استاندارد را دنبال کردید
  • با AUR به‌روزرسانی کردید
  • خطاهای رایج را رفع کردید
  • نگهداری منظم را پیکربندی کردید

به‌روزرسانی منظم، کلید پایداری در Arch Linux است. اگر این فرایند را رعایت کنید، Arch می‌تواند یکی از پایدارترین توزیع‌های لینوکس برای شما باشد.

در آموزش بعدی، سوالات متداول را پاسخ می‌دهیم.

پرسش‌های رایج#

چندبار باید به‌روز کنم؟#

حداقل هفته‌ای یک‌بار. اگر روزانه به‌روز کنید، هر بار تغییرات کمتر و ریسک کمتری دارد. اما روزانه الزامی نیست.

اگر یک ماه به‌روز نکرده باشم چه؟#

نگران نباشید. فقط اخبار Arch را از تاریخ آخرین به‌روزرسانی بخوانید، سپس sudo pacman -Syu را اجرا کنید. در ۹۰٪ مواقع بدون مشکل کار می‌کند.

آیا باید بعد از هر به‌روزرسانی reboot کنم؟#

خیر. فقط اگر کرنل به‌روزرسانی شده یا کتابخانه‌های حیاتی (glibc, systemd) تغییر کرده‌اند، reboot توصیه می‌شود. در غیر این صورت، restart سرویس‌های مربوطه کافی است.

چگونه بدانم کدام سرویس‌ها نیاز به restart دارند؟#

# نصب needrestart
sudo pacman -S needrestart
 
# اجرا
sudo needrestart

این ابزار به شما می‌گوید کدام سرویس‌ها از کتابخانه‌های قدیمی استفاده می‌کنند.

اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.