# ЗАПУСК КМАЗС-ОФИС на Linux - установка и настройка СУБД Firebird для ОС "РЕД ОС" В данной инструкции предоставлена информация - как установить Firebird из репозитория Ред ОС. Firebird 4.0 имеется в базовом репозитории (но данную версию Firebird мало кто использует). Версия Firebird 5.0 намного более популярна, однако потребуется дополнительно установить пакет "redos-firebird5-release" для подключения расширенного репозитория "firebird5". Невозможно установить одновременно пакеты firebird (для Firebird 4.0) и firebird5, поскольку у них одинаковые пути к исполняемым файлам, библиотекам и файлам конфигурации. Рекомендуется использовать Firebird 5.0 Обратите внимание: компания РЕД СОФТ разрабатывает собственную СУБД "Ред База Данных". Она на 100% совместима с Firebird (формат хранения может отличаться), является коммерческим решением и имеется в реестре Российского программного обеспечения. # 1. Установка и настройка Firebird 4.0 1. Проверить, какая версия Firebird сейчас установлена: dnf list installed firebird если показывает версию 4.0.3, то желательно её обновить на более стабильную 4.0.6 2. Для удаления пакета firebird использовать команду: sudo dnf remove firebird 3. Для установки наиболее свежего пакета firebird использовать команду: sudo dnf install firebird На апрель 2026 г. актуальной в РедОС является версия 4.0.6 4. Убедиться в том, что установлен пакет libfbclient2: dnf info libfbclient2 Результат команды: Установленные пакеты Имя : libfbclient2 Версия : 4.0.6.3221 Выпуск : 1.red80 Архитектура : x86_64 Размер : 3.3 M Источник : firebird-4.0.6.3221-1.red80.src.rpm 4.1 Если пакет libfbclient2 не установлен, то использовать команду: sudo dnf install libfbclient2 5. Исправить симлинк "/usr/lib64/libfbclient.so.2", чтобы он указывал на "/usr/lib64/libfbclient.so.4.0.6", а не на "/usr/lib64/libgds.so.0" 5.1 Проверить, куда указывает симлинк "/usr/lib64/libfbclient.so.2" можно командой: ls -l /usr/lib64/libfbclient.so.2 5.2 Исправить симлинк (при необходимости) можно командой: sudo ln -sf /usr/lib64/libfbclient.so.4.0.6 /usr/lib64/libfbclient.so.2 6. Проверить, запущена ли служба firebird: sudo systemctl status firebird.service sudo systemctl stop firebird.service sudo systemctl start firebird.service 7. Установить пакет с утилитами firebird-utils: Сперва проверить, может он уже установлен: dnf list installed firebird-utils Можно ознакомиться со списком файлов из этого пакета: dnf repoquery -l firebird-utils sudo dnf install firebird-utils 8. Создать пользователя SYSDBA с безопасным паролем (английский символы, дефис, подчеркивание, цифры): 8.1 Остановить службу firebird: sudo systemctl stop firebird.service 8.2 Запустить команду "isql-fb" с повышенными правами: sudo /usr/bin/isql-fb -user SYSDBA 8.3 Выполнить команды (точка с запятой в конце команды - обязательно; masterkey - пароль по умолчанию, не обеспечивает защиты): CONNECT '/var/lib/firebird/secdb/security4.fdb'; CREATE USER SYSDBA PASSWORD 'masterkey'; COMMIT; EXIT; 9. Скорректировать настройки в файле /etc/firebird/firebird.conf См. ниже раздел 3 (Коррекция настроек в файле "/etc/firebird/firebird.conf") 10. Снова запустить firebird: sudo systemctl start firebird # 2. Установка и настройка Firebird 5.0 1. Установить пакет с адресами репозитория с пакетами firebird5: sudo dnf install redos-firebird5-release 2. Определить перечень пакетов из репозитория firebird5: dnf list "firebird*" Результат: firebird5.x86_64 5.0.3.1683-1.red80 firebird5 firebird5-devel.x86_64 5.0.3.1683-1.red80 firebird5 firebird5-doc.noarch 5.0.3.1683-1.red80 firebird5 firebird5-examples.noarch 5.0.3.1683-1.red80 firebird5 firebird5-utils.x86_64 5.0.3.1683-1.red80 firebird5 dnf list "*fbclient*" Результат: libfbclient2.x86_64 5.0.3.1683-1.red80 firebird5 libfbclient2-devel.x86_64 5.0.3.1683-1.red80 firebird5 3. Удалить старые пакеты firebird и firebird-utils, если они установлены sudo dnf remove firebird sudo dnf remove firebird-utils 4. Установить пакет firebird5 sudo dnf install firebird5 5. Установить пакет firebird5-utils - НЕ ТРЕБУЕТСЯ, т.к. он ставится автоматически! sudo dnf install firebird5-utils - НЕ ТРЕБУЕТСЯ 6. Установить пакет libfbclient2 - НЕ ТРЕБУЕТСЯ, т.к. он ставится автоматически! 7. Проверить, запущена ли служба firebird: sudo systemctl stop firebird sudo systemctl start firebird sudo systemctl status firebird Если служба не запускается, то вероятно потребуется исправить симлинк "/usr/lib64/libfbclient.so.2" 7.1 Проверить симлинк "libfbclient.so.2" - выполнить команду: ls -l /usr/lib64/libfbclient.so.2 В результате должно быть: lrwxrwxrwx. 1 root root 20 окт 29 11:15 /usr/lib64/libfbclient.so.2 -> libfbclient.so.5.0.3 7.2 Если вместо "libfbclient.so.5.0.3" указан другой файл, то следует вручную исправить симлинк: sudo ln -sf /usr/lib64/libfbclient.so.5.0.3 /usr/lib64/libfbclient.so.2 8. Создать пользователя SYSDBA с безопасным паролем (английский символы, дефис, подчеркивание, цифры): 8.1 Остановить службу firebird: sudo systemctl stop firebird 8.2 Запустить команду "isql-fb" с повышенными правами: sudo /usr/bin/isql-fb -user SYSDBA 8.3 Выполнить команды (точка с запятой в конце команды - обязательно; masterkey - пароль по умолчанию, не обеспечивает защиты): CONNECT '/var/lib/firebird/secdb/security5.fdb'; CREATE USER SYSDBA PASSWORD 'masterkey'; COMMIT; EXIT; 9. Скорректировать настройки в файле /etc/firebird/firebird.conf См. ниже раздел 3 (Коррекция настроек в файле "/etc/firebird/firebird.conf") 10. Снова запустить firebird: sudo systemctl start firebird # 3. Коррекция настроек в файле "/etc/firebird/firebird.conf" Для корректировки файла firebird.conf рекомендуется использовать визуальный текстовый редактор, который идёт в комплекте в линуксом. В РЕД ОС используется текстовый редактор "pluma". Открыть файл в редакторе pluma с правами администратора можно командой: sudo pluma /etc/firebird/firebird.conf В АстраЛинуксе используется редактор "kate" Открыть файл в редакторе kate можно командой: kate /etc/firebird/firebird.conf При сохранении файла будет запрошен пароль администратора. Необходимо добавить в начало файла следующие параметры: ```conf # Firebird будет "слушать" TCP-порт 3050 RemoteServicePort = 3050 # В ОЗУ будет храниться 16384 страниц (примерно 250 МБ) # Если на компьютере много ОЗУ, то можно увеличить это значение (либо наоборот уменьшить) DefaultDbCachePages = 16384 # Отключение "современных" типов данных, которые отсутствовали в Firebird 3.0 DataTypeCompatibility = 3.0 # Максимальное количество параллельных потоков (например, при восстановлении БД) # Если процессор многоядерный, то можно увеличить данное значение MaxParallelWorkers = 2 # Лимит памяти ОЗУ, используемой для выполнения запросов. # Если на компьютере много ОЗУ, то можно увеличить это значение, например указать =1G TempCacheLimit = 200M ``` # 4. Создание группы kmazs-admins Если вы ещё не запускали скрипт установки программы КМАЗС-ОФИС, то группа kmazs-admins отсутствует. Эта группа необходима для доступа к файлу базы данных. Для создания группы "kmazs-admins" используйте команду: sudo groupadd kmazs-admins # 5. Добавление пользователя firebird / reddatabase в группу kmazs-admins Внесение изменений в папке "/opt/kmazs" доступна только пользователям, состоящим в группе "kmazs-admins". Для того, чтобы СУБД Firebird / RedDatabase могла работать с файлом базы данных, необходимо системного пользователя (firebird либо reddatabase) включить в группу "kmazs-admins". Если вы установили firebird, но ещё не запускали скрипт установки КМАЗС-ОФИС, то добавьте пользователя "firebird" в группу "kmazs-admins" с помощью команды: sudo usermod -aG kmazs-admins firebird Если вы установили RedDatabase, то добавьте пользователя "reddatabase" в группу "kmazs-admins" с помощью команды: sudo usermod -aG kmazs-admins reddatabase # 6. Перезапуск службы firebird: После изменения файла "firebird.conf", а также после добавления firebird / reddatabase в группу kmazs-admins необходимо перезапустить службу firebird: sudo systemctl stop firebird sudo systemctl start firebird При этом, если установлен RedDatabase, то будет перезапущен именно RedDatabase # 7. Программа КМАЗС-ОФИС использует символическую ссылку "/opt/kmazs/libfbclient.so" для подключения к базе данных. Заранее убедитесь в наличии каталога "/opt/kmazs" (если его ещё нет, то создайте его с помощью "sudo mkdir /opt/kmazs/"). Для создания символической ссылки используёте одну из команд (в зависимости от способа установки firebird / RedDatabase: Если установлен firebird из репозитория: sudo ln -sf /usr/lib64/libfbclient.so.2 /opt/kmazs/libfbclient.so Если установлен RedDatabase: sudo ln -sf /opt/RedDatabase/lib/libfbclient.so.2 /opt/kmazs/libfbclient.so Если установлен firebird с использованием инсталлятора с официального сайта: sudo ln -sf /opt/firebird/lib/libfbclient.so.2 /opt/kmazs/libfbclient.so # 8. В составе архива программы КМАЗС-ОФИС присутствуют файлы базы данных под следующие версии Firebird: KMAZSBASE_CLEAR_FB3.FDB - для Firebird 3.0 KMAZSBASE_CLEAR_FB4.FDB - для Firebird 4.0 KMAZSBASE_CLEAR_FB5.FDB - для Firebird 5.0 KMAZSBASE_CLEAR_RED3.FDB - для RedDatabase 3.0 KMAZSBASE_CLEAR_RED5.FDB - для RedDatabase 5.0 После распаковки архива они появятся в каталоге /opt/kmazs/kmazs-clear-db Это связано с тем, что заранее неизвестно, какую версию Firebird пользователь сможет установить на Линукс. Файлы появятся в папке "/opt/kmazs/kmazs-clear-db" после распаковки архива с программой КМАЗС-ОФИС. В дальнейшем необходимо скопировать нужный файл в папку "/opt/kmazs/DataBase", а затем переименовать файл (убрать слово "CLEAR"). Для копирования файла использовать команду: cp /opt/kmazs/kmazs-clear-db/KMAZSBASE_CLEAR_FB5.FDB /opt/kmazs/DataBase/KMAZSBASE.FDB # Дополнительные команды: Определить, где находится файл настроек firebird.conf sudo find / -name "firebird.conf" 2>/dev/null Определить, запущен ли процесс firebird: ps aux | grep [f]irebird Определить, открыт ли порт 3050 sudo ss -tulpn | grep :3050 Определить версию ODS (при использовании Firebird 5.0): /usr/bin/gstat-fb "/opt/kmazs/DataBase/KMAZSBASE_CLEAR_FB5.FDB" -h Определить версию ODS (при использовании RedDatabase 5.0): /opt/RedDatabase/bin/gstat "/opt/kmazs/DataBase/KMAZSBASE_CLEAR_RED5.FDB" -h Список файлов пакета "firebird": Команда: dnf repoquery -l firebird Результат: /etc/firebird /etc/firebird/databases.conf /etc/firebird/fbtrace.conf /etc/firebird/firebird.conf /etc/firebird/plugins.conf /etc/firebird/replication.conf /etc/logrotate.d/firebird /run/firebird /run/firebird/fb_guard /usr/bin/fbtracemgr /usr/sbin/fb_lock_print /usr/sbin/fbguard /usr/sbin/firebird /usr/share/doc/firebird/IDPLicense.txt /usr/share/doc/firebird/IPLicense.txt /usr/share/doc/firebird/README.RedOS /usr/share/firebird /var/log/firebird /var/log/firebird/firebird.log /etc/logrotate.d/firebird /usr/lib/systemd/system/firebird.service /usr/lib64/firebird /usr/lib64/firebird/intl /usr/lib64/firebird/intl/fbintl /usr/lib64/firebird/intl/fbintl.conf /usr/lib64/firebird/plugins /usr/lib64/firebird/plugins/libChaCha.so /usr/lib64/firebird/plugins/libEngine13.so /usr/lib64/firebird/plugins/libLegacy_Auth.so /usr/lib64/firebird/plugins/libLegacy_UserManager.so /usr/lib64/firebird/plugins/libSrp.so /usr/lib64/firebird/plugins/libfbtrace.so /usr/lib64/firebird/plugins/libudr_engine.so /usr/lib64/firebird/plugins/udr /usr/lib64/firebird/plugins/udr/libudf_compat.so /usr/lib64/firebird/plugins/udr/libudrcpp_example.so /usr/lib64/firebird/plugins/udr/udf_compat.sql /usr/lib64/firebird/plugins/udr_engine.conf /usr/sbin/fb_lock_print /usr/sbin/fbguard /usr/sbin/firebird /usr/lib/systemd/system/firebird.service /var/lib/firebird /var/lib/firebird/data /var/lib/firebird/secdb /var/lib/firebird/secdb/security4.fdb /var/lib/firebird/system /var/lib/firebird/system/firebird.msg /var/lib/firebird/system/help.fdb /var/lib/firebird/tzdata /var/lib/firebird/tzdata/metaZones.res /var/lib/firebird/tzdata/timezoneTypes.res /var/lib/firebird/tzdata/windowsZones.res /var/lib/firebird/tzdata/zoneinfo64.res /etc/logrotate.d/firebird /usr/bin/fbtracemgr /usr/lib/systemd/system/firebird.service /etc/logrotate.d/firebird /usr/bin/fbtracemgr /usr/lib/systemd/system/firebird.service /etc/firebird /etc/logrotate.d/firebird /usr/bin/fbtracemgr /usr/lib/systemd/system/firebird.service Определение имени пакета с файлом "libfbclient.so": dnf provides "*/libfbclient.so*" Результат: Пакет libfbclient2: libfbclient2-4.0.6.3221-1.red80.x86_64 : Firebird SQL server client library Репозиторий : @System Совпадения с: Имя файла : /usr/lib64/libfbclient.so.2 Имя файла : /usr/lib64/libfbclient.so.4.0.6 /usr/lib64/libfbclient.so.2 - ссылка на клиентскую библиотеку, к которой обращается firebird /usr/lib64/libfbclient.so.4.0.6 - непосредственно клиентская библиотека (версии 4.0.6) Список файлов пакета firebird-utils dnf repoquery -l firebird-utils Результат: /usr/bin/fbsvcmgr /usr/bin/gbak - утилита для резервирования/восстановления БД (БД резервируется полностью) /usr/bin/gfix - утилита для ремонта повреждённой базы данных /usr/bin/gpre /usr/bin/gsec /usr/bin/gsplit /usr/bin/gstat-fb - утилита для запроса статистики /usr/bin/isql-fb - утилита для консольного выполнения SQL-запросов /usr/bin/nbackup - утилита для продвинутого резервирования/восстановления БД (разностное) /usr/bin/qli dnf repoquery -l firebird5 Результат: Тот же dnf repoquery -l firebird5-utils Результат: Тот же