કંઈક વારંવાર OpenVPN યુનિટ શરૂ કરે છે: સ્રોત શોધો
યુનિટ નિષ્ક્રિય કરવું તેનું સક્રિયકરણ દૂર કરવા સમાન નથી. પ્રોફાઇલ ડિલીટ કરતાં પહેલાં ઇન્સ્ટન્સ, ટેમ્પલેટ મેપિંગ અને ઉલટી નિર્ભરતાઓ વાંચો.
OpenVPN ઇન્સ્ટન્સ બૂટ વખતે એવા નામથી આવે છે જે તમે ઓળખતા નથી, અને તેને રોકવું આગલા રીબૂટ સુધી કામ કરે છે. આ પેટર્ન કહે છે કે તમે પ્રક્રિયા દૂર કરી છે પણ સક્રિયકરણ નહીં. આ બે અલગ ઑબ્જેક્ટ છે, અને સ્ટેટસ સ્ક્રીન પર તેમાંથી ફક્ત એક દેખાય છે. સક્રિયકરણ શોધવા માટે ચાર માત્ર-વાંચન આદેશો અને એક નિર્ણય જરૂરી છે.
પહેલાં ચોક્કસ યુનિટનું નામ આપો
પ્રોફાઇલ ફાઇલના નામને બદલે journalમાં યુનિટના નામથી શરૂ કરો. ઇન્સ્ટન્સનું નામ openvpn@, openvpn-client@, openvpn-server@ અથવા વિતરણ-વિશિષ્ટ કંઈક હોઈ શકે, અને નામનો અંદાજ કરવો તમને ખોટા ટેમ્પલેટ પર લઈ જાય છે. સ્ટેટસ આઉટપુટ તે યુનિટનું નામ આપે છે જે ખરેખર ચાલ્યું, અને અહીં ફક્ત એ જ નામ મહત્ત્વનું છે. તેને બરાબર તે જ રીતે કૉપિ કરો, કોઈપણ પ્રત્યય સહિત.
નીચેના આદેશો કંઈ બદલ્યા વિના તે યુનિટનું વર્ણન કરે છે. systemctl show ફ્રેગમેન્ટ પથ, સ્રોત પથ, યુનિટ ફાઇલની સ્થિતિ, કોઈપણ drop-in અને તેને શું સક્રિય કર્યું તે જણાવે છે. list-dependencies --reverse બતાવે છે કે કયા લોડ થયેલા યુનિટ તેની તરફ ઇશારો કરે છે. બંને માત્ર-વાંચન છે, તેથી સિદ્ધાંત બનાવતાં પહેલાં તેમને ચલાવો.
જોયેલું નામ દરેક જગ્યાએ બદલો. કૉપિ કરેલું ઉદાહરણ નામ ખોટી સેવાની તપાસની સૌથી સામાન્ય રીત છે, અને તે એવા યુનિટ વિશે આત્મવિશ્વાસપૂર્ણ જવાબો આપે છે જે ક્યારેય ચાલ્યું નથી.
ફાઇલનું નામ જાણવા ટેમ્પલેટ વાંચો
ઇન્સ્ટન્સ યુનિટ એ ટેમ્પલેટનું વિસ્તરણ છે, અને ટેમ્પલેટ નક્કી કરે છે કઈ કન્ફિગરેશન ફાઇલ વાંચવામાં આવે છે. ઇન્સ્ટન્સ-વિશિષ્ટ પ્લેસહોલ્ડર પર પૂરી થતી આદેશ લાઇન ઇન્સ્ટન્સ નામ અને પ્રત્યયમાં ફેરવાય છે. જો પ્રત્યય .conf હોય અને ઇન્સ્ટન્સનું નામ old હોય, તો ફાઇલ old.conf છે. જો ઇન્સ્ટન્સનું નામ old.conf રાખો, તો એ જ ટેમ્પલેટ old.conf.conf માંગે છે.
આ વિગત ડુપ્લિકેટના એક વર્ગને સમજાવે છે. કોઈ ખોટા નામ હેઠળ બીજું ઇન્સ્ટન્સ ઉમેરે છે, પહેલું ચાલુ રહે છે, અને હોસ્ટ બે ટનલ અને એક ગૂંચવણભર્યું લોગ સાથે રહી જાય છે.
તમે સંપાદિત કર્યું હોવાનું યાદ છે તે ફાઇલને બદલે અસરકારક ટેમ્પલેટ વાંચો. Drop-in આદેશ લાઇન બદલી શકે છે, અને બૂટ વખતે એ જ બદલાવ ચાલે છે.
તે કેવી રીતે બૂટ ટ્રાન્ઝેક્શનમાં પ્રવેશે છે તે ટ્રેસ કરો
ત્રણ માર્ગ સામાન્ય છે: લક્ષ્યમાંથી wants લિંક, બીજા યુનિટમાંથી જરૂરિયાત, અથવા પેકેજ જનરેટર દ્વારા બનાવેલું યુનિટ. ઉલટી નિર્ભરતાઓની યાદી પહેલા બેને લોડ થયેલા ગ્રાફ એન્ટ્રી તરીકે આવરી લે છે. તે ટાઇમર, હૂક કે બાહ્ય વિનંતી આવરી લેતી નથી, તેથી યાદી સંપૂર્ણ ઓડિટ નહીં પણ પુરાવો છે.
/run/systemd/generator હેઠળ જનરેટ થયેલું આઉટપુટ ઉત્પાદન છે, સ્રોત નહીં. તેને સંપાદિત કરવું ફક્ત આગલી જનરેશન સુધી ટકે છે, તેથી ત્યાં લાગુ કરેલો સુધારો સફળ દેખાય છે અને પછી પાછો આવે છે.
જનરેટર ક્યાંથી વાંચે છે તે ધારવાના પહેલાં પેકેજના દસ્તાવેજીકૃત ઇનપુટની ચકાસણી કરો. ડિરેક્ટરીનું અદસ્તાવેજી સ્કેનિંગ એ સામાન્ય કારણ છે કે યુનિટ સક્રિયકરણ લિંક વિના દેખાય છે.
સક્રિયકરણ દૂર કરો, ફક્ત પ્રક્રિયા નહીં
જો ઇન્સ્ટન્સ સીધું સક્રિય છે અને ખરેખર અપ્રચલિત છે, તો systemctl disable --now તેને રોકે છે અને એક જ પગલામાં બૂટ લિંક દૂર કરે છે. પહેલાં ચકાસો કે આ ટનલ હોસ્ટ સુધીનો તમારો એકમાત્ર વહીવટી માર્ગ નથી. આદેશ જીવનચક્રનું ઉદાહરણ છે, મશીન પરના દરેક VPNને રોકવાની સૂચના નહીં. ચકાસણી આદેશ પહેલાં કરો, પછી નહીં.
બંને અર્ધા અલગ કરી શકાય છે અને ઘણી વાર ગૂંચવાય છે. નિષ્ક્રિય કરવું ચાલુ સેવાને રોકતું નથી, અને રોકવું સક્રિયકરણ દૂર કરતું નથી, તેથી આંશિક આદેશ એવી સમસ્યા સમજાવે છે જે બૂટ પર પાછી આવે છે.
નિષ્ક્રિય યુનિટ હજી પણ બીજા યુનિટ અથવા સ્પષ્ટ વિનંતીથી શરૂ થઈ શકે છે. જ્યારે સક્રિયકરણ જનરેટર પાસે હોય, ત્યારે તેનું આઉટપુટ નિષ્ક્રિય કરવાને બદલે તેનું ઇનપુટ સુધારો. માસ્કિંગ વધુ માર્ગ અવરોધે છે પણ નિર્ભરતાઓ તોડી શકે છે, તેથી તે સમજનો વિકલ્પ નથી.
સ્ટેટસ સ્ક્રીનથી નહીં, રીબૂટથી ચકાસો
જો યુનિટ વ્યાખ્યાઓ કે જનરેટર ઇનપુટ બદલાયા હોય તો systemd ફરી લોડ કરો, પછી પરિણામી સ્થિતિની તપાસ કરો. ડેમન ફરી લોડ ચાલુ ટનલમાં નવી પ્રોફાઇલ ધકેલતું નથી, તેથી બંને ચકાસણી અલગ છે. રીબૂટ નિર્ધારિત કરો અને ખાતરી કરો કે ઇન્સ્ટન્સ ગેરહાજર રહે છે જ્યારે ઇચ્છિત ટનલ હજી કામ કરે છે.
જૂની પ્રોફાઇલ તેની માલિકી સમજાય ત્યાં સુધી રાખો, પછી ઇચ્છિત પ્રક્રિયા દ્વારા તેને નિવૃત્ત કરો. સફળતા એ ગેરહાજર યુનિટ અને કાર્યક્ષમ ઍક્સેસ માર્ગ છે, એક સ્ક્રીન પરથી ખૂટતું નિષ્ફળ યુનિટ નહીં.