Skip to main content
Background Image
  1. Teches/

FreeBSD: Unix-like Operating System

··1168 words·6 mins· ·
Wildan
Author
Wildan
An Ordinary Human Being
Table of Contents

Getting to Know
#

FreeBSD At a Glance
#

FreeBSD adalah sebuah sistem operasi untuk berbagai platform (server, desktop, dan embedded platform lainnya) yang berasal dari BSD (Berkeley Software Distribution), sebuah versi dari UNIX yang dikembangkan di Universitas California, Berkeley.1

UNIX adalah sistem operasi yang didesain untuk menyediakan lingkungan komputasi yang stabil, aman, dan efisien. Sistem operasi UNIX ini dikembangkan pertama kali oleh AT&T Bell Labs (sebuah pusat penelitian) oleh Ken Thompson, Dennis Ritchie, dan kawan-kawannya,2 yang kemudian menjadi basis dari sistem operasi modern saat ini, seperti Linux, FreeBSD, dan MacOS.3

Singkatnya, FreeBSD adalah sistem operasi berbasis UNIX yang dikembangkan oleh BSD dan bersifat open source.

FreeBSD vs Linux
#

Jadi, meskipun terinspirasi dari sumber yang sama (UNIX), FreeBSD dan Linux berbeda. Selain beda pengembangnya (FreeBSD dikembangkan oleh BSD, Linux dikembangkan oleh Linus Torvald), perbedaan mendasar lainnya juga ada di kernel: FreeBSD punya kernelnya sendiri yang dikembangkan oleh FreeBSD project, sementara Linux menggunakan satu sumber kernel yang sama, yaitu kernel Linux.

Berikut adalah perbandigan FreeBSD dan Linux secara spesifik:4

AspekFreeBSDLinux
Kernel & OSOS lengkap (kernel + userland dikembangkan bersama)Hanya kernel, distro menggabungkan userland (GNU, dll)
LisensiBSD License (lebih permisif)GPL (copyleft, lebih ketat)
Struktur SistemLebih konsisten & terintegrasiBervariasi tergantung distro
Manajemen Paketpkg, ports collectionapt, dnf, pacman, zypper, dll
Ports vs RepoPorts: compile dari source + opsi fleksibelBinary package lebih umum, source opsional
DokumentasiSangat rapi & terpusat (FreeBSD Handbook)Sangat banyak, tapi tersebar per distro
StabilitasSangat stabil (fokus server)Stabil, tapi tergantung distro (Debian vs Arch, dll)
PerformaKonsisten, efisien untuk server/networkingSangat baik, sering unggul di hardware terbaru
Dukungan HardwareLebih terbatasSangat luas
DriverLebih sedikitLebih banyak & cepat update
Sistem FileZFS native support kuatZFS ada, tapi tidak native (lisensi conflict)
SecurityFitur kuat (jail, secure design)Kuat (SELinux, AppArmor)
VirtualisasiJails (ringan & efisien)Docker, LXC, KVM, dll
ContainerizationJailsDocker, Kubernetes, Podman
Update SistemTerintegrasi (base system + packages terpisah)Bergantung distro
KomunitasLebih kecilSangat besar
Penggunaan UmumServer, networking, firewallServer, desktop, embedded, cloud, dll
Kemudahan PenggunaanLebih teknisBanyak distro user-friendly (Ubuntu, Mint, dll)
CustomizationTinggi (ports system)Sangat tinggi (tergantung distro)
Boot Systemrc.dsystemd (umumnya), juga alternatif

Dengan perbandingan ini, maka keputusan untuk menggunakan FreeBSD atau Linux diserahkan kepada kalian masing-masing.

Installation
#

Pada skenario ini, saya hanya akan meng-install FreeBSD sebagai VM (virtual machine) saja menggunakan KVM (kernel-based virtual machine) di Archlinux. Berikut adalah langkah-langkanya:

Pre-Installation
#

1. Downloading ISO file
#

Download file ISO terbaru dari FreeBSD di sini: https://www.freebsd.org/where/
Terdapat 3 pilihan file di sana, dengan berbagai arsitektur:5

  1. Installer: File ISO (.iso) untuk instalasi FreeBSD di desktop, laptop, atau server.
  2. VM: File image VM (.qcow, .vmdk, vhd) yang sudah ter-install FreeBSD, bukan file instalasi.
  3. SD Card: Untuk embedded systems seperti Raspberry Pi yang biasanya menggunakan SD Card.

Notes: Saya pilih file ISO (.iso) yang DVD.
Ini adalah file ISO (.iso) yang saya gunakan dalam tutorial ini (FreeBSD 15.0):
https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-RELEASE-amd64-dvd1.iso

2. Creating a VM
#

Attention!

Tutorial ini hanya mendemonstrasikan instalasi FreeBSD di KVM dengan Virt-Manager dan QEMU. Jika kalian ingin meng-install FreeBSD di Hypervisor yang lain seperti VMWare atau VirtualBox, silakan.

Artikel ini tidak menjelaskan secara detail cara instalasi Virt-Manager. Untuk meng-install Virt-Manager di Linux, kalian bisa baca artikel saya yang lain:

Practical Guide to Virt-Manager
A note explaining basic usage of virt-manager, especially when it comes to the commands.

Untuk membuat VM dengan KVM dan QEMU:

  1. Hidupkan service libvirtd dan aktifkan VM network.
sudo systemctl start libvirtd
sudo systemctl status libvirtd

sudo virsh net-start default
sudo virsh net-list --all 
  1. Buat VM dengan di virt-manager.
