Episode ini menelusuri asal-usul Alpine Linux sejak 2010 sebagai distro untuk router kecil, filosofi Small Simple Secure, serta riwayat rilis besarnya. Kalian juga memahami mengapa ukuran image minimal, footprint RAM rendah, dan desain keamanannya menjadikan Alpine pilihan populer untuk container dan firewall.

Sebelum menulis konfigurasi, penting untuk memahami dari mana Alpine Linux berasal dan mengapa desainnya terlihat "berbeda" dari distro lain. Episode 1 menelusuri sejarah kelahiran Alpine, filosofi yang menentukannya, riwayat rilis besar, dan alasan praktis mengapa begitu banyak orang kini membutuhkannya.
Pertanyaan yang selalu muncul: mengapa memilih Alpine dibandingkan Ubuntu atau Debian? Jawabannya bukan soal versi terbaru, melainkan tiga pilar desain: kecil, sederhana, dan aman. Mari kita bedah ketiganya satu per satu.
Alpine Linux lahir pada tahun 2010 dari kebutuhan proyek router kecil yang menginginkan sistem Linux berukuran sangat ringkas namun tetap dapat dipelihara. Proyek ini berkembang dari sistem basis bernama LEAF (Linux Embedded Appliance Framework), lalu dirombak menjadi distro mandiri yang kita kenal sekarang. Fokus awalnya memang perangkat embedded dan jaringan: router, firewall, dan appliance kecil.
Karena itu Alpine tidak dibangun di atas GNU toolchain yang besar. Sebagai gantinya, Alpine memakai musl libc sebagai C library dan BusyBox sebagai kumpulan utilitas — dua keputusan fundamental yang bertahan hingga hari ini dan akan kita bedah di episode 2.
Moto resmi Alpine Linux adalah "Small. Simple. Secure." Tiga kata ini bukan sekadar slogan, melainkan kriteria desain:
Keputusan memakai musl dan BusyBox mengurangi ukuran sekaligus jumlah kode yang bisa dieksploitasi. Ini alasan utama Alpine sering dipakai sebagai base image container yang aman.
Selain itu, Alpine menerapkan model rilis semi-tahunan yang disiplin: versi baru keluar sekitar bulan Mei dan Desember, dengan siklus dukungan sekitar dua tahun per versi mayor. Karena itu kalian selalu bisa memakai versi stabil yang baru tanpa menunggu terlalu lama, dan waktu untuk merencanakan migrasi antar versi cukup longgar. Perilaku rilis ini juga menjadi alasan mengapa begitu banyak tool cloud dan image container memakai Alpine sebagai fondasi.
Alpine merilis versi mayor dua kali setahun, dan beberapa di antaranya membawa perubahan penting:
linux-edge menjadi linux-stable.Selain rilis di atas, alpine juga menjaga cabang edge yang selalu aktif: tempat pengembangan paket terbaru berlangsung sebelum didorong ke rilis stabil berikutnya. Bagi pengguna umum, edge berguna untuk mencicipi fitur baru, tapi untuk produksi sebaiknya tetap di rilis stabil.
Cek versi rilis kalian dengan perintah berikut:
cat /etc/alpine-release
apk --version
uname -rDari output apk --version, kalian bisa melihat apakah memakai apk v2 atau v3 — perbedaan ini kita bahas lengkap di episode 4. Sebagai gambaran, Alpine 3.23 dan 3.24 memakai apk v3, sementara semua rilis sebelum 3.23 memakai apk v2. Meski sintaks perintah sehari-hari sama, format indeks dan kecepatan resolusi dependency-nya berbeda signifikan.
Penting juga untuk mencatat bahwa setiap versi mayor Alpine didukung sekitar dua tahun. Ini berarti kalian bisa tinggal di satu versi dalam waktu yang cukup lama, tapi migrasi tetap harus direncanakan sebelum masa dukungan berakhir. Website endoflife.date selalu memuat jadwal rilis dan akhir dukungan Alpine untuk perencanaan produksi.
Alpine adalah salah satu distro paling hemat sumber daya. Image container alpine:latest hanya sekitar 5 MB, sehingga pull image cepat, disk terpakai sedikit, dan waktu cold start container singkat. Di server fisik maupun VM, kebutuhan RAM Alpine sangat rendah — bisa berjalan nyaman di perangkat dengan RAM 256 MB. Ini menjadikannya pilihan utama untuk cloud, edge, dan perangkat embedded.
Keamanan di Alpine dirancang sejak awal, bukan ditambahkan belakangan:
-fstack-protector-strong dan PIE secara default.Periksa keamanan dasar sistem dengan:
id
ps aux | wc -lOutput ps aux | wc -l di Alpine biasanya jauh lebih sedikit baris dibandingkan distro berbasis systemd karena minimnya komponen yang berjalan. Coba juga ps aux --sort=-rss | head -5 untuk melihat proses mana yang paling banyak memakai memori — di Alpine kalian akan melihat bahwa tidak ada daemon yang boros sumber daya.
Dua kasus penggunaan terbesar Alpine adalah:
alpine:latest dipakai jutaan container di seluruh dunia karena kecil dan cepat.Di episode 10 kita akan membangun firewall nftables dan di episode 16 menggunakan Alpine sebagai base image. Kedua kasus ini lahir langsung dari keputusan desain di episode 1.
Bagi pengembang yang datang dari dunia container, ada satu alasan lagi yang praktis: Alpine menggunakan namespace dan tooling yang ringan, sehingga memulai container memakan waktu dan sumber daya sangat kecil. Ketika menjalankan ratusan container di satu node, penghematan beberapa MB per container langsung terakumulasi menjadi penghematan besar pada memori dan disk.
Tip
Jika kalian datang dari Ubuntu atau Debian, jangan terkejut saat melihat tidak ada systemctl dan sudo di Alpine. Ini bukan kekurangan, melainkan keputusan desain yang akan kita pahami di episode 5 dan 6.
Episode 1 menjelaskan dari mana Alpine berasal dan mengapa desainnya unik: lahir tahun 2010 untuk router kecil, dibangun di atas musl libc dan BusyBox, berpedoman pada moto Small Simple Secure, dan kini menjadi distro pilihan untuk container serta perangkat jaringan.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas konsep dasar dan arsitektur utama Alpine — perbedaan mendalam musl libc versus glibc, cara kerja BusyBox dan applets-nya, arsitektur apk dengan repository main, community, dan testing, serta peran kernel linux-lts dan linux-stable.