Perintah gpart Untuk Mengelola Partisi Disk di FreeBSD - Part 1
Seperti tak ada kata berhenti, FreeBSD terus memperbarui sistemnya. Beberapa baris perintah yang sudah tak layak dengan kondisi saat ini diganti dengan perintah terbaru yang lebih baik. Seperti perintah bsdlabel and fdisk, saat ini sudah tak dapat digunakan lagi. Bahkan pengembang FreeBSD sudah melupakan kedua perintah tersebut.
Sebagai gantinya, FreeBSD menetapkan perintah gpart sebagai perintah defaul untuk mengelola dan mengatur Disk. Perintah ini begitu luar biasa mampu mengelola partisi pada Hard Disk terbaru dengan ukuran mencapai tera byte. Faktanya gpart mampu membuat, modifikasi dan penghapusan partisi dengan sanat efektif dan cepat.
Pada artikel ini menyediakan panduan lengkap tentang cara menggunakan perintah gpart untuk mengelola partisi di FreeBSD, yang mencakup fitur, perintah, dan contoh praktisnya.
A. Tentang Perintah gpart
Sebelum anda mmepelajari gpart, ada baiknya mengenal apa itu gpart. gpart GEOM Partitioning adalah baris perintah shell yang tertanam di FreeBSD untuk mengelola atau memulihkan tabel partisi disk, terutama jika tabel partisi utama telah rusak atau hilang. Perintah gpart bekerja dengan membaca sektor demi sektor disk dan menggunakan berbagai modul pengenalan sistem berkas untuk mengidentifikasi batas dan jenis partisi yang potensial.
Utilitas ini mendukung berbagai skema partisi, termasuk GPT (GUID Partition Table), MBR (Master Boot Record), dan label BSD. Pada dasarnya, gpart membantu memulihkan informasi partisi yang hilang atau rusak, sehingga memungkinkan pengguna untuk mengakses data atau membuat ulang partisi.
gpart memiliki fitur utama yang dapat anda nikmati, diantaranya adalah:
- Dukungan untuk Beberapa Skema Pemartisian: gpart mendukung label GPT, MBR, dan BSD, sehingga serbaguna untuk berbagai kasus penggunaan.
- Manajemen Partisi: Membuat, menghapus, mengubah ukuran, dan memodifikasi partisi dengan mudah.
- Manajemen Atribut: Mengatur dan memodifikasi atribut partisi, seperti tanda yang dapat di-boot dan jenis partisi.
- Manajemen Kode Booting: Menginstal dan mengelola kode booting untuk berbagai arsitektur.
- Kemampuan Skrip: Perintah gpart dapat ditulis dalam skrip, sehingga cocok untuk tugas otomatis.
Dalam penggunaannya gpart sangat fleksibel dan memungkinkan pengguna untuk membuat, mengubah, dan menghapus partisi, serta mengelola atribut partisi dan kode boot dengan sangat mudahnya. gpart mampu memindai sektor demi sektor disk, mencari pola dan tanda tangan yang menunjukkan awal dari berbagai sistem berkas atau jenis partisi, karena gpart sengaja dirancang untuk memulihkan informasi partisi saat tabel partisi primer (terletak di sektor 0 disk) rusak atau hilang.
B. Perintah Dasar gpart (flags)
gpart memiliki banyak sekali opsi yang dapat anda gunakan. Semua opsi tersebut harus anda gunakan secara tepat, sesuia dengan fungsi opsi tersebut. Tiap opsi yang dimiliki gpart beda, antara opsi yang satu dengan yang lainnya. Bahkan ada juga opsi yang dapat digabungkan.
Anda dapat melihat semua daftar perintah gpart berikut dengan opsi yang dimilikinya dengan mengetikkan perintah gpart -h, seperti contoh berikut.
root@ns4:~ # gpart help
usage: gpart add -t type [-a alignment] [-b start] [-s size] [-i index] [-l label] [-f flags] geom
gpart backup geom
gpart bootcode [-N] [-b bootcode] [-p partcode -i index] [-f flags] geom
gpart commit geom
gpart create -s scheme [-n entries] [-f flags] provider
gpart delete -i index [-f flags] geom
gpart destroy [-F] [-f flags] geom
gpart modify -i index [-l label] [-t type] [-f flags] geom
gpart set -a attrib [-i index] [-f flags] geom
gpart show [-l | -r] [-p] [geom ...]
gpart undo geom
gpart unset -a attrib [-i index] [-f flags] geom
gpart resize -i index [-a alignment] [-s size] [-f flags] geom
gpart restore [-lF] [-f flags] provider [...]
gpart recover [-f flags] geom
gpart help
gpart list [-a] [name ...]
gpart status [-ags] [name ...]
gpart load [-v]
gpart unload [-v]
root@ns4:~ #
Dari tampilan perintah di atas, seharusnya anda sudah bisa memahami cara menggunakan gpart berikut opsi yang dimilikinya. Meskipun demikian, kami akan berikan penjelasan yang lebih jelas cara menggunakan perintah gpart.
Untuk mendapatkan informasi yang lengkap lagi tentang cara menggunakan gpart, jalankan perintah di bawah ini.
root@ns4:~ # man gpart
C. Cara Menggunakan Perintah gpart
setelah anda mengetahu apa itu gpart, fungsi dan beragam firutnya, pada bagian ini akan kami contohkan cara menggunakan tiap perintah yang dimiliki gpart. Pada artikel ini kami menggunakan media Flashdisk untuk mempraktekkan penggunaan gpart. Meskipun demikian, tiap perintah yang kami berikan dapat juga dijalankan di Hard disk, anda hanya mengganti nama disk-nya saja, misalnya da0 untuk Flashdisk jika anda menggunakan hard disk ganti da0 dengan ada0.
Sebelum anda menggunakan perintah gpart pastikan ada berapa jumlah disk yang dimiliki komputer server FreeBSD anda. Jalankan perintah berikut untuk melihat jumlah disk di sistem FreeBSD.
root@ns4:~ # camcontrol devlist
<WDC WD2500AAKX-753CA1 19.01H19> at scbus1 target 0 lun 0 (pass0,ada0)
<JetFlash Transcend 16GB 1100> at scbus3 target 0 lun 0 (da0,pass1)
root@ns4:~ #
Pada perintah di atas menjelaskan, pada komputer anda hanya terpasang 2 disk.
- Hard Disk merk WDC (western digital) dengan label ada0, dan
- Falshdisk merk Transcend dengan label da0
Pada artikel ini kita hanya menggunakan da0 sebagai prakteknya. Jika anda ingin melihat hak kepemilikan dan izin file pada Flashdisk da0, gunakan perintah ps.
root@ns4:~ # ls -l /dev/da0
crw-r----- 1 root operator 0x80 May 10 12:18 /dev/da0
a. Menampilkan Informasi Partisi - gpart show
Untuk melihat partisi apa yang digunakan oleh flashdisk gunakan perintah gpart show. Perintah ini digunakan untuk menampilkan informasi partisi saat ini untuk geom yang ditentukan, atau semua geom jika tidak ada yang ditentukan.
a.1. Menampilkan Semua Partisi
Jika anda ingin melihat semua disk yang terpasang di komputer FreeBSD, jalankan perintah berikut.
root@ns4:~ # gpart show
=> 40 488397088 ada0 GPT (233G)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 4194304 2 freebsd-swap (2.0G)
4196352 484200448 3 freebsd-zfs (231G)
488396800 328 - free - (164K)
=> 64 30834561 da0 GPT (15G)
64 2374232 1 ms-basic-data (1.1G)
2374296 8496 2 efi (4.1M)
2382792 600 3 ms-basic-data (300K)
2383392 480 - free - (240K)
2383872 28448768 4 linux-data (14G)
30832640 1985 - free - (993K)
=> 64 30834561 iso9660/Runtu_LITE_24.04x64 GPT (15G)
64 2374232 1 ms-basic-data (1.1G)
2374296 8496 2 efi (4.1M)
2382792 600 3 ms-basic-data (300K)
2383392 480 - free - (240K)
2383872 28448768 4 linux-data (14G)
30832640 1985 - free - (993K)
root@ns4:~ #
a.2. Menampilkan Satu Disk (Partisi)
Perintah di bawah ini akan menampilkan informasi yang lebih spesifik dari disk yang sedang aktif.
root@ns4:~ # gpart show da0
=> 64 30834561 da0 GPT (15G)
64 2374232 1 ms-basic-data (1.1G)
2374296 8496 2 efi (4.1M)
2382792 600 3 ms-basic-data (300K)
2383392 480 - free - (240K)
2383872 28448768 4 linux-data (14G)
30832640 1985 - free - (993K)
root@ns4:~ #
Perintah di atas menampilkan output default mencakup blok awal logis dari setiap partisi, ukuran partisi dalam blok, nomor indeks partisi, jenis partisi, dan ukuran partisi yang dapat dibaca manusia. Ukuran dan lokasi blok didasarkan pada Sectorsize perangkat seperti yang ditunjukkan oleh gpart list.
a.3. Opsi gpart show
Perintah gpart show memiliki beberapa opsi diantaranya adalah:
- -l : Untuk skema partisi yang mendukung label partisi, cetak label tersebut sebagai ganti tipe partisi.
- -p : Menampilkan nama penyedia sebagai ganti indeks partisi.
- -r : Menampilkan tipe partisi mentah sebagai ganti nama simbolis.
Contoh penggunaan opsi tersebut seperti contoh di bawah ini.
root@ns4:~ # gpart show -l
root@ns4:~ # gpart show -l da0
root@ns4:~ # gpart show -p ada0
root@ns4:~ # gpart show -r da0
b. Membuat Skema Partisi - gpart create
Perintah gpart create digunaakn untuk membuat skema partisi baru pada Flashdisk atau Hard disk. Skema yang akan digunakan harus ditentukan dengan opsi skema -s. Jadi sebelum anda menjalankan perintah gpart add. Perintah gpart create harus anda jalankan terlebih dahulu (jangan dibalik perintahnya).
Sebagai contoh, anda ingin membuat partisi baru yaitu GPT pada Flashdisk da0. Perintah gpart create akan menginisialisasi da0 dengan skema partisi GPT.
root@ns4:~ # gpart create -s gpt /dev/da0
da0 created
Jika anda mau, dapat mengganti GPT dengan MBR atau BSD jika Anda lebih suka skema tersebut.
root@ns4:~ # gpart create -s bsd da0
root@ns4:~ # gpart create -s mbr da0
Setelah anda selesai menjalankan perintah di atas, lanjutkan dengan perintah gpart add.
c. Menambahkan Partisi Baru - gpart add
Setelah skema partisi dibuat, Anda dapat menambahkan partisi baru ke Falshdisk. Tipe partisi harus ditentukan dengan opsi -t. Lokasi, ukuran, dan atribut partisi lainnya akan dihitung secara otomatis jika opsi terkait tidak ditentukan.
Contoh perintah di bawah ini akan menambahkan partisi 10 GB ke Flashdisk (da0), perhatikan penulisan perintahnya.
root@ns4:~ # gpart add -t freebsd-ufs -s 10G da0
da0p1 added
Marki kita lihat hasil dari perintah di atas.
root@ns4:~ # gpart show da0
=> 40 30834608 da0 GPT (15G)
40 20971520 1 freebsd-ufs (10G)
20971560 9863088 - free - (4.7G)
Pada perintah di atas dapat kita lihat, partisi 10 GB dengan tipe freebsd-ufs (digunakan untuk sistem file UFS) telah ditambahkan ke da0. Anda dapat menentukan tipe partisi yang berbeda, seperti freebsd-zfs untuk ZFS atau linux-data untuk partisi Linux.
Jika anda bekerja dengan Hard disk yang ukurannya lebih besar dari Flashdisk. Apakah dengan gpart dapat membuat banyak partisi. gpart memiliki banyak keunggulan, mampu membuat banyak partisi dalam satu disk.
Pada contoh di bawah ini, kita akan membuat dua partisi pada Flashdisk berukuran 16 GB. Kita akan membuat partisi pertama tanpa menentukan LBA awal, tetapi dengan ukuran 1 GB (2097152 blok). Pada partisi kedua tanpa menentukan LBA awal dan tanpa menentukan ukurannya. Dengan cara ini partisi akan dibuat di semua ruang kosong.
root@ns4:~ # gpart add -t freebsd-swap -s 2097152 /dev/da0
da0p1 added
root@ns4:~ # gpart add -t freebsd-ufs /dev/da0
da0p2 added
root@ns4:~ # gpart show da0
=> 40 30834608 da0 GPT (15G)
40 2097152 1 freebsd-swap (1.0G)
2097192 28737456 2 freebsd-ufs (14G)
root@ns4:~ #
Keterangan dari perintah di atas adalah:
- Perintah pertama digunakan untuk membuat file swap berukuran 1 GB (2097152 blok).
- Perintah kedua digunakan untuk membuat sistem file UFS, dengan ukuran sisa dari file swap.
- Perintah ke tiga melihat partisi.
Tabel di bawah ini menunjukkan opsi dari perintah gpart add yang dapat anda gunakan:
| OPSI | Keterangan |
|---|---|
| -a alignment | Jika ditentukan, maka utilitas gpart mencoba menyelaraskan offset awal dan ukuran partisi agar menjadi kelipatan nilai penyelarasan. |
| -b start | Alamat blok logis tempat partisi akan dimulai. Sufiks unit SI diperbolehkan. |
| -f flags | Opsi operasional tambahan |
| -i index | Indeks dalam tabel partisi tempat partisi baru akan ditempatkan. Indeks menentukan nama berkas khusus perangkat yang digunakan untuk mewakili partisi. |
| -l label | Label yang dilampirkan ke partisi. Opsi ini hanya berlaku jika digunakan pada skema partisi yang mendukung label partisi. |
| -s size | Buat partisi dengan ukuran size. Sufiks unit SI diperbolehkan. |
| -t type | Buat partisi dengan tipe type. Tipe partisi dibahas di bawah pada bagian berjudul "JENIS PARTISI". |
Opsi tersebut dapat anda satukan dalam satu perintah.
root@ns4:~ # gpart add -b 1058 -s 2G -l namalabel -a 1M -t freebsd-ufs da0
da0p1 added
Untuk melihat nama label dari partisi yang anda buat di atas, jalankan perintah berikut.
root@ns4:~ # diskinfo /dev/gpt/namalabel
/dev/gpt/namalabel 512 2147483648 4194304 0 1048576 261 255 63
d. Menghapus Skema dan Partisi - gpart destroy
Yang perlu anda perhatikan adalah, gpart destroy tidak sama dengan gpart delete. Perintah gpart destroy digunakan untuk menghapus skema partisi dan semua partisi disk. Artinya perintah yang anda jalankan dengan gpart create dan gpart add, akan dihapus semuanya oleh gpart destroy.
Mislanya, pada bagian atas anda telah belajar cara membuat skema partisi gpt dan membuat partisi sistem file UFS pada Flashdisk (ad0). Dengan gpart destroy semua yang anda buat akan dihancurkan. Cara menjalankan perintah gpart untuk menghancurkan skema dan partisi yang ada di ad0 dapat anda lihat di bawah ini.
root@ns4:~ # gpart destroy -F da0
atau
root@ns4:~ # gpart destroy -F /dev/da0
Perintah di atas menghapus semua partisi dan skema gpt dari da0. Opsi -F digunakan untuk memaksa penghancuran tabel partisi meskipun tidak kosong. Gunakan perintah ini dengan hati-hati, karena perintah ini akan menghapus semua data pada disk.
e. Menghapus Partisi - gpart delete
Beda dengan perintah gpart destrou, perintah gpart delete hanya menghapus partisi yang ada di disk. Artinya gpart delete hanya akan menghapus perintah yang anda jalankan dengan gpart add. Sedangkan skema partisi yang anda buat dengan gpart create tidak dihapus. Jadi sudah sanat jelas perbedaan gpart destroy dan gpart delete.
Baiklah biar tak bingung, berikut perbedaan gpart destroy dan gpart delete.
- gpart destroy : Menghapus hasil dari perintah gpart create dan gpart add (skema atau tabel dan partisi).
- gpart delete : Hanya menghapus hasil dari perintah gpart add (partisi disk)
Perintah gpart delete mmeiliki opsi -i (index), opsi ini harus selalu anda gunakan ketika menghapus partisi. Contoh gambar di bawah ini menampilkan sebuah Falshdisk yang memiliki 6 index partisi.
Perhatikan kolom da0, angka 1 sampai 6 adalah index partisi. Angka index ini sangat penting untuk menghapus partisi. Berikut ini contoh cara menggunakan perintah gpart delete dengan index sesuai gambar di atas.
root@ns4:~ # gpart delete -i 3 da0
da0p3 deleted
Contoh perintah di atas menghapus partisi index ke-3. Artinya partisi dengan nomor urut 3 telah dihapus. Untuk membuktikannya jalankan perintah gpart show da0.
f. Mengkonfirmasi dan Membatalkan Perubahan Partisi - gpart commit undo
Fitur yang berguna dari utilitas gpart adalah pengenalan perubahan yang "tertunda". Artinya, jika Anda menambahkan opsi -f x, maka perubahan tidak akan langsung ditulis ke disk, tetapi hanya setelah Anda memberikan perintah gpart commit.
Secara default, sistem FreeBSD menjalankan perintah gpart dengan opsi "C", artinya setiap perintah gpart yang anda jalankan langsung dikomit atau dieksekusi. Agar tiap perintah gpart tidak langsung dikomit, anda dapat menentukan opsi "-f x" agar tiap perintah gpart menghasilkan perubahan tertunda . Perubahan tertunda ini bisa langsung anda komit atau batalkan dengan perintah gpart undo.
f.1. Perintah gpart undo
Jadi secara garis besar perintah gpart commit dan gpart undo selalu berpasangan dalam penggunaannya. Agar lebih jelasnya, kami akan berikan contoh perintah gpart commit dan gpar undo.
root@ns4:~ # gpart create -f x -s gpt da0
Pada perintah di atas, membuat skema partisi pada Flashdisk (da0). Perhatikan opsi -f x, dengan opsi ini skema partisi belum bisa anda buat, karena harus dikomit terlebih dahulu atau dibatalkan.
Jika anda ingin membatalkan perintah di atas, gunakan gpart undo. Sebelum anda menjalankan perintah undo. Lihat partisi pada Flashdisk tersebut.
root@ns4:~ # gpart show da0
=> 40 30834608 da0 GPT (15G)
40 30834608 - free - (15G)
Setelah itu jalankan perintah gpart undo.
root@ns4:~ # gpart undo da0
Jalankan lagi perintah gpart show, lihat hasilnya. Perintah gpart create untuk membuat skema partisi baru telah dibatalkan.
f.2. Perintah gpart commit
Karena tujuan kita membuat skema partisi baru, jadi perintah gpart create bisa langsung dikomit. Perhatikan contoh perintah di bawah ini untuk membuat skema partisi baru dengan opsi -f x dan langsung dikomit.
root@ns4:~ # gpart create -f x -s gpt da0
Karena perintah di atas menggunakan opsi -f x, untuk menerapkannya langsung saja jalankan perintah gpart commit.
root@ns4:~ # gpart show da0
Kalau perintah gpart create atau perintah gpart lainnya telah dikomit, maka perintah gpart undo tak bisa digunakan. Sebagai bukti jalankan gpart undo.
root@ns4:~ # gpart undo da0
gpart: Operation not permitted
Muncul pesan Operation not permitted, karena perintah gpart create di atas telah anda terapkan atau dikomit dengan gpart commit.
Karena pembahsan tentang perintah gpart ini cukup panjang. Pada artikel ini kami bagi menjadi dua tulisan. Untuk artikel pertama ini kita akhiri sampai perintah gpart commit dan undo. Kita lanjutkan dengan peritah gpart lainnya di artikel ke dua.
