Struktur direktori linux

 


Direktori adalah struktur yang digunakan dalam sistem file untuk mengorganisir dan menyimpan file dan subdirektori. Dalam konteks sistem operasi seperti Linux, direktori berfungsi sebagai "folder" yang membantu pengguna mengelompokkan file berdasarkan kategori, jenis, atau tujuan.

Disini saya akan belajar beberapa direktori utama.

1. / (root)

Direktori root, yang dilambangkan dengan simbol /, adalah direktori utama dalam struktur sistem file di Linux dan sistem operasi Unix-like lainnya. Direktori root adalah titik awal dari seluruh hierarki sistem file. Semua direktori dan file lainnya berada di bawahnya. Misalnya, direktori penting seperti /bin, /etc, dan /home semuanya terletak di dalam direktori root.

Fungsi dari direktori / (root) diantara lain:

Organisasi: Menyediakan struktur yang terorganisir untuk menyimpan file dan direktori lainnya.
Akses Global: Semua file dan direktori dalam sistem dapat diakses melalui jalur yang dimulai dari direktori root.

Direktori root biasanya memiliki hak akses yang ketat. Hanya pengguna dengan izin tertentu (seperti pengguna root) yang dapat membuat atau mengubah isi direktori root.


2. /boot

Direktori /boot adalah salah satu direktori penting dalam sistem Linux yang berisi file-file yang diperlukan untuk proses booting.

Direktori /boot menyimpan semua file yang diperlukan untuk memulai sistem operasi, seperti:

Kernel: File inti dari sistem operasi, yang mengelola sumber daya hardware.
Initrd atau Initramfs: File sistem sementara yang digunakan untuk memuat driver dan modul yang diperlukan sebelum kernel dapat memulai proses booting sepenuhnya.
Bootloader: Program yang mengatur proses booting, seperti GRUB (Grand Unified Bootloader), yang juga dapat ditemukan di dalam direktori ini.

Di dalam direktori /boot, biasanya akan menemukan:

vmlinuz: File kernel Linux, sering kali dinamakan dengan versi kernel.
System.map: File yang berisi simbol dan alamat dari kernel, berguna untuk debugging.
config-<version>: File konfigurasi kernel untuk versi tertentu, yang menunjukkan pengaturan saat kernel dikompilasi.

Saat sistem dihidupkan, BIOS atau UEFI mencari bootloader di lokasi tertentu (biasanya pada disk pertama) dan memuatnya ke memori. Bootloader kemudian memuat kernel dari direktori /boot ke memori dan memulai proses booting.

Karena /boot berisi file yang sangat penting untuk booting sistem, akses ke direktori ini biasanya dibatasi. Hanya pengguna dengan hak istimewa (seperti root) yang dapat mengubah isi direktori ini.


3. /dev

Direktori /dev dalam sistem Linux adalah direktori yang berisi file perangkat (device files). File-file ini merepresentasikan perangkat keras yang terhubung ke sistem, memungkinkan pengguna dan program untuk berinteraksi dengan perangkat tersebut seolah-olah mereka adalah file biasa.

Semua perangkat keras, seperti disk, printer, terminal, dan jaringan, memiliki representasi di dalam direktori /dev. Ini memungkinkan sistem operasi untuk mengelola perangkat keras dengan cara yang seragam

Terdapat dua jenis utama file perangkat dalam /dev:

File Perangkat Karakter: Digunakan untuk perangkat yang mentransfer data secara karakter demi karakter (misalnya, terminal, mouse).
File Perangkat Blok: Digunakan untuk perangkat yang mentransfer data dalam blok (misalnya, hard disk, USB flash drive).

Contoh file dalam /dev:
/dev/sda: Representasi dari hard disk pertama dalam sistem.
/dev/tty: Representasi dari terminal.
/dev/null: "Black hole" untuk data, di mana data yang ditulis ke file ini akan diabaikan.


4. /usr

Direktori /usr biasanya digunakan untuk menyimpan program dan data yang tidak terkait dengan sistem inti, dan diharapkan dapat digunakan oleh semua pengguna. Ini mencakup berbagai aplikasi, dokumentasi, dan pustaka yang diperlukan untuk menjalankan program-program tersebut.

