Utilitas mkfs digunakan untuk membuat sistem file (ext2, ext3, ext4, dll) di sistem Linux Anda. Anda harus menetapkan nama perangkat ke mkfs tempat sistem file akan dibuat.
PERINGATAN:Menjalankan perintah ini akan menghancurkan semua data di sistem file Anda. Jadi, coba perintah ini hanya pada sistem pengujian di mana Anda tidak peduli kehilangan data Anda.
1. Lihat Perintah Pembuat Sistem File yang Tersedia
Pembuat sistem file (perintah mkfs*) biasanya dicari di direktori seperti /sbin/, /sbin/fs, /sbin/fs.d, /etc/fs dan /etc. Jika tidak ditemukan, akhirnya mencari direktori yang ditemukan di variabel PATH.
Daftar berikut menunjukkan perintah mkfs* yang tersedia dalam suatu sistem.
# cd /sbin # ls mkfs* mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
Jika Anda baru mengenal sistem file, baca tentang Ext2 vs Ext3 vs Ext4.
2. Bangun Sistem File di Perangkat Tertentu
Untuk membangun sistem file menggunakan perintah mkfs, argumen yang diperlukan adalah nama file perangkat dan tipe sistem file seperti yang ditunjukkan di bawah ini. Contoh berikut membuat filesystem ext3 pada partisi /dev/sda6.
# mkfs -t ext3 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Harap dicatat bahwa tipe sistem file default untuk perintah mkfs adalah ext2. Jika Anda tidak menentukan opsi “-t”, itu akan membuat sistem file ext2.
Selain itu, Anda dapat menggunakan metode yang telah kita bahas sebelumnya untuk mengidentifikasi apakah Anda memiliki sistem file ext2 atau ext3 atau ext4.
3. Buat Sistem File dengan Jurnal menggunakan opsi -j
Contoh yang diberikan di bawah ini membuat sistem file dengan penjurnalan.
# mke2fs /dev/sda6 -j mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Bila Anda tidak membutuhkan penjurnalan pada sistem file, maka jalankan perintah mke2fs seperti yang ditunjukkan di bawah ini.
# mke2fs /dev/sda6
4. Periksa Blok Buruk di Perangkat
Sebelum membuat sistem file, Anda dapat memeriksa untuk memastikan tidak ada blok buruk pada sistem menggunakan opsi -c seperti yang ditunjukkan di bawah ini. Ini akan melakukan tes hanya-baca pada sistem file untuk memastikan tidak ada blok yang buruk. Anda juga dapat melakukan tes baca-tulis untuk memverifikasi tidak ada blok buruk menggunakan opsi "-c -c". Harap dicatat bahwa ini akan lebih lambat dari opsi “-c”.
# mke2fs -c /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
5. Paksa untuk Membuat Sistem File pada Partisi yang Dipasang
Disarankan untuk tidak melakukan operasi sistem file apa pun pada partisi yang terpasang. Tetapi Anda tetap dapat memaksanya untuk membuat sistem file pada partisi yang sedang digunakan atau partisi yang di-mount dengan opsi -F seperti yang ditunjukkan di bawah ini.
# mke2fs -F /dev/sda6
6. Bytes per Grup Inode pada Partisi
Anda mungkin ingin membuat daftar inode yang digunakan dan tersedia di partisi seperti yang ditunjukkan di bawah ini menggunakan perintah df.
# df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 1120112 11 1120101 1% /mydata
Seperti yang terlihat di atas, pada /dev/sda6 IUsed adalah 11 dari 1120112. Setelah file baru dibuat di atasnya, nilai IUsed akan berubah seperti yang ditunjukkan di bawah ini.
# cd /mydata # touch sample.txt # ls sample.txt # df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 1120112 12 1120100 1% /mydata
Anda juga dapat menggunakan perintah tune2fs untuk melihat detail Inode:
# tune2fs -l /dev/sda6 | grep Inode Inode count: 1120112 Inodes per group: 8176 Inode blocks per group: 511 Inode size: 256
Untuk mengubah inode-per-group dari partisi di atas (yaitu:/dev/sda6) gunakan opsi -i sebagai berikut:
# mke2fs -i 8192 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2240224 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Seperti yang terlihat di atas, byte-per-inode diubah menjadi 8192 dari nilai default 16384. Sekarang batas inode partisi meningkat seperti yang ditunjukkan di bawah ini.
# df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 2240224 11 2240213 1% /mydata # tune2fs -l /dev/sda6 | grep Inode Inode count: 2240224 Inodes per group: 16352 Inode blocks per group: 1022 Inode size: 256
Mengubah nilai inodes-per-group hanya berdampak pada jumlah file yang akan disimpan di partisi. Mengurangi nilai ini untuk menambah jumlah file pada sebuah partisi.
7. Mengubah ukuran Inode pada Partisi
Dimungkinkan untuk mengubah ukuran Inode pada sebuah partisi menggunakan opsi I dan i seperti yang ditunjukkan di bawah ini.
# mke2fs -I 128 -i 8192 /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2240224 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Seperti yang terlihat di atas, ukurannya sedang diubah dari 256 menjadi 128 dan itu mengarah pada peningkatan jumlah total Inode pada sebuah partisi:
# tune2fs -l /dev//sda6 | grep Inode Inode count: 2240224 Inodes per group: 16352 Inode blocks per group: 511 Inode size: 128
8. Atur Label Volume untuk Partisi
Anda dapat membuat nama/label untuk partisi menggunakan opsi -L. Dalam contoh berikut, kami menetapkan DATA sebagai label untuk partisi /dev/sda6.
# mke2fs -L DATA /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label=DATA OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Writing superblocks and filesystem accounting information: done
Anda dapat melihat nama label dari partisi di atas dengan menggunakan perintah e2label seperti gambar di bawah ini:
# e2label /dev/sda6 DATA
Cara lain untuk melihat label partisi adalah dengan menggunakan perintah blkid seperti yang ditunjukkan di bawah ini:
# blkid /dev/sda6 /dev/sda6: LABEL="DATA" UUID="0de74d35-6050-4838-99b0-46cb1d518da8" TYPE="ext2"
9. Simulasikan Pembuatan Sistem File
Saat menjalankan perintah mkfs, ini menampilkan konten seperti apa yang akan dilakukannya di stdout. Anda bahkan dapat menampilkan pesan-pesan tersebut di stdout tanpa benar-benar membuat sistem file menggunakan opsi -n seperti yang ditunjukkan di bawah ini:
# mkfs -t ext3 -n /dev/sda6 mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1120112 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
10. Buat Sistem File dengan jumlah Inode tertentu
mkfs menyediakan fasilitas untuk membuat filesystem dengan jumlah inode yang diinginkan. Ini memungkinkan Anda untuk mengganti jumlah default inode per sistem file berdasarkan rasio byte-per-inode seperti yang ditunjukkan di bawah ini.
# mkfs -t ext3 -v -N 700000 /dev/sda6 mke2fs 1.42 (29-Nov-2011) fs_types for mke2fs.conf resolution: 'ext3' Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 701440 inodes, 4476416 blocks 223820 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 137 block groups 32768 blocks per group, 32768 fragments per group 5120 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Hal di atas dapat diverifikasi menggunakan perintah tune2fs dan df seperti yang ditunjukkan di bawah ini.
# tune2fs -l /dev/sda6 | grep -i inode Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Inode count: 701440 Free inodes: 701429 Inodes per group: 5120 Inode blocks per group: 320 First inode: 11 Inode size: 256 Journal inode: 8 Journal backup: inode blocks # df -i /dev/sda6 Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda6 701440 11 701429 1% /mnt