Инсталиране на 32-битов сървър 1C Enterprise на 64-битова Linux платформа (Ubuntu

Технически блог на специалисти на LLC "Интерфейс".

  • У дома
  • Инсталиране на 32-битов 1C:Enterprise сървър на 64-битова Linux платформа (Ubuntu/Debian)

Инсталиране на 32-битов 1C:Enterprise сървър на 64-битова Linux платформа (Ubuntu/Debian)

инсталиране
Въпреки факта, че 64-битовата платформа в момента е основната в сървърния сегмент, 1C продължава да продава отделно 32-битови и 64-битови версии на своя сървър и на различни цени. В същото време собствениците на 32-битов сървър трябва да го инсталират в 64-битова среда, ако в Windows тази операция не създава затруднения, тогава в Linux среда всичко не е толкова просто. Днес ще ви кажем как да го направите правилно.

Преди да започнем, нека анализираме накратко същността на проблема. Защо е трудно да се инсталират пакети без архитектура на Linux? За разлика от Windows, където от съображения за съвместимост възможността за стартиране на 32-битови приложения в 64-битова среда е вградена в нивото на системната архитектура, Linux дистрибуциите са създадени да поддържат една единствена архитектура. Това се дължи на факта, че безплатният софтуер се разпространява с изходни кодове и не е трудно да се сглоби пакет за определена архитектура, следователно потребител на 64-битов Linux получава пълен набор от софтуер с необходимата битовост със системата и обикновено няма нужда да се използват пакети с различна архитектура.

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

За такива случаи всички съвременни системи поддържат мултиархитектура, която ви позволява да инсталирате и стартирате пакети с различна архитектура, но просто инсталирането на 32-битов 1C сървър на 64-битова система не е достатъчно, вие също трябва да се уверите, че всички необходими библиотеки са налични в 32-битовата версия и това, както показва практиката, не е лесна задача. Този материал беше тестван на Ubuntu Server 14.04 и Debian 8, тъй като и двете системи имат много общи неща, ще говорим за инсталиране на една от тях и след това накратко ще обърнем внимание на разликите за втората ОС.

Ubuntu сървър 14.04LTS

Ако просто се опитате да инсталирате 32-битови пакети на 64-битова операционна система, няма да успеете, защото извън кутията Linux поддържа само собствена архитектура.

инсталиране
Можете да видите списъка с поддържаните архитектури с командата:

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

След това не забравяйте да актуализирате списъка с пакети:

Сега нека инсталираме библиотеките и помощните програми на необходимия бит, необходим за работата на 1C сървъра:

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

Но тогава започват трудностите. Библиотекатаlibgsf-1-114 отказа да се инсталира, позовавайки се на неразрешена зависимост.

32-битов
Проблемът е, че необходимият пакетlibgsf-1-common:i386 не съществува, не съдържа нищо освен документация и е универсален за всички архитектури.

32-битов
Ръчна настройкапакет не отстранява проблема, инсталаторът упорито продължава да изисква пакета i386. Как да бъдем? По принцип можете да принудите пакета да бъде инсталиран, като пренебрегнете зависимостите. Това обаче ще наруши системата за управление на пакети и няма да можете да инсталирате, премахвате или надстройвате пакети, докато не разрешите проблема със зависимосттаlibgsf-1-114, автоматичното разрешаване на зависимости ще премахне пакета.

Сега с негова помощ ще получим необходимите библиотеки:

Подготвителните стъпки са завършени, можете да инсталирате сървъра. 1C разпространява сървърни пакети в архиви с имеdeb.tar.gz, изтеглете такъв архив и го поставете във вашата домашна папка. За да инсталирате, отидете в домашната папка, разархивирайте архива и инсталирайте пакетите.

Задайте необходимите права за папката с 1C сървъра и стартирайте услугата:

Нашият сървър е готов за работа.

Няма да описваме подробно процеса на инсталиране в Debian, тъй като той не се различава фундаментално от Ubuntu, но ще се съсредоточим само върху разликите.

Ако се опитаме просто да инсталираме 32-битовата помощна програмаimagemagick, внезапно ще срещнем грешка:update-alternatives: грешка: алтернативен път /usr/bin/compare-im6 не съществува.

инсталиране
Бързо търсене разкри, че проблемът е известен, но не е намерено решение. В същото време всичко е много просто, просто трябва да инсталирате още един пакет.

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

Можете да изтеглите този пакет от https://packages.debian.org/jessie/ttf-mscorefonts-installer. Нека го поставим в домашната папка и го инсталираме, като преди това добавим необходимите зависимости.

В противен случай инсталирането на 32-битов 1C сървър на 64-битов Debian 8 не се различава от инсталирането на Ubuntu 14.04 и не би трябвало да е трудно.