Обновление Сервера 1С под Linux

1С последнее время стала часто менять установщик сервера под Linux. Сначала с переходом на единый дистрибутив поменялся процесс обновления и установки сервера. А теперь по мере изменения версий в рамках единого установщика тоже происходят заметные изменения. То gnome на сервер автоматом ставит, а не так давно вместо скрипта запуска для init.d, появился unit для systemd.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Во время очередного обновления я немного затупил и решил записать актуальную пошаговую инструкцию по обновлению сервера 1С на Linux, чтобы просто на неё посмотреть и всё сделать, а не вспоминать, что делал в прошлый раз.

1️⃣ Останавливаем сервер 1С. В зависимости от установленной версии, команда будет выглядеть по-разному. До 8.3.21 вот так:

# systemctl stop srv1cv83

После 8.3.21 примерно так:

# systemctl stop srv1cv8-8.3.21.1484@default

2️⃣ Я рекомендую сохранить настройки кластера из домашней директории /home/usr1cv8/.1cv8/1C/1cv8. Только текстовые файлы с настройками, больше ничего. У меня разок была ситуация, когда обновлял тестовый сервер, где .1cv8 была символьной ссылкой на другой том. По какой-то причине она была заменена на новую пустую директорию. Когда запустил сервер, очень удивился, что в списке баз пусто. А их там было штук 30. Сервер хоть и тестовый, я всегда сначала на нём проверял обновления, но всё равно перспектива добавления заново всех баз не радовала. Решил детальнее разобраться, что случилось и заметил, что символьная ссылка пропала. Вернул её на место и все базы восстановились.

Тем не менее, у меня были ситуации, когда я терял настройки сервера. Хоть и некритично, но всё равно неприятно. Лишняя работа. Рекомендую параметры сохранять перед обновлением.

3️⃣ Качаем дистрибутив единого установщика и копируем на сервер. Имя файла имеет примерно такой формат: server64_8_3_22_1709.tar.gz. Распаковываем:

# tar xzvf server64_8_3_22_1709.tar.gz

Можно сразу запустить установщик ./setup-full-8.3.22.1709-x86_64.run и интерактивно выбрать все настройки, либо запустить в пакетном режиме, указав необходимые настройки. Например:

# ./setup-full-8.3.22.1709-x86_64.run --mode unattended --enable-components server,ws,client_full

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

4️⃣ Если раньше был скрипт запуска в /etc/init.d/srv1cv83, удаляем его. Вместо него устанавливаем юнит systemd:

# systemctl link /opt/1cv8/x86_64/8.3.22.1709/srv1cv8-8.3.22.1709@.service

Добавляем в автозагрузку и запускаем:

# systemctl enable srv1cv8-8.3.22.1709@.service
# systemctl start srv1cv8-8.3.22.1709@.default

Обращаю внимание, что команда на запуск изменилась. Нужно добавлять имя экземпляра сервера. По умолчанию — default. Так сделано для того, чтобы было удобно запускать несколько разных экземпляров сервера с разными настройками на одном хосте, повесив их на разные порты.

5️⃣ Напомню, что управлять кластером 1С можно с помощью бесплатной панели управления ПУСК. Если у вас оснастки администрирования установлены на Windows машине, не забудьте там обновить платформу и зарегистрировать утилиту администрирования новой версии, иначе не получится подключиться к обновлённому серверу. Я частенько забываю это сделать.

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

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

