Views:

Follow these steps:

  1. 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

  2. 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
    ...
    
  3. (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

  4. Restart OS and verify if the service started.