Di dalam direktori /usr, Anda akan menemukan beberapa subdirektori penting, antara lain:

/usr/bin: Berisi aplikasi dan utilitas pengguna yang umum digunakan, seperti ls, cp, dan program lainnya yang dapat diakses oleh semua pengguna.
/usr/sbin: Berisi program administrasi sistem yang biasanya hanya digunakan oleh pengguna dengan hak istimewa (seperti root), seperti ifconfig dan shutdown.
/usr/lib: Berisi pustaka (library) yang digunakan oleh program dalam /usr/bin dan /usr/sbin. Ini termasuk file-file yang diperlukan untuk menjalankan aplikasi.
/usr/share: Berisi data yang dapat digunakan oleh program, termasuk dokumentasi, file konfigurasi, dan file yang tidak spesifik untuk arsitektur sistem.
/usr/local: Digunakan untuk menginstal aplikasi lokal yang tidak berasal dari distribusi Linux standar, menjaga agar aplikasi ini terpisah dari yang disediakan oleh sistem.


5. /bin

Direktori /bin berisi file eksekusi yang merupakan program dan utilitas dasar yang diperlukan untuk menjalankan sistem operasi, terutama selama proses booting. Program-program ini biasanya merupakan perintah yang sering digunakan oleh pengguna dan sistem.

Beberapa contoh program yang biasanya ditemukan di /bin:

bash: Shell standar untuk pengguna.
ls: Perintah untuk menampilkan daftar file dalam direktori.
cp: Perintah untuk menyalin file dan direktori.
mv: Perintah untuk memindahkan atau mengubah nama file dan direktori.
rm: Perintah untuk menghapus file dan direktori.


6. /sbin

Direktori /sbin berisi program dan utilitas yang digunakan untuk administrasi sistem. Ini termasuk perintah-perintah yang biasanya hanya diperlukan oleh administrator (root) untuk melakukan tugas-tugas pemeliharaan dan konfigurasi sistem.

Beberapa contoh perintah yang biasanya ada di /sbin:

ifconfig: Digunakan untuk mengkonfigurasi jaringan.
shutdown: Digunakan untuk mematikan atau me-reboot sistem.
mount: Digunakan untuk memasang (mount) sistem file.
fsck: Digunakan untuk memeriksa dan memperbaiki sistem file.

Perbedaan utama antara /bin dan /sbin adalah bahwa perintah di /bin lebih umum dan dapat digunakan oleh semua pengguna, sementara perintah di /sbin dirancang khusus untuk digunakan oleh pengguna dengan hak istimewa (seperti root). Oleh karena itu, perintah dalam /sbin mungkin memerlukan akses lebih tinggi untuk dijalankan.


7. /home

Direktori /home berfungsi sebagai tempat penyimpanan untuk direktori home setiap pengguna. Setiap pengguna yang dibuat di sistem biasanya memiliki subdirektori di dalam /home yang menyimpan file pribadi, konfigurasi, dan data lainnya.

Setiap pengguna memiliki direktori home dengan nama pengguna mereka. Misalnya, jika ada pengguna bernama rahmat, maka direktori home-nya biasanya adalah /home/rahmat. Di dalam direktori home ini, pengguna dapat menyimpan file, dokumen, gambar, dan konfigurasi aplikasi tanpa mengganggu pengguna lain.

Direktori /home dirancang untuk memberikan privasi kepada setiap pengguna. Akses ke direktori home biasanya diatur sedemikian rupa sehingga hanya pengguna yang memiliki direktori tersebut (dan administrator) yang dapat mengaksesnya.

Direktori /home berbeda dari direktori /root, yang adalah direktori home untuk pengguna root (administrator sistem). Sementara /home berisi data untuk semua pengguna biasa, /root khusus untuk superuser.


8. /lib

Direktori /lib berisi pustaka (library) yang diperlukan oleh program dan aplikasi yang ada di sistem. Pustaka ini menyediakan fungsi dan prosedur yang dapat digunakan oleh berbagai program, sehingga menghindari duplikasi kode.

