Menguasai filesystem NetBSD: FFS sebagai default, tmpfs dan cd9660, mount dan umount, pengelolaan disk dengan disklabel dan newfs, serta menjaga kesehatan sistem dengan fsck dan swapctl.

Di episode 6 sebelumnya kita telah menghidupkan service dengan rc system. Namun semua yang kita lakukan — user, package, service — disimpan di suatu tempat: filesystem. Pada episode ini kita akan membedah lapisan penyimpanan NetBSD: filesystem FFS sebagai fondasi, filesystem khusus seperti tmpfs dan cd9660, perintah mount/umount, pengelolaan disk dengan disklabel dan newfs, serta menjaga kesehatan data dengan fsck dan swapctl.
FFS (Fast File System) adalah filesystem default NetBSD — pewaris tradisi BSD yang sudah berevolusi selama beberapa dekade. FFS dikenal karena stabilitas, kematangan, dan dukungan fitur modern seperti snapshot.
Mari lihat bagaimana sistem kalian saat ini tersusun:
mount/dev/wd0a on / type ffs (local)
/dev/wd0e on /usr type ffs (local)
/dev/wd0f on /var type ffs (local)
ptyfs on /dev/pts type ptyfs
procfs on /proc type procfs
tmpfs on /tmp type tmpfs (local)Perhatikan beberapa filesystem yang berbeda: ffs untuk data persisten, tmpfs untuk /tmp (di RAM), procfs dan ptyfs untuk antarmuka kernel. NetBSD memakai filesystem khusus untuk kebutuhan khusus.
| Filesystem | Tipe | Kegunaan |
|---|---|---|
ffs | Disk | Filesystem utama untuk data persisten |
tmpfs | RAM | Data sementara; hilang saat reboot |
mfs | RAM | Memory filesystem bergaya tradisional |
cd9660 | Optical | Media CD/DVD/ISO |
procfs | Pseudo | Antarmuka proses kernel |
ptyfs | Pseudo | Pseudo-terminal |
tmpfs adalah pilihan modern untuk /tmp — cepat karena berada di RAM, dan otomatis kosong saat reboot. mfs adalah pendahulunya; tmpfs kini lebih direkomendasikan.
Memasang sebuah filesystem ke dalam direktori tree dilakukan dengan mount. Untuk memasang sebuah disk atau partisi ke titik mount tertentu:
mount /dev/wd0g /mntdf -h /mntMemount sebuah image ISO cukup dengan perintah berikut — berguna saat butuh mengakses media instalasi:
mount -t cd9660 -o loop NetBSD-11.0-amd64.iso /mnt/isoMembongkar mount dilakukan dengan umount:
umount /mntWarning
Selalu umount sebelum mencabut media. Jika sistem mengeluh "device busy", ada proses yang sedang memakai file di dalamnya — cari dengan fstat -m /mnt atau lsof /mnt sebelum membongkar.
Mount yang harus ada setiap boot dicatat di /etc/fstab. Inilah peta permanen sistem:
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /usr ffs rw 1 2
/dev/wd0f /var ffs rw 1 2
tmpfs /tmp tmpfs rw,-s=512m 0 0Enam kolom per baris: device, mount point, tipe filesystem, opsi, dump flag, dan fsck pass. Perhatikan dua baris penting: partisi wd0b adalah swap (di-mount dengan tipe sw), dan /tmp memakai tmpfs dengan batas 512 MB.
Setiap disk NetBSD punya disklabel — tabel partisi level BSD yang kita kenal dari episode 3. Membacanya:
disklabel wd0# /dev/rwd0d:
type: ESDI
disk: wd0
sectors/track: 63
...
a: 4096000 63 4.2BSD 2048 16384 12192 # (Cyl. 0 - 202)
b: 2048000 4096063 swap # (Cyl. 202 - 303)
c: 20971520 0 unused 0 0 # (Cyl. 0 - 1039)
e: 4194304 6144063 4.2BSD 2048 16384 12192 # (Cyl. 303 - 510)
f: 10633153 10338367 4.2BSD 2048 16384 12192 # (Cyl. 510 - 1039)Partition c adalah seluruh disk (konvensi BSD), dan partition lain di atasnya menumpuk. Tipe 4.2BSD menandakan FFS, dan swap menandakan partisi swap.
Setelah disklabel diatur, format sebuah partisi dengan newfs untuk membuat filesystem FFS:
newfs /dev/rwd0g/dev/rwd0g: 2048.0MB (4194304 sectors) block size 32768, fragment size 4096
using 4 cylinder groups of 512.00MB, 124 blks, 968 inodes.
super-block backups (for fsck -b #) at:
32, 1048576, ...Selalu gunakan device raw (r di depan: rwd0g) untuk newfs — itu konvensi BSD untuk akses device tanpa buffer.
Danger
newfs menghapus seluruh isi partisi. Periksa disklabel dua kali sebelum menjalankannya, dan pastikan kalian menunjuk partisi yang benar. Tidak ada tombol undo.
fsck memeriksa dan memperbaiki konsistensi filesystem. Setelah sistem crash atau listrik mati, NetBSD menjalankan fsck otomatis saat boot untuk filesystem yang ditandai dirty. Manual:
fsck /dev/rwd0a/dev/rwd0a: 512 files, 4096 used, 299468 freeFFS modern juga mendukung snapshot — salinan konsisten filesystem untuk backup. Membuat snapshot memakai fsck -t:
fsck -t /dev/rwd0eSnapshot of /dev/rwd0e created at /var/snapshot/rwd0e.0Swap NetBSD dikelola dengan swapctl — bukan swapon/swapoff seperti Linux. Melihat status swap:
swapctl -lDevice 512-blocks Used Avail Capacity Priority
/dev/wd0b 2048000 51200 1996800 3% 0Menambahkan partisi swap baru secara manual:
swapctl -a /dev/wd0bPada episode 7 ini, kalian telah menguasai lapisan penyimpanan NetBSD: filesystem FFS sebagai fondasi, filesystem khusus (tmpfs, mfs, cd9660), perintah mount dan umount, daftar mount permanen di /etc/fstab, pengelolaan disk dengan disklabel dan newfs, serta menjaga kesehatan data dengan fsck dan swapctl.
Inti yang harus dibawa pulang:
tmpfs untuk /tmp dan data sementara./etc/fstab (enam kolom: device, mount, tipe, opsi, dump, pass).newfs membuat filesystem FFS — selamanya periksa partisi sebelum menjalankannya.fsck menjaga kesehatan filesystem; FFS mendukung snapshot dengan fsck -t.swapctl, bukan swapon.Di episode 8 selanjutnya kita akan menghubungkan sistem ke dunia luar: networking dan network configuration — mengatur interface dengan ifconfig, routing, /etc/resolv.conf, serta fitur lanjutan seperti VLAN, bonding (lagg), dan bridge. Sampai jumpa di episode 8!