লিনাক্সে কখনো কখনো ডিস্ক ও/অথবা পার্টিশন সাথে সরাসরি কমান্ড লাইন থেকে কাজ করতে হয়। অধিকাংশ সময় আপনি ফাইলসিস্টেমের ওপর অ্যাকশন নেওয়া চান, কিন্তু সেটি করা হয় সেগুলো যেখানে স্টোরড সেই পার্টিশন সপেসিফাই করে। কমান্ড লাইনে এইগুলোকে ডিভাইস নাম দিয়ে রেফার করা হয় (যেমন /dev/sda3)।
অনেক ডিস্ক, পার্টিশন, আপটিক্যাল ড্রাইভ, USB ড্রাইভ থাকলে প্রতিটির আসাইন করা ডিভাইস নাম চিনতে কষ্ট হয়।
lsblk কমান্ড কী করে?
lsblk স্টোরেজ ডিভাইসের ইনফরমেশন দেখায়। এই ইউটিলিটি সবচেয়ে বেশি ব্যবহার হয় পরবর্তী কমান্ডে পাস করার জন্য সঠিক ডিভাইস নাম চিনতে।
lsblk
অধিকাংশ সময় কোনো এডিশনাল প্যারামিটার ছাড়া lsblk চালালেই চাইয়া ডিস্ক বা পার্টিশন চেনা যায়। উপরের ছবি থেকে আমি বলতে পারি sda4 একটি উইন্ডোজ পার্টিশন, কারণ আমি জানি এর সাইজ প্রায় ২০০GB। কিন্তু একই সাইজের দুই বা একাধিক পার্টিশন থাকলে কনফিউশন হয়। আবার আপনি কোনো নির্দিষ্ট ডিস্ক বা পার্টিশনের সাইজ জানতে বা মনে রাখতে পারেন না।
লিনাক্সে ডিভাইস নাম গুলো কনফিউজ করা বিপজ্জনক, কারণ ভুল কমান্ড দিয়ে গুরুত্বপূর্ণ ডেটা নষ্ট বা করাপ্ট হতে পারে।
উপযোগী lsblk প্যারামিটারগুলো
ডিফল্টভাবে lsblk কয়েকটি প্রপার্টি দেখায়। কিন্তু প্যারামিটার যোগ করলে আরও ডিভাইস প্রপার্টি আউটপুট করা যায়, যা ডিস্ক বা পার্টিশন চেনাকে অনেক সহজ করে দেয়।
SSD নাকি হার্ড-ডিস্ক (HDD) চিনুন
lsblk কি এক্সট্রা কলাম দেখাতে পারে সেটি জানতে:
lsblk --help
এই সিনেরিওতে ROTA এবং DISC-GRAN ব্যবহার করব। ROTA বলে দেয় ব্লক ডিভাইসটি কি রোটেশনাল স্টোরেজ ডিভাইসের অন্তর্গত। হার্ড ডিস্ক রোটেশনাল, তাই তাদের পাশে কলামে 1 আউটপুট হবে (বাইনারি লজিক্যাল ভ্যালু মানে "true")। DISC-GRAN ডিসকার্ড গ্র্যানুলারিটি দেখায়। SSD ডিসকার্ড সাপোর্ট করে আনইউজড ডেটা ব্লক ফ্রি আপ করতে। হার্ড ডিস্ক এটি সাপোর্ট করে না (দরকার নেই), তাই তাদের জন্য এই কলামে শূন্য ভ্যালু দেখাবে (0B, মানে ডিসকার্ড গ্র্যানুলারিটি শূন্য বাইট)।
lsblk -o +ROTA,DISC-GRAN
ডিস্ক/পার্টিশনে স্টোরড ফাইলসিস্টেম দেখুন
পার্টিশন লিস্ট দেখে সাইজ অনুমান করে বুঝতে পারেন প্রতিটি কী স্টোর করছে। সেটি যথেষ্ট না হলে lsblk-কে ফাইলসিস্টেমও আউটপুট করতে বলুন। এতে পার্টিশন চেনা অনেক সহজ হয় কারণ:
- উইন্ডোজ NTFS ফাইলসিস্টেম ব্যবহার করে
- লিনাক্স সাধারণত ext4 ব্যবহার করে
- USB ডিভাইস FAT, FAT32 (vfat) বা NTFS ব্যবহার করে
- EFI বুট পার্টিশন সাধারণত খুব ছোট এবং vfat ফাইলসিস্টেম দেখায়
LABEL আউটপুট কলামও যোগ করুন, পার্টিশন তৈরি/ফরম্যাট সময় লেবেল থাকলে সাহায্য করে।
lsblk -o +FSTYPE,LABEL
রিমিউভেবল ডিভাইস/USB মেমরি স্টিক দেখুন
lsblk -o +RM
এক্সট্রা কলাম দেখাবে ডিভাইসটি রিমিউভেবল কিনা। 1 ভ্যালু মানে "true", ইঙ্গিত USB স্টিক বা অন্য রিমিউভেবল মিডিয়া।
HDD/SSD মডেল দেখুন
স্টোরেজ ডিভাইসের একজাক্ট মডেল কোড লুকআপ করতে কাজে আসে (ফার্মওয়্যার আপগ্রেড বা ড্রাইভার ডাউনলোডের জন্য)।
lsblk -d -o +MODEL
ফাইলসিস্টেম UUID (Universally Unique Identifier) দেখুন
পুরানো লিনাক্স ডিস্ট্রো /etc/fstab-এ ডিভাইস নাম দিয়ে ফাইলসিস্টেম মাউন্ট করত। কিন্তু এটি অনরিলায়েবল, কারণ /dev/sda2 অন্য স্টোরেজ ডিভাইস যোগ করলে /dev/sdb2 হতে পারে। আজকাল UUID ব্যবহার হয়, যা কনস্ট্যান্ট থাকে আপনি যা অ্যাড/রিমুভ করুন। যেকোনো কারণে UUID দরকার হলে:
lsblk -o +UUID
আপনার প্রয়োজনীয় অন্যান্য lsblk কলাম দেখুন
টিউটোরিয়ালের শুরুতে আপনি lsblk --help দিয়ে এক্সট্রা কলামগুলো দেখেছেন। এই উদাহরণগুলো যদি পর্যাপ্ত না হয়, তবে আবার হেল্প ইনফো দেখে প্যারামিটার কম্বাইন করুন। সেটি করতে lsblk -o + লিখে আপনার চাওয়া কলাম নেমগুলো কমা (,) দিয়ে আলাদা করুন। উদাহরণ:
lsblk -o +SCHED,RM,FSTYPE
উপসংহার
আপনি যে ডিভাইস নামটি চিহ্নিত করেছেন, পরবর্তী কমান্ডে সেটি ফুল ডিভাইস পাথ দিয়ে রিপ্লেস করুন। উদাহরণ: lsblk-এ sda4 পেলে পরবর্তী কমান্ডে /dev/sda4 লিখুন। অর্থাৎ mkfs -t ext4 /dev/sda4 এর মতো।