อัปเกรด Debian 11 เป็น Debian 12
คำอธิบาย
ในบทความนี้ เราจะอธิบายกระบวนการอัปเกรด OS จาก Debian 11 เป็น Debian 12
การอัปเกรด
ก่อนอัปเกรดระบบปฏิบัติการ เราขอแนะนำอย่างยิ่งให้สำรองข้อมูลทั้งหมดบนเซิร์ฟเวอร์แบบเต็ม สิ่งนี้จะทำหน้าที่เป็นหลักประกันในกรณีที่เกิดปัญหา ช่วยให้คุณสามารถกู้คืนระบบได้ในกรณีฉุกเฉิน
คำสั่งทั้งหมดระหว่างการอัปเกรด OS จะดำเนินการในเทอร์มินัล ของเซิร์ฟเวอร์ภายใต้ผู้ใช้ root
ปฏิเสธคำแนะนำของระบบในการแทนที่ไฟล์การกำหนดค่า (การทำงานเริ่มต้น)
ชื่อของไฟล์ repository ใน /etc/apt/sources.list.d ของ OS ของคุณอาจแตกต่างจากชื่อที่ใช้ในคำแนะนำนี้
- ตรวจสอบให้แน่ใจว่าคุณมี 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
- อัปเดตแพ็กเกจปัจจุบันทั้งหมดเป็นเวอร์ชันล่าสุด
apt update && apt dist-upgrade
- แทนที่รายการ 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
- แก้ไขข้อผิดพลาดที่อาจเกิดขึ้นในการอัปเกรด apache2
a2dismod php7.4
- อัปเดตแพ็กเกจ เรียกใช้คำสั่งต่อไปนี้ทีละคำสั่ง
apt update
apt upgrade
apt dist-upgrade
- อัปเดต repository อื่น ๆ
sed -i 's|bullseye|bookworm|g' /etc/apt/sources.list.d/*.list
- เพิ่มคีย์ 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
- อัปเดตแพ็กเกจ
apt update
apt dist-upgrade
- ติดตั้ง 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
- ย้ายการกำหนดค่า 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/
- แทนที่ PHP 7.4
apt-get purge php7.4*
- เปิดใช้งาน PHP 8.2
a2enmod php8.2
- แก้ไขเวอร์ชัน PHP ในฐาน FASTPANEL
sqlite3 /usr/local/fastpanel2/app/db/fastpanel2.db "update site set php_version = 82 where mode = 'mpm_itk';"
- ติดตั้งคอมโพเนนต์ Dovecot ที่จำเป็นสำหรับการรับเมล
apt install dovecot-lmtpd
- กำหนดค่าบริการใหม่
mogwai services configure -f
- การกำหนดค่าเพิ่มเติมตามเซิร์ฟเวอร์ฐานข้อมูลที่ใช้
สำหรับ MariaDB - เรียกใช้ mysql_upgrade
mysql_upgrade
- รีสตาร์ทเซิร์ฟเวอร์
reboot
- ตรวจสอบให้แน่ใจว่าบริการทั้งหมดเริ่มทำงานหลังจากรีบูต
systemctl --failed
การอัปเกรดเสร็จสมบูรณ์