অভ্যন্তরীণ গভীরে ডুব দিন

এটি একটি জটিল প্রক্রিয়া যা আমরা নতুন লিনাক্স ব্যবহারকারীদের জন্য সুপারিশ করি না।

ChromeOS ভার্চুয়াল মেশিনের (VM) ভিতরে যথেচ্ছ কোড চালানো সমর্থন করে। এটি সেই সমর্থনের নিম্ন-স্তরের ডকুমেন্টেশন; আরও ব্যবহার-বান্ধব বিবরণের জন্য, প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (faq) দেখুন।

পূর্বশর্ত

রানটাইম বৈশিষ্ট্য

আপনার লিনাক্স কন্টেইনার চালানোর সময় নিম্নলিখিত বৈশিষ্ট্যগুলি কাজ করবে বলে আশা করা যায়:

অনুপস্থিত বৈশিষ্ট্য

  • ভিডিও হার্ডওয়্যার ডিকোডিং।
  • আইএমই

সামগ্রিক সিস্টেম নিরাপত্তা যাতে বিঘ্নিত না হয়, তা নিশ্চিত করার জন্য ChromeOS টিম নতুন ফিচার চালু করার ক্ষেত্রে একটি সুচিন্তিত পদ্ধতি অবলম্বন করে। ChromeOS ডেভেলপমেন্টে Linux সম্পর্কিত বেশিরভাগ বিষয় নিয়ে আরও বিস্তারিত তথ্যের জন্য Crostini FAQ দেখুন।

নিরাপত্তা

যদিও যথেচ্ছ কোড চালানো সাধারণত একটি নিরাপত্তা ঝুঁকি, ChromeOS টিম মনে করে যে ChromeOS কন্টেইনারে Linux দ্বারা ব্যবহৃত রানটাইম মডেলটি সেই নিরাপত্তা ঝুঁকিকে যথেষ্ট পরিমাণে প্রশমিত ও নিয়ন্ত্রণ করে। ভার্চুয়াল মেশিন (VM) হলো নিরাপত্তার সীমানা, এবং এর ভেতরের সবকিছুকে অবিশ্বস্ত বলে গণ্য করা হয়। কন্টেইনারগুলোর নিরাপত্তা আরও উন্নত করার জন্য বর্তমান VM গেস্ট ইমেজটিতে একটি কাস্টম-হার্ডেনড কার্নেলও চলছে, কিন্তু এটিকে সামগ্রিক সিস্টেম নিরাপত্তা নিশ্চিত করার জন্য নির্ভর না করে বরং একটি বাড়তি সুবিধা হিসেবেই বিবেচনা করা হয়।

এই মডেলে, ক্রোমওএস সিস্টেমের বাকি অংশ ভিএম-এর ভেতরের কন্টেইনারগুলোতে চলমান যথেচ্ছ কোড (ক্ষতিকর বা অনিচ্ছাকৃত) থেকে সুরক্ষিত থাকবে।

বহির্বিশ্বের সাথে যোগাযোগের একমাত্র মাধ্যম হলো crosvm , এবং প্রতিটি চ্যানেল স্বতন্ত্র প্রসেসগুলোর সাথে যোগাযোগ করে (যার প্রতিটিই কঠোরভাবে স্যান্ডবক্স করা থাকে)।

কন্টেইনারে ব্যবহারকারীর ডেটা

ক্লাউড পরিষেবার দিকে ঝুঁকে পড়ার ফলে, বর্তমান নিরাপত্তা ভাবনা এই বিষয়টিকে তুলে ধরে যে, আপনার ডেস্কটপ বা ল্যাপটপে আক্রমণ করার চেয়ে অ্যাকাউন্টের তথ্য (যেমন আপনার গুগল/ফেসবুক পাসওয়ার্ড ) হাতিয়ে নেওয়া একটি বেশি লাভজনক আক্রমণের পথ। তারা ভুল বলছেন না। বর্তমান ভিএম/কন্টেইনার ক্রোমওএস সমাধানটি এই অবস্থার কোনো উন্নতি করে না। সহজ কথায়, বর্তমানে কন্টেইনারে যা কিছু প্রবেশ করানো হয়, তার দায়ভার ব্যবহারকারীর। সুতরাং, আপনি যদি একটি অসুরক্ষিত বা হ্যাক হওয়া কন্টেইনার চালান এবং তারপর সেখানে আপনার পাসওয়ার্ড টাইপ করেন, তবে ক্রোমওএস সিস্টেমের বাকি অংশ সুরক্ষিত থাকা সত্ত্বেও আপনার পাসওয়ার্ড চুরি হয়ে যেতে পারে।

