تھینکس میں تبدیلیاں کرنا

ہمارے نیو اور مائیکرو رینج کے مصنوعات ہمارے تھینکس ایمبیڈڈ لینکس آپریٹنگ سسٹم کے ساتھ پہلے سے انسٹال آتی ہیں۔
تھینکس اوبنٹو لینکس پر مبنی ہے۔ اس مضمون کے لکھے جانے تک، یہ مائیکرو 5 میں اوبنٹو 20.04.4 LTS اور مائیکرو 6 میں اوبنٹو 22.04.1 پر مبنی ہے۔ تاہم، اوبنٹو اور تھینکس کے درمیان کچھ اہم فرق ہیں۔ ایک یہ کہ ہم اپنے ہارڈویئر کے لیے مخصوص ڈرائیورز شامل کرتے ہیں، جو اوپر والے ریپوزٹریز میں دستیاب نہیں ہوتے۔ ہم سسٹم سروسز بھی شامل کرتے ہیں جو ہارڈویئر کو نقصان سے بچاتی ہیں۔ یہ ان لوگوں کو عجیب لگ سکتا ہے جو BIOS والے PCs استعمال کرنے کے عادی ہیں۔ انٹیل اور AMD کے بنائے ہوئے پروسیسرز عام طور پر خود کو بچانے میں کافی اچھے ہوتے ہیں – وہ اپنی سپیڈ کم کر دیتے ہیں اور کچھ کورز بند کر دیتے ہیں جب وہ زیادہ گرم ہونے کے قریب ہوتے ہیں۔ بدترین صورت میں، وہ BIOS کے ساتھ مل کر کمپیوٹر کو اچانک بند کر دیتے ہیں بجائے اس کے کہ جل جائیں۔ ARM پروسیسرز کے ساتھ ابھی تک اس سطح کی حفاظت دستیاب نہیں ہے۔ ARM سسٹمز کے ساتھ استعمال ہونے والا uboot بوٹ لوڈر، ایک بار کنٹرول لینکس کو منتقل کر دینے کے بعد، میموری میں نہیں رہتا، اور اس طرح پس منظر میں ہارڈویئر اجزاء کو تھرمل یا دیگر نقصان سے بچانے کا کام نہیں کرتا۔
اسی وجہ سے، جب گاہک ہمارے ARM پر مبنی مصنوعات پر تھینکس کو غیر فعال یا تبدیل کرنے کے لیے ہم سے رابطہ کرتے ہیں، تو ہمیں انہیں آگاہ کرنا پڑتا ہے کہ اس سے ان کی ہارڈویئر وارنٹی ختم ہو جائے گی۔ یہ پالیسی ان Android پر مبنی موبائل فون بنانے والوں کی پالیسیوں کے مطابق ہے، جب آپ ان سے بوٹ لوڈرز انلاک کرنے کے لیے رابطہ کرتے ہیں۔ آپ کو سسٹم روٹ پاس ورڈ حاصل کرنے کے لیے ہمیں فون کرنا یا لکھنا ہوگا، اور اگر آپ کا ڈیوائس 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 کلائنٹ، یا ویب براؤزر استعمال کرتے ہیں۔ پہلے سے انسٹال سافٹ ویئر جیسے LibreOffice ان کے لیے کام نمٹانے کے لیے کافی ہیں۔ اب، apt کے ذریعے ان کے کمپیوٹرز کو اپ ڈیٹ کرنے کے بجائے، جو انفرادی پیکجز اپ ڈیٹ کرتا ہے، ہم ان کے پورے روٹ فائل سسٹم کو ایک ہی بار میں اپ گریڈ کر سکتے ہیں، جیسے کوئی بائنری بلاب۔ یہ دوسرے ایمبیڈڈ آپریٹنگ سسٹمز جیسے Android یا iOS کے اپ ڈیٹ کرنے کے طریقے کے مشابہ ہے (سوائے اس کے کہ ان میں ایپس ہوتی ہیں؛ ہمارے پاس نہیں ہیں)۔ یہ ہمیں اپ ڈیٹس کو جاری کرنے سے پہلے اپنے ہارڈویئر پر بہت اچھی طرح ٹیسٹ کرنے کی اجازت دیتا ہے، اور اس بات کو یقینی بناتا ہے کہ اپ ڈیٹ میں تمام تبدیلیاں اور تازہ شدہ ایپلیکیشنز ایک دوسرے کے ساتھ اچھی طرح کام کرتی ہیں۔ ہم صارف کے کمپیوٹرز کو غیر فعال ہونے سے بھی روک سکتے ہیں کیونکہ درمیان میں apt یا dpkg اپ گریڈ رک گیا تھا – ہمارا اپ ڈیٹ سسٹم اچانک پاور آف ہونے کو بہ آسانی ہینڈل کر سکتا ہے۔