Program yang berada di /bin dan /sbin sering kali bergantung pada pustaka yang ada di /lib untuk menjalankan fungsinya. Jika pustaka yang diperlukan tidak tersedia, program tersebut mungkin tidak dapat berjalan dengan benar.


9. /tmp

Direktori /tmp digunakan untuk menyimpan file sementara yang dibuat oleh sistem atau aplikasi. Ini adalah tempat di mana program dapat menulis data yang diperlukan hanya untuk sementara waktu.

Sebagian besar distribusi Linux secara otomatis menghapus file di /tmp saat sistem di-reboot. Beberapa sistem mungkin juga memiliki layanan atau cron job yang secara berkala membersihkan direktori ini untuk menghapus file yang tidak lagi diperlukan.

Beberapa contoh penggunaan /tmp:

File sementara untuk aplikasi saat proses instalasi atau pembaruan.
Data sementara yang dihasilkan oleh aplikasi yang memerlukan ruang penyimpanan sementara.
Penyimpanan untuk sesi sementara aplikasi, seperti editor teks atau peramban web.


10. /var

Direktori /var (yang merupakan singkatan dari "variable") digunakan untuk menyimpan data yang sering berubah atau berkembang selama operasi sistem. Ini mencakup berbagai file dan data yang dapat bervariasi seiring waktu, seperti log, cache, dan file spool.

Beberapa subdirektori yang berada di /var:

/var/log: Berisi file log sistem dan aplikasi, yang mencatat aktivitas dan kesalahan untuk tujuan pemantauan dan pemecahan masalah.
/var/spool: Menyimpan file yang menunggu untuk diproses, seperti email yang sedang menunggu untuk dikirim atau print jobs yang menunggu untuk dicetak.
/var/tmp: Tempat untuk menyimpan file sementara yang perlu bertahan meskipun sistem di-reboot, berbeda dari /tmp yang bersifat sementara.
/var/cache: Menyimpan data cache yang digunakan oleh aplikasi untuk meningkatkan kinerja, seperti cache paket manajer.


11. /etc

Direktori /etc berfungsi sebagai tempat penyimpanan untuk semua file konfigurasi sistem dan aplikasi. File-file ini mengontrol berbagai aspek perilaku sistem dan aplikasi yang berjalan di atasnya.

Beberapa contoh subdirektori di /etc:

/etc/passwd: File yang berisi informasi tentang pengguna sistem, termasuk nama pengguna dan ID pengguna.
/etc/shadow: File yang berisi informasi terkait kata sandi untuk pengguna, dengan pengaturan keamanan yang lebih ketat.
/etc/fstab: File yang mengonfigurasi sistem file yang akan di-mount secara otomatis saat booting.
/etc/network/interfaces: Konfigurasi untuk pengaturan jaringan (di beberapa distribusi).
/etc/hosts: File yang digunakan untuk memetakan nama host ke alamat IP.

File di dalam /etc sangat penting untuk pengoperasian sistem. Setiap kali ada perubahan pada file konfigurasi, sering kali diperlukan untuk merestart layanan atau bahkan sistem agar perubahan tersebut diterapkan.


12. /proc

Direktori /proc berfungsi sebagai antarmuka untuk informasi tentang proses yang sedang berjalan dan status sistem. Ini adalah sistem file virtual yang memberikan akses real-time ke informasi kernel dan proses.

Beberapa subdirektori yang ada di /proc:

/proc/cpuinfo: Menyediakan informasi tentang CPU, termasuk jumlah inti, arsitektur, dan fitur yang didukung.
/proc/meminfo: Menyediakan informasi tentang penggunaan memori di sistem, termasuk memori bebas dan yang digunakan.
/proc/version: Menampilkan versi kernel Linux yang sedang berjalan.

Direktori /proc adalah komponen vital dalam sistem Linux yang memberikan akses langsung ke informasi tentang proses dan status sistem. Dengan menyediakan antarmuka untuk informasi kernel, /proc membantu administrator dan pengguna dalam memantau dan mengelola sistem secara efektif.



Referensi

Komentar

Postingan populer dari blog ini

Topologi jaringan

Membuat voucher dengan mikhmon

Ip address