थिनक्स में परिवर्तन करना
हमारे नियो और माइक्रो उत्पाद श्रृंखलाएँ हमारे थिनक्स एम्बेडेड लिनक्स ऑपरेटिंग सिस्टम के साथ पूर्व-स्थापित आती हैं।
थिनक्स उबंटू लिनक्स पर आधारित है। लेखन के समय, यह माइक्रो 5 पर उबंटू 20.04.4 LTS और माइक्रो 6 पर उबंटू 22.04.1 पर आधारित है। हालाँकि, थिनक्स कुछ महत्वपूर्ण तरीकों से उबंटू से भिन्न है। सबसे पहले, हम अपने हार्डवेयर के लिए विशिष्ट ड्राइवर शामिल करते हैं जो अपस्ट्रीम रिपॉजिटरी में उपलब्ध नहीं हैं। हम सिस्टम सेवाएँ भी शामिल करते हैं जो हार्डवेयर को क्षति से बचाती हैं। यह उन लोगों के लिए असामान्य लग सकता है जो BIOS वाले पीसी के आदी हैं। इंटेल और AMD प्रोसेसर में अंतर्निहित थर्मल सुरक्षा होती है: वे अपनी क्लॉक गति कम कर देते हैं और अत्यधिक गर्म होने पर कुछ कोर बंद कर देते हैं। सबसे खराब स्थिति में, प्रोसेसर और BIOS क्षति को रोकने के लिए कंप्यूटर को अचानक बंद कर देते हैं। ARM प्रोसेसर अभी तक इस स्तर की सुरक्षा प्रदान नहीं करते हैं। ARM सिस्टम पर उपयोग किया जाने वाला U-Boot बूटलोडर लिनक्स को नियंत्रण हस्तांतरित करने के बाद मेमोरी में नहीं रहता है, इसलिए यह पृष्ठभूमि में थर्मल या अन्य क्षति से हार्डवेयर घटकों की रक्षा नहीं करता है।
इस कारण से, जब ग्राहक हमसे हमारे ARM-आधारित उत्पादों पर थिनक्स को अक्षम या प्रतिस्थापित करने के लिए कहते हैं, तो हम उन्हें सूचित करते हैं कि इससे उनकी हार्डवेयर वारंटी रद्द हो जाएगी। यह नीति बूटलोडर अनलॉक करने के लिए Android फोन निर्माताओं की नीति के समान है। सिस्टम रूट पासवर्ड प्राप्त करने के लिए, आपको हमें कॉल या लिखना होगा। यदि आपका डिवाइस ARM-आधारित है, तो हमें आपको पासवर्ड देने से पहले इसे वारंटी रद्द के रूप में चिह्नित करना होगा।
थिनक्स और उबंटू के बीच मुख्य अंतर यह है कि थिनक्स अपने रूट फ़ाइल सिस्टम को केवल-पढ़ने के लिए माउंट करता है। इसलिए आप OS में परिवर्तन करने के लिए apt और अन्य कमांड का उपयोग नहीं कर सकते। यदि आपके पास रूट पासवर्ड है, तो आप /etc और /var में परिवर्तन कर सकते हैं। रूट विशेषाधिकारों के साथ चलने वाली प्रक्रियाएँ भी /etc और /var में परिवर्तन करती हैं, भले ही उपयोगकर्ता के पास रूट पासवर्ड न हो। थिनक्स इन परिवर्तनों को /overlay विभाजन में संग्रहीत करता है, / विभाजन में नहीं। आप kernel.org पर overlay फ़ाइल सिस्टम के बारे में अधिक पढ़ सकते हैं।
/ में परिवर्तन करने के लिए, आपको पहले / फ़ाइल सिस्टम को पढ़ने-लिखने मोड में रीमाउंट करना होगा। टर्मिनल में निम्नलिखित कमांड चलाएँ:
su - # संकेत मिलने पर रूट पासवर्ड दर्ज करें
umount -l /etc
umount -l /var
mount -o rw,remount /
अब आप / में परिवर्तन कर सकते हैं। समाप्त होने पर, रूट फ़ाइल सिस्टम को केवल-पढ़ने (ro) मोड में वापस करने के लिए सिस्टम को रीबूट करें।
यदि आप अब थिनक्स की केवल-पढ़ने वाली रूट सुविधा का उपयोग नहीं करना चाहते हैं, तो आप /etc/fstab में निम्नलिखित परिवर्तन करके इसे स्थायी रूप से बंद कर सकते हैं। सबसे पहले, पिछले कोड ब्लॉक में दिखाए अनुसार /etc को लेज़ी अनमाउंट करें। एक विशिष्ट /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 क्लाइंट या वेब ब्राउज़र में करते हैं। पूर्व-स्थापित सॉफ़्टवेयर, जैसे LibreOffice, उनके काम के लिए पर्याप्त है। apt के साथ अलग-अलग पैकेज अपडेट करने के बजाय, हम पूरे रूट फ़ाइल सिस्टम को एक साथ, एक एकल बाइनरी इमेज के रूप में अपग्रेड करते हैं। अन्य एम्बेडेड ऑपरेटिंग सिस्टम, जैसे Android और iOS, भी इसी तरह अपडेट होते हैं (हालाँकि उनमें ऐप्स होते हैं और थिनक्स में नहीं)। यह हमें रिलीज़ करने से पहले अपने स्वयं के हार्डवेयर पर प्रत्येक अपडेट का पूरी तरह से परीक्षण करने और यह सुनिश्चित करने की अनुमति देता है कि अपडेट में सभी परिवर्तन और अपडेट किए गए एप्लिकेशन एक साथ अच्छी तरह से काम करते हैं। यह उपयोगकर्ता के कंप्यूटर को अनुपयोगी होने से भी रोकता है जब कोई apt या dpkg अपग्रेड बाधित होता है, क्योंकि हमारा अपडेट सिस्टम अचानक बिजली बंद होने को सुरक्षित रूप से संभालता है।