Follow these steps:
- Find out dependent systemd mount unit. For example, if DSM is installed in /opt and you want to find out which mount unit, use command below then find which mount point with pattern *.mount.
systemctl list-units |grep /opt
- Modify /etc/systemd/system/dsm_s.service to depend-on mount unit in Step 1 (ex: opt.mount).
[Unit] After=network.target opt.mount Requires=network.target opt.mount ...
- (Optional) If SELinux is enabled and you see "permission denied" error in systemctl status dsm_s command,
Jan 31 02:42:21 test-rh9 systemd[1]: Starting Deep Security Manager... Jan 31 02:42:21 test-rh9 systemd[2518]: dsm_s.service: Failed to locate executable /opt/dsm/dsm_s: Permission denied Jan 31 02:42:21 test-rh9 systemd[2518]: dsm_s.service: Failed at step EXEC spawning /opt/dsm/dsm_s: Permission denied Jan 31 02:42:21 test-rh9 systemd[1]: dsm_s.service: Main process exited, code=exited, status=203/EXEC Jan 31 02:42:21 test-rh9 systemd[1]: dsm_s.service: Failed with result 'exit-code'. Jan 31 02:42:21 test-rh9 systemd[1]: Failed to start Deep Security Manager.
...then add path /opt/dsm to SELinux allowed execution list using the following command:
chcon -R -t bin_t /opt/dsm
- Restart OS and verify if the service started.