Инструменты пользователя

Инструменты сайта


обновление_сервера_безопасности_убунту2004

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
обновление_сервера_безопасности_убунту2004 [2023/04/11 11:15]
evgeniy
обновление_сервера_безопасности_убунту2004 [2023/06/02 09:08] (текущий)
infra
Строка 1: Строка 1:
 +
 +<note warning>​Перед обновлением Ubuntu18.04 на Ubuntu20.04 настоятельно рекомендуется снять snapshot сервера,​ и backup версии 6.26.3!</​note>​
 +
 ====== Обновление Security Server Ubuntu 18.04 до 20.04 на месте ====== ​ ====== Обновление Security Server Ubuntu 18.04 до 20.04 на месте ====== ​
 В этом документе описываются шаги, необходимые для обновления автономного хоста Security Server с версии Ubuntu 18.04 LTS до Ubuntu 20.04 LTS. Пожалуйста,​ внимательно прочитайте весь документ перед началом процесса обновления. Предполагается,​ что читатель знаком с дистрибутивом Ubuntu Linux и имеет опыт обновления версии Ubuntu. В этом документе описываются шаги, необходимые для обновления автономного хоста Security Server с версии Ubuntu 18.04 LTS до Ubuntu 20.04 LTS. Пожалуйста,​ внимательно прочитайте весь документ перед началом процесса обновления. Предполагается,​ что читатель знаком с дистрибутивом Ubuntu Linux и имеет опыт обновления версии Ubuntu.
Строка 16: Строка 19:
   *      Обновите все пакеты до последних версий:​   *      Обновите все пакеты до последних версий:​
 <​code> ​ <​code> ​
-apt update && apt full-upgrade+sudo apt update && apt full-upgrade
 </​code>​ </​code>​
    
Строка 29: Строка 32:
   *      Остановите сервер безопасности и запретите его автоматический запуск при загрузке:​   *      Остановите сервер безопасности и запретите его автоматический запуск при загрузке:​
 <​code>​ <​code>​
-sudo systemctl stop "​xroad-*"​ +sudo systemctl stop "​xroad-*"​ 
-sudo systemctl disable xroad-proxy xroad-signer xroad-confclient ​xroad-jetty ​xroad-monitor xroad-opmonitor  +sudo systemctl disable xroad-proxy xroad-signer xroad-confclient xroad-monitor xroad-opmonitor ​xroad-proxy-ui-api xroad-base 
-sudo systemctl list-units "xroad-*"+sudo systemctl list-unit-files | grep "​xroad"​
 </​code>​ </​code>​
    
 +<note warning>​Этот пункт обязателен и не стоит его игнорировать. Перед обновлением ОБЯЗАТЕЛЬНО нужно отключить xroad и убрать их из автозапуска.</​note>​
 +
         *      При необходимости сделайте резервную копию базы данных журнала сообщений. Без резервного копирования сбой в процессе обновления может привести к потере данных.         *      При необходимости сделайте резервную копию базы данных журнала сообщений. Без резервного копирования сбой в процессе обновления может привести к потере данных.
   *          См. https://​www.postgresql.org/​docs/​10/​backup.html.   *          См. https://​www.postgresql.org/​docs/​10/​backup.html.
   *          Использование pg_dump является простым вариантом,​ но может быть проблематичным,​ если база данных очень велика:​   *          Использование pg_dump является простым вариантом,​ но может быть проблематичным,​ если база данных очень велика:​
 <​code>​ <​code>​
-sudo -iu postgres pg_dump -d messagelog -F c -f <​dump_file> ​+sudo -iu postgres pg_dump -d messagelog -F c -f <​dump_file> ​
 </​code>​ </​code>​
  
Строка 48: Строка 53:
   *          См. https://​www.postgresql.org/​docs/​10/​backup.html.   *          См. https://​www.postgresql.org/​docs/​10/​backup.html.
 <​code>​ <​code>​
