Установка MSSQL на Astra Linux Orel 2.12.44
В связи с интересными историческими событиями, импортозамещением в стране, да и просто потому что было скучно, прилетела по работе задача:
-«Наши клиенты переходят на «Астру», необходимо запустить на ней наше ПО, которое умеет работать только с MSSQL»
Сказано — сделано:
Подключаем репозитории Debian:
sudo apt update && sudo apt upgrade -y
sudo apt install debian-archive-keyring dirmngr -y
sudo nano /etc/apt/sources.list
Вставляем в конец файла(пишем в последнюю пустую строку):
deb https://mirror.yandex.ru/debian/ stretch main contrib non-free
Сохраняем файл Ctrl + O -> Enter
Выходим из редактора Ctrl + X
sudo apt update
_________________________________________
Меняем локали: (некоторые утилиты MSSQL требуют en_US локаль системы)
sudo apt install locales –y
sudo bash
echo «en_US.UTF-8 UTF-8» > /etc/locale.gen
locale-gen LANG=en_US.UTF-8
localectl set-locale LANG=en_US.UTF-8
reboot
После перезагрузки проверяем чтобы локаль встала:
sudo bash
echo $LANG
Вывод должен быть «en_US.UTF-8»
Подключаем репозитории Microsoft:
Загружаем сертификат:
sudo wget —no-check-certificate -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add —
Терминал должен вывести сообщение «ОК»
Установка MSSQL:
Установка пакетов и библиотек:
sudo apt install libodbc1 -y
sudo apt install unixodbc -y
sudo apt install msodbcsql -y
sudo apt install mssql-tools -y
sudo apt install unixodbc-dev -y
Установка инструментов:
sudo apt install libc++1 -y
sudo apt install libsss-nss-idmap0 -y
sudo apt install hostname -y
sudo apt install libcurl3 -y
sudo apt install gdb -y
sudo apt install libunwind8 -y
Добавляем каталог с инструментами в переменную PATH:
sudo echo ‘export PATH=»$PATH:/opt/mssql-tools/bin»‘ >> ~/.bash_profile
sudo echo ‘export PATH=»$PATH:/opt/mssql-tools/bin»‘ >> ~/.bashrc
sudo bash
source ~/.bashrc
exit
Скачиваем и устанавливаем MSSQL Server: (mssql-server лучше установить вручную с отключенной проверкой зависимости от openssl)
сd /tmp
apt download mssql-server
sudo apt install libsasl2-modules-gssapi-mit && sudo apt –fix-broken install
sudo dpkg —ignore-depends=openssl -i mssql-server_14.*.deb
Настраиваем SQL Server:
sudo /opt/mssql/bin/mssql-conf setup
Будут заданы вопросы, отвечаем правду, только правду и ничего кроме правды в зависимости от ваших потребностей
Проверяем запустился ли сервер:
systemctl status mssql-server.service
Пробуем подключаться (Например чрез Managment Studio на Windows машине)
После всех манипуляций можно отключить репы дебиана что бы не брать с них обновления (достаточно закоментировать строчку)
Аннотация
Программное обеспечение расширенного репозитория является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.
При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере) [п. 7.2 РукКСЗ1]. При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном [п. 7.2.1] или выделенном [п. 7.2.7] уровне МКЦ.
Не допускается одновременно использовать расширенный и основной/базовый репозитории из разных версий оперативных обновлений.
В данной статье представлена инструкция по установке и первичной настройке СУБД MariaDB в Astra Linux Special Edition x.7 с подключенным расширенным (extended) репозиторием . На момент написания статьи в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) доступны следующие версии СУБД MariaDB:
- обновление БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2):
- 1:10.3.34-0+deb10u1 — в компоненте main расширенного репозитория;
- 1:10.3.34-0+deb10u1 — в базовом репозитории;
- 1:10.3.31-0+deb10u1+b1- в компоненте astra-ce расширенного репозитория;
- 1:10.3.27-0+deb10u1 — в базовом репозитории;
Установка полноценной СУБД MariaDB должна выполняться из расширенного репозитория. Подробнее про состояние, структуру и использование репозиториев см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования .
Что такое СУБД MariaDВ
Общая информация
MariaDB — ответвление от системы управления базами данных MySQL, разрабатываемое сообществом под лицензией GNU GPL. Причиной создания стала необходимость обеспечения свободного статуса СУБД, в противовес политике лицензирования MySQL компанией Oracle. MariaDB обеспечивает высокую совместимость с MySQL и точное соответствие с API и командами MySQL. В состав MariaDB включена подсистема хранения данных XtraDB для возможности замены InnoDB, как основной подсистемы хранения.
Оригинальная документация СУБД MariaDB
Оригинальная документация СУБД MariaDB доступна по ссылке: https://mariadb.org/documentation/
Установка пакетов
- Подключить репозитории:
- основной репозиторий и актуальное оперативное обновление основного репозитория;
- актуальное оперативное обновление базового репозитория;
- актуальное оперативное обновление расширенного репозитория, включая компонент astra-ce для обновлений ниже обновления БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2);
Если в используемом обновлении ОС пакеты, находящихся в основном/базовом и в расширенном репозиториях, имеют одинаковые версии, то репозиторий, из которого необходимо установить пакет, должен быть указан в списке репозиториев первым.
mariadb-server: Установлен: 1:10.3.34-0+deb10u1 Кандидат: 1:10.3.34-0+deb10u1 Таблица версий: *** 1:10.3.34-0+deb10u1 900 900 https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64/main amd64 Packages 100 /var/lib/dpkg/status 1:10.3.34-0+deb10u1 900 900 https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base 1.7_x86-64/main amd64 Packages
строка 100 /var/lib/dpkg/status указывает репозиторий, из которого установлен пакет (в данном случае — интернет-репозиторий https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended ).
sudo systemctl status mariadb
● mariadb.service — MariaDB 10.3.29 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-09-13 10:30:19 MSK; 1min 9s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 5380 (mysqld)
Status: «Taking your SQL requests now. »
Tasks: 31 (limit: 4637)
Memory: 68.3M
CGroup: /system.slice/mariadb.service
└─5380 /usr/sbin/mysqld сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: performance_schema
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: Phase 6/7: Checking and upgrading tables
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: Running ‘mysqlcheck’ with connection argumen
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: # Connecting to localhost.
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: # Disconnecting from localhost.
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: Processing databases
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: information_schema
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: performance_schema
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: Phase 7/7: Running ‘FLUSH PRIVILEGES’
сен 13 10:30:20 se17 /etc/mysql/debian-start[5417]: OKПервичная настройка СУБД
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):
OK, successfully used password, moving on. Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y
New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. . Success!
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y . Success!
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y . Success!
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database. . Success! - Removing privileges on test database. . Success!
Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y . Success! Cleaning up. All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root'; FLUSH PRIVILEGES; QUIT;
Первичное тестирование работоспособности СУБД
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 67 Server version: 10.3.13-MariaDB-1 Debian buildd-unstable Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Confirm version from MySQL CLI:
MariaDB [(none)]> SELECT VERSION(); +-------------------+ | VERSION() | +-------------------+ | 10.3.13-MariaDB-1 | +-------------------+ 1 row in set (0.001 sec)