Difference between revisions of "OS: Instalasi Ubuntu Server 24.04"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | Bab ini membahas proses instalasi Ubuntu Server 24.04 secara sistematis, reproducible, dan engineering-oriented, bukan sekadar “klik next”. Pendekatan ini selaras dengan semangat buku Sistem Operasi karya Onno W. Purbo yang menekankan bahwa sistem operasi harus dipahami sebagai sistem yang bisa dikonfigurasi, diutak-atik, dan direkayasa, bukan kotak hitam . | + | Bab ini membahas proses instalasi Ubuntu Server 24.04 secara sistematis, reproducible, dan engineering-oriented, bukan sekadar “klik next”. Pendekatan ini selaras dengan semangat buku Sistem Operasi karya Onno W. Purbo yang menekankan bahwa sistem operasi harus dipahami sebagai sistem yang bisa dikonfigurasi, diutak-atik, dan direkayasa, bukan kotak hitam. |
| + | |||
Ubuntu Server 24.04 dipilih sebagai core platform karena: | Ubuntu Server 24.04 dipilih sebagai core platform karena: | ||
| − | Stabil (LTS) dan cocok untuk eksperimen jangka panjang | + | * Stabil (LTS) dan cocok untuk eksperimen jangka panjang |
| − | Kernel Linux modern yang mendukung container, networking advanced, dan kernel tuning | + | * Kernel Linux modern yang mendukung container, networking advanced, dan kernel tuning |
| − | Ekosistem open source lengkap, tanpa ketergantungan proprietary software | + | * Ekosistem open source lengkap, tanpa ketergantungan proprietary software |
| − | Menjadi basis untuk OpenWRT build, kernel compile, dan Android x86 build pada bab selanjutnya | + | * Menjadi basis untuk OpenWRT build, kernel compile, dan Android x86 build pada bab selanjutnya |
| − | ISO Image, UEFI, dan Disk Layout | + | |
| − | Pemilihan ISO Ubuntu Server 24.04 | + | ==ISO Image, UEFI, dan Disk Layout== |
| + | ===Pemilihan ISO Ubuntu Server 24.04=== | ||
Ubuntu Server menggunakan installer berbasis Subiquity yang ringan dan cocok untuk server maupun VM. ISO dapat diunduh dalam arsitektur x86_64 (amd64). | Ubuntu Server menggunakan installer berbasis Subiquity yang ringan dan cocok untuk server maupun VM. ISO dapat diunduh dalam arsitektur x86_64 (amd64). | ||
| + | |||
Prinsip penting: | Prinsip penting: | ||
| − | Gunakan Server ISO, bukan Desktop | + | * Gunakan Server ISO, bukan Desktop |
| − | Instalasi berbasis CLI-first, GUI bukan prioritas | + | * Instalasi berbasis CLI-first, GUI bukan prioritas |
| − | Cocok untuk virtual machine (VirtualBox, KVM, GNS3) dan bare-metal | + | * Cocok untuk virtual machine (VirtualBox, KVM, GNS3) dan bare-metal |
Filosofi: belajar OS dimulai dari text mode, bukan GUI . | Filosofi: belajar OS dimulai dari text mode, bukan GUI . | ||
| − | UEFI vs Legacy BIOS | + | |
| + | ===UEFI vs Legacy BIOS=== | ||
Ubuntu Server 24.04 secara default menggunakan UEFI, yang lebih modern dan konsisten. | Ubuntu Server 24.04 secara default menggunakan UEFI, yang lebih modern dan konsisten. | ||
Perbedaan penting: | Perbedaan penting: | ||
| − | UEFI menggunakan GPT partition table | + | * UEFI menggunakan GPT partition table |
| − | Mendukung secure boot (opsional) | + | * Mendukung secure boot (opsional) |
| − | Lebih stabil untuk multi-OS dan disk besar | + | * Lebih stabil untuk multi-OS dan disk besar |
Rekomendasi lab: | Rekomendasi lab: | ||
| − | Aktifkan UEFI di VirtualBox | + | * Aktifkan UEFI di VirtualBox |
| − | Nonaktifkan Secure Boot untuk kemudahan eksperimen kernel | + | * Nonaktifkan Secure Boot untuk kemudahan eksperimen kernel |
| − | Disk Layout (Partitioning Strategy) | + | |
| + | ===Disk Layout (Partitioning Strategy)=== | ||
Mengacu pada konsep file system & storage di buku Sistem Operasi, disk layout harus mencerminkan tujuan sistem . | Mengacu pada konsep file system & storage di buku Sistem Operasi, disk layout harus mencerminkan tujuan sistem . | ||
| + | |||
Skema minimal (lab & VM): | Skema minimal (lab & VM): | ||
| − | / (root): 20–40 GB | + | * / (root): 20–40 GB |
| − | swap: 2–4 GB (atau swapfile) | + | * swap: 2–4 GB (atau swapfile) |
| − | Filesystem: ext4 | + | * Filesystem: ext4 |
| + | |||
Skema engineering (direkomendasikan): | Skema engineering (direkomendasikan): | ||
| − | / → OS inti | + | * / → OS inti |
| − | /home → eksperimen user & source code | + | * /home → eksperimen user & source code |
| − | /var → log, container, package cache | + | * /var → log, container, package cache |
Pisahkan data dari OS agar eksperimen kernel & tuning tidak merusak sistem utama. | Pisahkan data dari OS agar eksperimen kernel & tuning tidak merusak sistem utama. | ||
| − | Network Configuration dengan Netplan | + | |
| + | ==Network Configuration dengan Netplan== | ||
Ubuntu modern menggunakan Netplan sebagai abstraction layer konfigurasi jaringan, menggantikan ifconfig dan interfaces lama. | Ubuntu modern menggunakan Netplan sebagai abstraction layer konfigurasi jaringan, menggantikan ifconfig dan interfaces lama. | ||
| − | Konsep Netplan | + | ===Konsep Netplan=== |
Netplan adalah YAML-based network configuration system yang: | Netplan adalah YAML-based network configuration system yang: | ||
| − | Menghasilkan konfigurasi untuk systemd-networkd atau NetworkManager | + | * Menghasilkan konfigurasi untuk systemd-networkd atau NetworkManager |
| − | Cocok untuk server, VM, cloud, dan lab networking | + | * Cocok untuk server, VM, cloud, dan lab networking |
| − | Mendukung static IP, routing, VLAN, bridge | + | * Mendukung static IP, routing, VLAN, bridge |
Ini sejalan dengan pembahasan networking stack dan routing di buku Sistem Operasi dan OpenWRT . | Ini sejalan dengan pembahasan networking stack dan routing di buku Sistem Operasi dan OpenWRT . | ||
Contoh Static IP (Server Lab) | Contoh Static IP (Server Lab) | ||
| − | # /etc/netplan/01-lab.yaml | + | # /etc/netplan/01-lab.yaml |
| − | network: | + | network: |
| − | + | version: 2 | |
| − | + | ethernets: | |
| − | + | enp0s3: | |
| − | + | dhcp4: no | |
| − | + | addresses: | |
| − | + | - 192.168.100.10/24 | |
| − | + | gateway4: 192.168.100.1 | |
| − | + | nameservers: | |
| − | + | addresses: | |
| − | + | - 8.8.8.8 | |
| − | + | - 1.1.1.1 | |
| + | |||
Aktifkan konfigurasi: | Aktifkan konfigurasi: | ||
| − | sudo netplan apply | + | sudo netplan apply |
| + | |||
Langkah verifikasi: | Langkah verifikasi: | ||
| − | ip addr | + | ip addr |
| − | ip route | + | ip route |
| − | ping 8.8.8.8 | + | ping 8.8.8.8 |
| + | |||
Networking bukan sekadar “tersambung internet”, tetapi fondasi untuk routing, mesh, dan distributed system. | Networking bukan sekadar “tersambung internet”, tetapi fondasi untuk routing, mesh, dan distributed system. | ||
| − | SSH dan User Hardening | + | |
| − | Instalasi dan Akses SSH | + | ==SSH dan User Hardening== |
| + | ===Instalasi dan Akses SSH=== | ||
Ubuntu Server otomatis menyediakan OpenSSH Server. Akses awal: | Ubuntu Server otomatis menyediakan OpenSSH Server. Akses awal: | ||
| − | ssh user@192.168.100.10 | + | ssh user@192.168.100.10 |
SSH adalah gerbang utama administrasi sistem, sehingga harus diamankan sejak awal. | SSH adalah gerbang utama administrasi sistem, sehingga harus diamankan sejak awal. | ||
| − | User & Privilege Separation | + | |
| + | ===User & Privilege Separation=== | ||
Mengikuti prinsip security & isolation dalam sistem operasi modern : | Mengikuti prinsip security & isolation dalam sistem operasi modern : | ||
| − | Login sebagai user biasa | + | * Login sebagai user biasa |
| − | Gunakan sudo untuk administrasi | + | * Gunakan sudo untuk administrasi |
| − | Hindari login root langsung | + | * Hindari login root langsung |
Nonaktifkan root login SSH: | Nonaktifkan root login SSH: | ||
| − | sudo nano /etc/ssh/sshd_config | + | sudo nano /etc/ssh/sshd_config |
| + | |||
| + | PermitRootLogin no | ||
| + | PasswordAuthentication yes | ||
| − | |||
| − | |||
Restart SSH: | Restart SSH: | ||
| − | sudo systemctl restart ssh | + | sudo systemctl restart ssh |
Basic Hardening (Minimal tapi Penting) | Basic Hardening (Minimal tapi Penting) | ||
| − | sudo apt install ufw | + | sudo apt install ufw |
| − | sudo ufw allow ssh | + | sudo ufw allow ssh |
| − | sudo ufw enable | + | sudo ufw enable |
| + | |||
Hardening bukan paranoia, tetapi kontrol minimum agar eksperimen OS tidak berakhir dengan sistem rusak atau disusupi. | Hardening bukan paranoia, tetapi kontrol minimum agar eksperimen OS tidak berakhir dengan sistem rusak atau disusupi. | ||
| − | Package Management Modern (APT, Snap, Flatpak) | + | |
| + | ==Package Management Modern (APT, Snap, Flatpak)== | ||
Ubuntu 24.04 mendukung tiga paradigma manajemen paket, dan mahasiswa perlu memahami kapan menggunakan masing-masing. | Ubuntu 24.04 mendukung tiga paradigma manajemen paket, dan mahasiswa perlu memahami kapan menggunakan masing-masing. | ||
| − | APT (Advanced Package Tool) | + | |
| + | ===APT (Advanced Package Tool)=== | ||
APT adalah tulang punggung sistem Linux. | APT adalah tulang punggung sistem Linux. | ||
| − | sudo apt update | + | sudo apt update |
| − | sudo apt upgrade | + | sudo apt upgrade |
| − | sudo apt install build-essential git curl | + | sudo apt install build-essential git curl |
| + | |||
Digunakan untuk: | Digunakan untuk: | ||
| − | Library sistem | + | * Library sistem |
| − | Kernel headers | + | * Kernel headers |
| − | Tool CLI | + | * Tool CLI |
| − | Build environment | + | * Build environment |
Semua eksperimen kernel, OpenWRT, dan Android bergantung pada APT . | Semua eksperimen kernel, OpenWRT, dan Android bergantung pada APT . | ||
| − | Snap | + | |
| + | ===Snap=== | ||
Snap bersifat containerized package: | Snap bersifat containerized package: | ||
| − | Cocok untuk aplikasi siap pakai | + | * Cocok untuk aplikasi siap pakai |
| − | Isolasi lebih baik | + | * Isolasi lebih baik |
| − | Update otomatis | + | * Update otomatis |
| − | sudo snap install htop | + | sudo snap install htop |
Gunakan Snap hanya jika tidak mengganggu eksperimen low-level. | Gunakan Snap hanya jika tidak mengganggu eksperimen low-level. | ||
| − | Flatpak (Opsional) | + | |
| + | ===Flatpak (Opsional)=== | ||
Flatpak lebih sering digunakan di desktop, jarang dipakai di server, namun penting dikenalkan sebagai konsep application sandboxing. | Flatpak lebih sering digunakan di desktop, jarang dipakai di server, namun penting dikenalkan sebagai konsep application sandboxing. | ||
| + | |||
Ini relevan dengan security & isolation di OS modern. | Ini relevan dengan security & isolation di OS modern. | ||
| − | Penutup | + | |
| + | ==Penutup== | ||
Setelah menyelesaikan bab ini, mahasiswa tidak hanya mampu menginstal Ubuntu, tetapi: | Setelah menyelesaikan bab ini, mahasiswa tidak hanya mampu menginstal Ubuntu, tetapi: | ||
| − | Memahami disk, boot, dan filesystem | + | * Memahami disk, boot, dan filesystem |
| − | Mengkonfigurasi network secara deterministik | + | * Mengkonfigurasi network secara deterministik |
| − | Menerapkan security dasar berbasis OS | + | * Menerapkan security dasar berbasis OS |
| − | Mengelola paket secara engineering-aware | + | * Mengelola paket secara engineering-aware |
Bab ini adalah pondasi wajib sebelum masuk ke: | Bab ini adalah pondasi wajib sebelum masuk ke: | ||
| − | Linux CLI survival | + | * Linux CLI survival |
| − | Kernel compile | + | * Kernel compile |
| − | OpenWRT x86 | + | * OpenWRT x86 |
| − | Android x86 build | + | * Android x86 build |
Filosofi: | Filosofi: | ||
| − | Kalau instalasi OS saja tidak dipahami, jangan berharap bisa membuat dan men-tune OS sendiri. | + | Kalau instalasi OS saja tidak dipahami, jangan berharap bisa membuat dan men-tune OS sendiri. |
==Pranala Menarik== | ==Pranala Menarik== | ||
* [[Sistem operasi]] | * [[Sistem operasi]] | ||
Latest revision as of 02:40, 14 February 2026
Bab ini membahas proses instalasi Ubuntu Server 24.04 secara sistematis, reproducible, dan engineering-oriented, bukan sekadar “klik next”. Pendekatan ini selaras dengan semangat buku Sistem Operasi karya Onno W. Purbo yang menekankan bahwa sistem operasi harus dipahami sebagai sistem yang bisa dikonfigurasi, diutak-atik, dan direkayasa, bukan kotak hitam.
Ubuntu Server 24.04 dipilih sebagai core platform karena:
- Stabil (LTS) dan cocok untuk eksperimen jangka panjang
- Kernel Linux modern yang mendukung container, networking advanced, dan kernel tuning
- Ekosistem open source lengkap, tanpa ketergantungan proprietary software
- Menjadi basis untuk OpenWRT build, kernel compile, dan Android x86 build pada bab selanjutnya
ISO Image, UEFI, dan Disk Layout
Pemilihan ISO Ubuntu Server 24.04
Ubuntu Server menggunakan installer berbasis Subiquity yang ringan dan cocok untuk server maupun VM. ISO dapat diunduh dalam arsitektur x86_64 (amd64).
Prinsip penting:
- Gunakan Server ISO, bukan Desktop
- Instalasi berbasis CLI-first, GUI bukan prioritas
- Cocok untuk virtual machine (VirtualBox, KVM, GNS3) dan bare-metal
Filosofi: belajar OS dimulai dari text mode, bukan GUI .
UEFI vs Legacy BIOS
Ubuntu Server 24.04 secara default menggunakan UEFI, yang lebih modern dan konsisten. Perbedaan penting:
- UEFI menggunakan GPT partition table
- Mendukung secure boot (opsional)
- Lebih stabil untuk multi-OS dan disk besar
Rekomendasi lab:
- Aktifkan UEFI di VirtualBox
- Nonaktifkan Secure Boot untuk kemudahan eksperimen kernel
Disk Layout (Partitioning Strategy)
Mengacu pada konsep file system & storage di buku Sistem Operasi, disk layout harus mencerminkan tujuan sistem .
Skema minimal (lab & VM):
- / (root): 20–40 GB
- swap: 2–4 GB (atau swapfile)
- Filesystem: ext4
Skema engineering (direkomendasikan):
- / → OS inti
- /home → eksperimen user & source code
- /var → log, container, package cache
Pisahkan data dari OS agar eksperimen kernel & tuning tidak merusak sistem utama.
Network Configuration dengan Netplan
Ubuntu modern menggunakan Netplan sebagai abstraction layer konfigurasi jaringan, menggantikan ifconfig dan interfaces lama.
Konsep Netplan
Netplan adalah YAML-based network configuration system yang:
- Menghasilkan konfigurasi untuk systemd-networkd atau NetworkManager
- Cocok untuk server, VM, cloud, dan lab networking
- Mendukung static IP, routing, VLAN, bridge
Ini sejalan dengan pembahasan networking stack dan routing di buku Sistem Operasi dan OpenWRT .
Contoh Static IP (Server Lab)
# /etc/netplan/01-lab.yaml
network:
version: 2
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.100.10/24
gateway4: 192.168.100.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
Aktifkan konfigurasi:
sudo netplan apply
Langkah verifikasi:
ip addr ip route ping 8.8.8.8
Networking bukan sekadar “tersambung internet”, tetapi fondasi untuk routing, mesh, dan distributed system.
SSH dan User Hardening
Instalasi dan Akses SSH
Ubuntu Server otomatis menyediakan OpenSSH Server. Akses awal:
ssh user@192.168.100.10
SSH adalah gerbang utama administrasi sistem, sehingga harus diamankan sejak awal.
User & Privilege Separation
Mengikuti prinsip security & isolation dalam sistem operasi modern :
- Login sebagai user biasa
- Gunakan sudo untuk administrasi
- Hindari login root langsung
Nonaktifkan root login SSH:
sudo nano /etc/ssh/sshd_config
PermitRootLogin no PasswordAuthentication yes
Restart SSH:
sudo systemctl restart ssh
Basic Hardening (Minimal tapi Penting)
sudo apt install ufw sudo ufw allow ssh sudo ufw enable
Hardening bukan paranoia, tetapi kontrol minimum agar eksperimen OS tidak berakhir dengan sistem rusak atau disusupi.
Package Management Modern (APT, Snap, Flatpak)
Ubuntu 24.04 mendukung tiga paradigma manajemen paket, dan mahasiswa perlu memahami kapan menggunakan masing-masing.
APT (Advanced Package Tool)
APT adalah tulang punggung sistem Linux.
sudo apt update sudo apt upgrade sudo apt install build-essential git curl
Digunakan untuk:
- Library sistem
- Kernel headers
- Tool CLI
- Build environment
Semua eksperimen kernel, OpenWRT, dan Android bergantung pada APT .
Snap
Snap bersifat containerized package:
- Cocok untuk aplikasi siap pakai
- Isolasi lebih baik
- Update otomatis
sudo snap install htop
Gunakan Snap hanya jika tidak mengganggu eksperimen low-level.
Flatpak (Opsional)
Flatpak lebih sering digunakan di desktop, jarang dipakai di server, namun penting dikenalkan sebagai konsep application sandboxing.
Ini relevan dengan security & isolation di OS modern.
Penutup
Setelah menyelesaikan bab ini, mahasiswa tidak hanya mampu menginstal Ubuntu, tetapi:
- Memahami disk, boot, dan filesystem
- Mengkonfigurasi network secara deterministik
- Menerapkan security dasar berbasis OS
- Mengelola paket secara engineering-aware
Bab ini adalah pondasi wajib sebelum masuk ke:
- Linux CLI survival
- Kernel compile
- OpenWRT x86
- Android x86 build
Filosofi:
Kalau instalasi OS saja tidak dipahami, jangan berharap bisa membuat dan men-tune OS sendiri.