ನೀವು 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 ಹೋಸ್ಟ್‌ನಲ್ಲಿ, ಅಥವಾ ನಿರ್ವಾಹಕ ಇಲ್ಲದ ಸ್ಥಳದಲ್ಲಿ ಕ್ಲೈಂಟ್ ಅನ್ನು ಮುಂಭಾಗದಲ್ಲಿ ಚಲಾಯಿಸಿ. ಮುಂಭಾಗದಲ್ಲಿ ಚಲಾಯಿಸುವುದು ಪ್ರೊಫೈಲ್ ಸ್ವತಃ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸುವ ಅತ್ಯಂತ ವೇಗದ ಮಾರ್ಗವೂ ಆಗಿದೆ.

ನಿಮ್ಮ ಟಿಪ್ಪಣಿಗಳಲ್ಲಿ ಎರಡು ಪರಿಸರಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ: ಸುರಂಗವನ್ನು ಚಲಾಯಿಸುವ ಹೋಸ್ಟ್, ಮತ್ತು ನೀವು ಆದೇಶಗಳನ್ನು ಟೈಪ್ ಮಾಡುವ ಸ್ಥಳ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು