Включение нового сервиса в 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
1 ответ
Вы используете неправильный ответ для создания пользовательских сервисов. Начнем с того, что файлы пользовательских сервисов не должны быть помещены в /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