Установка 32-разрядного Сервера 1С:Предприятие на 64-разрядную платформу Linux (Ubuntu/Debian)

  • Автор:

1cv83-32-ubuntu-64-000.jpgНесмотря на то, что 64-разрядная платформа на сегодня является основной в серверном сегменте, фирма 1С продолжает продавать отдельно 32-х и 64-х разрядные версии своего Сервера, причем по различной стоимости. При этом у владельцев 32-разрядного сервера возникает необходимость его установки в 64-разрядной среде, если в Windows данная операция не вызывает затруднений, то в среде Linux все оказывается не так просто. Сегодня мы расскажем, как это правильно сделать.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Прежде чем приступать к работе, коротко разберем суть вопроса. Почему установка пакетов другой архитектуры в Linux вызывает определенные затруднения? В отличии от Windows, где в целях совместимости возможность запускать в 64-разрядной среде 32-разрядные приложения заложена на уровне архитектуры системы, дистрибутивы Linux собираются с поддержкой одной единственной архитектуры. Это связано с тем, что свободное ПО распространяется с исходными кодами и собрать пакет для определенной архитектуры не представляет никакого труда, поэтому пользователь 64-разрядного Linux получает с системой полный набор софта нужной разрядности и необходимости использовать пакеты иной архитектуры как правило нет.

Проблемы возникают при использовании коммерческого ПО разные по разрядности версии которого имеют различную стоимость, как в случае с 1С. Вариант с использованием 32-разрядной системы не выдерживает никакой критики, так как имеет существенные ограничения по используемым ресурсам, в первую очередь объему оперативной памяти, и если на этот же сервер планируется установка СУБД, то необходимость использования 64-разрядной платформы становится очевидной.

Для таких случаев все современные системы поддерживают мультиархитектуру, позволяющую устанавливать и запускать пакеты другой архитектуры, но просто установить 32-разрядный сервер 1С на 64-разрядную систему недостаточно, также нужно обеспечить наличие всех необходимых библиотек в 32-разрядном варианте, а это, как показывает практика, задача не столь простая. Данный материал был проверен на Ubuntu Server 14.04 и Debian 8, так как обе системы имеют много общего, то мы расскажем об установке на одну из них, а затем коротко обратим внимание на отличия для второй ОС.

Ubuntu Server 14.04 LTS

Если вы просто попробуете установить 32-разрядные пакеты в 64-разрядной ОС, то у вас ничего не получится, потому что "из коробки" Linux поддерживает только родную архитектуру.

1cv83-32-ubuntu-64-001.jpgПросмотреть список поддерживаемых архитектур можно командой:

dpkg --print-architecture

В нашем случае будет только одна amd64, для добавления требуемой архитектуры i386 выполните:

dpkg --add-architecture i386

После чего обязательно обновите список пакетов:

apt-get update

Теперь установим требуемые для работы сервера 1С библиотеки и утилиты нужной разрядности:

apt-get install imagemagick:i386
apt-get install unixodbc:i386

Требуемый пакет шрифтов Microsoft True Type является универсальным для всех архитектур, поэтому его устанавливаем как обычно, без указания архитектуры.

apt-get install ttf-mscorefonts-installer

А вот дальше начинаются сложности. Библиотека libgsf-1-114 отказалась устанавливаться, ссылаясь на неразрешенную зависимость.

1cv83-32-ubuntu-64-002.jpgПроблема заключается в том, что требуемый пакет libgsf-1-common:i386 не существует, он не содержит ничего, кроме документации и универсальный для всех архитектур.

1cv83-32-ubuntu-64-003.jpgРучная установка пакета проблемы не снимает, установщик упорно продолжает требовать i386-пакет. Как быть? В принципе можно установить пакет принудительно, игнорируя зависимости. Однако это сломает систему управления пакетами, и вы не сможете установить, удалить или обновить пакеты, пока не разрешите проблему зависимостей libgsf-1-114, автоматическое разрешение зависимостей приведет к удалению данного пакета.

Самое время вспомнить про getlibs, скрипт для DEB-совместимых систем, который позволяет автоматически устанавливать 32-разрядные библиотеки на 64-разрядные системы. Скачаем данный скрипт со страницы разработчика на GitHub, настоятельно рекомендуем не использовать для получения скрипта иных источников. Разместим его, скажем, в домашней папке и сделаем исполняемым.

cd ~
chmod +x getlibs

Теперь с его помощью получим необходимые библиотеки:

./getlibs -p libgsf-1-114

Подготовительные действия закончены, можно устанавливать сервер. 1С распространяет пакеты сервера в архивах с именем deb.tar.gz, скачаем такой архив и разместим в домашней папке. Для установки перейдем в домашнюю папку, распакуем архив и установим пакеты.

cd ~
tar -xvf deb.tar.gz
dpkg -i 1c*.deb

Установим необходимые права на папку с сервером 1С и запустим службу:

chown -R usr1cv8:grp1cv8 /opt/1C
service srv1cv83 start

Наш сервер готов к работе.

Debian 8

Мы не будем подробно описывать процесс установки в Debian, так как он ничем принципиально не отличается от Ubuntu, а остановимся лишь на отличиях.

Если мы попытаемся просто установить 32-разрядную утилиту imagemagick, то неожиданно столкнемся с ошибкой: update-alternatives: ошибка: альтернативный путь /usr/bin/compare-im6 не существует.

1cv83-32-ubuntu-64-004.jpgБеглый поиск показал, что данная проблема известна, но решения найти не удалось. В тоже время все очень просто, нужно всего-лишь доустановить еще один пакет.

apt-get install imagemagick-6.q16:i386
apt-get install imagemagick:i386

Второе затруднение вызывает пакет ttf-mscorefonts-installer, дело в том, что несвободные репозитории, в которые входит данный пакет, по умолчанию не подключены (по идеологическим причинам). Можно подключить несвободный репозиторий, однако данный пакет по сути является просто скриптом, который скачивает необходимые файлы шрифтов. В связи с этим мы не видим необходимости подключать несвободные репозитории, проще скачать и установить данный пакет отдельно.

Скачать данный пакет можно на странице https://packages.debian.org/jessie/ttf-mscorefonts-installer. Разместим его в домашней папке и установим, перед этим добавив нужные зависимости.

cd ~
apt-get install xfonts-utils cabextract
dpkg -i ttf-mscorefonts-installer_3.6_all.deb

В остальном установка 32-разрядного сервера 1С на 64-разрядный Debian 8 ничем не отличается от установки на Ubuntu 14.04 и не должна вызывать затруднений.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments