Перейти к основному содержимому

05 Использование пакетных репозиториев

Установка компонентов Luxms BI c использованием пакетов облегчает развертывание, обновление и восстановление предыдущей версии. Все пакеты компонентов имеют версию SemVer, состоящую из 3 чисел, и временную метку, содержащую дату сборки пакета.

При установке пакетов Luxms BI может потребоваться доступ к публичным репозиториям стороннего программного обеспечения. Информация о необходимых дополнительных репозиториях указана далее для всех компонентов.

Доступ к пакетным репозиториям может быть настроен несколькими путями, мы рассмотрим два наиболее популярных:

  • создание собственного Инфраструктурного решения по зеркалированию пакетных репозиториев;
  • подключение к пакетным репозиториям Производитея ПО.
к сведению

Рекомендуем использование зеркалирования репозиториев для обеспечения независимости Клиентов от стабильности каналов связи и для исключения многократной утилизации канала связи для повторного получения пакетов.

В качестве решений по реализации собственного зеркала пакетных репозиториев можем порекомендовать следующий перечень решений:

  1. Foreman(with Katello plugin) - бесплатное OpenSource решение предоставляющее, кроме управления зеркалами репозиториев, функционал управления серверами. Поддерживает как YUM, так и DEB-репозитории.

  2. Sonatype Nexus repository OSS - бесплатный вариант проксирующего сервера контента. Может быть использован как проксирующий сервер для различных артефактов , включая Maven, PyPi, NodeJS и других.

  3. Aptly бесплатное OpenSource решение для полноценного управления Deb-репозиториями.

Особые настройки для репозиториев ОС

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

осторожно

Мы не можем повлиять на их политику управления пакетными репозиториями.
Мы можем предложить только решения, позволяющие снизить негативный эффект.

Операционные системы ALSE 1.7/1.8

При выпусках обновлений безопасности, возможно удаление пакетов NGinx.
Для обеспечения доступности пакета с более ранней версией, необходимо будет настроить frozen-репозиторий с предыдущим обновлением безопасности. Например, для обеспечения доступности пакета nginx (=1.22.1-9) нужно добавить следующую строчку в конфигурационный файл /etc/apt/sources.list:

deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.5/repository-extended/ 1.7_x86-64 main contrib non-free

Соответсвенно, при корректной настройке /etc/apt/preference.d, пакет с более ранней версией будет доступен к установке.

Подключение к собственному зеркалу репозиториев

В зависимости от действующего в Вашей ИТ-Инфраструктуре решения по организации доступа к пакетным репозиториям, подключение хостов должно производиться в соответствии с внутренними нормативными документами. И не может быть произведено с помощью “релизных” пакетов из репозиториев Производителей ПО, в том числе и к зеркалам репозиториев Luxms BI.

Подключение к репозиториям Luxms BI

осторожно

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

Мы отказались от выпуска “релизных” пакетов для наших репозиториев, содержащих конфигурацию для подключения к нашему публичному Репозиторию:

  • большинство крупных инсталляций использует собсвенные зеркала репозиториев;
  • случайная установка релизного пакета поломает схему обновления, в таких условиях;
  • небольшие инсталляции, одно-узловые и/или без зеркальных репозиториев, не требуют больших затрат на настройку подключения к репозиториям.

Обновление корневых сертификатов

Подключение репозиториев или установка из них пакетов может не работать на ваших серверах, если корневые сертификаты ОС давно не обновлялись вручную и/или не обновляются автоматически.

В этом случае вам нужно загрузить пакет с корневыми сертификатами вручную и установить его.

Для RPM-based ОС:

sudo dnf -y update ca-certificates  
sudo update-ca-trust

Если Вы используете собственные центры сертификации, то необходимо создать файлы сертификатов корневого(и промежуточных) CA в папке /etc/pki/ca-trust/source/anchors/ в PEM-формате, с расширением .crt. После чего выполнить ручное обновление сертификатов командой:

sudo update-ca-trust

Для Deb-based ОС:

apt update
apt install ca-certificates

Если Вы используете собственные центры сертификации, то необходимо создать файлы сертификатов корневого(и промежуточных) CA в папке /usr/local/share/ca-certificates/ в PEM-формате, с расширением .crt. После чего выполнить ручное обновление сертификатов командой:

update-ca-certificates

Настройка подключение к репозиториям для RedHat-based ОС

Конфигурации для подключения к YUM-репозиторию /etc/yum.repos.d/luxmsbi.repo, который выглядит следующим образом для ОС базирующихся на базе Enterprise Linux:

[luxms-thirdparty]
name=Luxms 3rd-party packages
baseurl=https://download.luxms.ru/repository/thirdparty/el/$releasever/$basearch/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms

