Оновлення Ubuntu 18 до Ubuntu 20
Опис
У цій статті ми опишемо процес оновлення ОС з Ubuntu 18.04 до Ubuntu 20.04.
Оновлення
Перед оновленням операційної системи ми наполегливо рекомендуємо створити повну резервну копію всіх даних на сервері. Це слугуватиме страховкою на випадок проблем, даючи змогу відновити систему в разі аварійної ситуації.
Усі команди під час оновлення ОС виконуються в терміналі сервера від імені користувача root.
Відмовляйтеся від пропозицій системи замінити файли конфігурації (типова дія).
Назви файлів репозиторіїв у /etc/apt/sources.list.d вашої ОС можуть відрізнятися від тих, що використовуються в цій інструкції.
- Переконайтеся, що у
/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
- Оновіть усі поточні пакунки до найновіших версій
apt update && apt dist-upgrade
- Усуньте можливі помилки оновлення proftpd і apache2
a2dismod php7.2
sed -e 's/^IdentLookups/#IdentLookups/' -i /etc/proftpd/proftpd.conf
- Видаліть усі записи query-cache з конфігурації mysql і скоригуйте репозиторій mysql:
sed -i 's/^query[_,-]cache[^ ]*//' /etc/mysql/my.cnf.fastpanel/99-fastpanel.cnf
- Запустіть оновлення
do-release-upgrade --allow-third-party
Якщо з якоїсь причини утиліту не встановлено, ви можете виправити це командою
apt install update-manager-core
Уважно прочитайте вивід утиліти перед підтвердженням, переконайтеся, що в процесі не буде видалено нічого зайвого.
Оновлення вважається успішним, якщо система запропонує вам перезавантажити сервер.
Підтвердьте перезавантаження
- Установіть 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
- Замініть конфігурацію 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/
- Виправте версію PHP у базі FASTPANEL
sqlite3 /usr/local/fastpanel2/app/db/fastpanel2.db "update site set php_version = 74 where mode = 'mpm_itk';"
- Установіть компонент Dovecot, необхідний для отримання пошти
apt install dovecot-lmtpd
- Переналаштуйте служби
mogwai services configure -f
- Додаткова конфігурація залежно від використовуваного сервера бази даних
Для 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
- Перезавантажте сервер
reboot
- Переконайтеся, що після перезавантаження всі служби запущено
systemctl --failed
Оновлення завершено.