Обновляем Proxmox Mail Gateway с версии 6.x до 7.x

  • Автор:

pmg-upgrade-6-to-7-000.pngПродолжаем тему обновления специализированных продуктов на базе Debian, сегодня речь пойдет о системе для защиты почты Proxmox Mail Gateway. Это достаточно простой, но эффективный шлюз, позволяющий отсекать основные потоки спама и вредоносных вложений в сообщениях электронной почты. В целом обновление на новую версию не несет каких-либо сложностей и на сайте разработчиков есть официальная инструкция, но тем не менее читатели продолжают задавать вопросы по поводу обновления. Поэтому и появилась эта статья.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Данный материал создан на основе официальной инструкции и во многом повторяет ее, однако мы добавили в нее ряд возможно неочевидных, но достаточно важных действий.

Начнем с того, что обновление ОС - потенциально опасная операция, потеря контроля над ходом которой чревата самыми неприятными последствиями. Поэтому желательно производить ее непосредственно подключившись к консоли сервера, либо имея к нему физический доступ, если же это невозможно, то следует подстраховать себя от случайного обрыва связи используя такие утилиты как screen.

Об этом редко пишут в инструкциях, но если вы используете Proxmox Mail Gateway установленный на железо, то начните подготовку к обновлению с проверки состояния файловой системы. Очень часто бывает, что проблемы с накопителем незаметные при текущей эксплуатации могут проявиться при обновлении и привести к полному краху системы.

fsck -n -f

Если вы используете систему в контейнере Proxmox Virtual Environment, то включите в его свойствах вложенную виртуализацию Параметры - Features - Nesting :

pmg-upgrade-6-to-7-001.pngТеперь обновим систему до последнего выпуска в рамках текущей версии, для успешного обновления вы должны иметь версию PMG не ниже 6.4-4, это можно сделать как в графическом интерфейсе, так и из консоли, мы будем использовать здесь и далее только последний вариант:

apt update -y && apt full-upgrade -y && apt autoremove -y

Данный набор команд поочередно выполнит обновление списка пакетов, скачает и установит обновления и выполнит очистку. После чего систему следует перезагрузить.

Перед тем, как идти дальше создадим резервную копию текущей конфигурации Proxmox Mail Gateway:

pmgbackup backup

Копия создается в каталоге /var/lib/pmg/backup, советуем скопировать ее на надежный носитель за пределы сервера.

Теперь заменим репозитории системы с Debian 10 на Debian 11:

sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list

И репозитории самого Proxmox Mail Gateway, в нашем случае это некоммерческий репозиторий и возможно вам потребуется уточнить имя файла:

sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/pmg-no-subscription.list

Если у вас подключены сторонние репозитории, то на время обновления их следует отключить.

Остановим службы PMG:

systemctl stop postfix pmg-smtp-filter pmgpolicy pmgdaemon pmgproxy pmgmirror pmgtunnel

И замаскируем их:

systemctl mask postfix pmg-smtp-filter pmgpolicy pmgdaemon pmgproxy pmgmirror pmgtunnel

Маскировка отличается от выключения службы тем, то отключенную службу можно запустить вручную, с замаскированной это не удастся. В выводе команды отлично видно, как для юнитов создаются симлинки на /dev/null.

pmg-upgrade-6-to-7-002.pngТеперь обновим список пакетов в репозитории:

apt update

И выполним полное обновление системы:

apt full-upgrade

Как показывает практика, не все знают как правильно выйти из подобного окна, достаточно просто нажать q, если не нажимается - проверить раскладку клавиатуры.

pmg-upgrade-6-to-7-003.pngНа вопросы перезаписи измененных файлов конфигурации отвечаем нет (N) - это действие по умолчанию, достаточно просто нажать Enter.

pmg-upgrade-6-to-7-004.pngПосле завершение обновления не спешите перезагружаться, выполните сначала очистку системы от ненужных пакетов:

apt autoremove

Теперь систему следует перезагрузить.

Следующим шагом после перезагрузки будет апгрейд базы данных PostgreSQL, прежде всего удалим автоматически созданный кластер PostgreSQL 13:

pg_dropcluster --stop 13 main

И выполним преобразование существующего кластера:

pg_upgradecluster -v 13 11 main

В результате старый кластер версии 11 будет остановлен, а новый, версии 13 запущен, при этом сохраняется возможность запуска предыдущей версии на порту 5433:

pmg-upgrade-6-to-7-005.pngСнимем маскировку с ряда служб PMG:

systemctl unmask postfix pmg-smtp-filter pmgpolicy pmgdaemon pmgproxy

И перезагрузим сервер.

Затем снимаем маскировку еще с двух служб и запускаем их:

systemctl unmask pmgmirror pmgtunnel
systemctl start pmgmirror pmgtunnel

Теперь можем войти в веб-интерфейс и проверить работоспособность обновленного продукта:

pmg-upgrade-6-to-7-006.pngЕсли все хорошо - можем удалить старый кластер PostgreSQL:

apt purge postgresql-11 postgresql-client-11

На этом обновление Proxmox Mail Gateway до версии 7.x можно считать законченным.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments