پرش به محتوا

ارتقای امن Debian 12 به Debian 13

یک سرور در حال کار را مرحله‌به‌مرحله از Bookworm به Trixie ارتقا دهید؛ با بکاپ، بررسی بسته‌های غیررسمی و برنامه‌ی بازگشت.

Debian 12سطح: متوسطبه‌روزرسانی: ۱۶ آبان ۱۴۰۵

ارتقا بین نسخه‌های Debian معمولاً بی‌دردسر است، به شرط این‌که مرحله‌به‌مرحله و با آمادگی انجام شود. روی سرور حیاتی، ابتدا روی یک کپی (snapshot یا ماشین آزمایشی) تمرین کنید.

۱. آمادگی

bash
sudo apt update && sudo apt full-upgrade -y     # اول Debian 12 کاملاً به‌روز شود
sudo reboot
df -h /                                         # حداقل ۵ گیگابایت فضای خالی
apt list '~o' 2>/dev/null                       # بسته‌هایی که دیگر در هیچ مخزنی نیستند
apt-mark showhold                               # بسته‌های نگه‌داشته‌شده
  • از سرور snapshot یا بکاپ کامل بگیرید.
  • از پایگاه‌های داده dump جداگانه بگیرید.
  • اگر از راه دور وصل هستید، کار را داخل tmux انجام دهید.

۲. تغییر مخازن

bash
sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bookworm.bak
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
grep -rl bookworm /etc/apt/sources.list.d/ 2>/dev/null

مخازن شخص ثالث (مثل Docker یا PostgreSQL) را جداگانه بررسی کنید. اگر نسخه‌ی trixie را ندارند، موقتاً غیرفعالشان کنید.

۳. ارتقا در دو مرحله

bash
sudo apt update
sudo apt upgrade --without-new-pkgs -y
sudo apt full-upgrade -y

هنگام پرسش درباره‌ی فایل‌های پیکربندی، اگر فایل را خودتان ویرایش کرده‌اید، گزینه‌ی N (نگه داشتن نسخه‌ی فعلی) را بزنید و بعداً تفاوت‌ها را با فایل .dpkg-dist مقایسه کنید.

۴. ری‌استارت و بررسی

bash
sudo reboot
cat /etc/debian_version
uname -r
systemctl --failed
sudo journalctl -p err -b

۵. پاک‌سازی و قالب جدید مخازن

bash
sudo apt autoremove --purge -y
sudo apt modernize-sources      # تبدیل sources.list به قالب deb822

۶. پس از ارتقا

  • فایل‌های .dpkg-dist و .dpkg-old را در /etc بررسی کنید: sudo find /etc -name '*.dpkg-*'
  • سرویس‌های اصلی (وب، پایگاه داده، بکاپ) را یکی‌یکی آزمایش کنید.
  • مخازن شخص ثالثی که غیرفعال کرده بودید را با نسخه‌ی trixie برگردانید.