Я использовал предложенный ответ из этого сообщения, чтобы создать собственный сервис в своей среде 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