-sudo -iu postgres pg_dump -d "​op-monitor"​ -F c -f <​dump_file>​+sudo -iu postgres pg_dump -d "​op-monitor"​ -F c -f <​dump_file>​
 </​code>​ </​code>​
 ==== Обновление Ubuntu 18.04 до 20.04 ==== ==== Обновление Ubuntu 18.04 до 20.04 ====
   * Установите update-manager-core,​ если он еще не установлен.   * Установите update-manager-core,​ если он еще не установлен.
 <​code>​ <​code>​
-dpkg -l | grep "​update-manager-core"​+dpkg -l | grep "​update-manager-core"​
 </​code>​ </​code>​
   * Убедитесь,​ что для строки подсказки в файле /​etc/​update-manager/​release-upgrades установлено значение «lts».   * Убедитесь,​ что для строки подсказки в файле /​etc/​update-manager/​release-upgrades установлено значение «lts».
 <​code>​ <​code>​
-grep "​Prompt=lts"​ /​etc/​update-manager/​release-upgrades+$ sudo grep "​Prompt=lts"​ /​etc/​update-manager/​release-upgrades
 </​code>​ </​code>​
   * Запустите средство обновления с помощью команды ​   * Запустите средство обновления с помощью команды ​
 <​code>​ <​code>​
-sudo do-release-upgrade+sudo do-release-upgrade
 </​code>​ </​code>​
   * Следуйте инструкциям на экране.   * Следуйте инструкциям на экране.
Строка 72: Строка 77:
   * //Не удаляйте версию 10 (основную),​ работающую через порт 5432//.   * //Не удаляйте версию 10 (основную),​ работающую через порт 5432//.
 <​code>​ <​code>​
-sudo pg_dropcluster --stop <​version,​ e.g. 12> main+sudo pg_dropcluster --stop <​version,​ e.g. 12> main
 </​code>​ </​code>​
 === Пример === === Пример ===
Строка 85: Строка 90:
   * Обновите старую базу данных до версии 12.   * Обновите старую базу данных до версии 12.
  
-Вспомогательный скрипт Ubuntu pg_upgradecluster по умолчанию создает дамп старой базы данных,​ что может потребовать много времени и свободного места на диске, если база данных большая. Параметр --method=upgrade вместо этого использует pg_upgrade, а параметр --link позволяет избежать копирования файлов данных. +<note important>​Вспомогательный скрипт Ubuntu pg_upgradecluster по умолчанию создает дамп старой базы данных,​ что может потребовать много времени и свободного места на диске, если база данных большая. Параметр --method=upgrade вместо этого использует pg_upgrade, а параметр --link позволяет избежать копирования файлов данных. 
-(!)Использование --link требует,​ чтобы новая и старая базы данных находились в одной и той же файловой системе. См. https://​www.postgresql.org/​docs/​12/​pgupgrade.html для получения подробной информации и инструкций по восстановлению.+(!)Использование --link требует,​ чтобы новая и старая базы данных находились в одной и той же файловой системе. См. https://​www.postgresql.org/​docs/​12/​pgupgrade.html для получения подробной информации и инструкций по восстановлению.</​note>​
 <​code>​ <​code>​
-sudo pg_upgradecluster --method=upgrade --link 10 main+sudo pg_upgradecluster --method=upgrade --link 10 main
 </​code>​ </​code>​
 === Пример === === Пример ===
Строка 99: Строка 104:
 12  main    5432 online postgres /​var/​lib/​postgresql/​12/​main ​ /​var/​log/​postgresql/​postgresql-12-main.log 12  main    5432 online postgres /​var/​lib/​postgresql/​12/​main ​ /​var/​log/​postgresql/​postgresql-12-main.log
 </​code>​ </​code>​
-=== Обновите репозиторий пакетов X-Road, чтобы он указывал на пакеты Ubuntu 20.04. ===+=== Обновите репозиторий пакетов X-Road, чтобы он указывал на пакеты Ubuntu 20.04, версии 6.26.3 ===
  
-  * Обновите репозиторий apt:+Удалить репозитории https://​deb.ordo.gov.kg/​ubuntu18.04-6.26.3
 <​code>​ <​code>​
-sudo apt-add-repository -r "deb https://artifactory.niis.org/​xroad-release-deb bionic-current main"​ +sudo rm -rf /etc/apt/sources.list.d/*
-sudo apt-add-repository "deb https://​artifactory.niis.org/xroad-release-deb focus-current main"+
 </​code>​ </​code>​
-(или отредактируйте файл /​etc/​apt/​sources.list напрямую) 
  
-=== Обновите пакеты ===+Добавить репозиторий в список источников ​пакетов ОС
 <​code>​ <​code>​
-sudo apt update && sudo apt full-upgrade+$ echo "deb https://​deb.ordo.gov.kg/​ubuntu20.04-6.26.3 /" |  ​sudo tee -a /etc/apt/​sources.list.d/​xroad.list
 </​code>​ </​code>​
 +
 +Произвести обновление обновление системы
 <​code>​ <​code>​
-sudo systemctl enable "xroad-*" +sudo apt-get update && apt full-upgrade
-sudo systemctl start "xroad-*"+
 </​code>​ </​code>​
-=== Убедитесь, что ​службы ​сервера безопасности ​работают и система отвечает ===+ 
 +Включить все службы ​X-Road ​в автозагрузку
 <​code>​ <​code>​
-systemctl ​list-units "xroad-*" "​postgresql@*"​ +$ sudo systemctl ​enable xroad-proxy xroad-signer xroad-confclient xroad-monitor ​xroad-opmonitor ​xroad-proxy-ui-api 
-  +</​code>​ 
-UNIT                       ​LOAD ​  ​ACTIVE SUB     ​DESCRIPTION ​                                             + 
-postgresql@12-main.service loaded active running PostgreSQL Cluster 12-main +Проверить все ли службы включены 
-xroad-base.service ​        ​loaded active exited ​ X-Road initialization +<​code>​ 
-xroad-confclient.service ​  ​loaded active running X-Road confclient ​                                 ​ +$ sudo systemctl list-units "xroad-*" 
-xroad-monitor.service ​     loaded active running ​X-Road ​Monitor* +</​code>​ 
-xroad-opmonitor.service ​   loaded active running X-Road opmonitor daemon+Стартовать службы ​X-Road: 
-xroad-proxy.service ​       loaded active running ​X-Road ​Proxy +<​code>​ 
-xroad-proxy-ui-api.service loaded active running X-Road Proxy UI REST API +$ sudo systemctl start "xroad-*" 
-xroad-signer.service ​      ​loaded active running X-Road signer+</​code>​ 
 +или 
 +<​code>​ 
 +$ sudo systemctl start xroad-proxy 
 +</​code>​ 
 +Установка выполнена успешно,​ если запущены системные службы и пользовательский интерфейс отвечаетЧтобы убедиться,​ что сервисы ​X-Road ​находятся в запущенном состоянии,​ задайте команду:​ 
 +<​code>​ 
 +$ sudo systemctl list-units "xroad*"
 </​code>​ </​code>​
-* если установлены надстройки для мониторинга 
  
 === Удаление старой базы данных и устаревших пакетов === === Удаление старой базы данных и устаревших пакетов ===
Строка 136: Строка 147:
 Убедившись,​ что обновление базы данных прошло успешно,​ удалите старую базу данных и удалите устаревшие пакеты PostgreSQL. Убедившись,​ что обновление базы данных прошло успешно,​ удалите старую базу данных и удалите устаревшие пакеты PostgreSQL.
 <​code>​ <​code>​
-sudo pg_dropcluster 10 main +sudo pg_dropcluster 10 main 
-sudo apt purge postgresql-10 +sudo apt purge postgresql-10 
-sudo apt autoremove+sudo apt autoremove
 </​code>​ </​code>​
  
Строка 144: Строка 155:
   * Если восстановление после сбоя обновления невозможно и имеется резервная копия/​моментальный снимок,​ можно восстановить его и начать заново.   * Если восстановление после сбоя обновления невозможно и имеется резервная копия/​моментальный снимок,​ можно восстановить его и начать заново.
   * Если ничего не помогло,​ выполните чистую установку Ubuntu 20.04 и восстановите конфигурацию сервера безопасности из резервной копии.   * Если ничего не помогло,​ выполните чистую установку Ubuntu 20.04 и восстановите конфигурацию сервера безопасности из резервной копии.
 +  * Если возникает проблема с locale, в данном случае нужно сделать export всех необходимых локалей. Пример проблемы:​
 +
 +<​code>​
 +pg_upgradecluster --method=upgrade --link 10 main
 +Stopping old cluster...
 +perl: warning: Setting locale failed.
 +perl: warning: Please check that your locale settings:
 + LANGUAGE = (unset),
 + LC_ALL = (unset),
 + LC_ADDRESS = "​ru_RU.UTF-8",​
 + LC_NAME = "​ru_RU.UTF-8",​
 + LC_MONETARY = "​ru_RU.UTF-8",​
 + LC_PAPER = "​ru_RU.UTF-8",​
 + LC_IDENTIFICATION = "​ru_RU.UTF-8",​
 + LC_TELEPHONE = "​ru_RU.UTF-8",​
 + LC_MEASUREMENT = "​ru_RU.UTF-8",​
 + LC_TIME = "​ru_RU.UTF-8",​
 + LC_NUMERIC = "​ru_RU.UTF-8",​
 + LANG = "​en_US.UTF-8"​
 +    are supported and installed on your system.
 +perl: warning: Falling back to a fallback locale ("​en_US.UTF-8"​).
 +Error: The locale requested by the environment is invalid:
 +  LANG: en_US.UTF-8
 +  LC_ADDRESS: ru_RU.UTF-8
 +  LC_IDENTIFICATION:​ ru_RU.UTF-8
 +  LC_MEASUREMENT:​ ru_RU.UTF-8
 +  LC_MONETARY:​ ru_RU.UTF-8
 +  LC_NAME: ru_RU.UTF-8
 +  LC_NUMERIC: ru_RU.UTF-8
 +  LC_PAPER: ru_RU.UTF-8
 +  LC_TELEPHONE:​ ru_RU.UTF-8
 +  LC_TIME: ru_RU.UTF-8
 +Error: Could not create target cluster
 +</​code>​
 +
 +Решение:​
 +
 +<​code>​
 +export LANG=en_US.UTF-8
 +export LC_ALL=en_US.UTF-8
 +export LC_ADDRESS=en_US.UTF-8
 +export LC_IDENTIFICATION=en_US.UTF-8
 +export LC_MEASUREMENT=en_US.UTF-8
 +export LC_MONETARY=en_US.UTF-8
 +export LC_NAME=en_US.UTF-8
 +export LC_NUMERIC=en_US.UTF-8
 +export LC_PAPER=en_US.UTF-8
 +export LC_TELEPHONE=en_US.UTF-8
 +export LC_TIME=en_US.UTF-8
 +update-locale
 +</​code>​
  
 +<note warning>​Следующий шаг - Пошаговая инструкция по обновлению сервера безопасности Тундук с версии 6.26.3 до версии 7.2.1 на Ubuntu20.04</​note>​
  
 +----
  
 +Автор Евгений Порядин,​ Тоомас Мёльдер,​ Ян Райк, Даниил Горбенко
обновление_сервера_безопасности_убунту2004.1681211748.txt.gz · Последние изменения: 2023/04/11 11:15 — evgeniy