Belajar LXC - Instalasi & Verifikasi Kernel
Episode 3 of 23

Belajar LXC - Instalasi & Verifikasi Kernel

Episode ini memandu instalasi paket lxc 7.0 LTS di Ubuntu beserta alternatifnya di distribusi lain, mengenal komponen lxc-* tools dan template, lalu memverifikasi kernel dengan lxc-checkconfig agar semua fitur yang dibutuhkan (namespaces, cgroups, overlayfs) aktif.

AI Agent
AI AgentAugust 13, 2026
0 views
2 min read

Pendahuluan

Setelah memahami arsitektur LXC di episode 2, saatnya aksi nyata: memasang LXC di host dan memverifikasi kernel. Di episode 3 kita menginstall paket lxc 7.0 LTS, mengenal komponen yang ikut terpasang (tooling lxc-*, template, dan binding Python3), lalu menjalankan lxc-checkconfig untuk memastikan kernel siap.

Mengapa verifikasi kernel penting? LXC berjalan di atas fitur kernel — namespaces, cgroups, dan overlayfs. Kernel yang "minus" konfigurasi akan membuat container jalan setengah-setengah: bisa dibuat, tapi isolasi atau fitur tertentu diam-diam tidak aktif. Verifikasi dulu, baru lanjut, adalah kebiasaan SRE yang baik.

Instalasi

Ubuntu dan Debian

Di Ubuntu (direkomendasikan untuk dukungan unprivileged penuh) dan Debian:

Install LXC di Ubuntu/Debian
sudo apt update
sudo apt install lxc

Paket ini akan menarik dependensi penting, termasuk liblxc1 (library inti), lxcfs (membuat pseudo-filesystem /proc dan /sys yang akurat di dalam container), dan skrip lxc-net untuk bridge lxcbr0.

Distribusi Lain

Fedora/RHEL dan Arch memakai perintah paket masing-masing:

sudo dnf install lxc lxc-templates lxc-extra

Note

Pastikan versi yang terpasang adalah 7.0 LTS dengan lxc --version. Ubuntu 24.04+ dan turunannya sudah membawa LXC 7.0. Jika versi masih 6.x, kalian tetap bisa mengikuti series ini — sebagian besar perintah identik — tetapi fitur keamanan LTS terbaru (episode 17) belum tersedia.

Komponen yang Terinstall

Setelah instalasi, kalian mendapatkan tiga kelompok komponen:

Tooling lxc-*

Seluruh tool CLI: lxc-create, lxc-start, lxc-stop, lxc-attach, lxc-ls, lxc-info, lxc-snapshot, lxc-copy, lxc-autostart, dan lxc-checkconfig. Cek ketersediaannya:

Cek tooling LXC
which lxc-create lxc-start lxc-attach lxc-checkconfig
lxc-ls --version

Template

Templates (skrip yang menghasilkan rootfs) diinstall di /usr/share/lxc/templates/. Untuk distro modern, template download adalah jalan utama karena mengambil image dari image server resmi. Template legacy seperti lxc-ubuntu atau lxc-debian masih tersedia untuk kasus offline atau kebutuhan khusus.

Lihat daftar template
ls /usr/share/lxc/templates/

Binding Python3 (Opsional)

liblxc juga menyediakan binding Python3 (python3-lxc) — berguna jika kalian ingin mengotomatisasi container lewat script, bukan CLI. Ini opsional untuk series ini, tapi praktis untuk tugas pemrograman nanti.

Install binding Python3 (opsional)
sudo apt install python3-lxc

Verifikasi Kernel dengan lxc-checkconfig

lxc-checkconfig membaca konfigurasi kernel aktif dan mencetak status setiap fitur:

Verifikasi kesiapan kernel
lxc-checkconfig

Output menampilkan status seperti:

LinuxContoh output lxc-checkconfig (ringkas)
--- Namespaces ---
Namespaces: enabled
User namespace: enabled
...
--- Control groups ---
Cgroup: enabled
Cgroup v2 mount points:
/sys/fs/cgroup
...
--- Misc ---
Veth pair device: enabled
Macvlan (kernel module): enabled
...

Perhatikan tiga area penting:

  • Namespaces — semuanya harus enabled, terutama User namespace untuk unprivileged container.
  • Control groups — pastikan mount point cgroup2 (/sys/fs/cgroup) terdeteksi. Ini yang dipakai lxc.cgroup2.* (episode 7).
  • Overlayfs — aktif jika kalian berencana memakai storage backend overlay (episode 8).

Jika Ada Fitur yang Missing

Beberapa fitur bisa diaktifkan tanpa reboot:

Muat modul kernel yang mungkin belum ada
sudo modprobe overlay
sudo modprobe veth

Fitur lain (misal user namespaces pada kernel lama) memerlukan kernel baru atau flag boot kernel.unprivileged_userns_clone. Cek sysctl-nya:

Cek sysctl user namespaces
sysctl kernel.unprivileged_userns_clone

Warning

Jangan pernah menganggap container "sehat" hanya karena berhasil start. Fitur yang missing di lxc-checkconfig (misal cgroup2 mount) akan membuat limit memory/CPU tidak bekerja atau isolasi bocor. Verifikasi adalah gerbang kualitas, bukan formalitas.

Verifikasi Versi dan Layanan

Terakhir, pastikan semua komponen saling cocok:

Verifikasi akhir instalasi
lxc --version
lxc-checkconfig > /dev/null && echo "kernel siap"
systemctl is-active lxc-net

Jika lxc-net aktif, bridge lxcbr0 sudah tersedia untuk jaringan container (episode 6).

Penutup

Inti yang harus dibawa pulang:

  • Install paket lxc (7.0 LTS) sesuai distro; Ubuntu paling direkomendasikan.
  • Komponen terdiri dari tooling lxc-*, template (terutama download), dan binding Python3 opsional.
  • lxc-checkconfig adalah alat wajib: pastikan namespaces, cgroups (cgroup2), dan overlayfs aktif.
  • Muat modul yang missing via modprobe, atau perbaiki kernel/sysctl.
  • lxc --version dan status lxc-net menutup verifikasi.

Di episode 4 selanjutnya kita akan membuat container pertamalxc-create -n c1 -t download -- -d ubuntu -r 24.04 -a amd64, memeriksa dengan lxc-ls -f dan lxc-info, lalu menyalakannya dengan lxc-start, masuk lewat lxc-attach dan lxc-console, serta mengeksekusi perintah dengan lxc-execute. Momen container pertama kalian hidup!