[IGN-12320] Ignition 8.1.47 Linux installer fails to install the service

Chokes on permissions in the install folder and does not create the SystemD .service file.

Not a problem in v8.1.45.

Anyone else see this?

Edit: Spoke too soon on 8.1.45. This is the end of the install.log:

java.lang.Exception: Java process exec failed with error code 1: Failed to access the script using an absolute path. Insufficient permissions may prevent the user "ignition" from traversing one of the folders. Please check the following permissions:
drwxr-xr-x  24 root     root 4096 Mar 11 18:54 /
drwxr-xr-x  12 root     root 4096 Aug 27  2024 //usr
drwxr-xr-x 125 root     root 4096 Mar 11 18:55 //usr/share
drwxr-xr-x   9 ignition root 4096 Mar 11 19:22 //usr/share/ignition

   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ServiceUtils.lambda$installNixService$4(ServiceUtils.java:138)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ProcessUtils.lambda$waitForProcessToFinish$5(ProcessUtils.java:171)
   at java.base/java.util.Optional.ifPresentOrElse(Optional.java:196)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ProcessUtils.lambda$waitForProcessToFinish$7(ProcessUtils.java:161)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ProcessUtils.waitForProcessToFinish(ProcessUtils.java:185)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ProcessUtils.waitForProcessToFinish(ProcessUtils.java:127)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ServiceUtils.installNixService(ServiceUtils.java:133)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.utils.ServiceUtils.installService(ServiceUtils.java:98)
   at com.inductiveautomation.ignition.installer.offline/com.inductiveautomation.ignition.installer.offline.OfflineInstaller.finishInstall(OfflineInstaller.java:403)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.ui.text.InstallerTextApplication.exitSuccessfully(InstallerTextApplication.java:311)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.ui.text.InstallerTextApplication.operationFinished(InstallerTextApplication.java:240)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.ui.text.InstallerTextApplication.lambda$startInstall$0(InstallerTextApplication.java:194)
   at javafx.base/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:181)
   at javafx.base/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
   at javafx.base/javafx.beans.property.BooleanPropertyBase.fireValueChangedEvent(BooleanPropertyBase.java:104)
   at javafx.base/javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:111)
   at javafx.base/javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
   at javafx.base/javafx.beans.property.BooleanProperty.setValue(BooleanProperty.java:79)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.ui.text.InstallerTextApplication.lambda$startInstall$1(InstallerTextApplication.java:199)
   at com.inductiveautomation.ignition.installer.offline/com.inductiveautomation.ignition.installer.offline.OfflineInstaller.startInstall(OfflineInstaller.java:345)
   at com.inductiveautomation.ignition.installer.common/com.inductiveautomation.ignition.installer.common.ui.text.InstallerTextApplication.lambda$startInstall$2(InstallerTextApplication.java:197)
   at java.base/java.lang.Thread.run(Thread.java:840)

This was the install command line:

./ignition-8.1.45-linux-64-installer.run --nox11 -- location=/usr/share/ignition serviceName=ignition user=ignition textMode=true

What's your base OS/environment? Running the installer as root, ignition, or some other user?

Ubuntu Server 24.04.1, running installer as root after adduser --system ignition.

1 Like

I manually created the .service file and my normal override file and everything runs fine, fwiw.

1 Like

I was able to replicate this and created IGN-12320 for this issue

2 Likes

Hi all. I ran into the known issue described in this thread with the Linux installer version 8.1.49.

I didn’t see any official workaround or patch linked in the thread. Has there been any update or resolution to IGN-12320? Is there a newer version or hotfix that addresses this?

Also, @pturmel mentioned manually creating the systemd service file as a workaround, could you (or anyone else who’s done this successfully) please share the contents of the .servicefile you used? I'd like to try that approach while waiting for an official fix.

Thanks in advance!

My main service file and override look like this (note that service name and folder and user are not the defaults).

# systemctl cat ignition
# /etc/systemd/system/ignition.service
[Unit]
Description=Ignition-Gateway
After=syslog.target

[Service]
Type=forking
ExecStart=/usr/share/ignition/ignition.sh start sysd
ExecStop=/usr/share/ignition/ignition.sh stop sysd
User=ignition
KillMode=process

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/ignition.service.d/override.conf
[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW
#
1 Like