Вместо предисловия и кратенького ликбеза:
Линукс замечательная система как для серверов, так и для разработчиков, но у новичков могут возникнуть некоторые проблемы, в частности и с установкой 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
Я не уверен, что этот пакет необходим для нормального функционирования 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.
[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с — с удовольствием прикреплю к статье.
Да уж. Вот это геморрой. На винде намного проще.
(1) Ну этот геморрой именно на арче, тк 1с из коробки поддерживает deb и rpm пингвинов. На том же дебиане все гораздо проще.
Но в целом да, именно с точки зрения конечного массового пользователя и разработчика 1с — окна в этом плане проще.
Это отдельный гемморой (пусть и интересный) поддерживать совместимость конфигурации с браузерами, линями и смартфонами.
Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.
Касательно серверной части, как говорят, основная сложность в конфигурации бд постгре.
(2)
Нельзя передавать объекты в js, большинство внешних компонент не работают и тп и тд.
Касательно серверной части, как говорят, основная сложность
Интересна практическая выгода от поддержки именно на этой системе.
Т.е. примерный выигрыш по скорости, по времени решения какой-либо проблемы и т.п.
(3)
Ну вообще на арче можно собрать крайне легкую и нетребовательную систему (с музыкой, кучей пакетов, девелоперским софтом и тремя разными окружениями рабочего стола я умудрился потратить меньше 20 гигов жесткого), скажем этакий терминал, которым к томуже просто управлять удаленно.
Производительность сервера надо тестить, но как говорят, производительность собранных веб серверов на базе генту примерно на 20% выше остальных систем.
Сам тонкий клиент 1с толком работать быстрее или медленнее не будет, тк современный тонкий клиент это просто урезанный браузер.
Если с позиции разработчика/админа/гика:
Линь может радовать красивым интерфейсом, таже kde 5, по моему субъективному мнению, из коробки на голову выше мака и винды в плане оформления, функционала и кастомизации.
На линь также идут за свободой, устав от того, что за вас принимают решения, что надо вам, а что нет (как на маке однажды выпилили PPtP VPN). Дома я снес десятку после того как мелкомягкие решили самостоятельно отключить samba шару в осеннем апдейте (да, я знаю, что вернуть smb можно в gpo, сам факт, что меня даже не спросили меня очень огорчил, а ведь порты самба шары у меня были закрыты).
Также на лине очень удобно работать с git’ом, сетями, удаленным оборудованием.
О, у меня как раз вторая попытка арч освоить. Купил тут недавно себе нетбук (на работу таскать, в поездки), поставил арч+i3, пока все радует, в прошлый раз awesome wm пробовал, но как то lua как язык конфигурирования не понравился, а с i3 получше идет.
(5) i3 тоже очень годно, единственное, что вымораживало — это некорректное поведение всплывающих модальных окон, но это, вроде, лечиться прописыванием шаблона под них и в принудительном порядке превращение их в композитные.
Если прям совсем новичок и хочется арча — то лучше, наверное, начать с manjaro.
В качестве мобильного ноута для себя я выбрал — xiaomi mi air 12″, никаких проблем.
Но xfce и i3 очень понравились, работало как часы, но потом все же перешел на kde 5 plasma, оно поглючнее, зато со свистоперделками, функциональным файловым менеджером и очень интересной фишкой — kde connect (приложение для управления телефоном и наоборот), благо, чтоб перейти надо всего пару команд и оно прекрасно сосуществует параллельно с xfce и i3.
(6)manjaro — это хорошо, но меньше понимания системы, и все таки очень много разного накидано, что ресурсы жрать будет, и путать начинающего пользователя. Пробовал тоже ставить (на ПК) версию с кедами, вроде неплохо, но не зашло, в то время на винде была необходимость сидеть)
Ну и на prestigio 133s (лимит себе ставил не больше пол зарплаты на edc ноут) это все было бы очень тяжело, ибо celeron 3350 и 3 гига памяти. А вот чистый арч + i3 просто летает (впрочем только приступил к настройке и использованию, в основном пока использую для просмотра аниме, хождения в интернетах, ведения задач в taskwarrior и набора anki карточек)
(7) Если понравился i3 то крайне советую взглянуть на его форкi3-gaps ставиться прям поверх i3.
Добавляет отступы между окнами, выглядеть будет на порядок симпатичнее.
(8)А, я собственно его и поставил. Поставил после того как в виртуалке вручную пощупал преднастроенный в archlab дистрибутиве.
Беда! Что делать? Куда бежать?
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 свои репозитории обновит?
(10) Сори, не подскажу, тк на текущей работе все через терминальный клиент :c
Теоретически ты сам можешь собрать себе webkitgtk2, но старожилы заявляют, что это занимает примерно полдня-день именно машинного времени.
(11) Спасибо. Я по этому пути и пошел. Удалил пакеты. Удалил китайский репозиторий. Ставлю из АУР. 4 часа уже жду. 🙁
(13) Из аура, по отзывам, 12-24 часов)
(4) Поверьте, большей массе населения не нужна свобода выбора. Скажу больше — большая масса людей боится свободу выбора.Им нравится, что за них всё решают. Именно поэтому и мелкомягкие и яблочники могут на этом очень хорошо зарабатывать. Именно поэтому дос и виндовс всех склонил в свою сторону
(16)
Давайте без холиваров)
Если мы говорим про десктопы — то тут дело в том, что люди не любят пердолинга, они хотят получать денежки работая или смотреть котиков. И это не «ЯСКОЗАЛ», а рыночек порешал. Линукс тут постепенно становиться все конкуретно способнее для специальностей без специализированного софта, но не потому, что становиться лучше, а потому, что все больше выноситься в облака.
Сейчас на ПК его используют «нитакие-как-фсе» гики и не потому, что «виндовс плохой», а потому что «нитакие-как-фсе».
Тут главное в какогото поехавшего фанатика не превратиться, которые с пеной у рта будет доказывать, что если чегот нет «ОНО НАМ И НЕНАДО, ТОЛЬКО ВЫЙГРАЛИ, РЯЯЯЯ».
Если вы скрипткидди и не в состоянии настроить окна под себя, управлять обновлениями, службами и трафиком — то вряд ли у вас и пингвин заведеться дальше чем поставить нескучные обои.
Не раскрыта тема использования ключа HASP )
(18) Вряд ли раскрою в обозримом будующем, уж простите.
Если допишите и скините в markdown или word’е — обязательно вставлю этот кусочек с указанием авторства :3
(19)чота затупил. Вwiki черным по русскому написано:
В оф вики хорошо бы указать откуда брать готовый webkitgtk(к 8.3.12 нужна уже третья версия а не вторая как у вас в статье) потому, что собирать ее, еще то удовольствие. А когда я первый раз запускал 1С где взять не знал а сборка висла. Но такое «давайте возьмем готовые бинарники из китайской репы» в оф вики конечно не вставишь.
Еще хотел бы добавить, что для начинающих (это же в большей мере для начинающих статья?) команда вида
совершенно не очевидна и запутывает, удобнее все таки читать когда написано в две строки, тут все таки два действия
(20)
В AUR лежит webkitgtk 3:2.4.11-16 не оно?
8..3.10.2772 пакет собрался и запускается, а 8.3.12.1855 собрался, установился, но на запуск не реагирует
И вот еще вопрос. Как установить несколько версий платформы по данному методу?
(23) Проблема в отсутствии библиотеки libwebkitgtk-3.0. Но где ее взять для Arch непонятно?
(25) Сам спросил, сам отвечу:
(24) Не решили данный вопрос?
Установка нескольких версий платформ оказалась совсем простой (я новичок итд, и может сделал все не так итд).
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
Сейчас думаю, что чтобы установить несколько версий нужно было поменять строчку в скрипте PKGBUID:
cp -r $srcdir/opt $pkgdir меняем на cp -r $srcdir/opt/8.3.{ваша версия платформы} $pkgdir. А может и нет, сам пока не пробовал
(27) Решил копированием установленной платформы в отдельную папку с последующим возвратом. В этом случае для запуска конфигурации под нужной платформой запускается исполняемый файл из папки с этой платформой.
Установка новой версии платформы перезатирает только предыдущую установку, но не трогает папки, которые не создавались установочным пакетом.