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'baseIP\baseName' /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с - с удовольствием прикреплю к статье.

 

См. также

Комментарии
Сортировка: Древо
1. BigB 171 22.03.18 13:29 Сейчас в теме
Да уж. Вот это геморрой. На винде намного проще.
2. A1ice1990 95 22.03.18 13:46 Сейчас в теме
(1) Ну этот геморрой именно на арче, тк 1с из коробки поддерживает deb и rpm пингвинов. На том же дебиане все гораздо проще.
Но в целом да, именно с точки зрения конечного массового пользователя и разработчика 1с - окна в этом плане проще.
Это отдельный гемморой (пусть и интересный) поддерживать совместимость конфигурации с браузерами, линями и смартфонами.
Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.
Касательно серверной части, как говорят, основная сложность в конфигурации бд постгре.
3. Maxisussr 22.03.18 15:17 Сейчас в теме
(2)
поддерживать совместимость конфигурации с браузерами, линями и смартфонами.
Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.
Касательно серверной части, как говорят, основная сложность


Интересна практическая выгода от поддержки именно на этой системе.
Т.е. примерный выигрыш по скорости, по времени решения какой-либо проблемы и т.п.
4. A1ice1990 95 22.03.18 15:55 Сейчас в теме
(3)
Ну вообще на арче можно собрать крайне легкую и нетребовательную систему (с музыкой, кучей пакетов, девелоперским софтом и тремя разными окружениями рабочего стола я умудрился потратить меньше 20 гигов жесткого), скажем этакий терминал, которым к томуже просто управлять удаленно.
Производительность сервера надо тестить, но как говорят, производительность собранных веб серверов на базе генту примерно на 20% выше остальных систем.
Сам тонкий клиент 1с толком работать быстрее или медленнее не будет, тк современный тонкий клиент это просто урезанный браузер.


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

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

Также на лине очень удобно работать с git'ом, сетями, удаленным оборудованием.
5. neikist 23.03.18 07:59 Сейчас в теме
О, у меня как раз вторая попытка арч освоить. Купил тут недавно себе нетбук (на работу таскать, в поездки), поставил арч+i3, пока все радует, в прошлый раз awesome wm пробовал, но как то lua как язык конфигурирования не понравился, а с i3 получше идет.
6. A1ice1990 95 23.03.18 10:08 Сейчас в теме
(5) i3 тоже очень годно, единственное, что вымораживало - это некорректное поведение всплывающих модальных окон, но это, вроде, лечиться прописыванием шаблона под них и в принудительном порядке превращение их в композитные.
Если прям совсем новичок и хочется арча - то лучше, наверное, начать с manjaro.
В качестве мобильного ноута для себя я выбрал - xiaomi mi air 12", никаких проблем.

Но xfce и i3 очень понравились, работало как часы, но потом все же перешел на kde 5 plasma, оно поглючнее, зато со свистоперделками, функциональным файловым менеджером и очень интересной фишкой - kde connect (приложение для управления телефоном и наоборот), благо, чтоб перейти надо всего пару команд и оно прекрасно сосуществует параллельно с xfce и i3.
7. neikist 23.03.18 11:46 Сейчас в теме
(6)manjaro - это хорошо, но меньше понимания системы, и все таки очень много разного накидано, что ресурсы жрать будет, и путать начинающего пользователя. Пробовал тоже ставить (на ПК) версию с кедами, вроде неплохо, но не зашло, в то время на винде была необходимость сидеть)
Ну и на prestigio 133s (лимит себе ставил не больше пол зарплаты на edc ноут) это все было бы очень тяжело, ибо celeron 3350 и 3 гига памяти. А вот чистый арч + i3 просто летает (впрочем только приступил к настройке и использованию, в основном пока использую для просмотра аниме, хождения в интернетах, ведения задач в taskwarrior и набора anki карточек)
8. A1ice1990 95 23.03.18 12:56 Сейчас в теме
(7) Если понравился i3 то крайне советую взглянуть на его форк i3-gaps ставиться прям поверх i3.
Добавляет отступы между окнами, выглядеть будет на порядок симпатичнее.

9. neikist 23.03.18 12:59 Сейчас в теме
(8)А, я собственно его и поставил. Поставил после того как в виртуалке вручную пощупал преднастроенный в archlab дистрибутиве.
Оставьте свое сообщение