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