Обновление сервера 1С:Предприятие на UNIX платформе

Некоторые задачи выполняются периодически, но не так часто, чтобы последовательность действий накрепко отложилась в голове. Или делаешь в спешке. Или стол уже просто обклеен ярлычками с памятками... И вот я решил, что такие задачи, выполнение которых отработано, и которые выполняются время от времени - постоянно, надо записывать. И мне памятка, и тем кто впервые с этим столкнется - подмога :)

***********************

ЗАДАЧА
Имеется сервер (приведены команды для сервера Fedora и Ubuntu), установлена серверная часть 1С:Предприятие, сервер баз данных PostgreSQL. Надо обновить версию 1С:Предприятие в компании. Рассмотрим всю процедуру по шагам в консоли сервера.


РЕШЕНИЕ
Шаг первый. 
Скачиваем установочный пакет серверной части - rpm.tar.gz
Скачиваем с сайта 1С или загружаем с диска ИТС.
Скачиваем установочный пакет клиентского приложения для рабочих станций.

Шаг второй.
Останавливаем сервер 1С и сервер баз данных (здесь и далее в srv1cv** вместо цифр на месте звездочек должна стоять соответствующая версия):
Fedora
# /etc/rc.d/init.d/srv1cv82 stop
# /etc/init.d/postgresql stop
Ubuntu
# service srv1cv82 stop
# service postgresql stop
Делаем именно в такой последовательности, потому что не остановив сервер 1С - мы не сможем правильно остановить сервер баз данных.

На всякий случай делаем бэкапы БД и сервера 1С:
# mkdir -p /var/lib/pgsql/backups/base
# tar cf /var/lib/pgsql/backups/base/FullServerPgSQL.tar /var/lib/pgsql/data
# tar cf /var/lib/pgsql/backups/base/FullServer1C.tar /opt/1C/v8.2

Шаг третий.
У меня на сервере 1С есть расшаренный ресурс, созданный специально для работников бухгалтерии - складывать обработки, отчеты, выгрузки БД... Здесь у меня есть папочка setup1C, в неё я и помещаю полученный архив с установочными пакетами. Здесь же создаю служебные файлы.
Смотрим, какие пакеты установлены на данный момент. Чтобы не переключаться туда-обратно - создаем файл в расшеренном ресурсе и распечатываем текстовый файл со своего компьютера в сети.

yum search 1c > /home/uresurs/setup1C/packages.1c.txt
Для Ubuntu:
dpkg --get-selections | grep 1c > /home/uresurs/setup1C/packages.1c.txt
Содержимое этого файла будет примерно таким:
Загружены модули: presto, refresh-packagekit
================================ Совпадений: 1c ================================
1C_Enterprise82-common-nls.i386 : Национальные ресурсы для общих компонент
                                : 1С:Предприятие 8.2 для Linux
1C_Enterprise82-crs-nls.i386 : Национальные ресурсы для компонент сервера
     ...: Хранилища Конфигурации 1С:Предприятие 8.2 для Linux
1C_Enterprise82-server-nls.i386 : Национальные ресурсы для сервера
                                : 1С:Предприятие 8.2 для Linux
1C_Enterprise82-ws-nls.i386 : Национальные ресурсы для компонент Web-сервисов
                            : 1С:Предприятие 8.2 для Linux
1C_Enterprise82-common.i386 : Общие компоненты 1С:Предприятие 8.2 для Linux
1C_Enterprise82-crs.i386 : Компоненты сервера Хранилища Конфигурации
                         : 1С:Предприятие 8.2 для Linux
1C_Enterprise82-server.i386 : Сервер 1С:Предприятие 8.2 для Linux
1C_Enterprise82-ws.i386 : Компоненты Web-сервисов 1С:Предприятие 8.2 для Linux
postgre-etersoft9.0.i586 : PostgreSQL client programs and libraries (Etersoft
                         : edition for Selta and 1C)
dxcc.noarch : Small utility which determines the ARRL DXCC entity of a ham radio
            : callsign
dxcc-gui.noarch : Optional GUI with a world map showing the DXCC's location
hanazono-fonts.noarch : Japanese Mincho-typeface TrueType font
Для Ubuntu:
# dpkg --get-selections | grep 1c
1c-enterprise82-common                          install
1c-enterprise82-common-nls                      install
1c-enterprise82-server                          install
1c-enterprise82-server-nls                      install
1c-enterprise82-ws                              install
1c-enterprise82-ws-nls                          install
libgc1c2                                        install

Тут же можем и разархивировать пакеты:
cd /home/uresurs/setup1C
tar -x rpm.tar.gz


Шаг четвертый.
Удаляем предыдущие пакеты (какие-то у вас могут быть не установлены, но последовательность сохраняем, это важно!):
yum erase 1C_Enterprise82-crs-nls.i386
yum erase 1C_Enterprise82-crs.i386
yum erase 1C_Enterprise82-ws-nls.i386
yum erase 1C_Enterprise82-ws.i386
yum erase 1C_Enterprise82-server-nls.i386
yum erase 1C_Enterprise82-server.i386
yum erase 1C_Enterprise82-common-nls.i386
yum erase 1C_Enterprise82-common.i386 
Для Ubuntu:
apt-get remove пакет
перезагружаем сервер
shutdown -r +0
и проверяем, ничего ли мы не упустили:
yum search 1c > /home/uresurs/setup1C/packages.1c.txt

Шаг пятый.
Устанавливаем новую версию.
Команда
yum install 1C_Enterprise82-common-8.2.15-317.i386.rpm
выдает ошибку, потому как разработчики либо перемудрили, либо недомудрили, поэтому добавляем опцию, и выполняем установку пакетов в следующей последовательности (важно!):
yum --nogpgcheck install 1C_Enterprise82-common-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-common-nls-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-server-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-server-nls-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-ws-8.2.15-317.i386.rpmyum --nogpgcheck install 1C_Enterprise82-ws-nls-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-crs-8.2.15-317.i386.rpm
yum --nogpgcheck install 1C_Enterprise82-crs-nls-8.2.15-317.i386.rpm
Для Ubuntu используем команду dpkg -i с пакетами
1c-enterprise82-common_8.2.19-130_amd64.deb      
1c-enterprise82-common-nls_8.2.19-130_amd64.deb  

1c-enterprise82-server_8.2.19-130_amd64.deb      

1c-enterprise82-server-nls_8.2.19-130_amd64.deb
1c-enterprise82-ws_8.2.19-130_amd64.deb
1c-enterprise82-ws-nls_8.2.19-130_amd64.deb
Шаг шестой и последний.
Останавливаем сервер предприятия, запускаем агент в режиме демона, запускаем сервер предприятия. Можем перегрузить весь сервер, заодно проверим автозапуск:
/etc/rc.d/init.d/srv1cv82 stop
/opt/1C/v8.2/i386/ragent -daemon
/etc/rc.d/init.d/srv1cv82 start
shutdown -r +0
Ну и последнее. Если версия сервера предприятия отличается только в четвертой позиции, то скорее всего можно обойтись без обновления клиентов. Но если номер версии изменился в третьей цифре (например было 8.2.14, стало 8.2.15) - придется переустанавливать и клиентов 1С на локальных машинах, иначе получите предупреждение о несоответствии версий, и подключение к БД не произойдет.


Комментарии

Популярные сообщения из этого блога

Обратный звонок в CS-Cart 4.3.x

CS-Cart: Модули. [AVP] Дополнение для Детектора изменений ядра