Parted হল লিনাক্সের জন্য একটি PARTition EDitor যা ডিস্ক পার্টিশন তৈরি, ফরম্যাট, ডিলিট, স্রিংক এবং এক্সটেন্ড করতে ব্যবহৃত হয়। এই টুলটি ব্যবহার করা সহজ এবং সমস্ত Unix/Linux ডিস্ট্রোতে উপলব্ধ। একটি GUI ভার্সনও রয়েছে, Gparted। এই লেখায় আমরা দেখাব কিভাবে CentOS লিনাক্সে parted ব্যবহার করে ডিস্ক পার্টিশন পরিচালনা করবেন (এটি অন্যান্য লিনাক্স ডিস্ট্রিবিউশনে একইভাবে কাজ করে)। Parted হল উইন্ডোজের diskpart টুলের লিনাক্স সমতুল্য।
লিনাক্সে Parted ইনস্টলেশন কীভাবে করবেন?
আপনার লিনাক্স হোস্টের সফটওয়্যার আপডেট করুন এবং আপনার লিনাক্স ডিস্ট্রিবিউশনের প্যাকেজ ম্যানেজার ব্যবহার করে parted প্যাকেজ ইনস্টল করুন। dnf প্যাকেজ ম্যানেজারের সাথে CentOS 8-এ (যা yum-এর প্রতিস্থাপন করেছে), আপনি বেসিক রিপোজিটরি থেকে parted ইনস্টল করতে পারেন:
# dnf update -y
# dnf install parted -y

অথবা Debian/Ubuntu-এ:
# apt-get install parted
টুলের ভার্সন চেক করতে নিচের কমান্ড চালান:
# parted –v
parted (GNU parted) 3.2

Parted ব্যবহার করতে, নিচের কমান্ড লিখুন:
# parted
GNU Parted 3.2 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands.
Parted দিয়ে পার্টিশন টেবিল পরিচালনা
উপলব্ধ ডিস্কের তালিকা প্রদর্শন করুন:
# print
অথবা parted ব্যবহার করে:
$ sudo parted -l

