ಥಿನಕ್ಸ್ನಲ್ಲಿ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವುದು

ನಮ್ಮ ನಿಯೋ ಮತ್ತು ಮೈಕ್ರೋ ಶ್ರೇಣಿಯ ಉತ್ಪನ್ನಗಳು ನಮ್ಮ ಥಿನಕ್ಸ್ ಎಂಬೆಡೆಡ್ ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಪೂರ್ವಸ್ಥಾಪಿತವಾಗಿ ಬರುತ್ತವೆ.
ಥಿನಕ್ಸ್ ಉಬುಂಟು ಲಿನಕ್ಸ್ ಆಧಾರಿತವಾಗಿದೆ. ಈ ಲೇಖನ ಬರೆಯುವಾಗ, ಇದು ಮೈಕ್ರೋ 5 ನಲ್ಲಿ ಉಬುಂಟು 20.04.4 LTS ಮತ್ತು ಮೈಕ್ರೋ 6 ನಲ್ಲಿ ಉಬುಂಟು 22.04.1 ಆಧರಿಸಿದೆ. ಆದರೆ, ಉಬುಂಟು ಮತ್ತು ಥಿನಕ್ಸ್ನ ನಡುವೆ ಕೆಲವು ಗಮನಾರ್ಹ ವ್ಯತ್ಯಾಸಗಳಿವೆ. ಒಂದು ಎಂದರೆ ನಾವು ನಮ್ಮ ಹಾರ್ಡ್ವೇರ್ಗೆ ನಿರ್ದಿಷ್ಟವಾದ ಡ್ರೈವರ್ಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ, ಅವು ಮೂಲ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಹಾರ್ಡ್ವೇರ್ ಹಾನಿಯಾಗದಂತೆ ರಕ್ಷಿಸುವ ಸಿಸ್ಟಮ್ ಸೇವೆಗಳನ್ನೂ ನಾವು ಸೇರಿಸುತ್ತೇವೆ. ಬಯೋಸ್ ಹೊಂದಿರುವ ಪಿಸಿಗಳನ್ನು ಬಳಸಲು ಒಗ್ಗಿಕೊಂಡಿರುವ ಜನರಿಗೆ ಇದು ವಿಚಿತ್ರವೆನಿಸಬಹುದು. ಇಂಟೆಲ್ ಮತ್ತು AMD ಉತ್ಪಾದಿಸಿದ ಪ್ರೊಸೆಸರ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವಯಂ-ಸಂರಕ್ಷಣೆಯಲ್ಲಿ ಬಹಳ ಚೆನ್ನಾಗಿವೆ – ಅತಿಯಾದ ಉಷ್ಣಾಂಶ ತಲುಪಿದಾಗ ಅವು ತಮ್ಮ ವೇಗವನ್ನು ಕಡಿಮೆಗೊಳಿಸುತ್ತವೆ ಮತ್ತು ಕೆಲವು ಕೋರ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ. ಕೆಟ್ಟ ಸಂದರ್ಭದಲ್ಲಿ, ಅವು ಬಯೋಸ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ ಸಿಸ್ಟಮ್ ಸುಟ್ಟುಹೋಗದಂತೆ ಹಠಾತ್ನಲ್ಲಿ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಪವರ್ ಆಫ್ ಮಾಡುತ್ತವೆ. ARM ಪ್ರೊಸೆಸರ್ಗಳಲ್ಲಿ ಈ ಮಟ್ಟದ ರಕ್ಷಣೆ ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ. ARM ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಬಳಸುವ ಯುಬೂಟ್ ಬೂಟ್ಲೋಡರ್, ನಿಯಂತ್ರಣವನ್ನು ಲಿನಕ್ಸ್ಗೆ ವರ್ಗಾಯಿಸಿದ ನಂತರ ಮೆಮೊರಿಯಲ್ಲಿ ಉಳಿಯುವುದಿಲ್ಲ, ಹೀಗಾಗಿ ಹಾರ್ಡ್ವೇರ್ ಘಟಕಗಳನ್ನು ಉಷ್ಣ ಅಥವಾ ಇತರ ಹಾನಿಯಿಂದ ರಕ್ಷಿಸಲು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.
ಅದಕ್ಕಾಗಿಯೇ, ಗ್ರಾಹಕರು ನಮ್ಮ ARM ಆಧಾರಿತ ಉತ್ಪನ್ನಗಳಲ್ಲಿ ಥಿನಕ್ಸ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅಥವಾ ಬದಲಾಯಿಸಲು ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿದಾಗ, ಅದು ಅವರ ಹಾರ್ಡ್ವೇರ್ ವಾರಂಟಿಯನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ ಎಂದು ನಾವು ಅವರಿಗೆ ತಿಳಿಸಬೇಕಾಗುತ್ತದೆ. ನೀವು ಬೂಟ್ಲೋಡರ್ಗಳನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ಸಂಪರ್ಕಿಸಿದಾಗ ಆಂಡ್ರಾಯ್ಡ್ ಆಧಾರಿತ ಮೊಬೈಲ್ ಫೋನ್ ತಯಾರಕರು ಇಟ್ಟಿರುವ ನಿಯಮಕ್ಕೆ ಈ ನೀತಿ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಸಿಸ್ಟಮ್ ರೂಟ್ ಪಾಸ್ವರ್ಡ್ ಪಡೆಯಲು ನೀವು ನಮಗೆ ಕರೆ ಮಾಡಬೇಕು ಅಥವಾ ಬರೆಯಬೇಕು, ಮತ್ತು ನಿಮ್ಮ ಸಾಧನ ARM ಆಧಾರಿತವಾಗಿದ್ದರೆ, ನಾವು ನಿಮ್ಮ ಸಾಧನವನ್ನು ವಾರಂಟಿ ರದ್ದಾದಂತೆ ಗುರುತು ಮಾಡಿದ ನಂತರವೇ ನಿಮಗೆ ಪಾಸ್ವರ್ಡ್ ನೀಡಬೇಕು.
ಥಿನಕ್ಸ್ ಮತ್ತು ಉಬುಂಟು ನಡುವಿನ ಪ್ರಾಥಮಿಕ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಥಿನಕ್ಸ್ ರೂಟ್ ಫೈಲ್ ಸಿಸ್ಟಮ್ ರೀಡ್-ಓನ್ಲಿ ಮೋಡ್ನಲ್ಲಿ ಮೌಂಟ್ ಆಗಿರುತ್ತದೆ. ಇದರರ್ಥ ನೀವು OS ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು apt ಮತ್ತು ಇತರ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಬಳಿ ರೂಟ್ ಪಾಸ್ವರ್ಡ್ ಇದ್ದರೆ, ನೀವು /etc ಮತ್ತು /var ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬಹುದು. ಬಳಕೆದಾರರ ಬಳಿ ರೂಟ್ ಪಾಸ್ವರ್ಡ್ ಇಲ್ಲದಿದ್ದರೂ ಸಹ, ರೂಟ್ ಸವಲತ್ತಿನೊಂದಿಗೆ ಚಲಿಸುವ ಪ್ರಕ್ರಿಯೆಗಳು /etc ಮತ್ತು /var ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುತ್ತವೆ. ಈ ಬದಲಾವಣೆಗಳು ನಿಜವಾಗಿ / ಪಾರ್ಟಿಷನ್ನಲ್ಲಿ ಅಲ್ಲ, ಬದಲಾಗಿ /overlay ಪಾರ್ಟಿಷನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗುತ್ತವೆ. overlay ಫೈಲ್ಸಿಸ್ಟಮ್ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು kernel.org ನಲ್ಲಿ ನೀವು ಓದಬಹುದು.
/ ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು, ನೀವು ಮೊದಲು / ಫೈಲ್ಸಿಸ್ಟಮ್ ಅನ್ನು ರೀಡ್-ರೈಟ್ ಮೋಡ್ನಲ್ಲಿ ರೀಮೌಂಟ್ ಮಾಡಬೇಕು. ಟರ್ಮಿನಲ್ನಲ್ಲಿ ನೀವು ನೀಡಬೇಕಾದ ಆಜ್ಞೆಗಳು ಇಲ್ಲಿವೆ:
su - # ದಯವಿಟ್ಟು ರೂಟ್ ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ
umount -l /etc
umount -l /var
mount -o rw,remount /
ಈಗ ನೀವು / ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬಹುದು. ನಿಮ್ಮ ಕೆಲಸ ಮುಗಿದ ನಂತರ, ರೂಟ್ ಫೈಲ್ಸಿಸ್ಟಮ್ ಮತ್ತೆ rw ಮೋಡ್ನಲ್ಲಿ ಬರಲು ನೀವು ಸಿಸ್ಟಮ್ ಅನ್ನು ರೀಬೂಟ್ ಮಾಡಬಹುದು.
ನೀವು ಇನ್ನು ಮುಂದೆ ಥಿನಕ್ಸ್ನ ರೀಡ್-ಓನ್ಲಿ ರೂಟ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲು ಬಯಸುವುದಿಲ್ಲ ಎಂದು ಭಾವಿಸೋಣ. ಅದನ್ನು ಶಾಶ್ವತವಾಗಿ ಆಫ್ ಮಾಡಲು, ನೀವು /etc/fstab ಗೆ ಕೆಲವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಮೊದಲು, ಹಿಂದಿನ ಕೋಡ್ ವಿಭಾಗದಲ್ಲಿ ತೋರಿಸಿದಂತೆ /etc ಅನ್ನು lazy umount ಮಾಡಿ. ನಿಮ್ಮ ಸಾಮಾನ್ಯ /etc/fstab ಫೈಲ್ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
proc /proc proc defaults 0 0
LABEL=thinux / ext4 defaults,ro,noatime 0 1
LABEL=data /overlay data defaults,noatime 0 2
mount_over /etc over defaults,x-systemd.requires-mounts-for=/overlay 0 0
mount_over /var over defaults,x-systemd.requires-mounts-for=/overlay 0 0
mount_over /home over defaults,x-systemd.requires-mounts-for=/overlay 0 0
mount_over /tmp over defaults,x-systemd.requires-mounts-for=/overlay 0 0
/overlay/swapfile swap swap pri=-1,x-systemd.requires-mounts-for=/overlay 0 0
ಅದನ್ನು ಈ ರೀತಿ ಕಾಣುವಂತೆ ಬದಲಾಯಿಸಿ:
proc /proc proc defaults 0 0
LABEL=thinux / ext4 defaults,rw,noatime 0 1
LABEL=data /overlay data defaults,noatime 0 2
#mount_over /etc over defaults,x-systemd.requires-mounts-for=/overlay 0 0
#mount_over /var over defaults,x-systemd.requires-mounts-for=/overlay 0 0
mount_over /home over defaults,x-systemd.requires-mounts-for=/overlay 0 0
mount_over /tmp over defaults,x-systemd.requires-mounts-for=/overlay 0 0
/overlay/swapfile swap swap pri=-1,x-systemd.requires-mounts-for=/overlay 0 0
ಹಾಗಾದರೆ ನಾವು ರೀಡ್ ಓನ್ಲಿ ರೂಟ್ ಫೈಲ್ಸಿಸ್ಟಮ್ ಅನ್ನು ಏಕೆ ಬಳಸುತ್ತೇವೆ? ನಮ್ಮ 99% ಗಿಂತ ಹೆಚ್ಚಿನ ಗ್ರಾಹಕರು ತಮ್ಮ ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಹೊಸ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ. ಅವರು ತಮ್ಮ ಕಂಪ್ಯೂಟರ್ಗಳನ್ನು ಥಿನ್ ಕ್ಲೈಂಟ್ಗಳು ಅಥವಾ ಕ್ಲೌಡ್ ಕಂಪ್ಯೂಟರ್ಗಳಾಗಿ ಬಳಸುತ್ತಾರೆ – ಅಂದರೆ ಅವರು ತಮ್ಮ ಕೆಲಸ ಮಾಡಲು ಹೆಚ್ಚಾಗಿ RDP ಕ್ಲೈಂಟ್ ಅಥವಾ ವೆಬ್ ಬ್ರೌಸರ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ. ಲಿಬ್ರೆಆಫೀಸ್ ನಂತಹ ಪೂರ್ವಸ್ಥಾಪಿತ ಸಾಫ್ಟ್ವೇರ್ ಅವರ ಕೆಲಸ ಮುಗಿಸಲು ಸಾಕಾಗುತ್ತದೆ. ಈಗ, apt ಬಳಸಿ ಪ್ರತ್ಯೇಕ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡುವ ಬದಲು, ನಾವು ಅವರ ಸಂಪೂರ್ಣ ರೂಟ್ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಒಂದೇ ಸಮಯದಲ್ಲಿ, ಬೈನರಿ ಬ್ಲಾಬ್ನಂತೆ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇದು ಆಂಡ್ರಾಯ್ಡ್ ಅಥವಾ iOS ನಂತಹ ಇತರ ಎಂಬೆಡೆಡ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳು ಅಪ್ಡೇಟ್ ಆಗುವ ರೀತಿಯನ್ನು ಹೋಲುತ್ತದೆ (ಅವುಗಳಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ಗಳಿವೆ; ನಮ್ಮಲ್ಲಿಲ್ಲ ಎಂಬುದನ್ನು ಬಿಟ್ಟರೆ). ಇದು ನಮಗೆ ಬಿಡುಗಡೆ ಮಾಡುವ ಮೊದಲು, ನಮ್ಮ ಸ್ವಂತ ಹಾರ್ಡ್ವೇರ್ನಲ್ಲಿ ನಾವು ಬಿಡುಗಡೆ ಮಾಡುವ ಅಪ್ಡೇಟ್ಗಳನ್ನು ಬಹಳ ಸಂಪೂರ್ಣವಾಗಿ ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಅಪ್ಡೇಟ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳು ಮತ್ತು ರಿಫ್ರೆಶ್ ಆದ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಪರಸ್ಪರ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. apt ಅಥವಾ dpkg ಅಪ್ಗ್ರೇಡ್ ಮಧ್ಯದಲ್ಲಿ ಅಡ್ಡಿಯಾದ ಕಾರಣ ಬಳಕೆದಾರರ ಕಂಪ್ಯೂಟರ್ಗಳು ಕೆಲಸ ಮಾಡದಂತಾಗುವುದನ್ನು ತಡೆಯಲು ಸಹ ನಮಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ – ನಮ್ಮ ಅಪ್ಡೇಟ್ ಸಿಸ್ಟಮ್ ಹಠಾತ್ ಪವರ್ ಆಫ್ಗಳನ್ನು ಸುಗಮವಾಗಿ ನಿಭಾಯಿಸಲು ಸಮರ್ಥವಾಗಿದೆ.