প্রক্রিয়া অধ্যবসায়

ভিএম এবং কন্টেইনারের প্রসেসগুলো লগআউটের পর টিকে থাকে না (যেহেতু সেগুলো ব্যবহারকারীর এনক্রিপ্টেড স্টোরেজে থাকে) এবং স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। ক্রমাগত আক্রমণ এড়ানোর জন্য, এগুলো লগইনের সময় স্বয়ংক্রিয়ভাবে চালুও হয় না, এবং (লগইন সেশন ছাড়া) বুট করার সময়ও স্বয়ংক্রিয়ভাবে চলতে পারে না, কারণ ব্যবহারকারীর এনক্রিপ্টেড স্টোরেজে থাকার কারণে সেগুলো অ্যাক্সেসযোগ্য থাকে না।

নির্বাহযোগ্য এবং লিখনযোগ্য কোড

অন্যান্য ক্রোম কম্পোনেন্টের মতোই টারমিনা ভিএম ডিস্ক ইমেজটি রাইটেবল স্টেটফুল পার্টিশনে ডাউনলোড করা হয়। এর বিষয়বস্তু যাতে পরিবর্তিত না হয়, তা নিশ্চিত করার জন্য ডিএম-ভেরিটি (dm-verity) ব্যবহার করা হয়। এর মানে হলো, শুধুমাত্র গুগল দ্বারা স্বাক্ষরিত ইমেজই লোড করা যাবে এবং ইমেজটি সর্বদা রিড-অনলি থাকবে।

হার্ডওয়্যার আক্রমণ

Meltdown/Spectre দুর্বলতাগুলো VM নিরাপদে ব্যবহারের ক্ষেত্রে প্রভাব ফেলে। আমরা এমন সমাধান ও প্রশমন ব্যবস্থা প্রয়োগ করেছি যাতে VM-গুলো হোস্ট সিস্টেম বা অন্য কোনো VM-কে আক্রমণ করতে না পারে। আরও বিস্তারিত তথ্যের জন্য ChromeOS ডিভাইসের Meltdown এবং Spectre দুর্বলতার অবস্থা সম্পর্কে Chromium OS উইকি পৃষ্ঠাটি দেখুন।

জীবনচক্র

একবার আপনি লিনাক্স কন্টেইনারটি সক্রিয় করে ফেললে (যেটি টার্মিনার মতো অন্যান্য প্রয়োজনীয় উপাদানগুলো ইনস্টল করার দায়িত্ব নেয়), সিস্টেমটি ব্যবহারের জন্য প্রস্তুত হয়ে যায়।

যদিও এই উপাদানগুলো ইনস্টল করা থাকতে পারে, কিন্তু কোনো কিছুই সাথে সাথে চালু হয় না। আপনি লগ আউট করলে সবকিছু বন্ধ হয়ে যায় এবং লগ ইন করলে কিছুই স্বয়ংক্রিয়ভাবে পুনরায় চালু হয় না।

যখন আপনি টার্মিনাল অ্যাপ বা কন্টেইনার চালু করে এমন অন্য কোনো লিনাক্স অ্যাপ চালান এবং এর প্যারেন্ট কন্টেইনারটি তখনও চালু না থাকে, তখন টার্মিনা ভিএম স্বয়ংক্রিয়ভাবে চালু হয়ে যাবে এবং তার ভেতরে ডিফল্ট লিনাক্স অন ক্রোমওএস কন্টেইনারটি (যা ক্রোস্টিনি নামেও পরিচিত) চালু হবে। এর ফলে আপনি ফাইলস অ্যাপের মাধ্যমে SSH বা SFTP ব্যবহার করে কন্টেইনারটির সাথে সংযোগ করতে পারবেন।

আপনি যখন সমস্ত দৃশ্যমান অ্যাপ্লিকেশন বন্ধ করেন, তখন ভিএম/কন্টেইনারগুলো শাটডাউন হয় না। আপনি চাইলে, সেগুলোকে ম্যানুয়ালি স্টপ ও স্টার্ট করতে পারেন, এবং ডিফল্ট কন্টেইনারটি ছাড়াও আরও কন্টেইনার তৈরি করতে পারেন।

ডেটা স্থায়িত্ব

তৈরি করা সমস্ত ভিএম ও কন্টেইনার এবং সেগুলোর ভেতরের ডেটা ব্যবহারকারীর সেশন (লগআউট/লগইন) নির্বিশেষে অক্ষুণ্ণ থাকবে। এগুলো ব্রাউজারের বাকি ডেটার মতোই ব্যবহারকারী-ভিত্তিক একই এনক্রিপ্টেড স্টোরেজে রাখা হয়।

