Kopisha umugqa womyalo osebenzayo ku-ExecStart, phinda ulayishe, futhi iyunithi ihluleka noma iphuma buthule ngoba izimpikiswano zithathwa njengamagama amafayela. Akukho okonakele ku-systemd. I-ExecStart iwuhlu lwezimpikiswano, akuyona i-shell, ngakho amapayipi, ukuqondisa kabusha nezimo zilahlekelwa incazelo ngaso leso sikhathi lapho zishiya itheminali yakho. Nquma ukuthi i-shell kufanele ibe kuphi, bese ubhala iyunithi esho ngokunembile ukuthi yini okufanele isetshenziswe.

Kungani ipayipi ku-ExecStart lingenzi lutho

Lapho umyalo uthayipha etheminalini, i-shell iqala ukuwuhlaziya. Yakha ipayipi, ivule amafayela okwengisa kabusha futhi yandise iziguquli ngaphambi kokuthi noma yiluphi uhlelo luqale. I-systemd ayikwenzi lokho: ihlukanisa i-ExecStart ngemithertho yayo bese isebenzisa uhlelo oluzuziwe ngalezo zimpikiswano. Ngakho-ke > ifika njengempikiswano yezwi, futhi | inikezwa uhlelo esikhundleni sokuxhumanisa izinqubo ezimbili. Iyunithi ayiziphathi kabi; isakhiwo somusho sasisho okunye.

Lokhu kwenziwe ngamabomu hhayi ngokunganaki, ngoba ukuphathwa kwezimpikiswano okulindelekile yikho okwenza amayunithi ahlolwe. Kuyamangaza kuphela labo abacabanga ukuthi ikhona i-shell.

Bhala iyunithi esho ngokunembile ukuthi yini esebenzayo

Qala ngeyunithi encane injongo yayo ibonakala kujenele, ukuze izinkinga zokuhlaziya zihlale zihlukile kwezinkinga zomhubhe. Lolu lubika kuphela inguqulo yebhinari.

[Unit]
Description=Report the installed OpenVPN version

[Service]
Type=oneshot
ExecStart=/usr/sbin/openvpn --version
StandardOutput=journal
StandardError=journal

Indlela iyisibambi sikhala, ngakho faka ibhinari efakwe ngempela. Type=oneshot ifanele umyalo osebenza kuze kuphele, futhi izilungiselelo zejenele zibeka okukhishiwe endaweni ongakufunda ngaphandle kwetheminali. Ngamabomu asikho isigaba sokufaka, ngakho iyunithi ibizwa ngesandla esikhundleni sokunika amandla ekuqaleni. Qinisekisa ifayela ngaphambi kokuliqala, ngoba iphutha lokuthayipha egameni lomyalelo lehluleka ngendlela ehlukile kunephutha endleleni.

systemd-analyze verify /etc/systemd/system/openvpn-version.service
systemctl start openvpn-version.service

Gcina umqondo we-shell kuskripthi

Lapho umsizi edinga ngempela umqondo onemibandela, faka lowo mqondo kuskripthi futhi uwubize ngokucacile. Iskripthi sidinga umugqa womhumushi, imvume yokwenza kanye namakhodi okuphuma i-sevisi engawabika. /bin/sh -c ngomyalo oqukethwe izingcaphuno kuyasebenza, kodwa kufihla imithetho yezingcaphuno ngaphakathi kweyunithi futhi kwenza ukubuyekezwa kube nzima. Iskripthi esinegama singahlolwa ngesandla futhi sishintshwe kamuva ngaphandle kokuhlela iyunithi. Unganciki kuphrofayela ye-shell yomsebenzisi osebenzisana nayo, ngoba i-sevisi iqala ngemvelo yayo.

Lapho izindlela ezihlobene zibalulekile WorkingDirectory setha, futhi dlulisa imvelo ngemiyalelo esekelwe yeyunithi esikhundleni sokuyikhiphela etheminalini. Izimfihlo zisezifayelini ezivikelwe noma ebufakazini, hhayi ohlwini lwezimpikiswano ijenele elingaluqopha.

Hlola iyunithi ekhona ngempela

Amafayela e-drop-in ashintsha ukuziphatha ngaphandle kokuthinta ifayela okhumbula ukuthi walihlela. Funda lokho okulayishwe umphathi nalokho okubikwe ukugijima kokugcina.

systemctl cat vpn-helper.service
journalctl -u vpn-helper.service -n 20 --no-pager

Ukukhipha kweyunithi kufaka amafayela e-drop-in ngokulandelana kokulayisha, futhi yilapho i-ExecStart engalindelekile ivame ukuvela khona. Ngemva kwanoma yiluphi ushintsho, phinda ulayishe umphathi futhi uqinisekise ukuthi incazelo entsha yilokho okunyatheliswa systemctl cat. Ijenele likhombisa umugqa womyalo onembile kanye nesimo sokuphuma, okuhlukanisa inkinga yezimpikiswano nebhinari engekho noma iphutha lemvume. Bese unquma ukuthi umsizi uyingxenye yomjikelezo wempilo we-VPN okhona noma kufanele ahlale eyisifo sokuxilonga ngesandla, ngoba inqubo yesibili yomhubhe wangemuva idala umnikazi oqhudelanayo.

Iyunithi enyathelisa okukhishiwe okulungile uma iceliwe iyisigaba sokuqala esihle. Ayikabi umhubhe, futhi akufanele iziphathe sengathi ingumhubhe.

Izihloko ezihlobene