ข้ามไปยังเนื้อหาหลัก

อัปเกรด Debian 11 เป็น Debian 12

คำอธิบาย

ในบทความนี้ เราจะอธิบายกระบวนการอัปเกรด OS จาก Debian 11 เป็น Debian 12

การอัปเกรด

คำเตือน

ก่อนอัปเกรดระบบปฏิบัติการ เราขอแนะนำอย่างยิ่งให้สำรองข้อมูลทั้งหมดบนเซิร์ฟเวอร์แบบเต็ม สิ่งนี้จะทำหน้าที่เป็นหลักประกันในกรณีที่เกิดปัญหา ช่วยให้คุณสามารถกู้คืนระบบได้ในกรณีฉุกเฉิน

สำคัญ

คำสั่งทั้งหมดระหว่างการอัปเกรด OS จะดำเนินการในเทอร์มินัลของเซิร์ฟเวอร์ภายใต้ผู้ใช้ root

ปฏิเสธคำแนะนำของระบบในการแทนที่ไฟล์การกำหนดค่า (การทำงานเริ่มต้น)

ชื่อของไฟล์ repository ใน /etc/apt/sources.list.d ของ OS ของคุณอาจแตกต่างจากชื่อที่ใช้ในคำแนะนำนี้

  1. ตรวจสอบให้แน่ใจว่าคุณมี repository ที่ถูกต้องใน /etc/apt/sources.list . รายการ repository สำหรับ Debian 11 สามารถดูได้ด้านล่าง
repository ของ Debian 11
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
  1. อัปเดตแพ็กเกจปัจจุบันทั้งหมดเป็นเวอร์ชันล่าสุด
apt update && apt dist-upgrade
  1. แทนที่รายการ repository ใน /etc/apt/sources.list เป็น repository จาก Debian 12 รายการ repository สำหรับ Debian 12 สามารถดูได้ด้านล่าง
repository ของ Debian 12
deb http://deb.debian.org/debian/ bookworm main contrib non-free
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free

deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free

deb http://deb.debian.org/debian-security bookworm-security main contrib non-free
deb-src http://deb.debian.org/debian-security bookworm-security main contrib non-free
  1. แก้ไขข้อผิดพลาดที่อาจเกิดขึ้นในการอัปเกรด apache2
a2dismod php7.4
  1. อัปเดตแพ็กเกจ เรียกใช้คำสั่งต่อไปนี้ทีละคำสั่ง
apt update
apt upgrade
apt dist-upgrade
  1. อัปเดต repository อื่น ๆ
sed -i 's|bullseye|bookworm|g' /etc/apt/sources.list.d/*.list
  1. เพิ่มคีย์ repository ของ nginx
wget -q -O - http://nginx.org/keys/nginx_signing.key |apt-key add -
สำคัญ

หากมีการใช้ MariaDB บนเซิร์ฟเวอร์ เราจำเป็นต้องแก้ไข repository ให้ระบุเวอร์ชันอย่างน้อย 10.11

คุณสามารถตรวจสอบเวอร์ชันของเซิร์ฟเวอร์ฐานข้อมูลที่ใช้งานอยู่ได้โดยเรียกใช้คำสั่ง

mysql -V

หากใช้ MySQL ให้แก้ไข repository อัปเดตคีย์ของมัน และเพิ่ม Debian 11 security repository:

sed -i 's|bookworm|bullseye|g' /etc/apt/sources.list.d/mysql.list
echo "deb http://security.debian.org/debian-security bullseye-security main" > /etc/apt/sources.list.d/bullseye-security.list
wget -q -O - http://repo.mysql.com/RPM-GPG-KEY-mysql |apt-key add -

สำหรับ MariaDB ที่ต่ำกว่า 10.5 ให้ใช้:

sed 's/10.[0-9]/11.1/' /etc/apt/sources.list.d/mariadb.list
  1. อัปเดตแพ็กเกจ
apt update
apt dist-upgrade
  1. ติดตั้ง PHP 8.2 พร้อมโมดูลพื้นฐาน, PHP7.3-FPM และโมดูล Apache2
apt install -f php php-fpm libapache2-mod-php libapache2-mod-php8.2 php-common php8.2-cgi php8.2-cli php8.2-common php8.2-curl php8.2-gd php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php8.2-xmlrpc php-imagick php-memcached

phpenmod calendar ctype curl dom exif fileinfo ftp gd gettext iconv mbstring mysqli mysqlnd pdo pdo_mysql phar posix readline shmop simplexml sockets sysvmsg sysvsem sysvshm tokenizer xml xmlreader xmlrpc xmlwriter xsl opcache imagick memcached
  1. ย้ายการกำหนดค่า PHP-FPM
mv /opt/php82/etc/php-fpm.d/* /etc/php/8.2/fpm/pool.d/

rm /etc/php/7.4/fpm/pool.d/www.conf

mv /etc/php/7.4/fpm/pool.d/* /opt/php74/etc/php-fpm.d/
  1. แทนที่ PHP 7.4
apt-get purge php7.4*
  1. เปิดใช้งาน PHP 8.2
a2enmod php8.2
  1. แก้ไขเวอร์ชัน PHP ในฐาน FASTPANEL
sqlite3 /usr/local/fastpanel2/app/db/fastpanel2.db "update site set php_version = 82 where mode = 'mpm_itk';"
  1. ติดตั้งคอมโพเนนต์ Dovecot ที่จำเป็นสำหรับการรับเมล
apt install dovecot-lmtpd
  1. กำหนดค่าบริการใหม่
mogwai services configure -f
  1. การกำหนดค่าเพิ่มเติมตามเซิร์ฟเวอร์ฐานข้อมูลที่ใช้

สำหรับ MariaDB - เรียกใช้ mysql_upgrade

mysql_upgrade
  1. รีสตาร์ทเซิร์ฟเวอร์
reboot
  1. ตรวจสอบให้แน่ใจว่าบริการทั้งหมดเริ่มทำงานหลังจากรีบูต
systemctl --failed

การอัปเกรดเสร็จสมบูรณ์