On 11/10/25 10:28 PM, ael via Dng wrote:
> On Sun, Nov 09, 2025 at 06:58:07PM +0200, Lars Noodén via Dng wrote:
>> On 11/9/25 18:48, tito via Dng wrote:
>>> Cisco Secure Client Support for Linux
>>> Linux Requirements
>> [snip]
>>
>> Just a guess, but would it be possible to disassemble the installation
>> script's package and comment out the systemd parts and then replace the unit
>> file manually with an appropriate service script? I followed the link but
>> could not spot the actual package to check there.
>>
> I have now collected another copy of the installation script and it is just
> shell.
>
> At first sight it should be fairly easy to modify it, at least for
> someone who knows a bit about systemd. Of course most of the people here
> are experts in that: so far I have avoided getting too deeply involved.
> So far as I can see it is only installing the service scripts, but I
> guess that I won't know if it is using some systemd API until later.
>
> I see
> SYSTEMD_CONF_DIR="/etc/systemd/system"
>
> [.....]
>
> if [ -z "${TESTINIT##*"systemd"*}" ]; then
> echo systemctl daemon-reexec >> /tmp/${LOGFNAME}
> systemctl daemon-reexec >> /tmp/${LOGFNAME} 2>&1
> # try stop vpnagentd service first in case user is upgrading from old version which doesn't have the proper unintall script
> echo systemctl stop ${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> systemctl stop ${SYSTEMD_CONF} >> /tmp/${LOGFNAME} 2>&1
> echo systemctl disable ${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> systemctl disable ${SYSTEMD_CONF} >> /tmp/${LOGFNAME} 2>&1
>
> echo "install systemd config" >> /tmp/${LOGFNAME}
> echo "Installing "${NEWTEMP}/${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> echo ${INSTALL} -o root -m 644 ${NEWTEMP}/${SYSTEMD_CONF} ${SYSTEMD_CONF_DIR}/${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> ${INSTALL} -o root -m 644 ${NEWTEMP}/${SYSTEMD_CONF} ${SYSTEMD_CONF_DIR}/${SYSTEMD_CONF} || exitInstallation 1
>
> echo systemctl enable ${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> systemctl enable ${SYSTEMD_CONF} >> /tmp/${LOGFNAME} 2>&1
>
> echo "Starting ${CLIENTNAME} Agent..."
> echo "Starting ${CLIENTNAME} Agent..." >> /tmp/${LOGFNAME}
>
> echo systemctl start ${SYSTEMD_CONF} >> /tmp/${LOGFNAME}
> systemctl start ${SYSTEMD_CONF} >> /tmp/${LOGFNAME} 2>&1 || exitInstallation 1
> else
> echo "Error: systemd required." >> /tmp/${LOGFNAME} || exitInstallation 1
>
> --------------------------------------------------
>
> I guess that I should be able to rewrite that section with a bit of
> effort. I suppose all of you here who have had to rewrite such stuff
> repeatedly would do it in a few minutes... :-)
>
> ael
>
Looking at the packaged vpnagentd.service file I think with these
information:
ExecStartPre=/opt/cisco/secureclient/bin/load_tun.sh
ExecStart=/opt/cisco/secureclient/bin/vpnagentd -execv_instance
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/var/run/vpnagentd.pid
EnvironmentFile=/etc/environment
It should be possible to create a basic sysv script. And looking at the
number of *.sh files in the package you wonder why they did not make one.