Это старая версия документа!
Устанавливаем CentOS 7
Чтобы postfix отправлял почту, надо прописать в /etc/postfix/main.cf домен (неизвестно, реальный или нет):
myhostname = lin1c.us.to
Чтобы postfix не ругался на отсутстви IPv6, в том-же файле заменить:
inet_protocols = all
на
inet_protocols = ipv4
Для удобства работы, администраторам дан полный доступ без запроса пароля для sudo.
Администраторы добавлены в группу wheel и этой группе даны права в файле /etc/sudoers:
%wheel ALL=(ALL) NOPASSWD: ALL
ОБЯЗАТЕЛЬНО! Должен быть отключен IPv6, можно в параметрах ядра
ipv6.disable=1
или добавить опцию в «/etc/sysctl.conf»
net.ipv6.conf.all.disable_ipv6=1
ОБЯЗАТЕЛЬНО! Должно быть прописано имя машины в файле /etc/hosts, на соответствие IP адресу.
Порты для доступа к серверу 1С и PostgreSQL (в случае, если клиенты 1С и средства администрирования PostgreSQL находятся на другой машине)
# Server 1C -A INPUT -p tcp -m state --state NEW --dport 1540:1541 -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 1560:1591 -j ACCEPT # PostgreSQL -A INPUT -p tcp -m state --state NEW --dport 5432:5433 -j ACCEPT
Изменить имя машины:
hostnamectl set-hostname lin1c.work
и перегрузиться.
Если придётся менять имя машины при уже установленном кластере 1С, необходимо поменять имя в файлах:
/home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst
localectl set-locale LANG=ru_RU.utf8
https://www.rosehosting.com/blog/how-to-set-up-system-locale-on-centos-7/
dnf install http://repo.postgrespro.ru/pg1c-archive/pg1c-14.0/keys/postgrespro-1c-14.centos.yum-14-0.3.noarch.rpm
В файле /etc/yum.repos.d/postgrespro-1c-14.repo меняем
baseurl=http://repo.postgrespro.ru/pg1c-archive/pg1c-14.0/centos/$releasever/os/$basearch/rpms на baseurl=http://repo.postgrespro.ru/pg1c-archive/pg1c-14.5/centos/$releasever/os/$basearch/rpms dnf install postgrespro-1c-14-server postgrespro-1c-14-contrib
Или:
wget http://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh sh ./pgpro-repo-add.sh dnf install postgrespro-1c-14
По умолчанию, устанавливается в «/opt/pgpro»
Файлы конфигураций находятся в «/var/lib/pgpro/1c-14/data»
Служба называется «postgrespro-1c-14»
От root-а выполнить:
/opt/pgpro/1c-14/bin/pg-setup initdb --locale=ru_RU.UTF-8 systemctl enable --now postgrespro-1c-14
wget http://repo.postgrespro.ru/1c/1c-16/keys/pgpro-repo-add.sh sh ./pgpro-repo-add.sh dnf install postgrespro-1c-16
По умолчанию, устанавливается в «/opt/pgpro»
Файлы конфигураций находятся в «/var/lib/pgpro/1c-16/data»
Служба называется «postgrespro-1c-16»
Инициализация баз с локалью ru_RU.UTF-8 не требуется. Включение и запуск службы postgrespro-1c-16 не требуются, запускается и включается сама после установки.
Установить пароль для postgres (с этим именем и этим паролем будут подключаться базы 1С):
sudo -u postgres /opt/pgpro/1c-16/bin/psql ALTER USER postgres WITH ENCRYPTED PASSWORD 'yourpassword'; \q
и проверка:
sudo -u postgres /opt/pgpro/1c-16/bin/psql -l
dnf install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm dnf install pgadmin4-desktop pgadmin4-web /usr/pgadmin4/bin/setup-web.sh
https://www.pgadmin.org/download/pgadmin-4-rpm/
Отключить запрос мастер-пароля:
echo "MASTER_PASSWORD_REQUIRED=False" >> /usr/pgadmin4/web/config_local.py
Устарело
Устанавливаем все пакеты из:
postgresql-11.5-7.1C_x86_64_rpm postgresql-11.5-7.1C_x86_64_addon_rpm # su - postgres $ /usr/pgsql-11/bin/initdb --locale=ru_RU.UTF-8 -D /var/lib/pgsql/11/data/
Запуск сервера Postgresql:
# systemctl start postgresql-11
Подключение в базе:
# sudo -u postgres /usr/pgsql-11/bin/psql
Устанавливаем пароль пользователя postgres:
postgres=# ALTER USER postgres WITH PASSWORD 'linutip'; postgres=# \q
Проверить, есть-ли доступ и существуют-ли какие-либо базы:
# sudo -u postgres psql -l
Включаем postgresql в автозапуск и перегружаемся.
# systemctl enable postgresql-11 # reboot
В postgrespro-1c-15 это уже установлено
Проверить, слушает-ли сервер запросы, кроме localhost-а. Строка в файле postgresql.conf должна быть такой (или с указанием IP адресов):
listen_addresses = '*'
В файле pg_hba.conf должна присутствовать строка:
host all all 0.0.0.0/0 md5
В файле pg_hba.conf поменять
local ... peer
на
local ... trust
Не заработал из-за отсутствия патчей от 1С и, соответственно, неспособность работать с некоторыми типами данных.
Необходимые пакеты для сервера 1С с возможностью WEB публикации баз:
1C_Enterprise83-ws 1C_Enterprise83-common 1C_Enterprise83-server
Необязательные пакеты (с nls), если необходима работа с языками, отличными от русского и английского.
1C_Enterprise83-server-nls 1C_Enterprise83-common-nls 1C_Enterprise83-ws-nls
Служба - srv1cv83
systemctl status srv1cv83
Не забыть добавить в /etc/hosts (без этого служба 1С не запустится!):
192.168.10.100 lin1c
Установить fonts-ttf-ms-1.0-eter4centos.noarch.rpm. Взято здесь.
Пакет со шрифтами несовместим с CentOS 8, поэтому, можно, либо положить шрифты в /usr/share/fonts/TTF/ms, либо распаковать из RPM, а потом скопировать.:
rpm2cpio fonts-ttf-ms-1.0-eter4centos.noarch.rpm | cpio -idmv
Как альтернатива, установить msttcore-fonts-2.0-3.noarch.rpm. Взято здесь.
Чтобы была возможность запускать утилиты 1С без указания полного пути, изменить переменную PATH в /root/.bash_profile:
PATH=$PATH:$HOME/bin:/opt/1C/v8.3/x86_64
Установка 1С:Предприятие 8.3 на Linux сервер
Файл конфигурации сервера 1С находится здесь - /etc/sysconfig/srv1cv83
Правила IPTABLES для доступа к серверу 1С, RAS, PostgreSQL:
# Server 1C -A INPUT -p tcp -m state --state NEW --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 1541 -j ACCEPT -A INPUT -p tcp -m state --state NEW --dport 1560:1591 -j ACCEPT # RAS -A INPUT -p tcp -m state --state NEW --dport 1545 -j ACCEPT # PostgreSQL -A INPUT -p tcp -m state --state NEW --dport 5432:5433 -j ACCEPT
С этих версий платформа стала устанавливаться по аналогии с Windows. Стало возможным запуск нескольких серверов 1С различных версий.
Для этого был изменён путь установки компонентов 1С и, соответственно, путь к бинарникам.
Теперь бинарники 1С находятся не в папке «/opt/1C/v8.3/x86_64», а в «/opt/1cv8/x86_64/8.3.18.1208».
Если на сервере не предполагается использование нескольких версий 1С одновременно, для запуска бинарников, как ранее, рекомендуется создать символьную ссылку:
ln -s /opt/1cv8/x86_64/8.3.18.1208 /opt/1C/v8.3/x86_64
И изменять её при каждом изменении версии платформы.
Также, изменился способ конфигурирования службы. Теперь инсталлятор не создаёт службу сам, а предоставляет это администратору.
Чтобы сделать запуск службы по аналогии с предыдущими версиями, после установки необходимо:
systemctl daemon-reload
chkconfig
systemctl start srv1cv83
Сервер 1С версии 8.3.18.1208 не заработал с PostgreSQL для 1С версии 12.1. PostgreSQL был обновлён до версии 12.5 из репозитория PostgreSQL 1C.
Версии с платформонезависимым установщиком (как в Windows). По умолчанию установщик запускается в графическом режиме. Если запускать его в удалённой консоли, его окна пробрасываются в иксы клиенту.
Установщик запускать из-под root-а.
Установка в текстовой консоли в «тихом» режиме:
./setup-full-8.3.20.1549-x86_64.run --mode unattended --enable-components client_full,client_thin,ru,server,ws,server_admin,additional_admin_functions
При установке не регистрируется служба и не копируется файл конфигурации службы. Делать это вручную, как в предыдущих версиях.
Для удаления в текстовой консоли, в папке с бинарниками, запустить:
./uninstaller-full --mode unattended
В основном, как и в 8.3.20.*.
Установка из папки с инсталлятором:
./$(ls -1 | grep 'setup-full' | grep 'x86_64.run') --mode unattended --enable-components client_full,client_thin,ru,server,ws,server_admin,additional_admin_functions
Для файла службы /opt/1cv8/x86_64/8.3.22.1851/srv1cv8-8.3.22.1851@.service создать симлинк в /etc/systemd/system и systemctl daemon-reload
Файла конфигурации нет - все опции в файле службы.
cat /usr/local/bin/1c-Create-Link #! /bin/bash VER=$(ls -1 /opt/1cv8/x86_64) ln -sf /opt/1cv8/x86_64/$VER /opt/1cv8/bin systemctl link /opt/1cv8/x86_64/$VER/srv1cv8-$VER@.service systemctl enable --now srv1cv8-$VER@default.service systemctl status --no-pager srv1cv8-$VER@default.service sudo -u usr1cv8 /opt/1cv8/x86_64/$VER/ras --daemon cluster
Инструкция по самостоятельной сборке (PDF)
Скрипт от castorsky для автоматической сборки (устанавливает на CentOS 7, не сработал на CentOS 8)
Скрипт от castorsky для автоматической сборки (устанавливает на CentOS 8, подправлен мной)
Скрипт для автоматической сборки драйверов эмулятора для CentOS 8 после изменения версии ядра)
Первоначальная неудачная попытка установки была предпринята на CentOS 7 в контейнере LXC. В дальнейшем использовалась CentOS 7, как виртуальная машина KVM.
После выполнения, скрипт предложит положить дампы ключей в /etc/usbhaspkey и перезапустить службу usbhaspemul,
Дампы ключей:
x86_server.json
1c_server_x64.json
50user.json
100user.json
300user.json
В конечном варианте оставили ключи 1c_server_x64 и 50user. Ключ x86_server необходим в случае работы толстых x32 разрядных клиентов 1С.
В 1С «О программе» эти ключи идентифицируются, как «Локальный HASP4 EN8SA 1» и «Сетевой HASP4 ORGL8 50».
RPM: https://copr.fedorainfracloud.org/coprs/castor/usbhaspd/
Альтернативная версия vhci_hcd (собирается под CentOS 9 и Fedora 38): https://github.com/linuxbuh/vhci_hcd, форк: https://github.com/kinprize/vhci_hcd
Установка RPM:
dnf copr enable castor/usbhaspd dnf install libusb-vhci vhci-hcd usbhasp
export KVER=`uname -r` yum install -y gcc gcc-c++ make kernel-devel jansson-devel libusb elfutils-libelf-devel git epel-release usbutils
В какой-либо пустой папке:
curl -Os http://download.etersoft.ru/pub/Etersoft/HASP/last/CentOS/7/haspd-7.90-eter2centos.x86_64.rpm curl -sL https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/vhci-hcd-1.15.tar.gz/download > vhci-hcd-1.15.tar.gz curl -sL https://sourceforge.net/projects/usb-vhci/files/native%20libraries/libusb_vhci-0.8.tar.gz/download > libusb_vhci-0.8.tar.gz git clone https://github.com/sam88651/UsbHasp.git tar -xpf libusb_vhci-0.8.tar.gz tar -xpf vhci-hcd-1.15.tar.gz
yum -y install haspd-7.90-eter2centos.x86_64.rpm systemctl enable haspd
cd vhci-hcd-1.15
mkdir -p linux/${KVER}/drivers/usb/core
cp /usr/src/kernels/${KVER}/include/linux/usb/hcd.h linux/${KVER}/drivers/usb/core
sed -i 's/\#define DEBUG/\/\/#define DEBUG/' usb-vhci-hcd.c
sed -i 's/\#define DEBUG/\/\/#define DEBUG/' usb-vhci-iocifc.c
Для CentOS 8 добавить:
sed -i 's/VERIFY_READ, //g' usb-vhci-iocifc.c sed -i 's/VERIFY_WRITE, //g' usb-vhci-iocifc.c
Далее для CentOS 7,8:
make -s KVERSION=${KVER}
make -s install
echo "usb_vhci_hcd" >> /etc/modules-load.d/usb_vhci.conf
modprobe usb_vhci_hcd
echo "usb_vhci_iocifc" >> /etc/modules-load.d/usb_vhci.conf
modprobe usb_vhci_iocifc
cd ..
cd libusb_vhci-0.8
Чтобы скомпилировалось на Fedora 38: В файле libusb_vhci-0.8/src/libusb_vhci.h добавить #define throw(…)
Для CentOS 7:
./configure
Для CentOS 8:
./configure --enable-shared
Далее для CentOS 7,8:
make -s make -s install echo "/usr/local/lib" >> /etc/ld.so.conf.d/libusb_vhci.conf ldconfig cd .. cd UsbHasp
Для CentOS 7:
sed -i 's/\(CC=gcc\)/\1 -std=gnu11/' nbproject/Makefile-Release.mk
Далее для CentOS 7,8:
make -s cp dist/Release/GNU-Linux/usbhasp /usr/local/sbin mkdir /etc/usbhaspkey/ cat <<EOF >> /etc/systemd/system/usbhaspemul.service [Unit] Description=Emulation HASP key for 1C Requires=haspd.service After=haspd.service [Service] Type=simple ExecStart=/usr/bin/sh -c 'find /etc/usbhaspkey -name "*.json" | xargs /usr/local/sbin/usbhasp' Restart=always [Install] WantedBy=multi-user.target EOF systemctl daemon-reload
В папку «/etc/usbhaspkey/» положить файлы дампов ключей и запустить службу эмулятора:
systemctl enable --now usbhaspemul
При обновлении ядра перестанут работать vhci-hcd и libusb_vhci. Перекомпилировать их можно следующим скриптом (в папке со скриптом должны быть папки с распакованными vhci-hcd-1.15 и libusb_vhci-0.8, можно использовать папки от предыдущей компиляции):
# cat after-kernel-update
#!/bin/sh
# Обновление модулей ядра после обновления ядра
# Должны присутствовать паапки:
# vhci-hcd-1.15
# libusb_vhci-0.8
KVER=`uname -r`
cd vhci-hcd-1.15
mkdir -p linux/${KVER}/drivers/usb/core
cp /usr/src/kernels/${KVER}/include/linux/usb/hcd.h linux/${KVER}/drivers/usb/core
make -s KVERSION=${KVER}
make install
modprobe usb_vhci_hcd
modprobe usb_vhci_iocifc
cd ..
cd libusb_vhci-0.8
./configure --enable-shared
make -s
make install
ldconfig
systemctl restart usbhaspemul
systemctl restart haspd
В этом случае, локально, ключи использовать нельзя:
curl -sL http://www.incentivespro.com/usb-redirector-linux-x86_64.tar.gz > usbredirector.tar.gz tar -xpf usbredirector.tar.gz cd usb-redirector-linux-x86_64 sh ./installer.sh install-server usbsrv -autoshareon usbsrv -createcallback 192.168.0.0:32032
Показать все устройства:
usbsrv -l
Не «расшаривать» устройство:
usbsrv -t 1
Задать имя устройства:
usbsrv -nickname "Reserved" 8
# lsusb | grep HASP Bus 009 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle Bus 009 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle Bus 009 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Проверка работы этих ключей (если не запущен haspd и usbhaspemul, выхлоп пустой):
# /usr/sbin/usbkeytest --list ID: 0529:0001, Bus: 009, Device: 004, Major: 189, Minor: 1027 ID: 0529:0001, Bus: 009, Device: 003, Major: 189, Minor: 1026 ID: 0529:0001, Bus: 009, Device: 002, Major: 189, Minor: 1025
Пакет «haspd-7.90-eter2centos.x86_64.rpm» включает в себя драйверы для HASP и службу HASPD для раздачи ключей по сети.
Если раздавать ключи по сети нет необходимости, то данный пакет можно не устанавливать или отключить.
Если машина с CentOS 7 используется для раздачи ключей посредством «USB Redirect Server», то драйверы HASP на ней не требуются, потому, что они устанавливаются на машинах с клиентами «USB Redirect».
Если-же, машина с CentOS 7 используется, как сервер 1С, то вместо HASPD можно установить драйверы HASP от Sentinel:
Со страницы загрузки (https://thales-sentinel.ru/helpdesk/download-space/) скачать «Sentinel_LDK_Run-time_linux.zip», найти в архиве «Sentinel_LDK_Linux_Run-time_Installer_script/aksusbd-8.21.1/pkg/aksusbd-8.21-1.x86_64.rpm» и установить его.
Чтобы служба эмулятора запускалась без наличия HASPD, необходимо закомментировать или удалить строки в файле «/etc/systemd/system/usbhaspemul.service»:
Requires=haspd.service After=haspd.service
Для раздачи ключей посредством «USB Redorect» для нескольких клиентов, можно запустить несколько служб «usbhaspemul» с уникальными именами, например, вместо файла «/etc/systemd/system/usbhaspemul.service», создать несколько файлов «hasp-1.service…hasp-N.service» включить и запустить их (можно пакетным файлом):
systemctl enable --now hasp-1 . . . systemctl enable --now hasp-N
В этих файлах необходимо закомментировать строки:
Requires=haspd.service After=haspd.service
После каждого изменения в вышеуказанных файлах, необходимо выполнять:
systemctl daemon-reload
Службу HASPD можно отключить или удалить.
haspd-7.90-eter2centos.x86_64.rpm
libusb_vhci-0.8.tar.gz
usbhasp.zip
usbredirector.tar.gz
vhci-hcd-1.15.tar.gz
vhci_hcd.zip
aksusbd-8.21-1.x86_64.rpm
yum install httpd systemctl enable httpd --now
Регистрация базы test_buh на http сервере:
webinst -apache24 -wsdir test_buh -dir /var/www/html/test_buh -connstr "Srvr=lin1c;Ref=test_buh;" -confPath /etc/httpd/conf/httpd.conf systemctl reload httpd
Удаление публикации (таже строка с первым параметром -delete):
webinst -delete -apache24 -wsdir test_buh -dir /var/www/html/test_buh -connstr "Srvr=lin1c;Ref=test_buh;" -confPath /etc/httpd/conf/httpd.conf systemctl reload httpd
В случае получения ошибки при входе браузером, «Permission denied; line=1067 file=./src/DataExchangeTcpClientImpl.cpp», проверить сообщения selinux:
grep httpd /var/log/audit/audit.log | grep denied
В случае наличия сообщений о запрете, добавить исключения:
semanage port -a -t http_port_t -p tcp 1541 semanage port -a -t http_port_t -p tcp 1560
Или отключить selinux.
https://qna.habr.com/q/340732
Лучший результат достигается при использовании отдельного файла для публикации баз на WEB сервере. Например, в файле «/etc/httpd/conf.d/1c.conf»:
webinst -apache24 -wsdir test_buh -dir /var/www/html/test_buh -connstr "Srvr=lin1c;Ref=test_buh;" -confPath /etc/httpd/conf.d/1c.conf
В этом случае, конфигурация находится в файле «/etc/httpd/conf.d/1c.conf» и имеет такой вид:
LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap24.so" # 1c publication Alias "/test_buh" "/var/www/html/test_buh/" <Directory "/var/www/html/test_buh/"> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor "/var/www/html/test_buh/default.vrd" </Directory>
Пакеты, необходимые для «толстого» клиента:
1C_Enterprise83-client 1C_Enterprise83-common 1C_Enterprise83-server
«1C_Enterprise83-server» ставится по зависимости от «1C_Enterprise83-client». Вохможно, при установке «тонкого» клиента, этой зависимости не будет.
yum install xrdp
Рабочий стол:
yum -y groupinstall "KDE Plasma Workspaces" echo "exec startkde" >> /home/user/.xinitrc chown user. /home/user/.xinitrc yum -y install kde-l10n-Russian
systemctl enable xrdp systemctl start xrdp
Чтобы в KDE отображались флаги стран, необходимо установить пакет kde-runtime-flags от Fedora 20, которого нет в репах CentOS.
Самый простой вариант установить его посредством RPM, потому, что YUM не ставит его из-за зависимостей, хотя, в пакете нет ничего, кроме картинок флагов.
rpm -ivh --nodeps http://kochkin.mooo.com/files/kde-runtime-flags-4.13.3-3.fc20.noarch.rpm
Клиент 1С не установился на CentOS 8. Требует libwebkitgtk-3.0.so.0, удалённый, как из CentOS 8, так и из Fedora 31.
Временно попробовал скопировать уже установленную 1С (сервер и клиента) с установки в CentOS 7.
Также скопировал с CentOS 7 недостающие библиотеки в папку с бинарнмками 1С.
Решение вышеуказанной проблемы найдено здесь:
Весь архив: webkitgtk3_el8.tar.gz
Прямая ссылка на rpm файл: http://kochkin.mooo.com/files/webkitgtk3-2.4.11-7.el8.x86_64.rpm
Невозможно печатать русскими буквами. Индикатор переключается, но при вводе нет русских букв - только латинские. Как оказалось, это проблема vnc серверов, которая существует уже более 10-ти лет и не решается. А XRDP использует vnc сервер. Вариант решения: отказ от vnc и использование xorgxrdp.
Установить xorgxrdp
yum -y install xorgxrdp
В файле /etc/xrdp/xrdp.ini убрать секцию:
[Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1
И раскомментировать секцию:
[Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20
И перезапустить xrdp:
systemctl restart xrdp
На CentOS 8 Stream, XRDP перестал работать после обновления с версии 0.9.21-1 до 0.9.22-3.
Решение - обновление на тестовую версию 0.9.22-5:
dnf up --enablerepo=epel-testing xrdp
Лучший результат, нежели с xrdp, был достигнут с использованием x2go.
ВНИМАНИЕ! Устанавливать x2Go надо ПОСЛЕ установки KDE и пакета «kde-l10n-Russian», иначе в KDE будет нарушение локализации - часть останется на английском языке и локаль в KDE будет POSIX, хотя вне KDE, у пользователя будет ru_RU.utf8.
Пакеты, необходимые для установки сервера x2go:
x2goserver-xsession x2goserver cups-x2go x2goagent x2goserver-common x2goserver-printing x2godesktopsharing x2goserver-desktopsharing
yum -y install x2goserver-xsession x2goserver cups-x2go x2goagent x2goserver-common x2goserver-printing x2goserver-desktopsharing x2godesktopsharing
ВНИМАНИЕ! Для разрешения печати, необходимо в файле «/usr/lib/systemd/system/cups.service» поменять «PrivateTmp=true» на «PrivateTmp=false» и
systemctl daemon-reload && systemctl restart cups
ВНИМАНИЕ! В случае запуска x2Go в контейнере LXC в Proxmox, необходимо включить опцию «FUSE» (Контейнер/Параметры/Features), иначе сервер x2Go не сможет смонтировать подключаемые папки пользователя.
<spoiler Контейнер/Параметры/Features/FUSE>
</spoiler>
<spoiler Если при подключении к сессии пользователя, у пользователя выводится такое окно>
</spoiler>
Для изменения политики, создать файл, например, «/usr/share/polkit-1/rules.d/10-x2go-policy.rules» со следующим содержимым:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.set-user-linger") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.color-manager.create-device" ||
action.id == "org.freedesktop.color-manager.create-profile" ||
action.id == "org.freedesktop.color-manager.delete-device" ||
action.id == "org.freedesktop.color-manager.delete-profile" ||
action.id == "org.freedesktop.color-manager.modify-device") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.NetworkManager.settings.modify.system")
{
polkit.log("NetworkManager.settings.modify.system: rule called");
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.NetworkManager.network-control")
{
polkit.log("NetworkManager.network-control: rule called");
return polkit.Result.YES;
}
});
Если будут выскакивать ещё какие-либо запросы, можно отследить, какие правила нужно переназначить, предварительно запустить слежение за журналом:
journalctl -u polkit -f
Если запуск программ через x2Go производится без использования рабочего стола, можно использовать переключение раскладки клавиатуры средствами X сервера:
setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle,grp_led:scroll'
ВНИМАНИЕ! Для доступа к сессии пользователя, и администратор и пользователь должны входить в группу «x2godesktopsharing», а у пользователя должен быть запущен «x2godesktopsharing» с включенным разрешением подключений.
Можно запустить «x2godesktopsharing» в автозапуске с ключом «–activate-desktop-sharing»
x2godesktopsharing --activate-desktop-sharing
, а администраторов, которым разрешено подключение к пользователю, необходимо указать в файле профиля пользователя «/home/user1c/.x2godesktopsharing/settings», параметр «whitelist», например:
whitelist=admin,gendir
В «x2godesktopsharing» в «CentOS 8» не работает ключ «–activate-desktop-sharing». Выводится сообщение «X server does not support XInput 2» и приложение завершает работу. Были взяты исходники «x2godesktopsharing» и в файле «sharetray.cpp», в районе 233-строки, изменено (добавлен вызов «slotStartSharing()»):
loadSystemSettings(); loadUserSettings(); setTrayIcon(); trayIcon->show();
на:
slotStartSharing(); loadSystemSettings(); loadUserSettings(); setTrayIcon(); trayIcon->show();
Для включения «тихого» режима, когда не показывается значок и не выводятся какие-либо сообщения, закомментировать вызов «trayIcon→show()».
«x2godesktopsharing» стал запускаться с разрешением подключений. Откомпилированный вариант - http://kochkin.mooo.com/files/x2godesktopsharing
Так-же это изменение влияет на повторное подключение после обрыва сеанса. Но для этого бинарник необходимо поместить в «/usr/bin/», иначе, при повторном подключении, вызывается неизменённый вариант.
Чтобы «x2godesktopsharing» запускался для всех пользователей при начале сеанса, можно создать файл «/etc/X11/xinit/xinitrc.d/x2godesktopsharing» со следующим содержимым:
#!/bin/sh x2godesktopsharing &>/dev/null &
Допустим, что на клиентском компьютере с Windows, пользователь «client», подключается к серверу x2Go с именем пользователя «user1c», то манипуляция с ключами выглядит так:
В клиенте Windows в качестве «RSA/DSA ключ для ssh соединения» указывается приватный ключ пользователя «C:/Users/client/.x2go/etc/ssh_host_rsa_key».
Публичный ключ пользователя «C:/Users/client/.x2go/etc/ssh_host_rsa_key.pub» добавляется на сервер в файл пользователя «/home/user1c/.ssh/authorized_keys».
Все версии клиентов для Windows: https://code.x2go.org/releases/binary-win32/
«Ночные» сборки для Windows: https://code.x2go.org/releases/binary-win32/x2goclient/heuler/mingw32-4.8/qt-4.8/
GUIRac (https://github.com/OlegKochkin/guirac) и WebRac (https://github.com/OlegKochkin/webrac)
Выгрузка в DT в текущую папку (запустилось из под root, ERP выгружается 3 минуты 14 секунд, 2 Гб):
/opt/1C/v8.3/x86_64/1cv8 CONFIG /S "lin1c\BASE" /N 1CUser /P 1CPassword /DumpIB "BASE-$(date +%y%m%d-%H%M%S).dt" /Out "BASE-$(date +%y%m%d-%H%M%S).log"
Для выгрузки в пакетном режиме, лучше использовать Xvfb (не выводит окна 1С клиента на экран):
yum install xorg-x11-server-Xvfb xvfb-run /opt/1C/v8.3/x86_64/1cv8 CONFIG ...
Бэкап SQL в bzip2 (самый долгий с наилучшим сжатием):
pg_dump -U postgres -w BASE | bzip2 -9 > "BASE-$(date +%y%m%d-%H%M%S).bz2"
Бэкап SQL (самый быстрый, без сжатия):
pg_dump -U postgres -w BASE > "BASE-$(date +%y%m%d-%H%M%S).sql"
Бэкап SQL в gzip (оптимальное соотношение скорости и сжатия):
pg_dump -U postgres -w BASE | gzip > "BASE-$(date +%y%m%d-%H%M%S).gz"
Бэкап восстанавливается, исключительно, в пустую базу. Иначе, при восстановлении, появляются ошибки и, впоследствии, база не работает!
dropdb -U postgres GILEV createdb -U postgres GILEV gunzip -c GILEV.gz | psql -U postgres GILEV
Необходим запущенный «ras»
dnf install http://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-centos.noarch.rpm Если бэкап производится на той-же машине, где сервер PostgreSQL: https://www.droider.org/content/vyzhimki-po-administrirovaniyu-postgres pg_probackup init -B /mnt/pgbak pg_probackup add-instance -B /mnt/pgbak --instance=LIN --pgdata=/var/lib/pgpro/1c-14/data su postgres pg_probackup backup -B /mnt/pgbak --instance=LIN -b FULL --stream --pgdata=/var/lib/pgpro/1c-14/data -U postgres -w --compress-algorithm=zlib --compress-level=9 --pghost=/tmp pg_probackup backup -B /mnt/pgbak --instance=LIN -b DELTA --stream --pgdata=/var/lib/pgpro/1c-14/data --compress --pghost=/tmp pg_probackup backup --instance=LIN -b DELTA --stream --compress От root: sudo -u postgres pg_probackup backup --instance=LIN -b DELTA --stream --compress Проверка: pg_probackup validate --instance=LIN Восстановление: pg_probackup restore --instance=LIN -B /mnt/pgbak/probackup -D /var/lib/pgpro/1c-14/data -i RKVB4E -j2 --recovery-target='immediate' После поменять владельца на папку data postgres - chown -R postgres. data После ОБЯЗАТЕЛЬНО !!! выйти из режима восстановления: sudo -u postgres psql postgres=# select pg_wal_replay_resume(); postgres=# \q CryptoPro: Версия (ключи есть для 5.0.11455 KC1): ./csptest -keyset -verifycontext SQLCMD: curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo dnf install mssql-tools unixODBC-devel sqlcmd -U sa -P logotip -S sql.test -Q "SELECT @@VERSION;" rsync -axvh --delete --progress lin.test:/mnt/pgbak/probackup/backups/LIN.TEST/ /mnt/pgbak/probackup/backups/LIN/ Запуск выгрузки 1С на виндовом сервере с линукса: ssh oleg@sql.test "C:/PROGRA~1/1cv8/8.3.20.1996/bin/1cv8.exe" CONFIG /S "SQL\UKRAINE" /N System /P R04rby0ktu /DumpIB C:/TEST.dt /Out C:/TEST.dt.log /DisableStartUpMessages /DisableStartupDialogs /RunModeManagedApplication Копирование и удаление по SSH scp exec1c@SQL.TEST:C:/Windows/Temp/UKRAINE.dt / ssh exec1c@SQL.TEST del C:\\Windows\\Temp\\UKRAINE.dt Сеансы в системе: loginctl Завершить сеансы пользователя: loginctl terminate-user USER Установить количество соединений на процесс: rac server --cluster=3f6860dd-e474-476b-8e2b-e000e81945e6 update --server=d8a3808e-1cf5-49ef-81a6-23d5bb378add --connections-limit=8