systemctl කියන්නේ systemd PID 1 නොවේ කියායි: එසේ නම් කුමක්ද?
PID 1 පණිවිඩය OpenVPN ගැන නොව, පරිසරය ගැනය. PID 1 ලෙස කුමක් ක්රියාත්මක වන්නේදැයි පරීක්ෂා කර, සහාය දක්වන තැන systemd සක්රීය කර, පසුව සැබෑ දෝෂය කියවන්න.
ඔබ systemctl start openvpn-client@office ධාවනය කර, පද්ධතිය systemd සමඟ අරඹා නැති බවට පණිවිඩයක් ලැබුණු විට, එය සේවා අසාර්ථකත්වයක් ලෙස පෙනේ. එය කිසිසේත් සේවා අසාර්ථකත්වයක් නොවේ: ඔබ ඇමතූ systemctl ට කතා කිරීමට ධාවනය වන කළමනාකරුවෙකු හමු නොවේ, එබැවින් OpenVPN ගැන කිසිවක් පරීක්ෂා නොකළේය. sudo කළමනාකරුවෙකු සාදන්නේ නැත, unit ගොනුවක් ස්ථාපනය කිරීමද එය සාදන්නේ නැත. විධානය සහ යන්ත්රය වෙනස් ලෝක දෙකකින් පැමිණේ, දෝෂය එය දිස්වූ එකම තැනයි.
විධානය ධාවනය වන තැන PID 1 කුමන ක්රියාවලියට අයත්දැයි මුලින්ම අසන්න, මන්ද එම පිළිතුර unit තිබේද නැද්ද යන්න තීරණය කරයි.
දෝෂය OpenVPN නොව පරිසරය නම් කරයි
systemctl සේවාදායකයෙකි, කළමනාකරුවෙකු නොවේ. එය socket හරහා පද්ධති කළමනාකරුට සම්බන්ධ වන අතර, අනෙක් කෙළවරේ කළමනාකරුවෙකු නොමැති විට මිනිසුන් සංසදවල අලවන පණිවිඩය මුද්රණය කරයි. ps -p 1 -o pid=,comm= සැබවින්ම PID 1 ලෙස ක්රියාත්මක වන්නේ කුමක්දැයි පෙන්වයි, පිළිතුර බොහෝ විට shell, init ආවරණයක් හෝ බහාලුමේම පිවිසුම් ලක්ෂ්යයකි. එවැනි තත්වයක unit ගොනුවක් සම්පූර්ණයෙන් වලංගු වුවත් කිසිදා කියවා නොගැනීමට පුළුවන. විධානය root ලෙස නැවත කිරීම කරන්නේ සේවාදායකයාගේ අක්තපත්ර පමණක් වෙනස් කිරීමයි.
පළමු පේළියට පෙර සම්පූර්ණ පණිවිඩය කියවන්න. කළමනාකරුගෙන්ම එන දෝෂයක්, එනම් නැති unit එකක් හෝ අසාර්ථක වූ කොන්දේසියක් නම්, ඔබ එයට ළඟා වී ඇති බවයි; මෙම දෝෂය යනු ළඟා වී නැති බවයි.
WSL: systemd සක්රීය කිරීම වින්යාස වෙනසකි
WSL පසුකාලීන නිකුතුවල systemd සහාය ලබා ගත්තේය, නමුත් මෙම විශේෂාංගය එක් එක් බෙදාහැරීම සඳහා වෙන වෙනම සක්රීය වන අතර ස්ථාපිත WSL සංස්කරණය එයට සහාය දක්වන තැන පමණක් ක්රියා කරයි. wsl --version Windows පැත්තේ ඔබට ඇති දේ පෙන්වයි, සහ බෙදාහැරීමේ /etc/wsl.conf ගොනුවේ [boot] කොටසක් ඇත, එහි systemd=true ඇත. දැනටමත් ඇති කොටස් ඉවත් නොකර එම ගොනුව සංස්කරණය කර, පසුව වෙනස ක්රියාත්මක වන පරිදි WSL අවස්ථාව නැවත අරඹන්න. wsl --shutdown ධාවනය වන සෑම බෙදාහැරීමක්ම නවතී, එබැවින් පළමුව ඔබේ කටයුතු සුරකින්න.
නැවත විවෘත කිරීමෙන් පසු, OpenVPN unit එකට අත තැබීමට පෙර කළමනාකරු තහවුරු කරන්න: ps -p 1 -o comm= පෙන්විය යුතුය systemd. systemd සක්රීය කිරීමෙන් පැතිකඩක්, අක්තපත්ර හෝ අවස්ථා නාමයක් ලැබෙන්නේ නැත, එබැවින් ඊළඟ දෝෂය PID 1 ගැන නොව ඒවායින් එකක් ගැන වනු ඇත.
බහාලුම් ඒවායේ පිවිසුම් ලක්ෂ්යය ධාවනය කරයි, unit නොවේ
සාමාන්ය බහාලුමක් එහි පිවිසුම් ලක්ෂ්යය හෝ විධානය නියම කරන දේ ආරම්භ කරයි, ඔබ කුමන පැකේජ ස්ථාපනය කළත් එය systemd සමඟ අරඹන ලද යන්ත්රයක් නොවේ. රූපයට systemctl එකතු කිරීමෙන් සම්බන්ධ වීමට කිසිවක් නැති සේවාදායකයක් ලැබේ. Community OpenVPN සඳහා සහාය දක්වන රටාව සාමාන්යයෙන් ඉදිරිපස තිරයේ ධාවනය වන ක්රියාවලියකි, openvpn --config /path/to/client.conf, එය පිවිසුම් ලක්ෂ්යය විසින් අරඹා පිටතින් අධීක්ෂණය කරයි. එම හිමිකරු ආරම්භය, සංඥා සහ නැවැත්වීම හසුරුවයි, උමං පාලනය කරන එකම දෙය ඔහු විය යුතුය.
එම උමං දැනටමත් පාලනය කරන පිවිසුම් ලක්ෂ්යයක් අසල කිසිදා අන්තර්ක්රියාකාරී පිටපතක් ධාවනය නොකරන්න, මන්ද ක්රියාවලි දෙකක් උපාංගය සහ මාර්ග සඳහා සටන් කරනු ඇත. බහාලුම තුළ අවම init ක්රියාවලියක් දරුවන් එකතු කර සංඥා ඉදිරියට යවයි; එය රූපය unit සහිත සත්කාරකයක් බවට පත් නොකරයි.
යෙදවීමකට ඇත්තටම බහාලුම තුළ systemd අවශ්ය නම්, ඒ සඳහා හිතාමතා නිර්මාණය කළ රූපයක් අවශ්යය, systemctl පැමිණිලි කිරීම නවත්වන තෙක් එකතු කරන අමතර වරප්රසාද නොවේ.
කළමනාකරු සිටින විට ඊළඟ දෝෂය කියවන්න
සැබෑ කළමනාකරු සේවාව අරඹන විට, ප්රයෝජනවත් දෝෂ ආරම්භ වේ. උපාංග අවසර අසාර්ථකත්වය, වින්යාස විග්රහ දෝෂය, නැති අක්තපත්ර සහ ළඟා විය නොහැකි සගයා — මේවා PID 1 පණිවිඩය කිසිදා පරීක්ෂා නොකළ වෙනස් ගැටලු හතරකි. unit ඒවා නිපදවූ අනුපිළිවෙලට කියවන්න, journalctl -u openvpn-client@office -n 50 භාවිතයෙන් systemd සත්කාරකයේ, නැතහොත් කළමනාකරු නොමැති තැන සේවාදායකය ඉදිරිපස තිරයේ ධාවනය කරමින්. ඉදිරිපස තිරයේ ධාවනය කිරීම පැතිකඩම ක්රියා කරන බව තහවුරු කිරීමට වේගවත්ම මාර්ගයද වේ.
ඔබේ සටහන්වල පරිසර දෙක වෙන් වෙන්ව තබන්න: උමං ධාවනය කරන සත්කාරකය, සහ ඔබ විධාන ටයිප් කරන තැන.