
Menginstall FreeBSD di VPS berbasis Linux
Provider tidak menyediakan OS FreeBSD dan atau ingin menginstall sendiri?
1.471 kata — sekitar 8 menit untuk membaca
Dari trio BSD yang pernah ane coba, NetBSD adalah distribusi BSD yang paling susah ane install. Bukan karena sulit tapi metode installnya berbeda dengan yang lainnya. FreeBSD mudah bisa dengan dd atau timpa ke disk kemudian jalankan bsdinstall, OpenBSD-pun sama meski cara terbaik adalah dengan mempergunakan media ketiga seperti CDROM bahkan FreeBSD bisa diinstall dengan recovery image.
Jadi ketika menemukan layanan VPS yang sangat murah (NAT VPS) dan mendukung pengunggahan ISO files maka ane putuskan untuk mencoba memasang NetBSD disini. Nama providernya adalah TierHive memiliki beberapa layanan level NAT seperti VPS biasa, dan storage VPS dengan harga murah. Ane pilih NAT VPS Micro dengan spesifikasi 1vCPU, 512Mb RAM, dan 3GB SSD yang berbiaya sekitar 0.000581 token/jam dimana 1 token = 1 USD atau sekitar Rp. 10/jam atau sekitar Rp 9 ribu/bulan. Sangat murah dan tidak beresiko jika kena begal.
| Uraian | IP | Keterangan |
|---|---|---|
| IP Address | 10.4.185.185 | IP lokal NAT |
| Netmask | 255.255.255.0 | Netmask |
| Gateway | 10.4.185.1 | Gateway |
Setelah mendaftar dan mengisi saldo sekitar 62 ribu rupiah, ane kemudian membuat VPS Instance dengan nama nbsd dengan lokasi server di Singapore. Setelah selesai ane mendapatkan informasi tentang IP lokal (NAT) yang dipakai dimana IP ini bisa ane pilih sendiri, jadi informasi IP ane menjadi seperti ini. Salah satu hal penting kenapa perlu tau detail IP karena di TierHive tidak memberikan fitur DHCP secara gratis, berbayar dengan harga yang murah namun ane tidak mau bayar ha ha ha.
Manual Install #
Karena hendak memakai NetBSD maka ane pilih Manual Install di pilihan OS, sehingga ane perlu menambahkan Virtual Media. Caranya mudah di VPS Instances > Manage: nbsd klik pada ikon CDROM dengant tulisan Virtual Media, kemudian masukkan URL dari tautan ke file ISO yang dipilih. Ane mau pakai NetBSD jadi ane masukkan https://cdn.netbsd.org/pub/NetBSD/NetBSD-11.0/amd64/installation/cdrom/boot.iso.
Ane sengaja pakai boot.iso karena cuma butuh boot saja ke installer dan nanti unduh set's melalui http
Mount ISO ke CDROM di TierHive tinggal copy-paste URL ISOnya saja
Kemudian boot VPS dan buka console VNC yang disediakan, secara default akan muncul SeaBIOS boot manager. Tekan tombol ESC untuk memunculkan pilihan diska. File ISO akan tersedia di CDROM [AHCI], pilih nomer urut CDROM tersebut (biasanya di nomer 3) maka sistem akan boot installer NETBSD.
Jangan buru - buru untuk tekan Enter atau angka 1 (boot normaly) tapi tekan tombol SPASI atau langsung tekan angka 3 untuk masuk ke Drop to boot prompt. Akan muncul prompt opsi untuk memasukkan konfigurasi boot. Karena disini pakai VNC maka perlu mengaktifkan tipe grafis VESA dengan mengetik vesa on dan dilanjut dengan perintah boot.
Pengaturan boot menu SeaBIOS dan NetBSD
Jika tidak pakai vesa on maka VNC tidak akan bisa menampilkan installer NetBSD dengan baik karena tampilan layar tidak bisa muncul
Sebelum lanjut memasang NetBSD, maka ane perlu mempersiapkan pengaturan jaringan. Ya karena ane tidak berlangganan fitur DHCP. Pengaturan bisa dilakukan melalui 3 cara yaitu mempergunakan menu Utility Menu kemudian pilih Run /bin/sh (cara manual lewat shell) atau Configure Network (cara manual dengan tampilan interaktif) cara lain bisa dengan mempergunakan Auto Configuration (tapi ini tidak akan berhasil karena DHCP tidak tersedia).
Ane lebih suka memilih lewat Configure Network, namun jika lebih suka yang manual lewat shell berikut caranya:
# ifconfig
vioif0: flags=0x8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
....
# ifconfig vioif0 inet 10.4.185.185 netmask 255.255.255.0
# route add default 10.4.185.1
# echo "nameserver 9.9.9.9" > /etc/resolv.conf
# ping -c 3 cdn.netbsd.org
# ./install.sh
Ane ada juga IPv6 yang tersedia namun ane tidak akan atur saat proses penginstallan melainkan nanti saat NetBSD sudah jalan dengan baik (post install).

