ಯಾವ openvpn ಬೈನರಿ ಚಲಿಸುತ್ತಿದೆ? ಲಾಂಚ್ ಪಥ ಪರಿಶೀಲಿಸಿ
ಆಜ್ಞೆಯ ಹೆಸರು, ಸೇವೆಯ ಪಥ ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಫೈಲ್ ಮೂರು ಬೇರೆ ಬೇರೆ ವಸ್ತುಗಳಾಗಿರಬಹುದು. ಲಾಂಚ್ ಪಥ ಪರಿಶೀಲಿಸಿ, ಪ್ಯಾಕೇಜ್ ಫೈಲ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ರ್ಯಾಪರ್ ತೆಗೆದುಹಾಕಿ.
ಹಳೆಯ ಪರಿಹಾರವೊಂದು OpenVPN ನ ಕಾರ್ಯನಿರ್ವಾಹಕ ಫೈಲ್ ಅನ್ನು ಬೇರೆಡೆಗೆ ಸರಿಸಿ ಮೂಲ ಪಥದಲ್ಲಿ shell ರ್ಯಾಪರ್ ಬಿಟ್ಟಿತ್ತು. ತಿಂಗಳುಗಳ ನಂತರ ಅಪ್ಗ್ರೇಡ್ ಬರುತ್ತದೆ, ಮತ್ತು ಆ ಪರಿಹಾರವನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳುವುದು ಯಾವ ಫೈಲ್ ನಿಜವಾಗಿ ಕ್ಲೈಂಟ್ ಎಂಬ ಊಹಾಪೋಹದ ಆಟವಾಗುತ್ತದೆ. ಆಜ್ಞೆಯ ಹೆಸರು, ಸೇವೆಯಲ್ಲಿ ಸಂರಚಿಸಿದ ಕಾರ್ಯನಿರ್ವಾಹಕ ಫೈಲ್ ಮತ್ತು ಪ್ಯಾಕೇಜ್ನ ಸ್ವಂತ ಫೈಲ್ ಪಟ್ಟಿ ಎಲ್ಲವೂ ಬೇರೆ ಬೇರೆ ವಸ್ತುಗಳನ್ನು ಸೂಚಿಸಬಹುದು, ಮತ್ತು ಉಳಿದವುಗಳಿಲ್ಲದೆ ಒಂದನ್ನು ಸರಿಪಡಿಸುವುದು ಸರಿಪಡಿಸಿದಂತೆ ಕಾಣುವ ಆದರೆ ಕೆಟ್ಟದಾಗಿ ವರ್ತಿಸುವ ಹೋಸ್ಟ್ ಅನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
ಸೇವೆ ಪ್ರಾರಂಭಿಸುವ ಪಥದಿಂದ ಆರಂಭಿಸಿ
ಟರ್ಮಿನಲ್ ಮತ್ತು systemd ಯುನಿಟ್ ಕಾರ್ಯನಿರ್ವಾಹಕ ಫೈಲ್ಗಳನ್ನು ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಪರಿಹರಿಸುವುದಿಲ್ಲ. shell PATH ನಲ್ಲಿ ಹುಡುಕುತ್ತದೆ; ಯುನಿಟ್ ಪಥವನ್ನು ಹೆಸರಿಸುತ್ತದೆ, ಮತ್ತು drop-in ಮೇಲ್ಬರಹಗಳು ನೀವು ಓದುತ್ತಿರುವ ಫೈಲ್ ಅನ್ನು ಮುಟ್ಟದೆಯೇ ಅದನ್ನು ಬದಲಿಸಬಹುದು. ಆ ವ್ಯತ್ಯಾಸವೇ ಈ ಕೆಲಸದ ಹೆಚ್ಚಿನ ಗೊಂದಲವನ್ನು ವಿವರಿಸುತ್ತದೆ. ನಿಮ್ಮ ದುರಸ್ತಿ ಯಾವ ಫೈಲ್ ಅನ್ನು ಗುರಿಯಾಗಿಸಬೇಕೆಂದೂ ಅದು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಯುನಿಟ್ ಏನನ್ನು ಚಲಾಯಿಸುತ್ತದೆ ಎಂದು ಕೇಳಿ, ಅದನ್ನು ಬದಲಿಸುವ drop-in ಸಹಿತ, ಮತ್ತು ನೀವು ಪ್ರಾಮಾಣಿಕ ಎಂದು ಭಾವಿಸುವ ತುಣುಕಿನ ಬದಲು ಫಲಿತಾಂಶದ ExecStart ಸಾಲನ್ನು ಓದಿ. ನಂತರ ಆ ಪಥವನ್ನು ಯಾವುದೇ ಸಾಂಕೇತಿಕ ಕೊಂಡಿಯ ಮೂಲಕ ಅಂತಿಮ ಫೈಲ್ವರೆಗೂ ಅನುಸರಿಸಿ. ಗುಪ್ತ ಡೈರೆಕ್ಟರಿಗೆ exec ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುವ ರ್ಯಾಪರ್ ಈ ಹಳೆಯ ಪರಿಹಾರಗಳ ಸಾಮಾನ್ಯ ಜೋಡಣೆ.
ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಪರಿಹರಿಸಿದ ಪಥವನ್ನು ಬರೆದಿಡಿ.
systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"ಆಜ್ಞೆಯ ಹೆಸರನ್ನು ಸೇವೆಯ ಪಥದೊಂದಿಗೆ ಹೋಲಿಸಿ
ಎರಡು ಉತ್ತರಗಳು ಹೆಚ್ಚಾಗಿ ಭಿನ್ನವಾಗಿರುತ್ತವೆ, ಮತ್ತು ಆ ವ್ಯತ್ಯಾಸ ತಾನಾಗಿಯೇ ದೋಷವಲ್ಲ. NetworkManager ಪ್ಲಗಿನ್ ತನ್ನದೇ ಪಥವನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು, ಮತ್ತು ಕಂಟೇನರ್ ಇನ್ನೊಂದನ್ನು ಮೌಂಟ್ ಮಾಡಬಹುದು.
ಮುಖ್ಯವಾದುದು ಸಂಚಾರಕ್ಕೆ ಸೇವೆ ಸಲ್ಲಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಯಾವ ಮಾಲೀಕ ಪ್ರಾರಂಭಿಸುತ್ತಾನೆ ಎಂದು ತಿಳಿಯುವುದು. ಯುನಿಟ್ /usr/local/sbin/openvpn-wrapper ಚಲಾಯಿಸುತ್ತಿದ್ದರೆ ಮತ್ತು ನಿಮ್ಮ shell /usr/sbin/openvpn ಪರಿಹರಿಸುತ್ತಿದ್ದರೆ, ಎರಡನೇ ಫೈಲ್ ಅನ್ನು ಸರಿಪಡಿಸುವುದು ಸೇವೆಯಲ್ಲಿ ಏನನ್ನೂ ಬದಲಿಸುವುದಿಲ್ಲ.
ಪ್ರತಿ ಅಭ್ಯರ್ಥಿಯನ್ನು ಯಾವ ಪ್ಯಾಕೇಜ್ ಹೊಂದಿದೆ ಎಂದು ಕೇಳಿ, ನಂತರ ಫೈಲ್ ಪ್ಯಾಕೇಜ್-ನಿರ್ವಹಿತವೇ ಅಥವಾ ಸ್ಥಳೀಯವಾಗಿ ಇರಿಸಲಾಗಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಿ. ಮಾಲೀಕ ಪ್ಯಾಕೇಜ್ ಇಲ್ಲದ ಫೈಲ್ ಯಾರೋ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಅಲ್ಲಿ ಇರಿಸಿದ ಫೈಲ್, ಮತ್ತು ಅದು ಅಳಿಸುವ ಮೊದಲು ಹೆಸರು, ಮಾಲೀಕ ಮತ್ತು ಕಾರಣಕ್ಕೆ ಅರ್ಹವಾಗಿದೆ. ವಿರುದ್ಧ ತಪ್ಪೂ ಸಾಮಾನ್ಯ: ಫೋರಮ್ ಪೋಸ್ಟ್ ಅದೇ ಡೈರೆಕ್ಟರಿ ಬಳಸಿದ್ದರಿಂದ ಹಳೆಯ ಉಳಿಸಿದ ಬೈನರಿಯಿಂದ ಪ್ಯಾಕೇಜ್ ಫೈಲ್ ಅನ್ನು ಮೇಲ್ಬರಹ ಮಾಡುವುದು.
ಪ್ಯಾಕೇಜ್ ಫೈಲ್ಗಳ ಬಗ್ಗೆ ಪ್ಯಾಕೇಜ್ ಡೇಟಾಬೇಸ್ಗೆ ಮಾತನಾಡಲು ಬಿಡಿ
ತಂತ್ರಾಂಶ Debian ಪ್ಯಾಕೇಜ್ನಿಂದ ಬಂದಾಗ, ಅದರ ಫೈಲ್ಗಳು ಇನ್ನೂ ಸ್ಥಾಪಿಸಿದ್ದಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆಯೇ ಎಂದು ಪ್ಯಾಕೇಜ್ ಡೇಟಾಬೇಸ್ ಹೇಳಬಲ್ಲದು. ಇದು ಸಮಗ್ರತೆಯ ಸಂಕುಚಿತ ಪ್ರಶ್ನೆ, ಭದ್ರತಾ ತೀರ್ಪಲ್ಲ, ಮತ್ತು ಏನನ್ನು ಸರಿಪಡಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುವಾಗ ಈ ವ್ಯತ್ಯಾಸ ಮುಖ್ಯ. ಹೊಂದಿಕೆಯಾಗದಿರುವುದು ಫೈಲ್ ಸ್ಥಾಪನೆಯ ನಂತರ ಬದಲಾಗಿದೆ ಎಂದರ್ಥ, ಅದು ನಿಮ್ಮ ಹಳೆಯ ಪರಿಹಾರ ಅಥವಾ ಕಾನೂನುಬದ್ಧ ಸ್ಥಳೀಯ ಸಂಪಾದನೆಯಾಗಿರಬಹುದು. ಯಾವುದೆಂದು ಔಟ್ಪುಟ್ ನಿರ್ಧರಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅದನ್ನು ತೀರ್ಮಾನವಲ್ಲದೆ ಸೂಚನೆಯಾಗಿ ಓದಿ.
ಪರಿಶೀಲನೆ ಚಲಾಯಿಸಿ ಮತ್ತು ಖಾಲಿ ಫಲಿತಾಂಶವನ್ನು ಯಾವುದಕ್ಕೂ ಸಾಕ್ಷ್ಯ ಎಂದು ಪರಿಗಣಿಸುವ ಬದಲು ಔಟ್ಪುಟ್ ಓದಿ.
dpkg -S /usr/sbin/openvpn
dpkg --verify openvpndpkg ಕೈಪಿಡಿ ದಾಖಲಿಸುವಂತೆ, ಪರಿಶೀಲನೆ ಸ್ಥಾಪಿತ ಫೈಲ್ಗಳನ್ನು ಸ್ಥಳೀಯವಾಗಿ ದಾಖಲಾದ ಮೆಟಾಡೇಟಾದೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ, ಇರುವಲ್ಲಿ ಸಂಗ್ರಹಿತ ಚೆಕ್ಸಮ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಅದು ಬದಲಾದ ಪ್ಯಾಕೇಜ್ ಫೈಲ್ ಅನ್ನು ಗಮನಿಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಬದಲು ಬೇರೆ ಬೈನರಿ ಚಲಾಯಿಸಲಾಗುತ್ತಿದೆಯೇ ಎಂದು ಹೇಳಲಾರದು.
ಸರಿಪಡಿಸುವ ಮೊದಲು ಸ್ಥಿತಿ ದಾಖಲಿಸಿ
ಪರಿಹರಿಸಿದ ಲಾಂಚ್ ಪಥ, ಫೈಲ್ನ ಪ್ಯಾಕೇಜ್ ಸಂಬಂಧ, ರ್ಯಾಪರ್ನ ಸ್ಥಳ ಮತ್ತು ಅದನ್ನು ತಂದ ಬದಲಾವಣೆ ದಾಖಲೆ ಸಂಗ್ರಹಿಸಿ. ನಂತರ ಬೇಕಾಗುವ ಏಕೀಕರಣ ಕೆಲಸ ರ್ಯಾಪರ್ನಲ್ಲಿದ್ದರೆ ಅದನ್ನು ಸುರಕ್ಷಿತ ಸ್ಥಳಕ್ಕೆ ನಕಲಿಸಿ.
ಓದುವ ಮೊದಲು ರ್ಯಾಪರ್ ವಿಷಯವನ್ನು ಸಹಾಯ ಥ್ರೆಡ್ಗೆ ಅಂಟಿಸಬೇಡಿ, ಏಕೆಂದರೆ ಈ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಕೆಲವೊಮ್ಮೆ ರುಜುವಾತುಗಳು ಅಥವಾ ಗೇಟ್ವೇ ವಿವರಗಳನ್ನು ಹೊತ್ತಿರುತ್ತವೆ.
ಕೆಲಸ ಮಾಡುವಾಗ ಸೇವೆ ಯಾವ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಯಾರು ಸಂಪರ್ಕದಲ್ಲಿದ್ದಾರೆ ಎಂದು ದಾಖಲಿಸಿ, ಏಕೆಂದರೆ ಸುರಂಗವನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವುದು ನೀವು ಹೋಸ್ಟ್ ನಿರ್ವಹಿಸುತ್ತಿರುವ ಸೆಷನ್ ಅನ್ನು ಅಡ್ಡಿಪಡಿಸಬಹುದು.
ಲಾಂಚ್ ಪರಿಶೀಲಿಸಿ, ನಂತರ ರ್ಯಾಪರ್ ತೆಗೆದುಹಾಕಿ
ಸರಿಪಡಿಸಿದ ನಂತರ ಸೇವೆ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ನೀವು ಉದ್ದೇಶಿಸಿದ ಪಥದಲ್ಲಿ ಚಲಿಸುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ಕೈಯಿಂದ ಚಲಾಯಿಸಿದ ಆವೃತ್ತಿ ಪ್ರಶ್ನೆ ಫೈಲ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ; ಯುನಿಟ್ ಅದನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ.
ನಂತರ ಕ್ಲೈಂಟ್ ಅನ್ನು ಮತ್ತೆ ಸಂಪರ್ಕಿಸಿ ಮತ್ತು ಪ್ರೊಫೈಲ್ ಇನ್ನೂ ದೃಢೀಕರಿಸುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಮೂಲ ಆಯ್ಕೆಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುವ ಬೈನರಿ ಬದಲಾವಣೆ ಪ್ರಮಾಣಪತ್ರದ ಸಮಸ್ಯೆಯಂತೆ ಕಾಣುವ ರೀತಿಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ.
ಸ್ಥಳಾಂತರಗೊಂಡ ರ್ಯಾಪರ್ ಅನ್ನು ಅದನ್ನು ತಂದ ಅದೇ ಬದಲಾವಣೆ ದಾಖಲೆಯ ಮೂಲಕ ತೆಗೆದುಹಾಕಿ. ಮುಗಿದ ದುರಸ್ತಿ ಯಾವ ಕಾರ್ಯನಿರ್ವಾಹಕ ಚಲಿಸುತ್ತದೆ, ಏಕೆ, ಮತ್ತು ಯಾವ ಫೈಲ್ ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ; ಫೈಲ್ ಹೆಸರನ್ನು ಮರುಸ್ಥಾಪಿಸಿ ಆಶಿಸುವುದು ಒಂದೇ ಅಲ್ಲ.