[luxms-bi10]
name=Luxms BI 10 Repository
baseurl=https://download.luxms.ru/repository/[REPO]/10/el/$releasever/$basearch/
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms
#username=
#password=

Для окончательной настройки доступа к репозиториям LuxmsBI необходимо:

  • Указать имя репозитория в параметре baseurl= вместо [REPO] (иногда название репозитория совпадает с именем учетной записи);
  • Удалить знак комментария и указать имя учетной записи в параметре username=;
  • Удалить знак комментария и указать пароль учетной записи в параметре password=.

Для настройки репозиториев под ОС RedOS базовые URL-ы выглядят чуть по другому:

[luxms-thirdparty]
name=Luxms 3rd-party packages
baseurl=https://download.luxms.ru/repository/thirdparty/redos/8/$basearch/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms

[luxms-bi10]
name=Luxms BI 10 Repository
baseurl=https://download.luxms.ru/repository/[REPO]/10/redos/8/$basearch/
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms
#username=
#password=
к сведению

При развертывании на других RPM-based дистрибутивах необходимо корректно изменить URI с учетом значения переменной $releasever для конкретной ОС. Например для Oracle Linux 9, поможет простая замена на статическую версию:

baseurl=https://download.luxms.ru/repository/[REPO]/10/el/9/$basearch/

baseurl=https://download.luxms.ru/repository/thirdparty/10/el/9/$basearch/

Для облегчения процесса получения RPM-пакетов программного обеспечения с открытым исходным кодом сторонних разработчиков ПО, дополнительно настраивается репозиторий luxms-thirdparty. Этот репозиторий не требует аутентификации.

Настройка подключения к репозиториям ALSE

Для версии Astra Linux SE 1.7 выглядит следующим образом:

# Replace password with yours in links.
deb [ arch=amd64 ] https://[customer]:[password]@download.luxms.ru/repository/alse-bi9 1.7_x86-64 main
deb [trusted=yes] https://download.luxms.ru/repository/thirdparty-alse18 1.7_x86-64 main

Для версии Astra Linux SE 1.8:

# Replace password with yours in links.
deb [ arch=amd64 ] https://[customer]:[password]@download.luxms.ru/repository/alse-bi9 1.8_x86-64 main
deb [trusted=yes] https://download.luxms.ru/repository/thirdparty-alse18 1.8_x86-64 main

где:

  • [customer] - учетная запись клиента, для доступа к репозиториям;
  • [password] - пароль к учетной записи.

Количество строк в конфигурационном файле зависит от наличия заказной разработки ПО. Если Вы получаете от нас дополнительное ПО, то к основному репозиторию может быть добавлен персонализированный, например:

deb [ arch=amd64 ] https://[customer]:[password]@download.luxms.ru/repository/alse-[customer] 1.7_x86-64 main

Для окончательной настройки доступа к репозиториям Luxms BI необходимо:

  • Проверить корректность имени учетной записи в URL-е репозитория, вместо [customer].
  • Заменить password на пароль учетной предоставленной записи.

Безопасность аутентификационных данных для доступа к репозиториям может быть обеспечена использованием apt_auth.conf.
Также можно воспользоваться командой man apt_auth.conf

Аутентификационные данные для репозитория Luxms BI устанавливаются в конфигурационном файле /etc/apt/auth.conf.d/luxmsbi.conf:

осторожно

В примере использованы нереальные значения для учетной записи и пароля.
Получите Ваш пароль через менеджера партнера или производителя Luxms BI.

machine download.luxms.ru
login AstraLinux
password CoolPassword

После настройки Вы можете смело поменять разрешения на конфигурации файлов, содержащие пароли:

chmod 600 /etc/apt/auth.conf /etc/apt/auth.conf.d/*.conf
chmod 700 /etc/apt/auth.conf.d
осторожно

Замечена неработоспособность при использовании специального символа “@”, поэтому при настройке рекомендуем проверить совместимость содержимого пароля с этим функционалом.

Настройка верификации пакетов

Ручная установка репозитория требует дополнительно регистрацию публичного PGP-ключа для проверки цифровой подписи пакетов при установке.

Для RPM-based ОС:

sudo curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms \
https://download.luxms.ru/repository/thirdparty/RPM-GPG-KEY-Luxms
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Luxms

Для Deb-based ОС:

wget -q -O - \
https://download.luxms.ru/repository/thirdparty/RPM-GPG-KEY-Luxms \
| sudo apt-key add -

После настройки репозитория рекомендуем обновить локальный кеш пакетов:

sudo apt update