যদি কোনো ভিএম বা কন্টেইনার অপ্রত্যাশিতভাবে (যেমন বিদ্যুৎ চলে গেলে) বন্ধ বা কিল করা হয়, তাহলে ডেটা হারিয়ে যেতে পারে এবং সিস্টেমের অন্য যেকোনো কিছুর মতোই তা পুনরুদ্ধারের প্রয়োজন হবে।

ডিভাইস সমর্থন

যদিও সব ক্রোমবুকে ক্রোমওএস-এ লিনাক্স কাজ করানোর ইচ্ছা আছে, কিন্তু প্রয়োজনীয় কার্নেল এবং হার্ডওয়্যারের বৈশিষ্ট্যগুলো এর প্রয়োগক্ষেত্রকে সীমিত করে দেয়। দলটি সিস্টেমের নিরাপত্তা ও স্থিতিশীলতার উপর মনোযোগ দিয়েছে এবং যেখানে প্রয়োজন সেখানে ফিচারগুলো ব্যাকপোর্ট করেছে। এটি একটি চলমান প্রচেষ্টার ক্ষেত্র।

এখন সমর্থিত

বর্তমানে সমর্থিত ডিভাইসগুলির তালিকার জন্য, অনুগ্রহ করে লিনাক্স সমর্থনকারী ChromeOS সিস্টেমগুলি দেখুন।

হার্ডওয়্যারের প্রয়োজনীয়তা

যদিও বর্তমানে ক্রোমওএস কন্টেইনারে লিনাক্স চালানোর জন্য কোনো ন্যূনতম র‍্যাম, স্টোরেজ বা সিপিইউ স্পিডের প্রয়োজন নেই, তবে এগুলোর প্রত্যেকটি যত বেশি থাকবে, সিস্টেমের পারফরম্যান্সও তত ভালো হবে।

তবে, আপনার এমন একটি সিপিইউ লাগবে যা হার্ডওয়্যার ভার্চুয়ালাইজেশন সমর্থন করে। x86 প্ল্যাটফর্মগুলোতে এর বিভিন্ন নাম রয়েছে। ইন্টেল একে VT-xVMX বলে। এএমডি একে AMD-VSVM বলে।

বেট্রেইল সিস্টেম

ইন্টেলের বে-ট্রেইল (BayTrail) ব্যবহৃত ক্রোমবুকগুলোতে ভিটি-এক্স (VT-x) অন্তর্ভুক্ত থাকে না। যদিও এই সিপিইউতে সাধারণত ভিএমএক্স (VMX) থাকে, ক্রোমবুকের সংস্করণটিতে তা নেই এবং দুর্ভাগ্যবশত, এটি কখনোই সমর্থিত হবে না।

কোনো বোর্ড সমর্থিত কিনা তা জানতে, আমাদের পাবলিক ডিভাইস তালিকার ' Platform কলামে ' BayTrail লিখে অনুসন্ধান করুন।

পুরানো দানা

লিনাক্স ৩.১৪ বা তার পুরোনো সংস্করণ সমর্থন করার কোনো পরিকল্পনা নেই। এগুলোর জন্য নতুন ফিচারগুলোর ব্যাকপোর্ট প্রয়োজন হয়, যা ব্যাপক এবং প্রায়শই অনুপ্রবেশকারী। উদাহরণস্বরূপ:

কোনো বোর্ড সমর্থিত কিনা তা জানতে, আপনি আমাদের পাবলিক ডিভাইস তালিকার Kernel কলামে ৩.১৪-এর কম ভার্সন নম্বর দিয়ে অনুসন্ধান করতে পারেন।

৩২-বিট এআরএম সিপিইউ

৩২-বিট ARM সিপিইউ-এর অধীনে ভার্চুয়াল মেশিন চালু করা কঠিন, অপ্রচলিত এবং এর জন্য ফার্মওয়্যারের সাথে সমন্বয় প্রয়োজন। দুর্ভাগ্যবশত, ChromeOS ফার্মওয়্যার সাধারণত এক্সটেনশনগুলো কনফিগার করে না। ফলে, এই সিস্টেমগুলো সমর্থিত নয়।

কোনো বোর্ড সমর্থিত কিনা তা জানতে, আমাদের পাবলিক ডিভাইস লিস্টের Kernel ABI কলামে arm লিখে সার্চ করতে পারেন।