virt-manager --connect qemu:///system --show-domain-creator
  • Pilih “Local install media (ISO image or CDROM)”.
  • Pilih file ISO (.iso) FreeBSD yang sudah kalian download.
  • Alokasikan CPU & RAM.
  • Alokasikan storage (penyimpanan).
  • Sesuaikan nama VM & network (jika perlu).
  • Selesai.

Installation Process
#

Setelah proses membuat VM selesai, akan muncul window baru, yang menandakan VM FreeBSD tersebut berhasil dibuat dan sedang berjalan. Berikut adalah tahapan-tahapan instalasinya:

Dokumentasi instalasi FreeBSD sudah dijelaskan dengan jelas dan detail di: https://docs.freebsd.org/en/books/handbook/bsdinstall/

1. Boot Installer
#

Pilih “1. Boot Installer [Enter]”

ss1
`FreeBSD first UI

2. Install
#

Pilih “Install”.

ss2
`Install

3. Keymap Selection
#

Pilih “default” pada keymap selection.

ss3
`Keymap selection: default

4. Hostname
#

Buat Hostname (nama mesin FreeBSD kalian).

ss4
`Hostname

5. Installation Type
#

Pilih “Distribution Sets” pada Installation Type, karena lebih stabil.6

ss5
`Installation type: Distribution Sets

6. Selecting Components
#

Pilih 3 komponen: “kernel-dbg”, “lib32”, dan “ports”.

ss6
`Selecting components to install

7. Partitioning
#

Pilih “Auto (ZFS): Guided Root-on-ZFS” pada Partitioning.

ss7
`Partitioning

8. ZFS Configuration
#

  • Pada Configure Options, pilih “Install: Proceed with Installation”

ss8
`ZSF: Configure Options

  • Pada Virtual Device Type, pilih “stripe: Stripe - No Redundancy”

ss9
`ZFS: Virtual Devie Type

  • Ceklis disk yang akan kita gunakan. Akan ada window “warning”, pilih “Yes”. Proses ekstraksi berjalan, tunggu hingga selesai.

ss10
`Setup Disk

9. Root Password
#

Buat Password Root

ss11
`Set Root Password

10. Network Manager
#

Pilih “Auto” pada Network Manager yang tersedia. Tunggu hingga mesin mendapatkan DHCP IP.

ss12
`Network Manager

11. Timezone Selector
#

Pada “Timezone Selector”, pilih Asia > Indonesia > Java, Sumatera. Akan muncul bagian konfirmasi (WIB), pilih “Yes”.

ss13
`Timezone

12. Time & Date
#

Time & Date biarkan default (di-skip saja).

ss14
`Time & Date

13. System Configuration
#

Selain sshd & dumpdev (default), pilih juga moused sebagai service yang akan dijalankan ketika booting.

ss15
`System configuration

14. System Hardening
#

System hardening biarkan default.

ss16
`System hardening

15. Add User Account
#

Pada Add User Account, kita hanya perlu membuat “username”, “full name”, dan jangan lupa menambahkan user group-nya ke “wheel”. Sisanya biarkan default. Pilih “Yes” pada kolom konfirmasi.

ss17
`Add User Account

16. Final Configuration
#

Pilih “Finish” jika sudah tidak ada yang ingin diubah lagi.

ss18
`Final Configuration

Dan inilah pertanda bahwa instlasi kita selesai:

ss19
`Installation Finished

Dengan demikian, proses instalasi FreeBSD sudah berakhir! Kita bisa mengabaikan “Manual Configuration” tersebut jika memang sudah tidak ada yang perlu dimodifikasi/diganti/diubah lagi.

Setelah itu, kita dapat me-reboot sistem FreeBSD kita.

17. Login
#

Saya berhasil login ke FreeBSD!
Jangan khawatir, tampilannya (interface) memang masing berbasis CLI (Command Line Interface), karena kita belum meng-install DE (Desktop Environment) atau WM (Window Manager) apapun.

ss20
`Login

Post-Installation
#

1. Update System
#

Setelah instalasi berhasil, hal pertama yang perlu kita lakukan adalah meng-update sistem:

su - # login ke user root
freebsd-update fetch
freebsd-update install

2. Install sudo
#

Kita akan meng-install sudo. Tujuannya jelas, agar ketika kita memerlukan akses root (misalnya untuk meng-install package), kita tidak perlu selalu login ke user root, karena bisa menggunakan sudo.

Karena baru pertama kali menggunakan pkg sebagai package manager, kita akan diminta meng-install pkg terlebih dahulu.

su - # login ke root shell
pkg install sudo 

Setelah instalasi berhasil, jangan lupa mengaktifkan akses “wheel” ke sudo:

visudo # masuk ke konfigurasi sudoers
%wheel ALL=(ALL:ALL) NOPASSWD: ALL # uncomment

Untuk memastikan sudo sudah berhasil ter-install dan terkonfigurasi:

sudo su

Related

Torrenting: P2P Network Through BitTorrent Protocol for Distributing and Downloading Files (ft. qbittorrent)
··2060 words·10 mins
Once you understand how torrent works profoundly, not only can you utilize it better, but also your understanding regarding how internet actually works will shift.
ProtonVPN CLI: Simple, Free, Yet Reliable VPN
·699 words·4 mins
The most convenient way to connect to a VPN service.
Docker: A Powerful Containerization Platform (+ Lazydocker)
··2796 words·14 mins
Deploying software often requires bunch of resources. However, the emergence of containerization platforms such as Docker has made it more convenient and docile, yet your software works flawlessly.