26 комментариев

  1. Добрый день.
    При установке тонкого клиента 1С 8.3.24.1548 на RHEL 8.4 столкнулся с ошибкой при запуске.
    /opt/1cv8/x86_64/8.3.24.1548/1cv8s: symbol lookup error: /lib64/libwebkit2gtk-4.0.so.37: undefined symbol: wl_proxy_marshal_flags
    Установка выполняется из официального rpm пакета.

    Гуглеж привёл к инструкции от red os.
    Но она не дала нужного результата.
    Какие действия можно предпринять для поиска решения?
    Может быть кто-то сталкивался с подобным и может поделиться своим вариантом решения.

    • Я давно перестал пользоваться rpm дистрибутивами, так что не сталкивался и не знаю, с чем связано. На вид проблема с зависимостями пакетов. Саму систему пробовали обновить? Там уже вроде 8.10 вышла.

  2. Неплохо, да - Спасибо.
    Только, именно для обновления не хватает:

    1. Удаления предыдущего релиза.
    (в комментариях увидел ...uninstaller-full
    - ему спасибо, тоже!)

    2. Включение отладки на сервере.
    С этим, да - многие до сих пор спорят - "нужно" на сервере это или нет.
    Пунктом добавить - надо по любому!
    А уж включить или нет - каждый будет решать, сам

  3. Владимир К

    Добрый день.
    Скажите пожалуйста после обновления на версию платформы 8.3.23.1739 стала возникать ошибка в режиме "Тонкого клиента" (через платформу).
    "Во время выполнения действия была потеряна связь с сервером (Управление торговлей 11_5)"
    Проверьте сетевое соединение и нажмите кнопку "Повторить".

    После того как нажимаешь "Повторить" связь восстанавливается без потери данных.
    Ошибка возникает 5-10 раз на дню, не приятно.

    19.10.2023 обновил сервер до версии 8.3.23.1865, проблема сохраняется.
    В чем может быть проблема? Апач?

    Проблема возникает не у всех пользователей единовременно, а рандомно.
    На сервере крутится 2 конфигурации "Управление торговлей" и "Бухгалтерия", проблема возникает в обоих конфигурациях

    • Я не знаю. Не сталкивался с такой ошибкой. Посмотрите логи веб сервера. Может там будут подсказки. Если есть 500-е ошибки, значит в 1С сервере что-то подвисает и не даёт ответа. Если ошибок в веб сервере не будет, может со связью тогда какие-то проблемы.

  4. Виктор

    Здравствуйте! После обновления не может найти лицензию... меняю платформу на предыдущую, всё работает. В чем может быть причина? Версии платформы меняю тут /etc/init.d/srv1cv8. Причем раньше обновлял всё нормально было...

  5. Надо вот этим дополнить, у меня в один момент перестала запускаться последняя версия пока не удалил.

    cd /opt/1cv8/x86_64/8.3.21.1302/
    ./uninstaller-full

  6. Максим

    Здравствуйте! столкнулся с проблемой обновления сервера с 8.3.22 1923 до 8.3.22 2239.

    Остановил сервер. Удалил ссылку на него (через disable)

    Удалил старый сервер через команду #/opt/1cv8/x86_64/8.3.22 1923/uninstaller-full

    Установил новую версию из единого установщика. Добавил установил юнит черз link. Но при входе в 1С через тонкий клиент отображается старая версия сервера. Подскажите в чем может быть причина?

    • Да много в чём. Могли где-то ошибиться и не удалить старый сервер. У меня так было. Именно ошибся. В итоге запускался и новый и старый сервер, но все подключения попадали на старый. Смотрите на сервере, какие процессы реально запущены от какого сервера и разбирайтесь. Отключайте, удаляйте старый, проверяйте, чтобы запускался новый.

    • Максим

      По поводу удаления нашел только этот вариант - #/opt/1cv8/x86_64/8.3.22 1923/uninstaller-full
      Удаляется как то по другому?

    • Виктор

      Здравствуйте! После обновления не может найти лицензию... меняю платформу на предыдущую, всё работает. В чем может быть причина? Версии платформы меняю тут /etc/init.d/srv1cv8. Причем раньше обновлял всё нормально было...

      • Владислав

        Возможно дело в том, что с какой то из версий платформы 1С на linux пофиксили возможность запуска сервера на 12 сеансов(без лицензии), мне помогло подкидывание файла програмной лицензии .lic который остался на виндовой(старой) версии сервера в каталог /var/1C/licenses, данный файл должен формироваться при активации програмной версии сервера, в моем случае прокатило, так как привязывался к HASP ключу.

      • Александр

        Удалось решить проблему? Такая же ситуация возникла. Обновил платформу на сервере, пропала лицензия ставлю старую - все работает

  7. Дмитрий Вавилов

    Подскажите. Установил платформу 8.3.22... на openSuse 15.0 . Используется как толстый клиент в файловом режиме на терминальном сервере на базе OpenSuse. Все ничего , но в формах пропали серые окантовки полей . Если активировать мышкой, появляется выделение поля . А так все работает. До этого была 8.3.18 ... там все прорисовывалось .

  8. На днях обновлял один из серверов. После обновления очень долго подключались клиенты, висли регламентные задания, LA на сервере в потолок улетал. Причиной была нехватка подключений к postgresql. Увидел это в его логе. Судя по всему подвисли подключения от старого сервера или что-то другое случилось. В итоге остановил сервер 1С, перезапустил postgresql и всё нормализовалось.

  9. Дмитрий

    Час добрый!
    Надо перепрыгнуть с платформы 8.3.19.1726 на 8.3.23.1739. Единого установщика нет. По крайней мере на серверах 1с он не фигурирует нигде. Есть ли пошаговая документация перехода от одной версии к другой?
    Кто-то говорит, что надо сносить старую платформу, кто-то нет, кто-то говорит даже о важности последовательности удаления старых пакетов, равно как и о важности последовательности установки новых. Где правда? :-)

    • Ничего особо делать не надо. Старое можно не удалять. Останавливайте старую версию. Ставьте новую. После установки новой версии убедитесь, что в юните systemd именно она стоит. И запускайте. Всё.

      • ДМитрий

        ---
        т.е. пакетный менеджер должен понять, что будет обновлена текущая версия? Стало быть и порядок инсталляции не нужен, я так полагаю.
        Стремность в том, что подвесить бухгалтерию на неопределенный срок — это жесть. Потому и выспрашиваю у знатоков как поступать.
        Но единого установщика нет, как я уже писал. В архиве новой платформы несколько отдельных пакетов. Их просто ставим через пакетный менеджер.

        • Если вы вообще не разбираетесь в этом, я бы посоветовал где-то потренироваться, прежде чем обновлять рабочий сервер.

          • Дмитрий

            Потренироваться — это круто, конечно. Я просто по наследству получил сервак на CentOS. Сейчас встала необходимость обновить платформу 1C. Сам процесс обновления меня мало пугает, потому как обновится просто ради обновления — не вопрос. Вопрос про "подводные камни". Первый, как я понял, это замена inet.d на systemd. Что еще? :-)

            • Напишите что в итог получилось. У меня лицензия на этой обнове слетает

              • Владислав

                Поддерживаю, при обновлении на последние версии платформы слетает(не видится) лицензия привязанная к HASP ключу, откатываюсь обратно, все работает.

                • Александр

                  Удалось решить проблему? Такая же ситуация возникла. Обновил платформу на сервере, пропала лицензия ставлю старую - все работает

  10. Владимир

    Спасибо. Без воды - всё по теме. Бало бы хорошо с дополнениями по "портовым" настройкам для разных версий платформы.

Добавить комментарий

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

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar