ExecStart ba shell ba ne: gyara naúrar taimakon VPN
ExecStart yana gudanar da shiri da hujjoji, ba bututun shell ba. Yi amfani da fassara bayyananne ko ainihin rubutun, sannan duba naúrar kuma karanta jarida.
Kwafi layin umarni mai aiki cikin ExecStart, sake lodawa, kuma naúrar ta kasa ko ta fita shiru tana ɗaukar hujjojin a matsayin sunayen fayiloli. Babu abin da ya lalace a systemd. ExecStart jerin hujjoji ne, ba shell ba, don haka bututu, juyar da hanya da sharuɗɗa suna rasa ma’anarsu da zarar sun bar tasharka. Yanke shawara inda shell ya kamata ya kasance, sannan rubuta naúra da ke faɗin ainihin abin da za a aiwatar.
Me ya sa bututun da ke cikin ExecStart ba ya yin komai
Lokacin da aka buga umarni a tasha, shell yana fara tantance shi. Yana gina bututu, yana buɗe fayiloli don juyar da hanya kuma yana faɗaɗa masu canji kafin kowane shiri ya fara. systemd ba ya yin ko ɗaya daga cikin waɗannan: yana raba ExecStart bisa ga dokokinsa kuma yana aiwatar da shirin da ya samu da waɗannan hujjojin. Don haka > yana zuwa a matsayin hujja ta zahiri, kuma | ana miƙa shi ga shirin maimakon haɗa matakai biyu. Naúrar ba ta yin kuskure; haɗin kalmomin yana nufin wani abu dabam.
Wannan da gangan ne ba sakaci ba, domin kulawa da hujjoji da ake iya tsammani ita ce ke sa naúrori su zama masu iya dubawa. Yana ba wa waɗanda suke ɗauka cewa akwai shell mamaki kawai.
Rubuta naúra da ke faɗin ainihin abin da ke gudana
Fara da ƙaramin naúra wanda manufarsa a bayyane take a jarida, domin matsalolin tantancewa su kasance dabam da matsalolin rami. Wannan yana ba da labarin sigar binary kawai.
[Unit]
Description=Report the installed OpenVPN version
[Service]
Type=oneshot
ExecStart=/usr/sbin/openvpn --version
StandardOutput=journal
StandardError=journalHanyar wuri ce ta riƙo, don haka maye gurbinta da binary ɗin da aka saka da gaske. Type=oneshot ya dace da umarnin da ke gudana har ƙarshe, kuma saitunan jarida suna ajiye fitarwarsa inda za ka iya karanta shi ba tare da tasha ba. Babu sashen shigarwa da gangan, don haka ana kiran naúrar da hannu maimakon kunna ta a lokacin tashi. Tabbatar da fayil ɗin kafin fara shi, domin kuskuren rubutu a sunan umarni yana kasa daban da kuskure a hanyar.
systemd-analyze verify /etc/systemd/system/openvpn-version.service
systemctl start openvpn-version.serviceRiƙe dabarun shell cikin rubutu
Lokacin da mataimaki yake buƙatar dabarun sharadi da gaske, saka wannan dabarar cikin rubutu kuma ka kira shi a bayyane. Rubutun yana buƙatar layin fassara, izinin aiwatarwa da lambobin fita da sabis ɗin zai iya bayar da rahoto. /bin/sh -c tare da umarni a cikin alamar magana yana aiki, amma yana ɓoye dokokin magana cikin naúra kuma yana sa bita ta yi wuya. Ana iya gwada rubutun mai suna da hannu kuma a maye gurbinsa daga baya ba tare da gyara naúrar ba. Kada ka dogara da bayanin shell na mai amfani mai mu’amala, domin sabis yana farawa da nasa muhallin.
Saita WorkingDirectory lokacin da hanyoyin dangi suka yi muhimmanci, kuma ka miƙa muhalli ta hanyar umarnin da naúrar ke tallafawa maimakon fitar da shi a tasha. Asirai suna cikin fayiloli masu kariya ko takardun shaida, ba cikin jerin hujjojin da jarida za ta iya rubutawa ba.
Duba naúrar da take wanzu da gaske
Fayilolin drop-in suna canza hali ba tare da taɓa fayil ɗin da kake tunawa ka gyara ba. Karanta abin da manaja ya loda da abin da gudun ƙarshe ya bayar.
systemctl cat vpn-helper.service
journalctl -u vpn-helper.service -n 20 --no-pagerFitarwar naúra ta haɗa da fayilolin drop-in a tsarin lodawa, kuma daga nan ne ExecStart marar tsammani yawanci ke zuwa. Bayan kowane canji, sake loda manajan kuma tabbatar sabon bayanin shi ne abin da systemctl cat yake bugawa. Jarida tana nuna ainihin layin umarni da matsayin fita, wanda ke raba matsalar hujja daga binary ɓatacce ko kuskuren izini. Sannan yanke shawara ko mataimakin na cikin tsarin rayuwar VPN da ke akwai ne ko ya kamata ya kasance bincike na hannu, domin tsarin rami na baya na biyu yana haifar da mai gasa.
Naúra da ke buga daidaitaccen fitarwa akan buƙata matakin farko ne mai kyau. Har yanzu ba rami ba ce, kuma bai kamata ta yi kamar ita ce ba.