Calculate Forum

Цикла статей: Linux (Calculate Scratch Server) +1С (платформа 8.3)+ PostgreSQL 9.2.4

tutorials
#1

ИНСТРУКЦИЯ

По сборке родного (нативного) клиента 1С платформа 8.3 дистрибутив платформу Calculate-Linux и установка «hasp» ключа.

ПРЕДИСЛОВИЕ.

Хочу сразу высказать благодарность за созданный «оверелей» «daks» Дмитрию Фоменко (Dmitry ‘daks’ Fomenko) и Артёму Власову (оверлей «Yuego») . В этих «оверелеях» содержится «ebuild-ы» для установки 1С платформы, но сожалению они обновляются не оперативно, но в этой статье мы исправим эту проблему локально.

*Начало.
Часть первая. Создание своего локального оверлея.*

Делаем от root.

Сперва мы создадим собственный локальный оверлей, он нам понадобится для приведения «ebuild-а» нужное текущие состояние 1С платформы. На данный момент текущая платформа 1С версия 8.8.3.5.1146, как я и писал раньше в оверлеи «daks» находится последняя версия 1C 8.3.5.1068 а оверлеи «Yuego» версия 1C 8.3.5.1119, а мы хотим версию 8.8.3.5.1146. Для этого мы и создаем свой локальный оверлей. Дальше я описываю как это сделать локально. Взято тут:
http://www.calculate-linux.ru/boards/40/topics/23668

Как создать собственный оверлей, в директории /var/calculate/portage
1 – Создаем директорию для оверлея

mkdir -pv /var/calculate/portage/profiles

2 – Называем этот оверлей

echo local >/var/calculate/portage/profiles/repo_name

3 – Регистрируем оверлей в системе портежей

echo -e '\nPORTDIR_OVERLAY="${PORTDIR_OVERLAY} /var/calculate/portage"' >>/etc/portage/make.conf/custom

Дальше делаем так.

mkdir -p /var/calculate/portage/metadata/

echo "masters = gentoo" >> /var/calculate/portage/metadata/layout.conf

Иначе portage ругается:

!!! Repository 'local' is missing masters attribute in '/var/calculate/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility

4 – Создаем директории для пакетов

mkdir /var/calculate/portage/app-office

Теперь подключим оверлей «daks».

emerge -av dev-vcs/mercurial

layman -a daks

Дальше копируем туда все нужные каталоги из оверлея «daks»

