Lewati ke isi

Server & Infrastruktur

Struktur Folder Linux untuk Pemula, dari /etc sampai /var

Peta folder penting di server Linux: tempat config di /etc, log dan data di /var, program di /usr, dan folder yang sebaiknya tidak disentuh.

Terbit 5 menit baca

Jawaban singkat

Linux menyusun semua file dalam satu pohon yang berawal dari /. Pengaturan ada di /etc, log dan data yang terus berubah ada di /var, program ada di /usr, file pengguna di /home, sedangkan /proc dan /sys adalah folder virtual yang dibuat kernel.

Daftar isi
  1. Peta singkat folder utama
  2. Apa saja isi /etc yang perlu kamu kenal?
  3. Kenapa /var sering membuat disk penuh?
  4. Apa bedanya /usr, /usr/local, dan /opt?
  5. Folder yang jangan diubah sembarangan
  6. Bagaimana mencari file kalau lupa lokasinya?
  7. Pertanyaan yang sering diajukan

Di Linux, semua file berada dalam satu pohon folder yang berawal dari / (root), dan setiap folder utama punya tugas tetap: /etc untuk pengaturan, /var untuk log dan data yang berubah, /usr untuk program, /home untuk file pengguna.

Kenapa ini penting? Karena hampir semua pekerjaan admin server berujung pada pertanyaan "file-nya di mana?". Config Nginx yang perlu diubah, log yang harus dibaca saat website error, atau folder yang membuat disk penuh. Begitu kamu hafal petanya, kamu tidak lagi menebak-nebak. Susunan ini mengikuti standar Filesystem Hierarchy Standard (FHS) yang dipakai Ubuntu, Debian, AlmaLinux, dan distro besar lainnya.

Peta singkat folder utama

FolderIsiPerlu sering dibuka?
/etcFile konfigurasi sistem dan aplikasiSangat sering
/varLog, database, cache, antrean email, file websiteSering
/homeFolder pribadi setiap penggunaSesekali
/rootFolder pribadi pengguna rootSesekali
/usrProgram, library, dokumentasi bawaan paketJarang
/usr/local, /optSoftware yang dipasang manual di luar manajer paketSesekali
/bootKernel dan file untuk proses bootJarang, jangan diubah sembarangan
/tmpFile sementara, bisa terhapus saat rebootJarang
/devPerangkat seperti disk (/dev/sda, /dev/nvme0n1)Jarang
/proc, /sysFolder virtual berisi info kernel dan prosesUntuk dibaca saja
/mnt, /mediaTitik pasang disk tambahan atau mediaSaat menambah disk

Apa saja isi /etc yang perlu kamu kenal?

/etc adalah tempat yang paling sering kamu kunjungi. Hampir semua isinya berupa file teks biasa yang bisa diedit dengan nano atau vim. Beberapa yang sering dipakai:

  • /etc/ssh/sshd_config: pengaturan server SSH, misalnya port dan izin login root.
  • /etc/hosts dan /etc/hostname: nama mesin dan pemetaan nama ke IP secara lokal.
  • /etc/fstab: daftar disk atau partisi yang dipasang otomatis saat boot.
  • /etc/passwd, /etc/group, /etc/shadow: data akun pengguna, grup, dan hash password.
  • /etc/sudoers dan /etc/sudoers.d/: siapa boleh menjalankan perintah sebagai root.
  • /etc/systemd/system/: file service buatan admin.
  • /etc/cron.d/ dan /etc/crontab: jadwal tugas otomatis sistem.
  • /etc/nginx/, /etc/php/, /etc/mysql/: config aplikasi yang dipasang lewat paket.

Ada perbedaan kecil antar keluarga distro. Apache di Ubuntu dan Debian ada di /etc/apache2/, sedangkan di AlmaLinux ada di /etc/httpd/. Pengaturan default service di Debian sering ada di /etc/default/, sementara keluarga Red Hat memakai /etc/sysconfig/.

Kenapa /var sering membuat disk penuh?

