← Назад к вопросам

Как установить msodbcsql на Astra Linux

2.2 Middle🔥 71 комментариев
#Linux и администрирование

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

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Установка msodbcsql на Astra Linux

Установка драйвера ODBC от Microsoft (msodbcsql) на Astra Linux может быть нетривиальной задачей, так как этот дистрибутив основан на Debian и имеет свои особенности, включая репозитории и систему безопасности. Основная сложность заключается в совместимости пакетов, так как официальные пакеты Microsoft предназначены для Ubuntu/Debian. Приведу пошаговое руководство, основанное на опыте работы с Astra Linux (версии Common Edition, основанные на Debian).

Подготовка системы

  1. Проверьте версию Astra Linux:

    cat /etc/os-release
    

    Определите, какая версия используется (например, 1.7, Orel). Это важно для выбора совместимых пакетов.

  2. Обновление системы:

    sudo apt update && sudo apt upgrade -y
    
  3. Установите зависимости:

    sudo apt install -y gnupg2 software-properties-common curl apt-transport-https
    

Установка msodbcsql

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

Способ 1: Через репозиторий Microsoft (рекомендуется для совместимых версий)

  1. Импорт ключа GPG Microsoft:

    curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Добавление репозитория Microsoft:

    sudo add-apt-repository "$(curl -sSL https://packages.microsoft.com/config/debian/$(lsb_release -rs)/prod.list)"
    

    Если lsb_release не работает, укажите версию Debian вручную (например, для Astra Orel, основанной на Debian 10, используйте 10).

  3. Обновление и установка:

    sudo apt update
    sudo apt install -y msodbcsql17  # Для версии 17
    # Или для версии 18 (новее)
    sudo apt install -y msodbcsql18
    

Способ 2: Ручная установка пакета .deb (если репозиторий не работает)

  1. Скачайте пакет вручную с официального сайта Microsoft:

  2. Установите зависимости:

    sudo apt install -y unixodbc unixodbc-dev libssl1.1  # Или libssl3 для новых версий
    
  3. Установите пакет:

    sudo dpkg -i ./msodbcsql17_17.10.2.1-1_amd64.deb
    

    Если возникают ошибки зависимостей, исправьте их командой:

    sudo apt --fix-broken install -y
    

Решение возможных проблем

  • Ошибка совместимости libssl: Astra Linux может использовать старые версии библиотек. Если драйвер требует libssl1.1 или libssl3, установите их из официальных репозиториев Astra или создайте символические ссылки (осторожно!):

    # Пример для libssl1.1
    sudo apt install -y libssl1.1
    
  • Проверка установки:

    odbcinst -q -d -n "ODBC Driver 17 for SQL Server"
    

    Если драйвер зарегистрирован, вы увидите его конфигурацию.

  • Настройка ODBC: Файл конфигурации находится в /etc/odbcinst.ini. Пример записи:

    [ODBC Driver 17 for SQL Server]
    Description=Microsoft ODBC Driver 17 for SQL Server
    Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.so
    UsageCount=1
    

Альтернативный вариант: Использование Docker

Если установка на хостовую систему слишком сложна, используйте Docker-контейнер с драйвером:

docker run -it --rm mcr.microsoft.com/mssql-tools:latest /opt/mssql-tools/bin/sqlcmd -S <server> -U <user> -P <password>

Заключение

Установка msodbcsql на Astra Linux требует внимания к зависимостям и версиям. Рекомендую:

  1. Использовать официальные пакеты Microsoft через репозиторий, если версия Astra совместима с Debian.
  2. При ошибках проверять логи (/var/log/apt/) и устанавливать недостающие зависимости вручную.
  3. Тестировать подключение к SQL Server через sqlcmd или isql.

Этот процесс был успешно применен в проектах с Astra Linux Orel (Debian 10) для интеграции с Microsoft SQL Server.

Как установить msodbcsql на Astra Linux | PrepBro