1С 8.3 и Arch Linux

Подробная установка 1С 8.3 на Arch Linux в 3 чашки кофе без сахара и геморроя.

Вместо предисловия и кратенького ликбеза:

Линукс замечательная система как для серверов, так и для разработчиков, но у новичков могут возникнуть некоторые проблемы, в частности и с установкой 1с.

Для debian based дистрибутивов (ubuntu, mint и т.п.) в интернете куча инструкций, да и на сайте 1c распространяются deb бинарники, а вот с арчем все обстоит несколько сложнее.

Арч это третий по степени "гиковости" линукс после gentoo и lfs, позволяет стать чем угодно для своего владельца-арчевода, в тоже время дает великолепную документацию-вики.

Из отличительных особенностей арча — система rolling релизов, всегда предоставляющая своим владельцам самые свежие версии софта (ну и проблемы с ним заодно, бывает).

Данная система ввиду легковесности (особенно если взять композитный LXDE или тайтловый оконный менеджер, например i3) может являть собой великолепный терминал.

У меня на захламленной пакетами xfce4 суммарно вышло всего 600 Мб, 

Для менее уверенных пользователей существует основанный на арче дистрибутив — Manjaro, в последнее время он очень популярен, софт в его репозиториях тщательнее проверяют.

Статья даст точный набор команд необходимых для установки 1с с оговоркой, что вы будете корректировать пути и версии своей 1с.

Также предполагается, что вы знакомы с терминалом и базовыми nix командами. Команды которым необходим root — начинаются с sudo, остальные выполняем из под пользователя.

Если забудите написать super user do, просто следующей командой наберите "sudo !!".

Возможно кто нибудь захочет и возьмет на себя ответственность сделав shell скрипт для автоматической установки.

Также не помешало бы поправить и дополнить статью на арч вики.

 

  • I

Скачиваем дистрибутивы нужной версии (в моем случае 8.3.11.2954) по ссылке https://releases.1c.ru/project/Platform83
А именно берем пакеты Red Head "Клиент 1С:Предприятия (64-bit) для RPM-based Linux-систем" и "Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем"
Получаем: client.rpm64.tar.gz и rpm64.tar.gz

 

  • II

Открываем свой любимый эмулятор терминала.
Перемещаем архивы в папку, в которой будем собирать, и разархивируем (заняться этим можно и в папке загрузок, но я предпочитаю не мусорить и заодно создать две папки, исходников "src" и под полученный пакет "pkg", какое никакое, а версионирование):

