Установка M2M24 Desktop для операционной системы Linux


    Скачиваем архив с программой с помощью утилиты wget:

$ wget https://teleofis.ru/upload/iblock/4f3/wlak57dbeyb2c82zquzx120du1xg4owu/M2M24_Desktop_2.1.2_all.zip


    Распаковываем его в любую папку на ПК, подав команду unzip:

$ unzip ./M2M24_Desktop_2.1.2_all.zip


Вы найдете три архива: 2x М2М24DesktopClient (для Win и Linux) и М2М24DesktopService (общий). 


    Распаковываем архив со службой:

$ unzip 'M2M24 Desktop Server 2.1.2 2024-01-17.zip'


Необходимо создать директорию, где будет находится служба M2M24DesktopService.


    Подаём команду mkdir и указываем где будет расположена директория:

$ sudo mkdir /opt/m2m24service (В данном примере, создана директория m2m24service в разделе /opt/)


    Переходим в распакованную директорию со службой и переносим ранее распакованные файлы:

$ cd 'M2M24 Desktop Server 2.1.2 2024-01-17'/

$ sudo mv * /opt/m2m24service


    Создаем пользователя и группу, под которыми будет запускаться сервис

$ sudo groupadd -r jvmgrp (наименование группы)

$ sudo useradd -r -s /bin/false -g jvmgrp (имя группы) jvmapps (имя пользователя)


    Проверяем созданного пользователя

$ sudo id jvmapps

uid=998(jvmapps) gid=998(jvmgrp) groups=998(jvmgrp)

    

    Создаем службу systemd service:

$ sudo nano /etc/systemd/system/m2m24.service


со следующим содержимым:

[Unit]

Description=M2M24 Service

After=network.target


[Service]

WorkingDirectory=/opt/m2m24service (директория, где находится служба)

ExecStart=/usr/bin/java -Xms256m -Xmx4g -jar service.jar

User=jvmapps

Type=simple

Restart=on-failure

RestartSec=10


[Install]

WantedBy=multi-user.target


    Настраиваем права для директории сервиса

$ sudo chown -R jvmapps:jvmgrp /opt/m2m24service/ (выдаем право для созданного пользователя и группы на директорию, где находится служба)

    

    Обновляем конфигурацию systemd

$ sudo systemctl daemon-reload

    

    Запускаем службу

$ sudo systemctl start m2m24.service

    

    Проверяем статус службы

$ sudo systemctl status m2m24.service


m2m24.service - M2M24 Service

   Loaded: loaded (/etc/systemd/system/m2m24.service; disabled; vendor preset: enabled)

   Active: active (running) since Mon 2024-02-26 13:59:08 MSK; 40s ago

 Main PID: 30946 (java)

    Tasks: 30

   Memory: 278.7M

      CPU: 11.062s

   CGroup: /system.slice/m2m24.service

           └─30946 /usr/bin/java -Xms256m -Xmx4g -jar service-2.1.2-jar-with-dependencies.jar


Feb 26 13:59:17 sevostyanov java[30946]:   Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.

Feb 26 13:59:17 sevostyanov java[30946]:   NOT STARTED.

Feb 26 13:59:17 sevostyanov java[30946]:   Currently in standby mode.

Feb 26 13:59:17 sevostyanov java[30946]:   Number of jobs executed: 0

Feb 26 13:59:17 sevostyanov java[30946]:   Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 2 threads.

Feb 26 13:59:17 sevostyanov java[30946]:   Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,184 INFO  [StdSchedulerFactory.java:1374] Quartz scheduler 'M2M24Scheduler' initialized from default resource file in Quartz package: 'quartz.properties'

Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,185 INFO  [StdSchedulerFactory.java:1378] Quartz scheduler version: 2.3.2

Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,185 INFO  [QuartzScheduler.java:547] Scheduler M2M24Scheduler_$_NON_CLUSTERED started.

Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,202 INFO  [Application.java:151] Start OK