Kemudian lanjutkan proses install seperti biasa atau sesuai dengan panduan resmi dari NetBSD. Ane ga mau ribet karena sumber daya VPS ini minimalis maka ane pakai rekomendasi NetBSD saat bikin partisi dan kemudian pilih Minimal Installation, ane juga mengaktifkan SSH agar nanti bisa akses ke shell tanpa VNC. Setelah proses instalasi selesai kemudian reboot system.
Post Install #
Aktifkan vesa saat boot Saat booting ulangi proses seperti sebelumnya untuk memakai grafis vesa. Untuk memastikan agar vesa secara otomatis dipanggil, maka perlu merubah file
/boot.cfgmenjadi seperti inimenu=Boot normally:rndseed /var/db/entropy-file;vesa on;boot menu=Boot single user:rndseed /var/db/entropy-file;vesa on;boot -s menu=Drop to boot prompt:prompt default=1 timeout=5 clear=1Dengan pengaturan ini maka setiap boot VNC akan menganggap console NetBSD memakai grafis
vesa. Namun ini hanya berguna untuk akses lewat web VNC saja, lebih baik akses NetBSD memakai SSH.Tambahkan user, ini penting biar ga selalu login pakai akun
root, sekalian nanti pakaidoassupaya bisa jalankan perintah dengan elevasi selevelroot# useradd -m -G whell poes # passwd poesPerintah di atas akan membuat akun baru dengan nama
poesdan masukkan ke grupwheel, sekalian kasih password buat login.Aktifkan SSH, ane sudah aktifkan SSH saat proses install berjalan namun jika belum maka caranya mudah sekali. Jalankan saja perintah berikut di shell
# vi /etc/rc.conf sshd=YESEdit file
/etc/rc.confdan tambahkansshd=YESdi baris paling bawah, kemudian simpan atau# echo "sshd=YES" > /etc/rc.confMulai jalankan layanan SSH dengan perintah berikut
# service sshd startInstall package manager, meski sudah ada
pkg_addnamun di NetBSD adapkginyang lebih mudah dan familiar untuk dipakai, tapi sebelumnya harus melakukan konfigurasipkg_addagar bisa menemukan letak repositori dari paket aplikasin.# export PKG_PATH="https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r | cut -d_ -f1)/All" # pkg_add -v pkginSetelah
pkginterpasang, ane bisa pakai untuk memasang paket - paket yang lainnya misalnyavim,git, maupundoas.# pkgin update # pkgin install vim git doasAlternatif lain untuk mengelola paket aplikasi dengan mempergunakan pkgsrc, bedanya
pkgsrcdipergunakan untuk mengelola paket dengan cara membuildnya dari source code. Cara ini mirip dengan pengelolaan paket aplikasi dengan Ports di FreeBSD.Untuk pengguna expert atau yang membutuhkan konfigurasi khusus, sangat disarankan memakai
pkgsrckarena lebih fleksibel dalam pengaturan.doasuntuk elevasi keroot, sebenarnya sudah ada perintahsuuntuk melakukan elevasi dari user biasa keroot, namun ini kurang fleksibel. Maka ane pasangdoasbiar bisa elevasi ǎ la #openbsd# pkgin install doas # echo "permit nopass poes" > /usr/pkg/etc/doas.confAne aktifkan
doastanpa password untuk akunpoesdenganpermit nopass poesdan tulis ke file konfigurasidoas.Alternatif lain bisa pakai priv yang lebih sederhana dan merupakan aplikasi asli dari NetBSD yang tidak hanya bisa melakukan elevasi atas perintah - perintah tertentu (yang ditentukan) tapi bisa menjalankan semua perintah seperti
doas# pkgin install priv # echo "0:root:000000" > /usr/pkg/etc/priv/poes # priv pkgin listAktifkan IPv6, Karena TierHive ngasih IPv6 gratis dengan subnet
/64kenapa tak dipakai?. Jadi mari kita pakai.NetBSD sudah mendukung IPV6 sejak 1999! dan punya cara unik (menurut ane) untuk pengaturan. Namun jujur agak ruwet dan tidak semudah FreeBSD saat dicoba. Cara manualnya sama seperti saat mengatur IPv4 sebelumnya sebagai berikut
# ifconfig vioif0 inet6 2a11:6c7:3001:5d8b::2 prefixlen 64 alias # route add -inet6 default fe80::20b2:10ff:fee7:ac0f%vioif0 # echo "nameserver nameserver 2620:fe::fe" > /etc/resolv.confBaris pertama untuk mengatur alamat IPv6, baris kedua untuk mengatur gateway. Disini di TierHive tidak memakai alamat IP Gateway yang dikasih (ini yang bikin pusing tiga keliling) ternyata dia pakai link local yang bisa di cek melalui perintah
ndp -aSedangkan baris ketiga untuk mendaftarkan DNS Resolver memakai Quad9
Kemudian restart interfaces dan tes dengan mempergunakan
ping6# /etc/rc.d/network restart # ping6 -c 4 kusaeni.com PING6(56=40+8+8 bytes) 2a11:6c7:3001:5d8b::2 --> 2606:4700:3031::6815:2f4b 16 bytes from 2606:4700:3031::6815:2f4b, icmp_seq=0 hlim=57 time=65.968 ms 16 bytes from 2606:4700:3031::6815:2f4b, icmp_seq=1 hlim=57 time=62.311 ms 16 bytes from 2606:4700:3031::6815:2f4b, icmp_seq=2 hlim=57 time=64.404 ms 16 bytes from 2606:4700:3031::6815:2f4b, icmp_seq=3 hlim=57 time=70.789 ms --- kusaeni.com ping6 statistics --- 4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 62.311/65.868/70.789/3.607 msUntuk membuat pengaturan ini permanen, maka ane sisipkan pengaturan berikut di file
/etc/rc.confdefaultroute="10.4.185.1" defaultroute6="fe80::20b2:10ff:fee7:ac0f%vioif0" ifconfig_vioif0=" inet 10.4.185.185 netmask 255.255.255.0 inet6 2a11:6c7:3001:5d8b::2 prefixlen 64 alias " dns_nameservers="9.9.9.9 2620:fe::fe"kemudian restart interface yang digunakan.
dari Fediverse
Kamu juga bisa meninggalkan komentar dari akun fediversemu dengan menyalin tautan dibawah ini dan mencarinya di instance Mastodon atau ActivityPub pilihanmu
https://sok.egois.org/@poes/statuses/01M19EXTJZYGXJP6V1BWN91SDN