থিনাক্সে পরিবর্তন করা

![Image](/s/image/making-changes-in-thinux/making-changes-in-thinux.webp)

আমাদের নিও এবং মাইক্রো রেঞ্জের পণ্যগুলি আমাদের থিনাক্স এমবেডেড লিনাক্স অপারেটিং সিস্টেমের সাথে পূর্ব-ইনস্টল করা আসে।

থিনাক্স উবুন্টু লিনাক্সের উপর ভিত্তি করে তৈরি। লেখার সময়, এটি মাইক্রো ৫-এ উবুন্টু ২০.০৪.৪ এলটিএস এবং মাইক্রো ৬-এ উবুন্টু ২২.০৪.১ এর উপর ভিত্তি করে তৈরি। তবে, থিনাক্স কিছু গুরুত্বপূর্ণ দিক থেকে উবুন্টু থেকে পৃথক। প্রথমত, আমরা আমাদের হার্ডওয়্যারের জন্য নির্দিষ্ট ড্রাইভার অন্তর্ভুক্ত করি যা আপস্ট্রিম রিপোজিটরিতে পাওয়া যায় না। আমরা সিস্টেম পরিষেবাগুলিও অন্তর্ভুক্ত করি যা হার্ডওয়্যারকে ক্ষতি থেকে রক্ষা করে। যারা BIOS সহ পিসিতে অভ্যস্ত তাদের কাছে এটি অস্বাভাবিক মনে হতে পারে। ইন্টেল এবং AMD প্রসেসরগুলিতে অন্তর্নির্মিত তাপ সুরক্ষা রয়েছে: তারা অতিরিক্ত গরম হওয়ার কাছাকাছি এলে তাদের ঘড়ির গতি কমিয়ে দেয় এবং কিছু কোর বন্ধ করে দেয়। সবচেয়ে খারাপ ক্ষেত্রে, প্রসেসর এবং BIOS ক্ষতি প্রতিরোধ করতে কম্পিউটারকে হঠাৎ বন্ধ করে দেয়। ARM প্রসেসরগুলি এখনও এই স্তরের সুরক্ষা প্রদান করে না। ARM সিস্টেমে ব্যবহৃত U-Boot বুটলোডার লিনাক্সে নিয়ন্ত্রণ হস্তান্তরের পরে মেমরিতে থাকে না, তাই এটি পটভূমিতে তাপ বা অন্যান্য ক্ষতি থেকে হার্ডওয়্যার উপাদানগুলিকে রক্ষা করে না।

এই কারণে, যখন গ্রাহকরা আমাদের ARM-ভিত্তিক পণ্যগুলিতে থিনাক্স নিষ্ক্রিয় বা প্রতিস্থাপন করতে বলেন, আমরা তাদের জানাই যে এটি তাদের হার্ডওয়্যার ওয়ারেন্টি বাতিল করবে। এই নীতি বুটলোডার আনলক করার জন্য অ্যান্ড্রয়েড ফোন নির্মাতাদের নীতির類似। সিস্টেম রুট পাসওয়ার্ড পেতে, আপনাকে আমাদের কল বা লিখতে হবে। যদি আপনার ডিভাইস ARM-ভিত্তিক হয়, আমরা আপনাকে পাসওয়ার্ড দেওয়ার আগে এটি ওয়ারেন্টি বাতিল হিসেবে চিহ্নিত করতে হবে।

থিনাক্স এবং উবুন্টুর মধ্যে প্রধান পার্থক্য হল থিনাক্স তার রুট ফাইল সিস্টেম শুধুমাত্র পাঠযোগ্য (read-only) হিসেবে মাউন্ট করে। তাই আপনি OS-এ পরিবর্তন করতে apt এবং অন্যান্য কমান্ড ব্যবহার করতে পারবেন না। যদি আপনার রুট পাসওয়ার্ড থাকে, আপনি /etc এবং /var-এ পরিবর্তন করতে পারেন। রুট বিশেষাধিকার নিয়ে চলমান প্রক্রিয়াগুলিও /etc এবং /var-এ পরিবর্তন করে, এমনকি যখন ব্যবহারকারীর রুট পাসওয়ার্ড না থাকে। থিনাক্স এই পরিবর্তনগুলি /overlay পার্টিশনে সংরক্ষণ করে, / পার্টিশনে নয়। আপনি kernel.org-এ overlay ফাইলসিস্টেম সম্পর্কে আরও পড়তে পারেন।

/ -এ পরিবর্তন করতে, আপনাকে প্রথমে / ফাইলসিস্টেমটি পঠন-লেখন (read-write) মোডে পুনরায় মাউন্ট করতে হবে। একটি টার্মিনালে নিম্নলিখিত কমান্ডগুলি চালান:

su - # enter the root password when prompted
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

আমরা নিম্নলিখিত কারণগুলির জন্য একটি শুধুমাত্র পাঠযোগ্য রুট ফাইলসিস্টেম ব্যবহার করি। আমাদের ৯৯%-এর বেশি গ্রাহকদের তাদের কম্পিউটারে নতুন সফটওয়্যার ইনস্টল করার প্রয়োজন হয় না। তারা তাদের কম্পিউটার থিন ক্লায়েন্ট বা ক্লাউড কম্পিউটার হিসাবে ব্যবহার করে এবং তাদের বেশিরভাগ কাজ RDP ক্লায়েন্ট বা ওয়েব ব্রাউজারে করে। পূর্ব-ইনস্টল করা সফটওয়্যার, যেমন LibreOffice, তাদের কাজের জন্য যথেষ্ট। apt দিয়ে পৃথক প্যাকেজ আপডেট করার পরিবর্তে, আমরা সম্পূর্ণ রুট ফাইল সিস্টেম একবারে, একটি একক বাইনারি ইমেজ হিসাবে আপগ্রেড করি। অন্যান্য এমবেডেড অপারেটিং সিস্টেম, যেমন অ্যান্ড্রয়েড এবং iOS, একইভাবে আপডেট করে (যদিও তাদের অ্যাপ রয়েছে এবং থিনাক্সে নেই)। এটি আমাদের প্রতিটি আপডেট প্রকাশের আগে আমাদের নিজস্ব হার্ডওয়্যারে পুঙ্খানুপুঙ্খভাবে পরীক্ষা করতে দেয় এবং আপডেটের সমস্ত পরিবর্তন এবং আপডেট করা অ্যাপ্লিকেশনগুলি একসাথে ভালভাবে কাজ করে তা নিশ্চিত করতে দেয়। এটি একটি apt বা dpkg আপগ্রেড বাধাগ্রস্ত হলে ব্যবহারকারীর কম্পিউটার অকেজো হওয়াও প্রতিরোধ করে, কারণ আমাদের আপডেট সিস্টেম হঠাৎ পাওয়ার-অফ নিরাপদে পরিচালনা করে।