Nama /var berasal dari "variable": isinya terus bertambah selama server berjalan. Subfolder yang perlu kamu kenal:

  • /var/log/: log sistem dan aplikasi, seperti /var/log/nginx/, /var/log/auth.log (Debian/Ubuntu), atau /var/log/secure (AlmaLinux). Penjelasan lengkapnya ada di lokasi log penting di Linux.
  • /var/lib/: data milik aplikasi. Database MySQL atau MariaDB biasanya di /var/lib/mysql/, Docker di /var/lib/docker/, PostgreSQL di /var/lib/postgresql/ (Debian/Ubuntu) atau /var/lib/pgsql/ (AlmaLinux).
  • /var/www/: lokasi umum file website, walau ini konvensi paket web server dan bukan aturan wajib.
  • /var/cache/: cache, termasuk paket unduhan apt atau dnf.
  • /var/spool/: antrean, misalnya email yang menunggu dikirim dan jadwal cron per pengguna.

Karena log, database, dan image Docker semuanya tinggal di /var, folder inilah tersangka pertama saat disk penuh. Perintah sudo du -sh /var/* | sort -h cepat menunjukkan subfolder mana yang paling besar. Langkah pembersihan yang aman dibahas di cara membersihkan disk server yang penuh.

Apa bedanya /usr, /usr/local, dan /opt?

/usr berisi program dan library yang dipasang oleh manajer paket (apt atau dnf). Jangan menaruh file sendiri di sini, karena bisa tertimpa saat paket diperbarui.

Di distro modern, /bin, /sbin, dan /lib sebenarnya adalah tautan ke /usr/bin, /usr/sbin, dan /usr/lib. Susunan yang disebut "merged /usr" ini dipakai Ubuntu, Debian, dan AlmaLinux versi terbaru, jadi jangan bingung kalau perintah ls -l / menampilkan panah.

Untuk software yang kamu pasang sendiri dari kode sumber atau arsip unduhan, gunakan /usr/local (biasanya program kecil, misalnya skrip di /usr/local/bin) atau /opt (aplikasi utuh dalam satu folder, misalnya /opt/namaapp).

Folder yang jangan diubah sembarangan

  • /proc dan /sys bukan file sungguhan di disk. Kernel membuatnya saat berjalan. Kamu bisa membaca info seperti /proc/cpuinfo atau /proc/meminfo, tetapi menghapus atau menyalin isinya tidak ada gunanya.
  • /boot berisi kernel. Menghapus file di sini bisa membuat server gagal boot.
  • /dev berisi perangkat. Perintah salah seperti menulis ke /dev/sda bisa menghapus isi disk.
  • /etc/shadow dan /etc/sudoers sebaiknya diubah lewat alat khusus (passwd, visudo), bukan diedit langsung.

Bagaimana mencari file kalau lupa lokasinya?

Beberapa perintah yang membantu:

  • which nginx: lokasi program yang dijalankan.
  • dpkg -L nginx (Ubuntu/Debian) atau rpm -ql nginx (AlmaLinux): semua file yang dipasang suatu paket.
  • sudo find /etc -name "*.conf" -newer /etc/hostname: mencari config yang baru diubah.
  • systemctl cat nginx: melihat file service dan lokasinya.

Siapa yang boleh membaca dan mengubah file di folder-folder tersebut diatur oleh permission. Bila ingin mendalaminya, baca memahami permission Linux.

Pertanyaan yang sering diajukan

Di mana sebaiknya file website disimpan, /var/www atau /home?

Keduanya dipakai. /var/www adalah bawaan paket web server, sedangkan banyak panel hosting menaruh website di /home/namauser agar setiap pengguna terpisah. Yang penting konsisten dan permission-nya benar.

Apakah aman menghapus isi /tmp?

File di /tmp memang sementara, tetapi bisa sedang dipakai proses yang berjalan. Lebih aman membiarkan sistem membersihkannya, atau menghapus hanya file lama milik aplikasi yang kamu kenal.

Kenapa ada folder /root padahal sudah ada /home?

/root adalah folder pribadi pengguna root. Dipisah dari /home supaya admin tetap punya folder kerja walau /home berada di disk terpisah yang gagal dipasang.

Sumber & referensi

Baca juga