پرش به محتوا

به‌روزرسانی FreeBSD: وصله‌ی سیستم پایه، بسته‌ها و ارتقای نسخه

وصله‌های امنیتی سیستم پایه را با freebsd-update نصب کنید، بسته‌ها را به‌روز کنید، آسیب‌پذیری‌ها را با pkg audit بررسی کنید و با boot environment ارتقا را امن کنید.

FreeBSD 15سطح: مقدماتیبه‌روزرسانی: ۱۷ آبان ۱۴۰۵

FreeBSD دو بخش جدا دارد: سیستم پایه (هسته و ابزارهای /bin، /usr/bin و غیره) و بسته‌های جانبی (هر چیزی که با pkg در /usr/local نصب شده). هر کدام جداگانه به‌روز می‌شود.

۱. پیش از هر به‌روزرسانی: boot environment

اگر سیستم روی ZFS نصب شده، یک boot environment بسازید. اگر به‌روزرسانی مشکل ایجاد کرد، از منوی بوت به آن برمی‌گردید:

shell
bectl create before-update-$(date +%F)
bectl list

۲. وصله‌ی سیستم پایه

shell
freebsd-version -kru
freebsd-update fetch
freebsd-update install

اگر وصله هسته را عوض کرد، راه‌اندازی مجدد کنید.

از FreeBSD 15، نصب سیستم پایه با بسته‌ها (pkgbase) هم ممکن است. اگر هنگام نصب این گزینه را انتخاب کرده‌اید، freebsd-update کاربرد ندارد و سیستم پایه هم با pkg upgrade به‌روز می‌شود. با pkg info -x '^FreeBSD-' بررسی کنید: اگر خروجی دارد، سیستم شما pkgbase است.

۳. بسته‌ها

shell
pkg update
pkg upgrade
pkg autoremove
pkg clean -y

۴. بررسی آسیب‌پذیری

shell
pkg audit -F

این دستور پایگاه داده‌ی آسیب‌پذیری‌ها (VuXML) را دریافت می‌کند و بسته‌های آسیب‌پذیر نصب‌شده را فهرست می‌کند. سیستم periodic هر شب همین بررسی را انجام می‌دهد و نتیجه را در گزارش ایمیل root می‌گذارد. ایمیل root را به یک صندوق واقعی بفرستید:

shell
echo 'root: ops@sahor.ir' >> /etc/mail/aliases && newaliases

۵. ارتقا به نسخه‌ی جدید (مثلاً 15.0 به 15.1)

shell
bectl create before-15.1
freebsd-update -r 15.1-RELEASE upgrade
freebsd-update install       # installs the new kernel
shutdown -r now
freebsd-update install       # after reboot: installs the new userland
pkg upgrade -f               # only needed for a major version change (e.g. 14 -> 15)
freebsd-update install       # removes old libraries
freebsd-version -kru

اگر بعد از ارتقا مشکلی پیش آمد:

shell
bectl activate before-15.1
shutdown -r now