ExecStart kìí ṣe shell: títúnṣe ẹ̀yà olùrànlọ́wọ́ VPN
ExecStart ń ṣiṣẹ́ ètò pẹ̀lú àwọn àríyànjiyàn, kìí ṣe pipeline shell. Lo onítumọ̀ tààrà tàbí àkọsílẹ̀ gidi, lẹ́yìn náà ṣàyẹ̀wò ẹ̀yà náà kí o sì ka ìwé ìròyìn.
Ṣe àdàkọ ìlà pàṣẹ tí ń ṣiṣẹ́ sínú ExecStart, tun gbé e, ẹ̀yà náà yóò kùnà tàbí yóò jáde ní ìdákẹ́jẹ́ pẹ̀lú àwọn àríyànjiyàn tí a kà sí orúkọ fáìlì. Kò sí ohun tí ó bàjẹ́ nínú systemd. ExecStart jẹ́ àkójọ àríyànjiyàn, kìí ṣe shell, nítorí náà àwọn páìpù, ìtúnjúwe àti àwọn ipò pàdánù ìtumọ̀ ní àkókò tí wọ́n bá kúrò ní terminal rẹ. Pinnu ibi tí shell yẹ kí ó wà, lẹ́yìn náà kọ ẹ̀yà tí yóò sọ gbólóhùn ohun tí a gbọ́dọ̀ ṣe.
Ìdí tí páìpù nínú ExecStart kò fi ṣe ohunkóhun
Nígbà tí a bá tẹ pàṣẹ sínú terminal, shell yóò kọ́kọ́ ṣàyẹ̀wò rẹ̀. Ó ń kọ́ páìpù, ó ń ṣí àwọn fáìlì fún ìtúnjúwe, ó sì ń gbèrò àwọn oníyẹ̀yẹ́ kí ètò kankan tó bẹ̀rẹ̀. systemd kò ṣe ọ̀kan nínú àwọn wọ̀nyí: ó ń pín ExecStart gẹ́gẹ́ bí àwọn òfin tirẹ̀, ó sì ń ṣiṣẹ́ ètò tí ó jáde pẹ̀lú àwọn àríyànjiyàn yẹn. Nítorí náà > ń bọ̀ gẹ́gẹ́ bí àríyànjiyàn gbólóhùn, àti | ni a fi fún ètò náà dípò síso àwọn ìlànà méjì pọ̀. Ẹ̀yà náà kò ṣe àìtọ́; ìtumọ̀-ọ̀rọ̀ náà ń sọ ohun mìíràn.
Èyí jẹ́ àbìmọ́, kìí ṣe àìbìkítà, nítorí pé ìtọ́jú àríyànjiyàn tí a lè ṣàkọsílẹ̀ ni ó ń jẹ́ kí a lè ṣàyẹ̀wò àwọn ẹ̀yà. Ó ń yà àwọn tí wọ́n ro pé shell wà lẹ́nu lásán.
Kọ ẹ̀yà tí yóò sọ gbólóhùn ohun tí ń ṣiṣẹ́
Bẹ̀rẹ̀ pẹ̀lú ẹ̀yà kékeré tí èrò rẹ̀ hàn nínú ìwé ìròyìn, kí àwọn ìṣòro ìtúpalẹ̀ lè yà sọ́tọ̀ kúrò nínú àwọn ìṣòro ojú-ọ̀nà. Èyí ń sọ ẹ̀dà binary nìkan.
[Unit]
Description=Report the installed OpenVPN version
[Service]
Type=oneshot
ExecStart=/usr/sbin/openvpn --version
StandardOutput=journal
StandardError=journalỌ̀nà náà jẹ́ ààyè ìdí, nítorí náà fi binary tí a fi sórí ẹ̀rọ gidi síbẹ̀. Type=oneshot yẹ fún pàṣẹ tí ó ń ṣiṣẹ́ títí dé ìparí, àwọn ètò ìwé ìròyìn sì ń gbé jáde rẹ̀ sí ibi tí o lè kà á láìsí terminal. A kò mọ̀ọ́mọ̀ ní apá ìgbékalẹ̀, nítorí náà a ń pe ẹ̀yà náà lọ́wọ́ dípò kí a mú un ṣiṣẹ́ nígbà ìbẹ̀rẹ̀. Ṣàyẹ̀wò fáìlì kí o tó bẹ̀rẹ̀ rẹ̀, nítorí àṣìṣe títẹ̀ nínú orúkọ ìtọ́nisọ́nà kùnà yàtọ̀ sí àṣìṣe nínú ọ̀nà.
systemd-analyze verify /etc/systemd/system/openvpn-version.service
systemctl start openvpn-version.servicePa ìrònú shell mọ́ nínú àkọsílẹ̀
Nígbà tí olùrànlọ́wọ́ bá nílò ìrònú onípò gidi, fi ìrònú yẹn sínú àkọsílẹ̀ kí o sì pè é ní gbangba. Àkọsílẹ̀ nílò ìlà onítumọ̀, àṣẹ ṣíṣe àti àwọn kóòdù jáde tí iṣẹ́ lè sọ. /bin/sh -c pẹ̀lú pàṣẹ tí a fi àmì ọ̀rọ̀ yí ká ń ṣiṣẹ́, ṣùgbọ́n ó ń fi àwọn òfin àmì ọ̀rọ̀ pamọ́ sínú ẹ̀yà ó sì ń mú àyẹ̀wò ṣòro. Àkọsílẹ̀ tí ó ní orúkọ lè jẹ́ àyẹ̀wò lọ́wọ́, a sì lè rọ́pò rẹ̀ lẹ́yìn náà láìṣàtúnṣe ẹ̀yà. Má ṣe gbẹ́kẹ̀ lé profáìlì shell olùmúlò aláṣepọ̀, nítorí iṣẹ́ ń bẹ̀rẹ̀ pẹ̀lú àyíká tirẹ̀.
Nígbà tí àwọn ọ̀nà ìbátan bá ṣe pàtàkì WorkingDirectory ṣètò, kí o sì gbé àyíká kọjá àwọn ìtọ́nisọ́nà ẹ̀yà tí ó ń ṣe àtìlẹ́yìn dípò kí o ṣe àtẹ̀jáde rẹ̀ nínú terminal. Àwọn àṣírí wà nínú àwọn fáìlì tí a dáàbò bò tàbí ẹ̀rí, kìí ṣe nínú àkójọ àríyànjiyàn tí ìwé ìròyìn lè gbà sílẹ̀.
Ṣàyẹ̀wò ẹ̀yà tí ó wà ní gidi
Àwọn fáìlì drop-in ń yí ìhùwàsí padà láìfi ọwọ́ kan fáìlì tí o rántí pé o ṣàtúnṣe. Ka ohun tí olùṣàkóso gbé wọlé àti ohun tí ìṣiṣẹ́ ìkẹyìn sọ.
systemctl cat vpn-helper.service
journalctl -u vpn-helper.service -n 20 --no-pagerÌtújáde ẹ̀yà ní àwọn fáìlì drop-in ní tèlétèlé ìgbéwọlé, ibẹ̀ sì ni ExecStart àìròtẹ́lẹ̀ ti ń wá láti ọ̀pọ̀ ìgbà. Lẹ́yìn ìyípadà kankan, tun gbé olùṣàkóso wọlé kí o sì jẹ́rìí pé ìtumọ̀ tuntun ni ohun tí systemctl cat ń tẹ̀ jáde. Ìwé ìròyìn ń fi ìlà pàṣẹ gbólóhùn àti ipò jáde hàn, èyí tí ó ya ìṣòro àríyànjiyàn sọ́tọ̀ kúrò nínú binary tí ó sónù tàbí àṣìṣe àṣẹ. Lẹ́yìn náà pinnu bóyá olùrànlọ́wọ́ wà nínú ìgbésí ayé VPN tí ó wà tàbí ó yẹ kí ó jẹ́ àyẹ̀wò lọ́wọ́, nítorí ìlànà ojú-ọ̀nà ẹlẹ́yìn kejì ń dá olówó ẹ̀tọ́ tí ń díje.
Ẹ̀yà tí ń tẹ̀ jáde tí ó tọ́ nígbà tí a bá béèrè jẹ́ àmì-ìdánwò àkọ́kọ́ tó dára. Kò tíì jẹ́ ojú-ọ̀nà, kò sì yẹ kí ó ṣe bíi pé ó jẹ́ bẹ́ẹ̀.