এখানে একটি 21 GB ডিস্ক /dev/vdb আছে যাকে কোনো লেবেল বরাদ্দ করা হয়নি (error /dev/vdb: unrecognized disk label)।
আপনি ডিস্কে একটি msdos পার্টিশন টেবিল (MBR) তৈরি করতে পারেন:
# mklabel msdos
অথবা একটি gpt পার্টিশন টেবিল (GUID পার্টিশন টেবিল যা 2 TB-এর বেশি পার্টিশন সাইজ সাপোর্ট করে):
# mklabel gpt
fdisk-এরINGS तरह, parted-এ পরিবর্তন লিখ করার জন্য কোনো কমান্ড নেই। সব পরিবর্তন তৎক্ষণাৎ প্রয়োগ হয়।
তারপর parted ডিস্কে পার্টিশন টেবিলের ধরন (লেআউট) দেখাবে:
(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags
আপনি দেখতে পাচ্ছেন, ডিস্কে MBR পার্টিশন টেবিল আছে, কিন্তু এখনো কোনো ডিস্ক পার্টিশন তৈরি করা হয়নি।
আপনার সার্ভারে একাধিক ডিস্ক থাকলে, আপনি এই কমান্ড ব্যবহার করে সইচ করতে পারেন:
# select /dev/diskname
Parted দিয়ে নতুন পার্টিশন তৈরি কীভাবে করবেন?
mkpart কমান্ডটি parted-এ নতুন পার্টিশন তৈরি করতে ব্যবহৃত হয়। ইন্টারেক্টিভ মোডে এই কমান্ড চালানোর পর, নতুন পার্টিশনের প্যারামিটার সম্পর্কে প্রশ্ন জিজ্ঞাসা করা হবে।
- Partition type — পার্টিশন টাইপ নির্দিষ্ট করুন (প্রাইমারি বা এক্সটেন্ডেড)
- File system type — ফাইল সিস্টেম সেট করুন। ডিফল্টভাবে ext2 অফার করা হয় (আমরা পরে এটি পরিবর্তন করব);
- Start হল প্রাথমিক পার্টিশন সেক্টর;
- End এটি পার্টিশনের শেষ সেক্টর (মেগাবাইটে)। আমাদের উদাহরণে, আমরা 5,000 লিখেছি, অর্থাৎ 5 GB পার্টিশন তৈরি হবে।
ডিস্কে কতটুকু ফ্রি স্পেস আছে তা দেখতে নিচের কমান্ড ব্যবহার করুন:
(parted) print free
আপনি পুরো ডিস্ক জুড়ে ফয়ল একটি পার্টিশন তৈরি করতে পারেন:
# (parted) mkpart primary 0 0
অথবা যেকোনো পার্টিশন সাইজ নির্দিষ্ট করতে পারেন:
# (parted) mkpart primary 0 1GB
আপনি % এ পার্টিশন সাইজ সেট করতে পারেন এবং একটি লেবেল বরাদ্দ করতে পারেন:
# (parted) mkpart "home part" ext4 2.5GiB 100%
parted থেকে বের হতে এই কমান্ড চালান:
# quit
পার্টিশনটি ext4 ফাইল সিস্টেমে ফরম্যাট করুন:
# mkfs.ext4 /dev/vdb1
mke2fs 1.44.6 (5-Mar-2019) Creating filesystem with 1220352 4k blocks and 305216 inodes Filesystem UUID: 5c9daa97-c0f4-44bc-9cfa-f466ebd8895e Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
পার্টিশনের ফাইল সিস্টেম চেক করুন এবং নিশ্চিত হন যে এটি পরিবর্তন হয়েছে (print কমান্ড ডিস্কের পার্টিশন তালিকা, তাদের নম্বর, টাইপ, সাইজ এবং ফাইল সিস্টেম দেখায়)।

parted শেলে প্রবেশ না করেই আপনি পার্টিশন তৈরি এবং ফরম্যাট করতে পারেন। নিচের one-liner ব্যবহার করুন:
# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1
এই কমান্ড ব্যবহার করে, আমরা vdb ডিস্কে একটি পার্টিশন তৈরি করব এবং সেটিতে সমস্ত ফ্রি স্পেস বরাদ্দ করব।
এভাবে, আপনি আপনার কাজ সহজ করতে পারেন বা ব semelhন কমান্ড ব্যাশ স্ক্রিপ্ট বা কিকস্টার্ট ফাইলে যোগ করতে পারেন।
Parted দিয়ে পার্টিশন রিসাইজ (এক্সটেন্ড বা স্রিংক) কীভাবে করবেন?
পার্টিশন সাইজ এক্সটেন্ড বা স্রিংক করতে, parted-এ resizepart সাবকমান্ড ব্যবহার করা হয়। আপনি ইন্টারেক্টিভলি পার্টিশন রিসাইজ করতে পারেন। parted-এ নিচের কমান্ড চালান:
# resizepart
ext2/3/4 ফাইল সিস্টেমের পার্টিশনগুলো রিসাইজ করার আগে আনমাউন্ট করুন।
টুলটি আপনাকে পার্টিশন নম্বর (print আউটপুট থেকে পেতে পারেন) এবং পার্টিশনের চূড়ান্ত সাইজ লিখতে বলবে। এই উদাহরণে, পার্টিশনের সাইজ 5 GB থেকে 10 GB-এ এক্সটেন্ড করা হবে:
(parted) resizepart Partition number? 1 End? [5000MB]? 10000

প্রথমে পার্টিশন এক্সটেন্ড করুন, তারপর সেটিতে ফাইল সিস্টেম এক্সপ্যান্ড করুন। আপনি যদি পার্টিশন সাইজ স্রিংক করতে চান, তবে প্রথমে ফাইল সিস্টেমের সাইজ কমানো হবে, তারপর পার্টিশন কমানো হবে। অন্যথায়, আপনার ডেটা হারাতে পারেন।
ফাইল সিস্টেমের সাইজ কমানোর জন্য নিচের কমান্ডগুলো ব্যবহার করা হয়। ext2/3/4 ফাইল সিস্টেমের জন্য:
resize2fs /dev/sdab size
Btrfs-এর জন্য:
btrfs filesystem resize /dev/sdab size
আপনি parted-এ পার্টিশন ফ্ল্যাগও পরিবর্তন করতে পারেন। আপনি যে ফ্ল্যাগটি চান সেট করতে পারেন:
- boot
- root
- swap
- hidden
- raid
- lvm
- lba
- legacy_boot
- irst
- esp
- palo
উদাহরণস্বরূপ, পার্টিশনকে বুটেবল হিসেবে মার্ক করা যাক:
# set 1 boot on

Parted দিয়ে পার্টিশন মুছে ফেলা
আপনি যদি ডিস্কে কোনো পার্টিশন মুছে ফেলতে চান, তবে parted-এ rm কমান্ড ব্যবহার করতে পারেন:
# rm 1
এই কমান্ড ১ নম্বর পার্টিশনটি মুছে ফেলবে:
(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdb: 21.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags:
এই কমান্ডের সাথে সাবধান रहুন, কারণ এটি রিমুভাল কনফার্ম করতে বলে না।
Rescue দিয়ে ভুলে মুছে ফেলা ডিস্ক পার্টিশন রিস্টোর কীভাবে করবেন?
আপনি parted-এ উপলব্ধ rescue টুল ব্যবহার করে মুছে ফেলা পার্টিশন রিস্টোর করতে পারেন:
# rescue
এই কমান্ড আপনাকে পার্টিশনের শুরু এবং শেষ সাইজ লিখতে বলবে। যদি এই পজিশনে পার্টিশনের সম্পর্কে কিছু তথ্য থাকে, তবে কমান্ডটি মুছে ফেলা পার্টিশনটি রিস্টোর করার চেষ্টা করবে।

আপনি দেখতে পাচ্ছেন, parted ব্যবহার করা সহজ এবং ডিস্ক পার্টিশন তৈরি/মডিফাই করার জন্য খুব সুবিধাজনক।