Bagi siapa pun yang baru terjun ke dunia Linux, System Administration, atau DevOps, salah satu kebingungan paling umum adalah: “Kenapa file konfigurasi ada di sini, tapi log ada di sana? Kenapa aplikasi tambahan tidak diletakkan di folder yang sama dengan aplikasi bawaan sistem?”
Jawabannya terletak pada sebuah standar yang disebut Filesystem Hierarchy Standard (FHS). Standar ini adalah “peta jalan” yang mengatur di mana seharusnya setiap jenis file diletakkan dalam sistem Linux, mulai dari konfigurasi, data aplikasi, hingga file log.
Memahami FHS bukan sekadar teori. Ini adalah pengetahuan praktis yang akan langsung memengaruhi cara kamu mengelola server sehari-hari. Admin yang tidak memahami struktur direktori dengan baik sering kali:
- Menaruh file konfigurasi di lokasi yang salah sehingga sulit di-maintain
- Kebingungan mencari log ketika terjadi masalah pada server
- Menimpa file sistem penting saat instalasi software pihak ketiga
- Kesulitan melakukan backup karena tidak tahu direktori mana yang benar-benar penting
Artikel ini akan mengupas tuntas fungsi direktori-direktori inti dalam Linux, khususnya /etc, /var, /usr, /opt, dan /proc, lengkap dengan contoh kasus nyata, best practice, dan kesalahan umum yang sering terjadi di lapangan. Baik kamu seorang pemula yang baru belajar Linux, maupun seorang Sysadmin berpengalaman yang ingin menyegarkan pemahaman, artikel ini disusun agar mudah dipahami sekaligus tetap teknis dan akurat.
Apa itu Filesystem Hierarchy Standard (FHS)?
FHS adalah standar yang mendefinisikan struktur direktori dan isi direktori pada sistem operasi mirip Unix, termasuk Linux. Standar ini dikelola oleh Linux Foundation dan bertujuan agar berbagai distribusi Linux (Ubuntu, Debian, CentOS, Rocky Linux, Fedora, dan lainnya) memiliki struktur folder yang konsisten.
Analoginya seperti ini: bayangkan FHS sebagai “denah gedung perkantoran”. Setiap lantai dan ruangan memiliki fungsi spesifik: lantai satu untuk resepsionis, lantai dua untuk arsip dokumen, lantai tiga untuk ruang server. Jika setiap gedung menerapkan denah yang berbeda-beda, karyawan baru yang pindah kantor akan kebingungan. FHS memastikan “denah gedung” Linux ini seragam di berbagai distribusi.
Dengan adanya standar ini, seorang admin yang terbiasa mengelola server Ubuntu dapat dengan mudah beradaptasi ketika harus mengelola server berbasis CentOS atau Debian, karena struktur dasarnya tetap sama.
/etc — Rumah Bagi Konfigurasi Sistem
Direktori /etc adalah tempat penyimpanan file konfigurasi yang bersifat statis dan spesifik untuk host (mesin) tersebut. Nama “etc” sering diasosiasikan dengan singkatan “et cetera”, meski dalam praktiknya lebih tepat dipahami sebagai “editable text configuration”.
Beberapa contoh isi /etc yang umum dijumpai:
/etc/passwddan/etc/shadow— data akun pengguna sistem/etc/ssh/sshd_config— konfigurasi layanan SSH/etc/nginx/atau/etc/apache2/— konfigurasi web server/etc/fstab— daftar partisi dan titik mount/etc/hosts— pemetaan hostname ke alamat IP/etc/network/atau/etc/netplan/— konfigurasi jaringan
Contoh kasus: Saat kamu mengubah port default SSH dari 22 ke port lain demi alasan keamanan, perubahan tersebut dilakukan di /etc/ssh/sshd_config. File ini bersifat plain text sehingga mudah diedit menggunakan editor seperti nano atau vim.
Karena sifatnya yang krusial, banyak admin berpengalaman selalu membuat backup direktori /etc sebelum melakukan perubahan besar, atau bahkan menaruhnya di bawah kontrol versi seperti Git (etckeeper) agar setiap perubahan konfigurasi dapat dilacak.
/var — Tempat Data yang “Variable”
Nama /var berasal dari kata “variable”, karena direktori ini menyimpan data yang isinya terus berubah selama sistem berjalan. Berbeda dengan /etc yang relatif statis, isi /var bersifat dinamis dan bisa membengkak seiring waktu.
Beberapa subdirektori penting di dalam /var:
/var/log— lokasi seluruh file log sistem dan aplikasi (syslog, auth.log, nginx access log, dsb.)/var/www— lokasi default file website pada banyak distribusi (misalnya Apache di Debian/Ubuntu)/var/spool— antrian tugas seperti print job atau mail queue/var/cache— data cache aplikasi/var/lib— data status aplikasi yang persisten, misalnya database MySQL biasanya disimpan di/var/lib/mysql
Contoh kasus: Server tiba-tiba down karena kehabisan ruang disk. Setelah dicek dengan perintah du -sh /var/log/*, ternyata file log Nginx sudah membengkak hingga puluhan gigabyte karena rotasi log tidak berjalan dengan baik. Kasus semacam ini sangat umum terjadi dan menjadi alasan mengapa memahami /var itu penting — bukan hanya soal konfigurasi, tapi juga soal pemantauan kapasitas disk.
/usr — Bukan Sekadar “User”
Banyak pemula mengira /usr berarti “user”, padahal sebenarnya merupakan singkatan dari Unix System Resources. Direktori ini berisi program, library, dokumentasi, dan resource lain yang bisa dibagikan (shareable) dan bersifat read-only saat sistem berjalan normal.
Struktur penting di dalam /usr:
/usr/bin— sebagian besar binari/program aplikasi pengguna/usr/sbin— binari untuk administrasi sistem/usr/lib— library yang dibutuhkan oleh program di/usr/bindan/usr/sbin/usr/share— data yang tidak bergantung arsitektur, seperti dokumentasi dan ikon/usr/local— software yang dikompilasi atau diinstal secara manual oleh admin, terpisah dari paket bawaan distro
Analogi sederhana: Jika /etc adalah “buku aturan kantor”, maka /usr adalah “gudang peralatan kerja” yang berisi seluruh perkakas (program) yang dipakai sehari-hari oleh sistem maupun pengguna.
/opt — Rumah untuk Software Pihak Ketiga
Direktori /opt (optional) disediakan khusus untuk paket software tambahan yang bersifat mandiri (self-contained), biasanya berasal dari vendor pihak ketiga di luar package manager resmi distribusi.
Contoh penggunaan /opt:
- Aplikasi enterprise seperti
/opt/google/chrome - Software monitoring seperti Zabbix agent yang diinstal manual
- Aplikasi custom milik perusahaan yang di-deploy ke server, misalnya
/opt/myapp
Kenapa tidak diletakkan di /usr/bin saja? Karena filosofi FHS memisahkan software bawaan sistem (yang diinstal via package manager seperti apt atau dnf) dari software tambahan pihak ketiga. Pemisahan ini memudahkan admin ketika ingin melakukan upgrade sistem operasi tanpa mengganggu aplikasi custom yang berjalan di /opt.
/proc — Direktori Virtual yang “Hidup”
Berbeda dari direktori lain, /proc bukanlah direktori fisik yang menyimpan file di disk. Ini adalah virtual filesystem yang dibuat secara dinamis oleh kernel Linux untuk merepresentasikan informasi kernel dan proses yang sedang berjalan.
Beberapa contoh isi /proc:
/proc/cpuinfo— informasi detail prosesor/proc/meminfo— informasi penggunaan memori/proc/[PID]/— informasi detail tentang proses tertentu berdasarkan Process ID/proc/uptime— lama waktu sistem menyala/proc/net/— informasi terkait jaringan pada level kernel
Contoh kasus: Ketika sebuah aplikasi mengalami memory leak, seorang admin dapat memeriksa /proc/[PID]/status untuk melihat detail penggunaan memori dari proses tersebut secara real-time, tanpa perlu menginstal tool tambahan.
Karena sifatnya yang virtual, ukuran file di /proc sering ditampilkan sebagai 0 byte oleh perintah ls -l, meskipun isinya tetap bisa dibaca. Hal ini normal dan bukan tanda adanya kerusakan sistem.
Materi Praktis
Langkah-Langkah Melakukan Eksplorasi Direktori FHS
- Masuk ke server melalui SSH atau akses terminal langsung.
- Jalankan perintah
ls -l /untuk melihat struktur direktori root. - Eksplorasi
/etcdengan perintahls /etcuntuk melihat daftar konfigurasi yang tersedia. - Cek penggunaan disk pada
/var/logmenggunakandu -sh /var/log/*untuk memantau ukuran log. - Periksa software tambahan yang terinstal di
/optdengan perintahls /opt. - Gunakan
cat /proc/cpuinfoataucat /proc/meminfountuk melihat informasi hardware secara langsung dari kernel.
Studi Kasus Sederhana: Instalasi Aplikasi Monitoring
Misalnya kamu ingin menginstal agen monitoring dari vendor pihak ketiga (bukan dari repository resmi distro). Berikut alur penerapan sesuai standar FHS:
- Download paket instalasi vendor tersebut.
- Ekstrak dan letakkan file aplikasi di
/opt/nama-vendor/. - Buat file konfigurasi khusus aplikasi tersebut di
/etc/nama-vendor/config.conf. - Arahkan output log aplikasi ke
/var/log/nama-vendor/. - Buat systemd service agar aplikasi berjalan otomatis saat boot.
Dengan alur ini, struktur server tetap rapi, mudah di-maintain, dan tidak bercampur dengan file sistem bawaan.
Best Practice
- Selalu backup
/etcsebelum melakukan perubahan konfigurasi besar. - Gunakan
logrotateagar isi/var/logtidak membengkak tanpa kontrol. - Jangan pernah menaruh aplikasi custom perusahaan langsung di
/usr/bin, gunakan/optsebagai gantinya. - Manfaatkan
/procuntuk troubleshooting cepat tanpa perlu tool tambahan. - Dokumentasikan setiap perubahan konfigurasi penting di
/etcagar mudah ditelusuri oleh tim lain.
Kesalahan yang Sering Terjadi
1. Menaruh file konfigurasi aplikasi custom di /usr
Penyebab: Kurangnya pemahaman soal filosofi FHS. Dampak: File berisiko tertimpa saat proses upgrade sistem operasi atau update package manager. Solusi: Pindahkan file konfigurasi ke /etc dan aplikasi mandiri ke /opt.
2. Tidak memantau ukuran /var/log
Penyebab: Rotasi log tidak dikonfigurasi dengan benar. Dampak: Disk penuh, server bisa mengalami downtime karena kehabisan storage. Solusi: Konfigurasi logrotate dan atur monitoring kapasitas disk secara berkala.
3. Mengedit /proc secara sembarangan
Penyebab: Anggapan bahwa /proc sama seperti direktori file biasa. Dampak: Perubahan tertentu di /proc dapat memengaruhi kernel secara langsung dan berisiko membuat sistem tidak stabil. Solusi: Hanya ubah parameter di /proc (misalnya melalui sysctl) jika benar-benar memahami efeknya.
4. Tidak membedakan software bawaan distro dengan software vendor
Penyebab: Menginstal semua software di lokasi yang sama tanpa struktur yang jelas. Dampak: Konflik dependency dan kesulitan saat melakukan maintenance jangka panjang. Solusi: Ikuti konvensi FHS — gunakan /opt untuk software vendor pihak ketiga.
Tips dan Rekomendasi
- Biasakan diri membaca dokumentasi resmi FHS agar semakin familiar dengan konvensi direktori Linux.
- Gunakan tool seperti
tree /etc -L 1untuk memvisualisasikan struktur direktori dengan cepat. - Terapkan standar penamaan folder yang konsisten ketika membuat direktori baru di
/opt. - Selalu dokumentasikan setiap perubahan struktur direktori pada server produksi, terutama jika bekerja dalam tim.

Kesimpulan
Struktur direktori Linux sesuai FHS bukanlah aturan yang dibuat tanpa alasan. Setiap direktori seperti /etc, /var, /usr, /opt, dan /proc memiliki peran spesifik yang, jika dipahami dengan baik, akan sangat membantu dalam pengelolaan server sehari-hari.
Poin penting yang perlu diingat:
/etcuntuk konfigurasi sistem yang bersifat statis/varuntuk data yang berubah-ubah seperti log dan cache/usruntuk resource dan program sistem yang dapat dibagikan/optuntuk software tambahan dari vendor pihak ketiga/procuntuk informasi kernel dan proses secara virtual dan real-time
Memahami hierarki ini akan membuat pekerjaan sebagai System Administrator, DevOps Engineer, maupun Network Engineer menjadi jauh lebih terstruktur dan minim risiko kesalahan.
Frequently Asked Questions (FAQ)
Pertanyaan: Apa perbedaan utama antara /etc dan /var? Jawaban: /etc menyimpan file konfigurasi yang relatif statis, sedangkan /var menyimpan data yang terus berubah seperti log, cache, dan spool.
Pertanyaan: Kenapa aplikasi pihak ketiga sebaiknya diinstal di /opt, bukan di /usr? Jawaban: /opt memisahkan software tambahan dari software bawaan sistem sehingga upgrade sistem operasi tidak berisiko menimpa aplikasi tersebut.
Pertanyaan: Apakah /proc menyimpan file fisik di disk? Jawaban: Tidak. /proc adalah virtual filesystem yang dibuat secara dinamis oleh kernel untuk menampilkan informasi proses dan sistem secara real-time.
Pertanyaan: Kenapa /var/log bisa membuat disk server penuh? Jawaban: Jika rotasi log tidak dikonfigurasi dengan baik, ukuran file log dapat terus bertambah tanpa batas hingga menghabiskan ruang penyimpanan.
Pertanyaan: Apakah struktur FHS sama di semua distribusi Linux? Jawaban: Secara umum ya, karena FHS dirancang sebagai standar lintas distribusi, meskipun beberapa distro memiliki sedikit penyesuaian pada implementasinya.
Bagaimana pengalaman kamu mengelola direktori Linux di server sendiri? Pernah mengalami masalah seperti disk penuh gara-gara /var/log, atau bingung menaruh aplikasi custom di direktori yang salah? Yuk, tulis pengalamanmu di kolom komentar!
Jangan lupa bagikan artikel ini ke rekan sesama Sysadmin, DevOps Engineer, atau siapa pun yang sedang belajar Linux agar mereka juga memahami struktur direktori dengan benar. Ikuti terus konten seputar Linux, Server, Networking, dan Cybersecurity di blog ini agar tidak ketinggalan tutorial-tutorial praktis lainnya.