Назад | Перейти на главную страницу

включение новой службы в ubuntu 17.04

Я использовал предложенный ответ из этого сообщения, чтобы создать собственный сервис в своей среде ubuntu 17.04: Установка gitblit GO как службы в Ubuntu Server 16.04

К сожалению, когда я ударил

sudo systemctl включить gitblit_server.service

я получаю

Не удалось включить модуль: файл gitblit_server.service: недопустимый аргумент

как ошибка.

Есть идеи, что я делаю неправильно?


Обновить:

результат для journalctl -xe

Sep 01 16:06:22 git-dmz01 sudo[7121]: msoadmin : TTY=pts/1 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/bin/systemctl enable gitblit_server.service
Sep 01 16:06:22 git-dmz01 sudo[7121]: pam_unix(sudo:session): session opened for user root by msoadmin(uid=0)
Sep 01 16:06:22 git-dmz01 systemd[1]: [/etc/systemd/system/gitblit_server.service:12] Missing '='.
Sep 01 16:06:22 git-dmz01 sudo[7121]: pam_unix(sudo:session): session closed for user root

содержимое моего файла gitblit_server.service:

[Unit]
   Description=gitblit Server CVS
   After=network.target
[Service]
   User=msoadmin
   Type=simple
   WorkingDirectory=/opt/gitblit
   PIDFile=/var/run/gitblit.service.pid
   ExecStartPre=/opt/gitblit/java-proxy-config.sh
   ExecStart=/usr/bin/java -server -Xmx1024M -Djava.awt.headless=true -jar
   /opt/gitblit/gitblit.jar --baseFolder /opt/gitblit/data --dailyLogFile

[Install]
   WantedBy=multi-user.target

Вы используете неправильный ответ для создания собственных услуг. Во-первых, пользовательские служебные файлы не следует размещать в /lib/systemd/system скорее ты бы использовал /etc/systemd/system/your_custom_file.service.

Во-вторых, после создания служебного файла вы запустите systemct daemon-reload чтобы уведомить systemd о вашем недавно созданном файле. Убедитесь, что вы восстановили контекст файла SELinux, используя restorecon -RFvv /etc/systemd/system

После обновления ответ очевиден.

[Service]
.....
....
ExecStart=/usr/bin/java -server -Xmx1024M -Djava.awt.headless=true -jar
   /opt/gitblit/gitblit.jar --baseFolder /opt/gitblit/data --dailyLogFile
....

Здесь строка, начинающаяся с /opt/gitblit/.. рассматривается как одна строка, а не часть ExecStart директива, вызывающая ошибку. Вы можете просто исправить это с помощью обратной косой черты следующим образом:

ExecStart=/usr/bin/java -server -Xmx1024M -Djava.awt.headless=true -jar \
   /opt/gitblit/gitblit.jar --baseFolder /opt/gitblit/data --dailyLogFile

Наконец запустите:

systemctl daemon-reload && systemctl enable gitblit_server.service