mkdir -p ~/git/ones/8.3.11/2954/{src,pkg} && mv ~/d/*rpm64.tar.gz ~/git/ones/8.3.11/2954/src
cd ~/git/ones/8.3.11/2954/src/ && tar -xf rpm64.tar.gz;tar -xf client.rpm64.tar.gz

 

  • III

Создаем любимым текстовым редактором файл "PKGBUILD" со следующим содержимым (спасибо товарищу  tsn  за PKGBUILD и  ser  за страничку на вики, пусть и сыроватую):

 

 PKGBUILD

Создаем файл:

nano PKGBUILD

 Заполняем содержимое следующим текстом (попутно меняя два параметра под себя, остальное AS IS):

pkgname=1c_enterprise83
_pkgname1c=1C_Enterprise83
if test "$CARCH" == x86_64; then
_pkgarch1c=$CARCH
else
_pkgarch1c=('i386')
fi
pkgver=8.3.11         # Поменяйте на вашу версию
pkgrel=2954          # Поменяйте на вашу версию
pkgdesc="1C 8.3 for Linux"
license=('custom')
arch=($CARCH)
options=('!strip')
depends=('webkitgtk2')
makedepends=('pkgextract')
url="www.1c.ru"
source=(
$_pkgname1c-client-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-client-nls-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-common-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-common-nls-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-server-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-server-nls-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-thin-client-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-thin-client-nls-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-ws-$pkgver-$pkgrel.$_pkgarch1c.rpm
$_pkgname1c-ws-nls-$pkgver-$pkgrel.$_pkgarch1c.rpm
)

md5sums=('9e296bcc74dfccce0448792838b5e6c0'
'74d01a7fffecba6df20e5ff164065e89'
'783f2fa504ff0401f32469ad4b5c1539'
'a43e505df590d6096921ea367bf7a59e'
'2465f77b5b3941d37464ea526fa7e529'
'2db4f7cd9c01ee61f22e18cb2fd51e58'
'23c71fcc735635fa35e1689a363b9fe8'
'f40d85c6b1f6bebee5ed15a167f207cb'
'a7273cc69543fe52983df4506d72edb1'
'6c2cd6cadd20ef42d8f79c902b703fa6')
package() {
cd $pkgdir
cp -r $srcdir/usr $pkgdir
cp -r $srcdir/etc $pkgdir
cp -r $srcdir/opt $pkgdir
}

pkgver — Версия технологической платформы. Измените на свою версию.
pkgrel — Номер сборки. Измените на свою версию.

 

 

  • IV

Теперь обновим контрольные суммы в файле PKGBUILD на свои
updpkgsums

 

  • V

Обновим базу данных pacman и установленные пакеты 
sudo pacman -Syu
(на арче НЕОБХОДИМО обновляться перед любым чихом, лично я добавил себе в алиасы zsh "sudo pacman" как "p", но к теме это относиться мало)

 

  • VI

Для сборки нам наверняка будет не хватать зависимости от пакетов "webkitgtk2" и "pkgextract", их наличие вы можете проверить командой:
pacman -Qqe | grep -E 'webkitgtk2|pkgextract|imagemagick'    

 

(a) Если не оказалось в списке "pkgextract"

    pkgextract тянем с аура, мне удобнее git’ом, но тк многим 1с’никам он не нужен, качаем wget’ом (если вы обладатель йогурта, то сами знаете что делать):     

cd ~/d;wget https://aur.archlinux.org/cgit/aur.git/snapshot/pkgextract.tar.gz

    Разархивируем и ставим (по хорошему предварительно стоит проверить, что мы ставим):     

tar -xf pkgextract.tar.gz && rm pkgextract.tar.gz;cd pkgextract;makepkg -sri

 

 

(b) Если не оказалось в списке "webkitgtk2"

    webkitgtk2 можно собрать самому или скачать с китайского репозитория:
    Сборка займет целый день машинного времени, но это Ъ gentoo way
    Мы пойдем быстрым путем, а именно стянем у китайцев.

    Добавим в /etc/pacman.conf китайский репозиторий:     

[archlinuxcn]

Server = https://cdn.repo.archlinuxcn.org/$arch

    Добавим PGP ключи:     

sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring

    Скачиваем webkitgtk2:     

sudo pacman -S webkitgtk2

 

(c) Если не оказалось в списке "imagemagick"

Я не уверен, что этот пакет необходим для нормального функционирования 1с (отвечает за манипуляции изображениями), но ставится он просто:     

sudo pacman -S imagemagick

    Да, хоть что то будет просто

 

 

  • VII

Возвращаемся (если уходили) к нашей 1с и пробуем собрать пакет (это займет небольшое время, вполне можно сходить за чайком):
cd ~/git/ones/8.3.11/2954/src && makepkg -s
Полученный пакет разлучаем с исходниками:
mv 1c_enterprise83-*-x86_64.pkg.tar.xz ../pkg/; cd ../pkg/

 

  • VIII

Устанавливаем наш пакет:
sudo pacman -U 1c_enterprise83-*-x86_64.pkg.tar.xz
Приложение находиться по адресу:
/opt/1C/v8.3/x86_64/1cestart
/opt/1C/v8.3/x86_64/1cv8
/opt/1C/v8.3/x86_64/1cv8c

Для удобства можете создать ярлыки и алиасы и быстрый запуск под определенным пользователем.
В xfce автоматически занеслось в Whisker menu, но i3 так не повезет с dmenu.

Пример записи для быстрого логина 1c.desktop

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/1C/v8.3/x86_64/1cv8c ENTERPRISE /s'baseIPaseName' /n'myUsername' /p'myPassword'
Categories=Office;Finance;
Name=1C Thin baseName
Icon=1cv8c

 

  • IX

В принципе вы уже можете использовать 1c, но при старте ругнется на недостающие шрифты "Microsoft Core Fonts".
Вы можете скопировать недостающие шрифты с установочного диска винды, соседней машины или попросту создать символьную ссылку если сидите дуалбутом.
Если правильно помню, шрифтов там примерно на 500 метров.

Вариант с ссылкой на примонтированный раздел с окнами:
sudo ln -s /winDiskC/Windows/Fonts /usr/share/fonts/WindowsFonts
fc-cache -f

В случае копирования, просто перемещаете шрифты в папку /usr/share/fonts/WindowsFonts
и обновляете кэш шрифтов:
fc-cache -f

Если кто готов поделиться подборкой необходимых шрифтов для 1с — с удовольствием прикреплю к статье.

 

28 Comments

  1. BigB

    Да уж. Вот это геморрой. На винде намного проще.

    Reply
  2. 🅵🅾️🆇

    (1) Ну этот геморрой именно на арче, тк 1с из коробки поддерживает deb и rpm пингвинов. На том же дебиане все гораздо проще.

    Но в целом да, именно с точки зрения конечного массового пользователя и разработчика 1с — окна в этом плане проще.

    Это отдельный гемморой (пусть и интересный) поддерживать совместимость конфигурации с браузерами, линями и смартфонами.

    Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.

    Касательно серверной части, как говорят, основная сложность в конфигурации бд постгре.

    Reply
  3. Maxisussr

    (2)

    поддерживать совместимость конфигурации с браузерами, линями и смартфонами.

    Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.

    Касательно серверной части, как говорят, основная сложность

    Интересна практическая выгода от поддержки именно на этой системе.

    Т.е. примерный выигрыш по скорости, по времени решения какой-либо проблемы и т.п.

    Reply
  4. 🅵🅾️🆇

    (3)

    Ну вообще на арче можно собрать крайне легкую и нетребовательную систему (с музыкой, кучей пакетов, девелоперским софтом и тремя разными окружениями рабочего стола я умудрился потратить меньше 20 гигов жесткого), скажем этакий терминал, которым к томуже просто управлять удаленно.

    Производительность сервера надо тестить, но как говорят, производительность собранных веб серверов на базе генту примерно на 20% выше остальных систем.

    Сам тонкий клиент 1с толком работать быстрее или медленнее не будет, тк современный тонкий клиент это просто урезанный браузер.

    Если с позиции разработчика/админа/гика:

    Линь может радовать красивым интерфейсом, таже kde 5, по моему субъективному мнению, из коробки на голову выше мака и винды в плане оформления, функционала и кастомизации.

    На линь также идут за свободой, устав от того, что за вас принимают решения, что надо вам, а что нет (как на маке однажды выпилили PPtP VPN). Дома я снес десятку после того как мелкомягкие решили самостоятельно отключить samba шару в осеннем апдейте (да, я знаю, что вернуть smb можно в gpo, сам факт, что меня даже не спросили меня очень огорчил, а ведь порты самба шары у меня были закрыты).

    Также на лине очень удобно работать с git’ом, сетями, удаленным оборудованием.

    Reply
  5. neikist

    О, у меня как раз вторая попытка арч освоить. Купил тут недавно себе нетбук (на работу таскать, в поездки), поставил арч+i3, пока все радует, в прошлый раз awesome wm пробовал, но как то lua как язык конфигурирования не понравился, а с i3 получше идет.

    Reply
  6. 🅵🅾️🆇

    (5) i3 тоже очень годно, единственное, что вымораживало — это некорректное поведение всплывающих модальных окон, но это, вроде, лечиться прописыванием шаблона под них и в принудительном порядке превращение их в композитные.

    Если прям совсем новичок и хочется арча — то лучше, наверное, начать с manjaro.

    В качестве мобильного ноута для себя я выбрал — xiaomi mi air 12″, никаких проблем.

    Но xfce и i3 очень понравились, работало как часы, но потом все же перешел на kde 5 plasma, оно поглючнее, зато со свистоперделками, функциональным файловым менеджером и очень интересной фишкой — kde connect (приложение для управления телефоном и наоборот), благо, чтоб перейти надо всего пару команд и оно прекрасно сосуществует параллельно с xfce и i3.

    Reply
  7. neikist

    (6)manjaro — это хорошо, но меньше понимания системы, и все таки очень много разного накидано, что ресурсы жрать будет, и путать начинающего пользователя. Пробовал тоже ставить (на ПК) версию с кедами, вроде неплохо, но не зашло, в то время на винде была необходимость сидеть)

    Ну и на prestigio 133s (лимит себе ставил не больше пол зарплаты на edc ноут) это все было бы очень тяжело, ибо celeron 3350 и 3 гига памяти. А вот чистый арч + i3 просто летает (впрочем только приступил к настройке и использованию, в основном пока использую для просмотра аниме, хождения в интернетах, ведения задач в taskwarrior и набора anki карточек)

    Reply
  8. 🅵🅾️🆇

    (7) Если понравился i3 то крайне советую взглянуть на его форк i3-gaps ставиться прям поверх i3.

    Добавляет отступы между окнами, выглядеть будет на порядок симпатичнее.

    Reply
  9. neikist

    (8)А, я собственно его и поставил. Поставил после того как в виртуалке вручную пощупал преднастроенный в archlab дистрибутиве.

    Reply
  10. Igor_Nemirov

    Беда! Что делать? Куда бежать?

    1С установлена на manjaro. Все работало отлично, пока не обновился webkitgtk2 из китайского репозитория.

    Сейчас /opt/1C/v8.3/x86_64/1cestart выдает

    error while loading shared libraries: libicui18n.so.62: cannot open shared object file: No such file or directory

    а библиотека эта стоит версии 61.1

    Если смотреть список пакетов в Arch то там icu 62 версии. У меня 61.1.

    Ждать когда manjaro свои репозитории обновит?

    Reply
  11. 🅵🅾️🆇

    (10) Сори, не подскажу, тк на текущей работе все через терминальный клиент :c

    Теоретически ты сам можешь собрать себе webkitgtk2, но старожилы заявляют, что это занимает примерно полдня-день именно машинного времени.

    Reply
  12. Igor_Nemirov

    (11) Спасибо. Я по этому пути и пошел. Удалил пакеты. Удалил китайский репозиторий. Ставлю из АУР. 4 часа уже жду. 🙁

    Reply
  13. 🅵🅾️🆇

    (13) Из аура, по отзывам, 12-24 часов)

    Reply
  14. strange2007

    (4) Поверьте, большей массе населения не нужна свобода выбора. Скажу больше — большая масса людей боится свободу выбора.Им нравится, что за них всё решают. Именно поэтому и мелкомягкие и яблочники могут на этом очень хорошо зарабатывать. Именно поэтому дос и виндовс всех склонил в свою сторону

    Reply
  15. 🅵🅾️🆇

    (16)

    Давайте без холиваров)

    Если мы говорим про десктопы — то тут дело в том, что люди не любят пердолинга, они хотят получать денежки работая или смотреть котиков. И это не «ЯСКОЗАЛ», а рыночек порешал. Линукс тут постепенно становиться все конкуретно способнее для специальностей без специализированного софта, но не потому, что становиться лучше, а потому, что все больше выноситься в облака.

    Сейчас на ПК его используют «нитакие-как-фсе» гики и не потому, что «виндовс плохой», а потому что «нитакие-как-фсе».

    Тут главное в какогото поехавшего фанатика не превратиться, которые с пеной у рта будет доказывать, что если чегот нет «ОНО НАМ И НЕНАДО, ТОЛЬКО ВЫЙГРАЛИ, РЯЯЯЯ».

    Если вы скрипткидди и не в состоянии настроить окна под себя, управлять обновлениями, службами и трафиком — то вряд ли у вас и пингвин заведеться дальше чем поставить нескучные обои.

    Reply
  16. webester

    Не раскрыта тема использования ключа HASP )

    Reply
  17. 🅵🅾️🆇

    (18) Вряд ли раскрою в обозримом будующем, уж простите.

    Если допишите и скините в markdown или word’е — обязательно вставлю этот кусочек с указанием авторства :3

    Reply
  18. webester

    (19)чота затупил. В wiki черным по русскому написано:

    Если система не видит лицензионный HASP-ключ, подключенный к компьютеру, установите пакет aksusbd и запустите службу aksusbd. После этого переподключите ключ к вашему компьютеру.

    В оф вики хорошо бы указать откуда брать готовый webkitgtk(к 8.3.12 нужна уже третья версия а не вторая как у вас в статье) потому, что собирать ее, еще то удовольствие. А когда я первый раз запускал 1С где взять не знал а сборка висла. Но такое «давайте возьмем готовые бинарники из китайской репы» в оф вики конечно не вставишь.

    Reply
  19. webester

    Еще хотел бы добавить, что для начинающих (это же в большей мере для начинающих статья?) команда вида

    cd ~/git/ones/8.3.11/2954/src/ && tar -xf rpm64.tar.gz;tar -xf client.rpm64.tar.gz

    совершенно не очевидна и запутывает, удобнее все таки читать когда написано в две строки, тут все таки два действия

    Reply
  20. Max163

    (20)

    В оф вики хорошо бы указать откуда брать готовый webkitgtk(к 8.3.12 нужна уже третья версия а не вторая как у вас в статье) потому, что собирать ее, еще то удовольствие.

    В AUR лежит webkitgtk 3:2.4.11-16 не оно?

    Reply
  21. Max163

    8..3.10.2772 пакет собрался и запускается, а 8.3.12.1855 собрался, установился, но на запуск не реагирует

    Reply
  22. Max163

    И вот еще вопрос. Как установить несколько версий платформы по данному методу?

    Reply
  23. Max163

    (23) Проблема в отсутствии библиотеки libwebkitgtk-3.0. Но где ее взять для Arch непонятно?

    Reply
  24. Max163

    (25) Сам спросил, сам отвечу:

    sudo pacman -S webkitgtk
    Reply
  25. avbolshakov

    (24) Не решили данный вопрос?

    Reply
  26. avbolshakov

    Установка нескольких версий платформ оказалась совсем простой (я новичок итд, и может сделал все не так итд).

    1) 1Ска ставится тут в /opt/1c/v.8.3/ дальше тут папка разрядность итд. Все это дело перемещаем в /opt/1c/v8.3.15.1565/ ( у меня такая была платформа первоначально установлена.

    2) Ну и повторям все сначала, только зависимость я уже не устанавливал, только собрал пакет по новой.

    3) Ну и меню поправил. Создал два файлика .desktop для morc меню в ~/.local/share/appliction

    (можно посмотреть переменную PATH )

    4) Те файлики что были созданы автоматом после перезагрузки или после перезагрузки wm перезаписывались, так что я создал новые типа 1С8315.desktop и 1С8313

    Reply
  27. avbolshakov

    Сейчас думаю, что чтобы установить несколько версий нужно было поменять строчку в скрипте PKGBUID:

    cp -r $srcdir/opt $pkgdir меняем на cp -r $srcdir/opt/8.3.{ваша версия платформы} $pkgdir. А может и нет, сам пока не пробовал

    Reply
  28. Max163

    (27) Решил копированием установленной платформы в отдельную папку с последующим возвратом. В этом случае для запуска конфигурации под нужной платформой запускается исполняемый файл из папки с этой платформой.

    Установка новой версии платформы перезатирает только предыдущую установку, но не трогает папки, которые не создавались установочным пакетом.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *