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

อัปเกรด Ubuntu 18 เป็น Ubuntu 20

คำอธิบาย

ในบทความนี้ เราจะอธิบายกระบวนการอัปเกรดระบบปฏิบัติการจาก Ubuntu 18.04 เป็น Ubuntu 20.04

การอัปเกรด

คำเตือน

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

สำคัญ

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

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

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

  1. ตรวจสอบให้แน่ใจว่าคุณมีรีโพซิทอรีที่ถูกต้องใน /etc/apt/sources.list ดูรายการรีโพซิทอรีสำหรับ Ubuntu 18.04 ได้ด้านล่าง
รีโพซิทอรี Ubuntu 18
### Main repo for Ubuntu bionic
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse

### Updates repo for Ubuntu bionic
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse

### Security repo for Ubuntu bionic
deb http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse

### Backports repo for Ubuntu bionic
deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse

### Proposed repo for Ubuntu bionic
deb http://archive.ubuntu.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ bionic-proposed main restricted universe multiverse
  1. อัปเดตแพ็กเกจปัจจุบันทั้งหมดเป็นเวอร์ชันล่าสุด
apt update && apt dist-upgrade
  1. แก้ไขข้อผิดพลาดที่อาจเกิดขึ้นในการอัปเกรด proftpd และ apache2
a2dismod php7.2
sed -e 's/^IdentLookups/#IdentLookups/' -i /etc/proftpd/proftpd.conf
  1. ลบรายการ query-cache ทั้งหมดออกจากการกำหนดค่า mysql และปรับรีโพซิทอรี mysql:
sed -i 's/^query[_,-]cache[^ ]*//' /etc/mysql/my.cnf.fastpanel/99-fastpanel.cnf
  1. เรียกใช้การอัปเดต
do-release-upgrade --allow-third-party

หากยูทิลิตีไม่ได้ติดตั้งด้วยเหตุผลบางประการ คุณสามารถแก้ไขได้ด้วยคำสั่ง

apt install update-manager-core
สำคัญ

อ่านผลลัพธ์ของยูทิลิตีอย่างละเอียดก่อนยืนยัน และตรวจสอบให้แน่ใจว่าจะไม่มีสิ่งที่ไม่จำเป็นถูกลบออกในกระบวนการ

การอัปเกรดถือว่าสำเร็จหากระบบแจ้งให้คุณรีสตาร์ทเซิร์ฟเวอร์

ยอมรับการรีบูต

  1. ติดตั้ง PHP 7.4 พร้อมโมดูลพื้นฐาน, PHP7.4-FPM และโมดูลสำหรับ Apache2
apt-get install -f php php-fpm libapache2-mod-php libapache2-mod-php7.4 php-common php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc php-imagick php-memcached

phpenmod calendar ctype curl dom exif fileinfo ftp gd gettext json 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/php74/etc/php-fpm.d/* /etc/php/7.4/fpm/pool.d/
rm /etc/php/7.2/fpm/pool.d/www.conf
mv /etc/php/7.2/fpm/pool.d/* /etc/php/7.4/fpm/pool.d/
  1. แก้ไขเวอร์ชัน PHP ในฐานข้อมูล FASTPANEL
sqlite3 /usr/local/fastpanel2/app/db/fastpanel2.db "update site set php_version = 74 where mode = 'mpm_itk';"
  1. ติดตั้งคอมโพเนนต์ Dovecot ที่จำเป็นสำหรับการรับอีเมล
apt install dovecot-lmtpd
  1. กำหนดค่าบริการใหม่
mogwai services configure -f
  1. การกำหนดค่าเพิ่มเติมขึ้นอยู่กับเซิร์ฟเวอร์ฐานข้อมูลที่ใช้

สำหรับ MySQL 8 - เพิ่มการตั้งค่าความเข้ากันได้

echo 'disable-log-bin
mysqlx = OFF
default-authentication-plugin = mysql_native_password
character-set-server = utf8
collation-server = utf8_unicode_ci
' >> /etc/mysql/my.cnf.fastpanel/99-fastpanel.cnf

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

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

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