Thinux میں تبدیلیاں کرنا

![تصویر](/s/image/making-changes-in-thinux/making-changes-in-thinux.webp)

ہماری Neo اور Micro مصنوعات کی رینج ہمارے Thinux ایمبیڈڈ لینکس آپریٹنگ سسٹم کے ساتھ پہلے سے انسٹال شدہ آتی ہیں۔

Thinux Ubuntu لینکس پر مبنی ہے۔ اس تحریر کے وقت، یہ Micro 5 پر Ubuntu 20.04.4 LTS اور Micro 6 پر Ubuntu 22.04.1 پر مبنی ہے۔ تاہم، Thinux کچھ اہم طریقوں سے Ubuntu سے مختلف ہے۔ پہلے، ہم اپنے ہارڈویئر کے لیے مخصوص ڈرائیورز شامل کرتے ہیں جو اپ اسٹریم ریپوزٹریز میں دستیاب نہیں ہیں۔ ہم ایسی سسٹم سروسز بھی شامل کرتے ہیں جو ہارڈویئر کو نقصان سے بچاتی ہیں۔ یہ ان لوگوں کے لیے غیر معمولی لگ سکتا ہے جو BIOS والے PCs کے عادی ہیں۔ Intel اور AMD پروسیسرز میں بلٹ ان تھرمل پروٹیکشن ہوتا ہے: جب وہ زیادہ گرم ہونے کے قریب پہنچتے ہیں تو وہ اپنی کلاک سپیڈ کم کر دیتے ہیں اور کچھ کورز بند کر دیتے ہیں۔ بدترین صورت میں، پروسیسر اور BIOS نقصان سے بچنے کے لیے کمپیوٹر کو اچانک بند کر دیتے ہیں۔ ARM پروسیسرز ابھی تک اس سطح کا تحفظ فراہم نہیں کرتے۔ ARM سسٹمز پر استعمال ہونے والا U-Boot بوٹ لوڈر لینکس کو کنٹرول منتقل کرنے کے بعد میموری میں نہیں رہتا، لہذا یہ پس منظر میں ہارڈویئر اجزاء کو تھرمل یا دیگر نقصان سے محفوظ نہیں رکھتا۔

اسی وجہ سے، جب گاہک ہم سے ہماری ARM-based مصنوعات پر Thinux کو غیر فعال کرنے یا تبدیل کرنے کی درخواست کرتے ہیں، تو ہم انہیں آگاہ کرتے ہیں کہ اس سے ان کی ہارڈویئر وارنٹی ختم ہو جائے گی۔ یہ پالیسی بوٹ لوڈرز کو انلاک کرنے کے لیے اینڈرائیڈ فون مینوفیکچررز کی پالیسی سے ملتی جلتی ہے۔ سسٹم روٹ پاس ورڈ حاصل کرنے کے لیے، آپ کو ہمیں کال کرنا یا لکھنا ہوگا۔ اگر آپ کا ڈیوائس ARM-based ہے، تو ہمیں پاس ورڈ دینے سے پہلے اسے وارنٹی ختم کے طور پر نشان زد کرنا ہوگا۔

Thinux اور Ubuntu کے درمیان بنیادی فرق یہ ہے کہ Thinux اپنے روٹ فائل سسٹم کو صرف پڑھنے کے لیے موڈ میں ماؤنٹ کرتا ہے۔ لہذا آپ OS میں تبدیلیاں کرنے کے لیے apt اور دیگر کمانڈز استعمال نہیں کر سکتے۔ اگر آپ کے پاس روٹ پاس ورڈ ہے، تو آپ /etc اور /var میں تبدیلیاں کر سکتے ہیں۔ روٹ privileges کے ساتھ چلنے والے پروسیسز بھی /etc اور /var میں تبدیلیاں کرتے ہیں، چاہے صارف کے پاس روٹ پاس ورڈ نہ ہو۔ Thinux ان تبدیلیوں کو /overlay پارٹیشن میں محفوظ کرتا ہے، / پارٹیشن میں نہیں۔ آپ kernel.org پر overlay فائل سسٹم کے بارے میں مزید پڑھ سکتے ہیں۔

/ میں تبدیلیاں کرنے کے لیے، آپ کو پہلے / فائل سسٹم کو read-write موڈ میں دوبارہ ماؤنٹ کرنا ہوگا۔ ٹرمینل میں درج ذیل کمانڈز چلائیں:

su - # enter the root password when prompted
umount -l /etc
umount -l /var
mount -o rw,remount /

اب آپ / میں تبدیلیاں کر سکتے ہیں۔ جب آپ مکمل کر لیں، روٹ فائل سسٹم کو read-only (ro) موڈ میں واپس کرنے کے لیے سسٹم کو ری بوٹ کریں۔

اگر آپ Thinux کی read-only روٹ خصوصیت مزید استعمال نہیں کرنا چاہتے، تو آپ /etc/fstab میں درج ذیل تبدیلیاں کر کے اسے مستقل طور پر بند کر سکتے ہیں۔ پہلے، پچھلے کوڈ بلاک میں دکھائے گئے مطابق /etc کو lazily unmount کریں۔ ایک عام /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

ہم درج ذیل وجوہات کی بنا پر read-only روٹ فائل سسٹم استعمال کرتے ہیں۔ ہمارے 99% سے زیادہ گاہکوں کو اپنے کمپیوٹرز پر نیا سافٹ ویئر انسٹال کرنے کی ضرورت نہیں ہوتی۔ وہ اپنے کمپیوٹرز کو thin clients یا cloud computers کے طور پر استعمال کرتے ہیں، اور اپنا زیادہ تر کام RDP کلائنٹ یا ویب براؤزر میں کرتے ہیں۔ پہلے سے انسٹال شدہ سافٹ ویئر، جیسے LibreOffice، ان کے کام کے لیے کافی ہے۔ apt کے ساتھ انفرادی پیکجز اپ ڈیٹ کرنے کے بجائے، ہم پورے روٹ فائل سسٹم کو ایک ساتھ، ایک واحد بائنری امیج کے طور پر اپ گریڈ کرتے ہیں۔ دیگر ایمبیڈڈ آپریٹنگ سسٹمز، جیسے Android اور iOS، بھی اسی طرح اپ ڈیٹ ہوتے ہیں (حالانکہ ان میں ایپس ہوتی ہیں اور Thinux میں نہیں)۔ یہ ہمیں ہر اپ ڈیٹ کو جاری کرنے سے پہلے اپنے ہارڈویئر پر اچھی طرح سے جانچنے، اور اپ ڈیٹ میں تمام تبدیلیوں اور اپ ڈیٹ شدہ ایپلیکیشنز کے ایک ساتھ اچھی طرح کام کرنے کو یقینی بنانے کی اجازت دیتا ہے۔ یہ صارف کے کمپیوٹر کو apt یا dpkg اپ گریڈ میں خلل پڑنے پر ناقابل استعمال ہونے سے بھی روکتا ہے، کیونکہ ہمارا اپ ڈیٹ سسٹم اچانک بجلی بند ہونے کو محفوظ طریقے سے سنبھالتا ہے۔