थिनक्स में परिवर्तन करना

Image

हमारे नियो और माइक्रो उत्पाद श्रृंखला हमारे थिनक्स एम्बेडेड लिनक्स ऑपरेटिंग सिस्टम के साथ पहले से इंस्टॉल आती हैं।

थिनक्स, उबंटू लिनक्स पर आधारित है। इस लेख के लिखे जाने तक, यह माइक्रो 5 में उबंटू 20.04.4 LTS और माइक्रो 6 में उबंटू 22.04.1 पर आधारित है। हालाँकि, उबंटू और थिनक्स के बीच कुछ महत्वपूर्ण अंतर हैं। एक यह है कि हम अपने हार्डवेयर के लिए विशिष्ट ड्राइवर शामिल करते हैं, जो अपस्ट्रीम रिपॉजिटरीज में उपलब्ध नहीं होते। हम ऐसी सिस्टम सेवाएँ भी शामिल करते हैं जो हार्डवेयर को क्षति से बचाती हैं। BIOS वाले पीसी का उपयोग करने के आदी लोगों को यह अजीब लग सकता है। इंटेल और AMD द्वारा निर्मित प्रोसेसर आमतौर पर स्व-संरक्षण में काफी अच्छे होते हैं – जब वे अधिक गर्म होने के करीब होते हैं तो वे अपनी गति धीमी कर देते हैं और कुछ कोर बंद कर देते हैं। सबसे खराब स्थिति में, वे BIOS के साथ मिलकर काम करते हैं ताकि जलने के बजाय कंप्यूटर को अचानक बंद कर दिया जाए। ARM प्रोसेसर के साथ अभी भी सुरक्षा का यह स्तर उपलब्ध नहीं है। ARM सिस्टम के साथ प्रयुक्त uboot बूटलोडर, एक बार लिनक्स को नियंत्रण सौंप देने के बाद मेमोरी में नहीं रहता, और इस प्रकार हार्डवेयर घटकों को थर्मल या अन्य क्षति से बचाने के लिए पृष्ठभूमि में काम नहीं करता।

इसीलिए, जब ग्राहक हमारे ARM आधारित उत्पादों पर थिनक्स को अक्षम या प्रतिस्थापित करने के लिए हमसे संपर्क करते हैं, तो हमें उन्हें सूचित करना होता है कि इससे उनकी हार्डवेयर वारंटी समाप्त हो जाएगी। यह नीति Android आधारित मोबाइल फोन निर्माताओं की नीति के अनुरूप है, जब आप बूटलोडर अनलॉक करने के लिए उनसे संपर्क करते हैं। सिस्टम रूट पासवर्ड प्राप्त करने के लिए आपको हमें फोन करना या लिखना होगा, और यदि आपका डिवाइस ARM आधारित है, तो आपको पासवर्ड देने से पहले हमें आपके डिवाइस को वारंटी-रहित चिह्नित करना होगा।

थिनक्स और उबंटू के बीच प्राथमिक अंतर यह है कि थिनक्स रूट फाइल सिस्टम केवल-पढ़ने के लिए माउंट किया गया है। इसका मतलब है कि आप OS में परिवर्तन करने के लिए apt और अन्य कमांड का उपयोग नहीं कर सकते। यदि आपके पास रूट पासवर्ड है, तो आप /etc और /var में परिवर्तन कर सकते हैं। यहाँ तक कि जब उपयोगकर्ता के पास रूट पासवर्ड नहीं होता, तब भी रूट विशेषाधिकार के साथ चलने वाली प्रक्रियाएँ /etc और /var में परिवर्तन करती हैं। ये परिवर्तन वास्तव में / पार्टीशन में नहीं, बल्कि /overlay पार्टीशन में संग्रहीत होते हैं। आप kernel.org पर ओवरले फाइलसिस्टम के बारे में और पढ़ सकते हैं।

/ में परिवर्तन करने के लिए, आपको पहले / फाइलसिस्टम को रीड-राइट मोड में रीमाउंट करना होगा। टर्मिनल पर दिए जाने वाले आवश्यक कमांड यहाँ दिए गए हैं:

su - # कृपया रूट पासवर्ड दर्ज करें
umount -l /etc
umount -l /var
mount -o rw,remount /

अब आप / में परिवर्तन कर सकते हैं। आपका काम पूरा होने के बाद, रूट फाइलसिस्टम को वापस rw मोड में लाने के लिए आप सिस्टम को रीबूट कर सकते हैं।

मान लीजिए आप अब थिनक्स की केवल-पढ़ने योग्य रूट सुविधा का उपयोग नहीं करना चाहते। इसे स्थायी रूप से बंद करने के लिए, आपको /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 क्लाइंट, या वेब ब्राउज़र का उपयोग करते हैं। लिब्रेऑफिस जैसे पहले से इंस्टॉल सॉफ़्टवेयर उनके काम पूरा करने के लिए पर्याप्त हैं। अब, apt का उपयोग करके उनके कंप्यूटरों को अपडेट करने के बजाय, जो अलग-अलग पैकेज अपडेट करता है, हम उनके पूरे रूट फाइल सिस्टम को एक ही बार में, एक बाइनरी ब्लॉब की तरह अपग्रेड करने में सक्षम हैं। यह अन्य एम्बेडेड ऑपरेटिंग सिस्टम जैसे Android या iOS के अपडेट करने के तरीके के समान है (सिवाय इसके कि उनमें ऐप्स होते हैं; हमारे पास नहीं)। यह हमें अपने हार्डवेयर पर जारी किए जाने वाले अपडेट का बहुत गहन परीक्षण करने की अनुमति देता है, जारी करने से पहले, और यह सुनिश्चित करता है कि अपडेट में सभी परिवर्तन और ताज़ा किए गए अनुप्रयोग एक-दूसरे के साथ अच्छी तरह काम करते हैं। हम उपयोगकर्ता के कंप्यूटरों को खराब होने से भी रोकने में सक्षम हैं क्योंकि apt या dpkg अपग्रेड बीच में रुक गया था – हमारी अपडेट प्रणाली अचानक बिजली बंद होने को सहजता से संभालने में सक्षम है।