cp -vR /var/lib/layman/daks/app-office/*  /var/calculate/portage/app-office/

Все сделали, давайте теперь скопируем в каталог /var/calculate/portage/ следующий «ebuild» app-text/ttf2pt1

 mkdir /var/calculate/portage/app-text/

cp -vR /usr/portage/app-text/ttf2pt1/ /var/calculate/portage/app-text/

зайдем в каталог /var/calculate/portage/app-text/ и удалим от туда «ebuild» ttf2pt1-3.4.4.ebuild

Зачем нам ttf2pt1-3.4.4-r1.ebuild? А и за ошибки его сборки, вот эта ошибка:

emake failed
 * ERROR: app-text/ttf2pt1-3.4.4-r1::gentoo failed (install phase):
 *   (no error message)

Ну и соответственно будем его патчить — как советует и дает нам патч «Dmitry ‘daks’ Fomenko» https://bugs.gentoo.org/show_bug.cgi?id=514794.

Теперь переходим следующие части работы.

Часть вторая. Закачиваем нужные пакеты программ.

Делаем от «user-а».

Первым делом скачиваем сайта 1С всё программное обеспечение связанное с установкой «RPM» в Linux. Ссылка на сайт:

https://login.1c.ru/login?service=https%3A%2F%2Fusers.v8.1c.ru%2Fdistribution%2Fpublic%2Fsecurity_check

Далее список пакетов что нужно скачать для платформа 1С 8.8.3.5.1146.

1. client.rpm32.tar.gz
2. rpm.tar.gz
3. thin.client.rpm32.tar.gz
4. client.rpm64.tar.gz
2. rpm.tar64.gz
3. thin.client.rpm64.tar.gz

Не спрашивайте почему у меня (не я писал «ebuild», я его только модернизирую). Все вопросы - «daks» Дмитрию Фоменко (Dmitry ‘daks’ Fomenko) и Артёму Власову (оверлей «Yuego»).

Делаем от root.

Распаковываем эти все пакеты в каталог:

  /var/calculate/remote/distfiles/

Пример:

tar xvfz /home/ВАШ ЮЗЕР/download/client.rpm32.tar.gz  -C /var/calculate/remote/distfiles/

Часть третия. Правим «ebuild-ы» app-office.

Делаем от root.

Теперь мы займется правкой «ebuild-od», не чего сложного там нет. Заходим в папку с помощью МС (Midnight Commander) - /var/calculate/portage/app-office/ и первая наша папка /1C_Enterprise-client удаляем все от туда (это обязательно, если это не сделать вам придется все версии скачать 1С платформы — которые указаны «ebuild-ах» ) «ebuild-ы» кроме одного 1C_Enterprise-client-8.3.5.1068.ebuild. Вот мы его и переименуем на 1C_Enterprise-client-8.3.5.1146.ebuild.
Пример:

mv -v /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.5.1068.ebuild /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.5.1146.ebuild

Ну так для всех остальных директорий:

1. 1C_Enterprise-client
2. 1C_Enterprise-common
3. 1C_Enterprise-crs
4. 1C_Enterprise-server
5. 1C_Enterprise-ws

Список «ebuild-od» в которых надо заменить версию:

1. 1C_Enterprise-client-8.3.5.1068.ebuild
2. 1C_Enterprise-common-8.3.5.1068.ebuild   
3. 1C_Enterprise-crs-8.3.5.1068.ebuild
4. 1C_Enterprise-server-8.3.5.1068.ebuild
5. 1C_Enterprise-ws-8.3.5.1068.ebuild

После этого мы создадим Manifest для последующей установки.

ebuild /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.5.1146.ebuild digest

Все остальные 4 по списку «ebuild-а» сделать так же как примере.

Часть четвертая. Решаем проблему пакета ttf2pt1-3.4.4-r1.ebuild.

Делаем от root.

Делаем патч от Dmitry ‘daks’ Fomenko. Взять тут

https://bugs.gentoo.org/show_bug.cgi?id=514794

а если кто не увидел то тут :slight_smile:

https://bugs.gentoo.org/attachment.cgi?id=380086&action=edit

mcedit /var/calculate/portage/app-text/ttf2pt1/files/ttf2pt1-3.4.4-freetype2.patch

либо другим любым редактором

Вставляем туда патч:

diff -Naur ttf2pt1-3.4.4-orig/ft.c ttf2pt1-3.4.4/ft.c
--- ttf2pt1-3.4.4.orig/ft.c     2014-07-02 14:19:32.000000000 -0700
+++ ttf2pt1-3.4.4/ft.c  2014-07-02 14:20:22.794538869 -0700
@@ -13,11 +13,11 @@
 #include <ctype.h>
 #include <sys/types.h>
 #include <ft2build.h>
-#include <freetype/freetype.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftsnames.h>
-#include <freetype/ttnameid.h>
-#include <freetype/ftoutln.h>
+#include <freetype2/freetype.h>
+#include <freetype2/ftglyph.h>
+#include <freetype2/ftsnames.h>
+#include <freetype2/ttnameid.h>
+#include <freetype2/ftoutln.h>
 #include "pt1.h"
 #include "global.h"

Сохраняем фаил.

Теперь переименовываем “ebuild”

mv -v /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r1.ebuild /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild

и начинаем править ttf2pt1-3.4.4-r9.ebuild.

mcedit /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild 

находим вот эти строки.

src_prepare() {
<------>epatch "${FILESDIR}"/${P}-Makefile.patch
<------>epatch "${FILESDIR}"/${P}-LDFLAGS.patch
<------>epatch "${FILESDIR}"/${PN}-3.4.0-man-pages.diff
<------>epatch "${FILESDIR}"/${P}-freetype.patch

<------>sed -i -e "/^CC=/ { s:gcc:$(tc-getCC): }" Makefile
<------>sed -i -e "/^CFLAGS_SYS=/ { s:-O.*$:${CFLAGS}: }" Makefile
<------>sed -i -e "/^LIBS_FT=/ { s:-L/usr/lib:-L/usr/$(get_libdir): }" Makefile
<------>sed -i -e "/^LIBXDIR =/ { s:libexec:$(get_libdir): }" Makefile
}

вставляем свой патч сюда

epatch "${FILESDIR}"/${PN}-3.4.4-freetype2.patch

получаем вот такой результат:

src_prepare() {
    epatch "${FILESDIR}"/${P}-Makefile.patch
    epatch "${FILESDIR}"/${P}-LDFLAGS.patch
    epatch "${FILESDIR}"/${PN}-3.4.0-man-pages.diff
    epatch "${FILESDIR}"/${P}-freetype.patch
    epatch "${FILESDIR}"/${PN}-3.4.4-freetype2.patch # patch  Dmitry 'daks' Fomenko

    sed -i -e "/^CC=/ { s:gcc:$(tc-getCC): }" Makefile
    sed -i -e "/^CFLAGS_SYS=/ { s:-O.*$:${CFLAGS}: }" Makefile
    sed -i -e "/^LIBS_FT=/ { s:-L/usr/lib:-L/usr/$(get_libdir): }" Makefile
    sed -i -e "/^LIBXDIR =/ { s:libexec:$(get_libdir): }" Makefile
}

Теперь нам надо создать свой манифест

ebuild /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild digest

Часть пятая. Ставим 1С клиента.

Делаем от root.

Теперь мы ставим клиента.

emerge -av 1C_Enterprise-client --autounmask-write

etc-update

ключ -5 

emerge -av 1C_Enterprise-client

Не забудет добавить своего юзера в группу «grp1cv83» (но это не обязательно делать).
Пример:

usermod -a -G grp1cv83  Ваш_юзер

Если вы все сделали правильно то у вас установится «стоковый» 1С клиент платформы 8.8.3.5.1146 (почему «стоковый» так я не трогаю «USE FLAGS»).

Часть шестая. Ставим программное обеспечение для «hasp» ключа (net-misc/hasp).

Делаем от root.

Сперва выясним в каком оверлеи есть ПО «hasp», делаем так:

eix-remote update

потом

eix -R hasp

Получаем вот такой список.

* app-emulation/hasp [2]
     Available versions:  ~*3.0-r1 ~*3.0-r3 *3.0-r4 {net_hasp wine}
     Homepage:            http://www.etersoft.ru
     Description:         Hardware Against Software Piracy for access to parallel and usb keys

* app-emulation/hasp-par [2]
     Available versions:  ~1.7 ~1.7-r1 ~1.7-r2 1.7-r3 {KERNEL="linux"}
     Homepage:            http://www.aladdin.com
     Description:         HASP driver parallel port

* dev-haskell/haspell [4]
     Available versions:  ~1.1.0(0/1.1.0) {doc hoogle hscolour profile}
     Homepage:            https://github.com/otters/haspell
     Description:         Haskell bindings to aspell

* dev-perl/Role-HasPayload
     Available versions:  ~0.5[5] ~0.5[6]
     Homepage:            http://search.cpan.org/dist/Role-HasPayload/
     Description:         something that carries a payload

* net-misc/haspd
     Available versions:  3.2.10-r1[1] 3.2.10-r1[3] {demo lpt-hasp sentinel skey +wine KERNEL="linux"}
     Homepage:            http://www.etersoft.ru
     Description:         Hardware Against Software Protection drivers and license managers

* sys-apps/hasp [7]
     Available versions:  ~3.3_p5-r1 {demo lpt net_hasp usb wine KERNEL="linux"}
     Homepage:            http://www.etersoft.ru
     Description:         Hardware Against Software Piracy for access to parallel and usb keys

[1] "daks" /var/lib/layman/daks
[2] "crg" layman/crg
[3] "daks" layman/daks
[4] "haskell" layman/haskell
[5] "perl-experimental" layman/perl-experimental
[6] "perl-experimental-snapshots" layman/perl-experimental-snapshots
[7] "rion" layman/rion

В оверлеи «daks» очень старое ПО для ключа (не работает с новыми ядрами). На нужен оверлей «rion»
Ставим этот оверлей «rion»

layman -a rion

взводим «USE FLAGS»

mcedit /etc/portage/package.use/custom

Потом добавляем туда следующие строки.

>=sys-apps/hasp-3.3_p5-r1 net_hasp wine

Теперь начнем собирать пакет.

emerge -av sys-apps/hasp --autounmask-write

etc-update

ключ -5

emerge -av sys-apps/hasp

Все установили.
Теперь надо сделать нормальный демон запуска

mcedit /etc/conf.d/hasplmd

вставляем туда строку

HASPLMD_ARGS="-s"

Дальше делаем файл для запускаемого демона

mcedit /etc/init.d/hasplm

Вставляем туда следующие строки.

#!/sbin/runscript
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2

depend () {
    need net localmount
    after hasplmd
}

start() {
<------>ebegin "Starting HASP HL"
<------>start-stop-daemon --start --quiet --exec /usr/sbin/hasplm -- ${HASPLM_ARGS}
<------>eend $?
}

stop() {
<------>ebegin "Stopping HASP HL"
<------>start-stop-daemon --stop --quiet --retry 10 --exec /usr/sbin/hasplm
<------>eend $?
}

Теперь нам нужно сделать этот файл hasplm исполняемый с помощью Midnight Commander (как это сделать прочитай документацию… это выходит за рамки нашей инструкции)
Запускаем службы HASP LM.

/etc/init.d/hasplmd start  ---это не обязательный "демон"! Он для ключей  Cinderella 
/etc/init.d/hasplm start
/etc/init.d/aksusbd start

Вы должны получить вот такое сообщение

 # /etc/init.d/hasplmd start
* Caching service dependen

 # /etc/init.d/hasplm start
* Starting HASP HL ...

 # /etc/init.d/aksusbd start

Теперь вы добавьте запуск этих «демонов» в rc-update (автозапуск)

rc-update add hasplmd default ---это не обязательный "демон"! Он для ключей  Cinderella Aladdin
rc-update add hasplm default
rc-update add aksusbd default

P.S.
Есть еще один “демон” из этого пакета sys-apps/hasp-3.3_p5-r1:

/etc/init.d/winehasp status

Но разбирайтесь с ними сами.

Еще поступила рекомендация сделать так:

sysctl -w kernel.shmmax=662020352
sysctl -w kernel.shmall=662020352
echo "kernel.shmmax = 662020352" >> /etc/sysctl.conf
echo "kernel.shmmall = 662020352" >> /etc/sysctl.conf

Конец.

Инструкция будет обновляться и исправляться.

Особая благодарность Жукоцкому Даниле за помощь написании инструкции.

УДАЧИ ВСЕМ!

#2

А у меня вот на одной машине и патч не понадобился, ибо пакет app-text/ttf2pt1 собрался по умолчанию, а конкретно на бухгалтерском месте почему то не желает.
Вроде делал по написанному с патчем. В результате ошибка в патче http://pastebin.com/yUEZ6h3H
ttf2pt1-3.4.4-r7.ebuild > http://pastebin.com/u5CbLXr2
ttf2pt1-3.4.4-freetype2.patch > http://pastebin.com/gP1zBnLR

Что-то не так делаю?

#3

Привет! Все от невнимательности вашей. Если тупо делать “копи-паст” то кофиг. файл попадают ненужные “управляющие символы”. Прилагаю к этому посту - мой локальный оверлей. Удачи

portage_local_overley.tar.gz (26.7 KB)

#4

Чем здесь ругаться, укажите в каком месте не так? Пересматриваю на который раз все так как и описано делаю. Разница лишь в релизе е-билда. Однако и это я учел.

#5

Я Вам предоставил свой локальный оверлей… Надо просто его записать в нужное место (или заменить ваши папки) и Все… У вас ВСЕ будет работать … Если надо могу предоставить собраны app-text/ttf2pt1 - бинарник…Последние это самому все у вас сделать :). Инструкция проверена 100%… все работает…Просто не захватывайте управляющие символы… и не делайте пробелов с начала … а в конце конфиг. файлов всегда должен быть символ “Enter”.

Пример:

1.
-------------начало---
лишняя строка
#!/sbin/runscript
------- конец-----

2. <------> не нужный  символ.

3. И.т.д.

Еще раз Удачи :slight_smile:

#6

В очередной раз, Благодарствуйте за подсказку, Уважаемый Азиз Исаков!
Однако, возник и еще один вопрос по ходу обновления 1С. Речь идет о переходе с конфигурации 2.0 на 3.0. В моем случае осуществлялась попытка перехода в варианте с версии 2.0.60.4 на соответствующую версию 3.0.34.11. До момента непосредственно обновления конфигурации все прошло гладко. Однако, в появившемся окне необходимо было кликнуть на “принять” (конфигурацию)… Вот здесь то и выяснилось, что эта сама кнопка не активна!
Поясню, что заведомо не стал идти на форумы 1С, ибо далеко не везде будет понятно, что речь идет именно о нативном Линуксе, и никакие exe-шники здесь не работают. То есть, я понимаю, что вроде необходимо установить некую отдельную конфигурацию 3.0… Однако каким образом это осуществить, мне совсем не понятно?
Может у кого было нечто подобное, поделитесь…?

#7

Здравствуйте Станислав Сухоруков! Этот вопрос не по теме этой стати! Но подскажу что делать при этом случаи. Сделайте переход в OS Windows 7 64 bit либо 8 64 bit. Иначе у вас возникнет не только эта ошибка. Я по вашей просьбе написал статью.
http://www.calculate-linux.ru/boards/16/topics/4067?page=3

Цитата:

Всем привет!
В соседнем посте http://www.calculate-linux.org/boards/16/topics/26816?r=26854 описываю, что да как относительно установки пакетов для 1С_8.3 в системе. Однако пересмотрел много манов, относительно настроек postgre и всего остального, и вижу то давность постов как минимум больше полугода, да и конфигурирование происходит как правило в CentOS а это все таки отличается от настроек в Кальке. Отсюда возникает вопрос. Кто либо настраивал 1С_8.3 в Кальке? И если так то может быть поделитесь как сие мероприятие выглядит и если возможно подробнее?
Да, и еще вопрос. Ключик от бухгалтерии подойдет ли для серверного решения, на количество пользователей не более 10, или где-то стоит его искать?

Тогда и у меня к вам вопрос - почему Вам нужен дистрибутив с таким упорством Calculate-Linux для 1С платформы, требующий не малые знания “gentoo linux”?

#8

Вопрос не по теме, но я отвечу… Это мой выбор вот уже в районе 7-ти лет.
А Вы прокомментируете мой вопрос… Или пока что нечего сказать?

#9

Понятно. Не получится у Вас это сделать… уже это все проходили. Сожалению да же Windows XP не удается сделать переход с версии с 8.2 до 8.3 версии. Удачи!

#10

Надеюсь, что мнение Уважаемого здесь не единственное…? Может есть еще у кого-то что-то сказать на тему…?

#11

Я конечно не буду оправдываться… Но скажу одну вещь …основном кто занимается базами данных в linux -это основном профессионалы. И они считают что это тайные знания… а то есть “жлобы”. Я Вам дам 100% гарантию что кроме нас ни кто не читает эту статью :). Если надо Вам я могу написать статью и как ставить PostgresSql для 1С и установку 1С Сервер? По этой причине “жлобства” ни кто и не писал в течении 3 лет как это сделать установку 1С для Calculate-Linux, а мне просто это тема была не интересна до августа 2014 года.

#12

По поводу апдейта на следующую мажорную версию: никогда не делал, посему хз, как оно там.
По поводу Постгри: ничего сложного в его настройке не было, вся дока бралась из официальных 1С’овских документов и форума территория 1с.

#13

Полезные ссылки:

http://www.calculate-linux.org/boards/16/topics/26816

http://www.calculate-linux.ru/boards/16/topics/4067?page=3

http://www.calculate-linux.org/blogs/ru/350/show

#14

Linux Calculate Scratch Server 14.16.2 + 1C+ PostgreSQL Вторая статья (первая часть).

Первая статья во вложении с картинками.

Автор: Исаков Азиз Ильбекович. 26.09.2015
Из цикла статей: Linux (Calculate Scratch Server) PostgreSQL вторая статья, первая часть:

Установка сервера 1С платформа 8.3 (версия 8.3.6.2299) + PostgresSQL 9.2.4 на платформу операционной системы Calculate-Linux с использованием «hasp» ключа.
Первая часть, устанавливаем сервер.

Начало.

Часть первая. Создание своего локального оверлея.

После загрузки системы, он нам предлагает запустить ssh. Я воспользуюсь этим предложением, так как работать не удобно в этом окне. Я запущу ssh и после узнаю какой ip адрес получила виртуальная машина. После этого переду в другой терминал, например - PuTTY: Telnet/SSH Клиент

Теперь делаем следующие команды в терминале, делаем от root:

Сперва мы создадим собственный локальный оверлей, он нам понадобится для приведения «ebuild-а» нужное текущие состояние 1С платформы. На данный момент текущая платформа 1С версия 8.8.3.6.2299, как я и писал раньше в оверлеи «daks» находится последняя версия 1C 8.3.6.1188 а оверлеи «Yuego» версия 1C 8.3.6.2000, а мы например хотим версию 8.8.3.6.2299. Для этого мы и создаем свой локальный оверлей. Дальше я описываю как это сделать локально. Взято тут:

http://www.calculate-linux.ru/boards/40/topics/23668
Как создать собственный оверлей, в директории /var/calculate/portage

1 – Создаем директорию для оверлея

 # mkdir -pv /var/calculate/portage/profiles

2 – Называем этот оверлей

 # echo local >/var/calculate/portage/profiles/repo_name

3 – Регистрируем оверлей в системе портежей

 # echo -e '\nPORTDIR_OVERLAY="${PORTDIR_OVERLAY} /var/calculate/portage"' >>/etc/portage/make.conf/custom

Дальше делаем так.

 # mkdir -p /var/calculate/portage/metadata/

 # echo "masters = gentoo" >> /var/calculate/portage/metadata/layout.conf

Иначе portage ругается:

!!! Repository 'local' is missing masters attribute in '/var/calculate/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility

4 – Создаем директории для пакетов

 # mkdir /var/calculate/portage/app-office

Теперь подключим оверлей «daks».

 # emerge -av dev-vcs/mercurial

 # layman -a daks

Дальше копируем туда все нужные каталоги из оверлея «daks»

 # cp -vR /var/lib/layman/daks/app-office/*  /var/calculate/portage/app-office/

Все сделали, давайте теперь скопируем в каталог /var/calculate/portage/ следующий «ebuild» app-text/ttf2pt1

 # mkdir /var/calculate/portage/app-text/

 # cp -vR /usr/portage/app-text/ttf2pt1/ /var/calculate/portage/app-text/

зайдем в каталог /var/calculate/portage/app-text/ и удалим от туда «ebuild» ttf2pt1-3.4.4.ebuild

Зачем нам ttf2pt1-3.4.4-r1.ebuild? А и за ошибки его сборки, вот эта ошибка:

emake failed
 * ERROR: app-text/ttf2pt1-3.4.4-r1::gentoo failed (install phase):
 *   (no error message)

Ну и соответственно будем его патчить — как советует и дает нам патч «Dmitry ‘daks’ Fomenko» https://bugs.gentoo.org/show_bug.cgi?id=514794.
Теперь переходим следующие части работы.

Часть вторая. Закачиваем нужные пакеты программ.

Делаем от «user-а».

Первым делом скачиваем сайта 1С всё программное обеспечение связанное с установкой «RPM» в Linux. Ссылка на сайт:
https://releases.1c.ru/total

Далее список пакетов что нужно скачать для платформа 1С 8.8.3.6.2299.

1. client.rpm32.tar.gz
2. rpm.tar.gz
3. thin.client.rpm32.tar.gz
4. client.rpm64.tar.gz
2. rpm.tar64.gz
3. thin.client.rpm64.tar.gz

Не спрашивайте почему у меня (не я писал «ebuild», я его только модернизирую). Все вопросы - «daks» Дмитрию Фоменко (Dmitry ‘daks’ Fomenko) и Артёму Власову (оверлей «Yuego»).
Делаем от root.
Распаковываем эти все пакеты в каталог:

  /var/calculate/remote/distfiles/

Пример:

 # tar xvfz /home/ВАШ ЮЗЕР/download/client.rpm32.tar.gz  -C /var/calculate/remote/distfiles/

Часть третия. Правим «ebuild-ы» в директории app-office.

Делаем от root.

Теперь мы займется правкой «ebuild-od», не чего сложного там нет. Заходим в папку с помощью МС (Midnight Commander) - /var/calculate/portage/app-office/ и первая наша папка /1C_Enterprise-client удаляем все от туда (это обязательно, если это не сделать вам придется все версии скачать 1С платформы — которые указаны «ebuild-ах» ) «ebuild-ы» кроме одного 1C_Enterprise-client-8.3.5.1068.ebuild. Вот мы его и переименуем на 1C_Enterprise-client-8.3.5.1146.ebuild.
Пример:
# mv -v /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.5.1068.ebuild /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.5.1146.ebuild
Ну так для всех остальных директорий:

1. 1C_Enterprise-client
2. 1C_Enterprise-common
3. 1C_Enterprise-crs
4. 1C_Enterprise-server
5. 1C_Enterprise-ws

Список «ebuild-od» в которых надо заменить версию:

1. 1C_Enterprise-client-8.3.6.1188.ebuild
2. 1C_Enterprise-common-8.3.6.1188.ebuild   
3. 1C_Enterprise-crs-8.3.6.1188.ebuild
4. 1C_Enterprise-server-8.3.6.1168.ebuild
5. 1C_Enterprise-ws-8.3.6.1168.ebuild

После этого мы создадим Manifest для последующей установки.

 # ebuild /var/calculate/portage/app-office/1C_Enterprise-client/1C_Enterprise-client-8.3.6.2299.ebuild digest

Все остальные 4 по списку «ebuild-а» сделать так же как примере.

Часть четвертая. Решаем проблему пакета ttf2pt1-3.4.4-r1.ebuild.
Делаем от root.
Делаем патч от Dmitry ‘daks’ Fomenko. Взять тут
https://bugs.gentoo.org/show_bug.cgi?id=514794
а если кто не увидел то тут :slight_smile:
https://bugs.gentoo.org/attachment.cgi?id=380086&action=edit
mcedit /var/calculate/portage/app-text/ttf2pt1/files/ttf2pt1-3.4.4-freetype2.patch

либо другим любым редактором
Вставляем туда патч:

diff -Naur ttf2pt1-3.4.4-orig/ft.c ttf2pt1-3.4.4/ft.c
--- ttf2pt1-3.4.4.orig/ft.c     2014-07-02 14:19:32.000000000 -0700
+++ ttf2pt1-3.4.4/ft.c  2014-07-02 14:20:22.794538869 -0700
@@ -13,11 +13,11 @@
 #include <ctype.h>
 #include <sys/types.h>
 #include <ft2build.h>
-#include <freetype/freetype.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftsnames.h>
-#include <freetype/ttnameid.h>
-#include <freetype/ftoutln.h>
+#include <freetype2/freetype.h>
+#include <freetype2/ftglyph.h>
+#include <freetype2/ftsnames.h>
+#include <freetype2/ttnameid.h>
+#include <freetype2/ftoutln.h>
 #include "pt1.h" 
 #include "global.h" 

Сохраняем фаил.
Теперь переименовываем “ebuild”

 # mv -v /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r1.ebuild /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild

и начинаем править ttf2pt1-3.4.4-r9.ebuild.
mcedit /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild
находим вот эти строки.

src_prepare() {
        epatch "${FILESDIR}"/${P}-Makefile.patch
        epatch "${FILESDIR}"/${P}-LDFLAGS.patch
        epatch "${FILESDIR}"/${PN}-3.4.0-man-pages.diff
        epatch "${FILESDIR}"/${P}-freetype.patch

        sed -i -e "/^CC=/ { s:gcc:$(tc-getCC): }" Makefile
        sed -i -e "/^CFLAGS_SYS=/ { s:-O.*$:${CFLAGS}: }" Makefile
        sed -i -e "/^LIBS_FT=/ { s:-L/usr/lib:-L/usr/$(get_libdir): }" Makefile
        sed -i -e "/^LIBXDIR =/ { s:libexec:$(get_libdir): }" Makefile
}

вставляем свой патч сюда

epatch "${FILESDIR}"/${PN}-3.4.4-freetype2.patch

получаем вот такой результат:

src_prepare() {
    epatch "${FILESDIR}"/${P}-Makefile.patch
    epatch "${FILESDIR}"/${P}-LDFLAGS.patch
    epatch "${FILESDIR}"/${PN}-3.4.0-man-pages.diff
    epatch "${FILESDIR}"/${P}-freetype.patch
    epatch "${FILESDIR}"/${PN}-3.4.4-freetype2.patch # patch  Dmitry 'daks' Fomenko

    sed -i -e "/^CC=/ { s:gcc:$(tc-getCC): }" Makefile
    sed -i -e "/^CFLAGS_SYS=/ { s:-O.*$:${CFLAGS}: }" Makefile
    sed -i -e "/^LIBS_FT=/ { s:-L/usr/lib:-L/usr/$(get_libdir): }" Makefile
    sed -i -e "/^LIBXDIR =/ { s:libexec:$(get_libdir): }" Makefile
}

Теперь нам надо создать свой манифест

 # ebuild /var/calculate/portage/app-text/ttf2pt1/ttf2pt1-3.4.4-r9.ebuild digest

Часть пятая. Предварительная подготовка к установке 1С сервера.

Делаем от root.

Сперва мы займеся следующим действиями:

1. Создаём файл в следующей директории /etc/portage/package.keywords.

 # touch /etc/portage/package.keywords/1С

Пропишем следующие строчки файле /etc/portage/package.keywords/1C:
Пример:

 # echo -e 'media-gfx/imagemagick **' >>/etc/portage/package.keywords/1С
 # echo -e 'app-office/1C_Enterprise-client **' >>/etc/portage/package.keywords/1С
 # echo -e 'app-office/1C_Enterprise-server **' >>/etc/portage/package.keywords/1С
 # echo -e 'app-office/1C_Enterprise-common **' >>/etc/portage/package.keywords/1С
 # echo -e 'dev-db/postgresql-server ~amd64' >>/etc/portage/package.keywords/1С
 # echo -e 'sys-apps/hasp ~amd64' >>/etc/portage/package.keywords/1С
 # echo -e 'app-office/1C_Enterprise-ws **' >>/etc/portage/package.keywords/1С
 # echo -e 'app-office/1C_Enterprise-crs **' >>/etc/portage/package.keywords/1С
 # echo -e 'app-admin/eselect-postgresql **' >>/etc/portage/package.keywords/1С

Вот весь список:

media-gfx/imagemagick **
app-office/1C_Enterprise-client **
app-office/1C_Enterprise-server **
app-office/1C_Enterprise-common **
dev-db/postgresql-server ~amd64
sys-apps/hasp ~amd64
app-office/1C_Enterprise-ws **
app-office/1C_Enterprise-crs **
app-admin/eselect-postgresql **

Это мы разблокировали установку пакетов с «нестабильной» ветки (более подробно читайте документацию по OS Gentoo Linux), так как у нас дистрибутив со «стабильной» ветки, установку на него программного обеспечения с «нестабильной» ветки, возможно только таким образом.

2.Создаём файл в следующей директории /etc/portage/package.mask

 # touch /etc/portage/package.mask/1С

Пропишем следующие строчки файле /etc/portage/package.mask/1C:
Пример:

 # echo -e 'dev-db/postgresql-base::gentoo' >>/etc/portage/package.mask/1С

Вот весь список:

dev-db/postgresql-base::gentoo
dev-db/postgresql-docs::gentoo
dev-db/postgresql-server::gentoo

Мы таким образом, блокируем установку СУБД PostgreSQL с основной ветки «gentoo», так как для установки 1С сервера нам нужен про патченый СУБД PostgreSQL (патч от 1С).

3.Создаём файл в следующей директории /etc/portage/package.unmask

 # touch /etc/portage/package.unmask/1С

Пропишем следующие строчки файле /etc/portage/package.unmask/1C:
Пример:

 # echo -e '=dev-db/postgresql-server-9.2.4-r2::daks' >>/etc/portage/package.unmask/1С

Вот весь список:

=dev-db/postgresql-server-9.2.4-r2::daks
=dev-db/postgresql-base-9.2.4-r2::daks

Таким образом мы разрешаем установку про патченый СУБД PostgreSQL (патч от 1С) с оверлея «daks».

4.Создаём файл в следующей директории /etc/portage/package.use

 # touch /etc/portage/package.use/1С

Пропишем следующие строчки файле /etc/portage/package.use/1C:
Пример:

 # echo -e 'media-gfx/imagemagick corefonts' >>/etc/portage/package.use/1С

Вот весь список:

media-gfx/imagemagick corefonts
app-office/1C_Enterprise-server postgres
dev-db/postgresql-server 1c pg_legacytimestamp
dev-db/postgresql-base 1c pg_legacytimestamp threads
sys-apps/hasp net_hasp usb

Это ключи нужны для нормальной установки сервера (более подробно читайте документацию по OS Gentoo Linux).

5. Решим проблему: emerge: there are no ebuilds to satisfy “>=app-admin/eselect-postgresql-1.2.0”.
По каким-то причинам при установки с оверлея «daks» СУБД PostgreSQL (с патчем от 1С), не находится это «ebuild» «app-admin/eselect-postgresql-1.2.0». Это «ebuild» находится в основной ветке тут:

 # eix eselect-postgresql                    
* app-eselect/eselect-postgresql
     Available versions:  1.2.1
     Homepage:            https://www.gentoo.org/
     Description:         Utility to select the default PostgreSQL slot

Это проблема решается просто, нам надо скопировать ebuild с основной ветки в наш локальный оверлей.
Создаём в локальном оверлеи папку app-admin

 # mkdir -pv /var/calculate/portage/app-admin

и копируем туда всю папку eselect-postgresql с основной ветки:

 # cp -Rva /usr/portage/app-eselect/eselect-postgresql/  /var/calculate/portage/app-admin/

 # ebuild /var/calculate/portage/app-admin/eselect-postgresql/eselect-postgresql-1.2.1.ebuild digest

6. Проблема с ядром Linux, решаем так:

sysctl -w kernel.shmmax=662020352
sysctl -w kernel.shmall=662020352
echo "kernel.shmmax = 662020352" >> /etc/sysctl.conf
echo "kernel.shmmall = 662020352" >> /etc/sysctl.conf

Эти настройки «shared memory» нужны для 1С сервера.
http://wiki.ayac.ru/skripty/nastrojka-shared-memory

Часть шестая. Ставим 1С сервер.

Теперь мы ставим сервер.

  # emerge -av app-office/1C_Enterprise-server

Выйдет следующие сообщение:

These are the packages that would be merged, in order:

Calculating dependencies... done!
[binary  N     ] app-arch/cabextract-1.6::gentoo  USE="-extras" 76 KiB
[ebuild  N     ] media-fonts/corefonts-1-r7::gentoo  USE="-X -tahoma" 7460 KiB
[binary  N     ] dev-db/unixODBC-2.3.2-r1::gentoo  USE="minimal unicode -odbcmanual -static-libs" ABI_X86="(64) -32 (-x32)" 303 KiB
[ebuild  N     ] app-text/ttf2pt1-3.4.4-r9::local  226 KiB
[binary  N     ] dev-libs/icu-55.1:0/55::gentoo  USE="-debug -doc -examples -static-libs" ABI_X86="(64) -32 (-x32)" 11345 KiB
[binary  NS    ] media-libs/openjpeg-2.1.0:2/7::gentoo [1.5.2:0/5::gentoo] USE="-doc -static-libs {-test}" 228 KiB
[ebuild  N f  *] app-office/1C_Enterprise-common-8.3.6.2299:8.3::local  USE="nls" 0 KiB
[ebuild  N     ] app-admin/eselect-postgresql-1.2.1::local  4 KiB
[ebuild  N    #] dev-db/postgresql-base-9.2.4-r2:9.2::daks  USE="1c nls pam pg_legacytimestamp readline ssl threads zlib -doc -kerberos -ldap -python" LINGUAS="de en es fr it pl pt_BR ro ru -af -cs -fa -hr -hu -ko -nb -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_3" PYTHON_TARGETS="python2_7 -python3_3" 16058 KiB
[ebuild  N    #] dev-db/postgresql-server-9.2.4-r2:9.2::daks  USE="1c nls pam pg_legacytimestamp -doc -kerberos -perl -python (-selinux) -tcl {-test} -uuid -xml" LINGUAS="de en es fr it pl pt_BR ro ru -af -cs -fa -hr -hu -ko -nb -sk -sl -sv -tr -zh_CN -zh_TW" PYTHON_SINGLE_TARGET="python2_7 -python3_3" PYTHON_TARGETS="python2_7 -python3_3" 4 KiB
[ebuild  N    ~] media-gfx/imagemagick-6.9.2.0:0/6.9.2.0::gentoo  USE="bzip2 corefonts cxx jpeg jpeg2k openmp png tiff truetype zlib -X -autotrace -djvu -fftw -fontconfig -fpx -graphviz -hdri -jbig -lcms -lqr -lzma -opencl -openexr -pango -perl -postscript -q32 -q64 -q8 -raw -static-libs -svg {-test} -webp -wmf -xml" 8049 KiB
[ebuild  N     ] gnome-extra/libgsf-1.14.34:0/114::gentoo  USE="bzip2 introspection -gtk" 596 KiB
[ebuild  N f  *] app-office/1C_Enterprise-server-8.3.6.2299:8.3::local  USE="fontconfig nls postgres -pax_kernel" 0 KiB

Total: 13 packages (12 new, 1 in new slot, 4 binaries), Size of downloads: 44344 KiB
Fetch Restriction: 2 packages

Would you like to merge these packages? [Yes/No] 

Как видим что по зависимости с «ebuild-ом» app-office/1C_Enterprise-server-8.3.6.2299:8.3 «вытягиваются» и другие «пакеты» программ, это нормально, продолжаем установку. Нажимаем «Yes».
Получаем вот такой результат:

>>> Verifying ebuild manifests
>>> Emerging binary (1 of 13) app-arch/cabextract-1.6::gentoo
>>> Emerging binary (2 of 13) dev-db/unixODBC-2.3.2-r1::gentoo
>>> Emerging (3 of 13) app-text/ttf2pt1-3.4.4-r9::local
>>> Emerging binary (4 of 13) dev-libs/icu-55.1::gentoo
>>> Installing (1 of 13) app-arch/cabextract-1.6::gentoo
>>> Emerging binary (5 of 13) media-libs/openjpeg-2.1.0::gentoo
>>> Installing (2 of 13) dev-db/unixODBC-2.3.2-r1::gentoo
>>> Emerging (6 of 13) app-admin/eselect-postgresql-1.2.1::local
>>> Installing (5 of 13) media-libs/openjpeg-2.1.0::gentoo
>>> Emerging (7 of 13) gnome-extra/libgsf-1.14.34::gentoo
>>> Installing (4 of 13) dev-libs/icu-55.1::gentoo
>>> Emerging (8 of 13) media-fonts/corefonts-1-r7::gentoo
>>> Installing (6 of 13) app-admin/eselect-postgresql-1.2.1::local
>>> Emerging (9 of 13) app-office/1C_Enterprise-common-8.3.6.2299::local
>>> Installing (3 of 13) app-text/ttf2pt1-3.4.4-r9::local
>>> Installing (8 of 13) media-fonts/corefonts-1-r7::gentoo
>>> Emerging (10 of 13) dev-db/postgresql-base-9.2.4-r2::daks
>>> Installing (9 of 13) app-office/1C_Enterprise-common-8.3.6.2299::local
>>> Emerging (11 of 13) media-gfx/imagemagick-6.9.2.0::gentoo
>>> Installing (7 of 13) gnome-extra/libgsf-1.14.34::gentoo
>>> Installing (10 of 13) dev-db/postgresql-base-9.2.4-r2::daks
>>> Emerging (12 of 13) dev-db/postgresql-server-9.2.4-r2::daks
>>> Installing (11 of 13) media-gfx/imagemagick-6.9.2.0::gentoo
>>> Installing (12 of 13) dev-db/postgresql-server-9.2.4-r2::daks
>>> Emerging (13 of 13) app-office/1C_Enterprise-server-8.3.6.2299::local
>>> Installing (13 of 13) app-office/1C_Enterprise-server-8.3.6.2299::local
>>> Recording app-office/1C_Enterprise-server in "world" favorites file...
>>> Jobs: 13 of 13 complete                         Load avg: 1.99, 2.41, 2.38

 * Messages for package dev-db/postgresql-base-9.2.4-r2:

 * If you need a global psqlrc-file, you can place it in:
 *     /etc/postgresql-9.2/

 * Messages for package dev-db/postgresql-server-9.2.4-r2:

 * Gentoo specific documentation:
 * http://www.gentoo.org/doc/en/postgres-howto.xml
 * 
 * Official documentation:
 * http://www.postgresql.org/docs/9.2/static/index.html
 * 
 * The default location of the Unix-domain socket is:
 *     /run/postgresql/
 * 
 * Before initializing the database, you may want to edit PG_INITDB_OPTS
 * so that it contains your preferred locale in:
 *     /etc/conf.d/postgresql-9.2
 * 
 * Then, execute the following command to setup the initial database
 * environment:
 *     emerge --config =dev-db/postgresql-server-9.2.4-r2

 * Messages for package app-office/1C_Enterprise-server-8.3.6.2299:

 * You can config fonts for 1C ERP system by exec
 * /opt/1C/v8.3/x86_64/utils/config_server /path/to/font/dir/corefonts
 * Perhaps you should add locale en_US in /etc/localegen and
 * regenerate locales to use 1C with postgres.
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

* GNU info directory index is up-to-date.

Как видите мне после сборки и установки выходят сообщения, что нужно потом сделать для настройки и запуска. Но этим мы займёмся во второй части этой статьи.

Конец.

Первая статья во вложении, формате pdf с картинками.
По всем вопросам сюда:
http://www.iterra-samara.ru/

Установка_сервера_Calculate_Scratch_Server_v1.pdf (1.84 MB)

#15

http://www.calculate-linux.ru/blogs/ru/488/show со своими поправленными ебилдами :slight_smile:

#16

Я это читал, спасибо! В этой стати стоит задача, упростить установку сервера 1С под Calculate Scratch Server, а не разбираться тонкой настройкой системы.

#17

Азиз Исаков wrote:

Я это читал, спасибо! В этой стати стоит задача, упростить установку сервера 1С под Calculate Scratch Server, а не разбираться тонкой настройкой системы.

сделав профиль , вы как раз упростите а не заставите (как сейчас) каждого заниматься правкой/патчингом … в статье то не просто описание профиля а оверлей с профилем (где могли бы лежать и поправленные ебилды с нужными патчами и в /profiles/templates/3.3/6_ac_update_sync/world/create можно указать и слот “:” и оверлей “::” пакетам которые будут устанавливаться)
зы .больше не буду вам мешать :slight_smile:

#18

Спасибо! Жить потом на что :(… если все будет просто?

#19

Взято тут:

Разработка → Сервер приложений 1С на Linux
https://habrahabr.ru/company/stss/blog/282852/ 

Аминистрирование:

Привыкшим к Windows-версии ничего менять не надо, можно админить через тот же интерфейс с Windows клиента.
Однако, для ценителей есть и консольные команды.
Команда запуска в качестве демона:

# /opt/1C/v8.3/i386/ras --daemon cluster

По умолчанию процесс ras запускается на TCP 1545.
rac обращается к ras, который уже обращается (управляет) кластером серверов.

  1. Просто help на всякий случай (кстати, он довольно понятный и ясный)

# /opt/1C/v8.3/x86_64/rac

1C:Enterprise 8.3 Remote Administrative Client Utility ‘1C’ 1996-2015
Утилита администрирования платформы 1С: Предприятие

Использование:

rac [mode] [command] [options] [arguments]

Поддерживаемые режимы:

help Отображение справочной информации для указанного режима.
agent Режим администрирования агента кластера серверов
cluster Режим администрирования кластера серверов
manager Режим администрирования менеджера кластера серверов
server Режим администрирования рабочего сервера
process Режим администрирования рабочего процесса
service Режим администрирования сервиса менеджера кластера
infobase Режим администрирования информационной базой
connection Режим администрирования соединений
session Режим администрирования сеансов информационных баз
lock Режим администрирования блокировок
rule Режим управления требованиями назначения
profile Режим управления профилями безопасности кластера

2) Просмотр списка доступных кластеров серверов 1с для управления

# /opt/1C/v8.3/x86_64/rac cluster list

3) Создание информационной базы

# /opt/1C/v8.3/x86_64/rac infobase create --cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 --name=user_db_empty --create-database --dbms=PostgreSQL --db-server=127.0.0.1 --db-name=user_db_empty --locale=ru --db-user=postgres --db-pwd=<пароль> --cluster-user=admin --cluster-pwd=<пароль>

4) Просмотр списка информационных баз кластера

# /opt/1C/x86_64/i386/rac infobase summary list —cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 —cluster-user=admin —cluster-pwd=<пароль>

5) Просмотр списка подключений к информационным базам кластера

# /opt/1C/v8.3/x86_64/rac session list --cluster=bff5cb4a-2877-11e3-b590-d43d7eeced69 --cluster-user=admin --cluster-pwd=<пароль>

Сервер_приложений_1С_на_Linux.pdf (3.05 MB)

#20

Кто знает куда делся ftp Этерсофта

Mastodon Mastodon