Введение


Как вы, возможно, знаете, недавно была представлена ОС Linux Debian 9 Stretch, получившая множество замечательных обновлений: поддержка нового оборудования, улучшения в менеджере пакетов apt, улучшения системы безопасности и другие.

У наших клиентов возникает вопрос: должны ли мы продолжать работать с Debian 8 или можно как-то обновить систему 3CX на платформу Debian 9?

Разумеется можно! Прежде всего, рекомендуем попробовать ISO образ 3CX, в котором уже используется Debian 9 вместе с последней версией сервера 3CX.
Однако, если у вас уже работает сервер телефонии, и вы просто хотите обновить ОС, используйте приведенные ниже инструкции.

Обновление Debian


Данные инструкции касаются систем, использующих стоковый Debian 8 или ISO образ 3CX for Debian 8. Если вы устанавливали дополнительные пакеты или использовали систему для других задач, кроме 3CX, учитывайте это при обновлении.

Итак, приступим!

Да начала очистим apt кэш, чтобы освободить место для установки обновлений.  

apt-get clean

Теперь установим последние обновления на Debian 8. Это позволит начать переход на Debian 9 с наиболее свежей сборки Debian 8 и избежать возможных проблем. Это стандартная рекомендация при обновлении.

apt -y --force-yes update
apt -y --force-yes upgrade

Перейдем в репозиторий 3CX Stretch (до этого использовался репозиторий 3CX Jessie).

echo "deb http://downloads.3cx.com/downloads/debian stretch main" | tee /etc/apt/sources.list.d/3cxpbx.list

Команда sed находит все записи с именем «jessie» в /etc/apt/sources.list и заменяет его на «stretch»:

sed -i s/jessie/stretch/g /etc/apt/sources.list

Теперь обновим и переиндексируем репозиторий.
apt -y --force-yes update

Удалим пакеты 3CX, чтобы начать обновление чистой системы Linux. Удаление программных пакетов 3CX не удаляет конфигурацию и данные 3CX!

apt -y --force-yes remove 3cxpbx

Запустим обновление ОС на Stretch.

apt -y --force-yes upgrade

В процессе обновления появится несколько вопросов. Если вы не имеете опыта работы с Linux, лучше всего просмотреть это видео, чтобы понять, какие опции выбрать.

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

apt -y --force-yes dist-upgrade

В данный момент Debian обновлена, зависимости в порядке и компоненты 3CX удалены (кроме данных). Осталось разобраться с версий базы данных Postgress.



Debian Stretch поставляется в более новой версией БД Postgress (9.6), чем та, которую 3CX использовала в Debian Jessie (9.4). Сперва убедимся, что в системе установлена последняя версия Postgress.

apt -y --force-yes install postgresql-9.6 postgresql-client-9.6

Останавливаем старый кластер

pg_dropcluster --stop 9.6 main

и обновляем его

pg_upgradecluster 9.4 main

Установим остальные зависимости 3CX (libcurl).

apt -y --force-yes install libcurl3=7.38.0-4+deb8u5

А теперь, когда все готово, можно установить 3CX.

apt -y --force-yes install 3cxpbx

Проверка системы и удаление лишних компонентов


Проверим, что 3CX установлена и успешно запущена. Подключитесь к интерфейсу управления и убедитесь, что все настройки сохранились, сервисы 3CX работают и т.п.

Если все в порядке, стоит удалить лишние компоненты, в частности старый кластер 9.4.

pg_dropcluster --stop 9.4 main

Удалим другие компоненты предыдущей системы. Они уже неактуальны, и вы просто освобождаете место на диске.

apt-get -y --force-yes autoremove

Снова очистим кэш пакетов, чтобы оставить побольше места для 3CX

apt-get clean

и перезапустим систему

shutdown -r now

Проверим, что система Debian обновлена (должно показать версию 9.2)

cat /etc/debian_version

Проверка версии ядра

uname -a

Должна выдать примерно такое

Linux mydebian 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux 

Готовый скрипт


Как видите, ничего сложного. Но чтобы упростить вам жизнь, мы предлагаем готовый скрипт update.sh, который сделает все это автоматически. Его также стоит использовать, если вы обслуживаете много систем 3CX.

Сохраните его на диске, а затем выполните команду, которая сделает его исполняемым,

Chmod 777 ./update.sh

и выполните

./update.sh

Заключение


Надеюсь, это руководство будет полезно, особенно для системных администратором с небольшим опытом работы в Linux. Я еще раз рекомендую просмотреть видеоролик, где описывается работа этого скрипта. В ролике можно включить перевод титров на русский.

Комментарии (0)