5 Memahami File GNU/Linux
6 -----------------------
8 Pada sebuah komputer, seluruh informasi yang tersimpan di dalam media
9 penyimpanan seperti hardisk, disket, flash drive, dll adalah sebuah file. Pada
10 GNU/Linux, seluruh program, dokumen, konfigurasi sistem-seluruhnya
11 tersimpan di dalam file-file, sehingga di dalam hardisk anda dapat tersimpan
12 ratusan atau bahkan ribuan file. Semuanya terorganisasi dalam sebuah sistem
13 file (filesystem) GNU/Linux. Sistem file GNU/Linux berbeda dengan sistem file
14 yang digunakan oleh sistem operasi lain seperti MS Windows atau Macintosh.
16 Seluruh perangkat hard drive anda dipandang sebagai sebuah file. GNU/Linux
17 menggunakan 3 tipe utama dari objek sebagai media penyimpanan informasi,
20 **Files:** File-file yang menjalankan program disebut dengan file executable atau
21 file biner. File biner biasanya diletakkan pada direktori /bin (singkatan dari
22 binary), atau di direktori /sbin (singkatan dari system binaries).
24 **Links:** Penunjuk ke file lain.
26 **Directories:** Kumpulan file, links dan direktori lain.
28 Memahami Nama File yang Digunakan GNU/Linux
29 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 Penamaan file, links, dan direktori GNU/Linux mengikuti aturan berikut:
33 #. Tidak boleh lebih dari 256 karakter, dan nama path/direktori tidak boleh lebih
35 #. Case sensitive, GNU/Linux membedakan karakter huruf besar dan kecil.
36 Misalkan: \`askari` akan berbeda dengan \`ASKARI`.
37 #. Dapat menggunakan huruf maupun angka. Namun, untuk menghindari
38 kesalahan penulisan sebaiknya tidak menggunakan karakter \`#` karena kalimat
39 setelah karakter tersebut akan dianggap sebagai komentar.
40 #. Menggunakan slash forward (/) untuk identifikasi sebuah direktori.
42 Memahami Ekstensi File GNU/Linux
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 GNU/Linux dapat membaca ekstensi file dari sistem operasi lain seperti \*.jpg
46 untuk file gambar, \*.html untuk file web, \*.doc untuk word processor Microsoft
47 Windows, dll. Ekstensi File yang digunakan debian GNU/Linux:
51 File kompresi dengan menggunakan kompresi bzip2.
54 File kompresi dengan menggunakan kompresi gzip.
57 File yang ditulis dalam bahasa C.
60 File konfigurasi GNU/Linux.
63 Paket instalasi debian GNU/Linux.
66 File yang terkunci demi untuk menghindari pemakaian oleh file lain.
69 Objek share (pustaka atau modul).
72 File source code. Yang ditulis dalam plain text, file tersebut harus
73 dikompilasi terlebih dahulu sebelum menggunakannya.
76 File yang berisi bundelan/kumpulan file lain yang dijadikan satu.
79 File bundelan yang terkompresi dalam format .gz.
82 Pada GNU/Linux, terdapat beberapa tipe file seperti executable file, system data
83 file, dan user data file. Beberapa perbedaan yang ada antara lain:
85 **Executable file:** file-file ini berisi instruksi program untuk dijalankan oleh
86 sistem. Program dan script merupakan executable file.
88 **system data file:** file-file ini berisi informasi yang digunakan oleh program atau
89 script. Biasanya digunakan oleh administrator dan para programmer untuk
90 menjalankan program secara berlainan.
92 **user data file:** file-file ini berisi teks dan data yang dibuat oleh user.
93 Secara default GNU/Linux dapat mengenali secara otomatis seluruh tipe file
94 sehingga anda tidak perlu lagi bersusah payah dengan tipe filenya.
99 Beberapa file yang ada pada GNU/Linux terkadang tidak tampak atau tidak
100 dapat diakses oleh user lain. Sebagai contoh, terdapat banyak file konfigurasi
101 sistem yang hanya dapat diakses oleh root dan biasanya oleh sistem dibuat
102 tersembunyi (hidden), sehingga tidak dapat dilihat/diakses oleh user lain.
104 Namun, sebagai user biasa pun anda dapat membuat file tersembunyi. File
105 tersembunyi pada GNU/Linux biasanya diawali dengan karakter titik (.). Anda
106 dapat melihat beberapa file tersembunyi yang ada pada direktori home.
110 kari@debian:~$ ls -al
113 drwxr-xr-x 79 kari kari 12288 Des 20 23:52 .
114 drwxr-xr-x 3 root root 4096 Sep 18 08:06 ..
115 drwx------ 4 kari kari 4096 Okt 14 01:02 .adobe
116 -rw-rw-r-- 1 kari kari 239 Sep 21 09:59 .apport-ignore.xml
117 drwx------ 2 kari kari 4096 Des 19 00:50 .aptitude
118 drwxr-xr-x 3 kari kari 4096 Okt 27 18:30 .ardour2
119 drwxrwxr-x 4 kari kari 4096 Des 4 11:58 .audacity-data
121 Untuk membuat sebuah hidden file dapat menggunakan perintah berikut::
123 kari@debian:~$ cat > .datarahasiaku
127 Pembuatan *hidden file* selalu diawali dengan karakter titik (.)
129 Pemilik, Hak Akses, dan Group
130 -----------------------------
132 GNU/Linux merupakan salah satu sistem operasi yang cukup aman (secure).
133 Seorang user dapat memproteksi file-filenya dan dapat menentukan user mana
134 saja yang dapat mengakses, membaca, dan merubah file tersebut. Saat sebuah
135 file dibuat dan disimpan oleh user, maka secara otomatis kepemilikannya
136 (owner) adalah user yang bersangkutan. Terdapat tiga macam hak akses dari
139 **Read:** mengizinkan user lain untuk membaca isi dari file tersebut tetapi user lain
140 tidak dapat melakukan perubahan isi file.
142 **Write:** mengizinkan kepada user lain untuk dapat membaca dan melakukan
143 perubahan terhadap isi file, termasuk menghapusnya.
145 **Execute:** mengizinkan user lain dapat mengeksekusi/menjalankan file (biasanya
146 berupa script atau program).
148 Pemberian hak akses kepada user dapat dilakukan secara individu (one by one)
149 oleh pemilik file. Pemberian hak akses kepada user lain seperti di atas masih
150 dapat dilakukan jika jumlah user masih terjangkau. Namun bagaimana halnya
151 jika jumlah user telah mencapai ratusan atau bahkan ribuan dalam sebuah
152 perusahaan. Sungguh bukan sebuah ide yang baik jika harus diberikan hak akses
153 satu per satu kepada user yang jumlahnya ribuan tadi. Masalah tersebut ternyata
154 telah terpikirkan oleh developer GNU/Linux dengan menciptakan manajemen
155 group yang di dalamnya dapat mencakup banyak user.
157 Selain hak akses yang dimiliki oleh sebuah file, sistem file GNU/linux juga
158 mengenal tiga buah mode akses terhadap direktori atau file. Adapun ketiga
159 mode akses tersebut, yaitu:
161 **Owner** : hak akses user pemilik direktori atau file.
163 **Group** : hak akses group tempat user tersebut berada.
165 **Other** : hak akses setiap user selain pemilik direktori atau file
167 Berikut rincian penjelasan mode akses dan hak akses terhadap sebuah file atau
170 .. image:: images/hak-akses.png
171 :alt: Pemilik, Hak akses dan group
173 Hak akses terhadap file juga dapat dikonversikan ke dalam bilangan biner dan
174 desimal seperti yang tampak pada tabel berikut.
189 Berikut aturan konversi hak akses *owner, group, dan other* dari huruf ke
190 bilangan biner dan desimal. Konversi ini nantinya akan berguna saat manajemen
191 user pada bab selanjutnya.
193 .. image:: images/konversi-hak-akses.png
195 Berikut contoh kasus penerapan kepemilikan, hak akses, dan group pada sistem
198 Terdapat sebuah file dokumen keuangan pada perusahaan tertentu, sebutlah
199 perusahaan A. Dokumen ini dimiliki oleh salah satu karyawan divisi keuangan.
200 Secara otomatis file tersebut tentu saja hak kepemilikannya dimiliki oleh
201 karyawan yang bersangkutan. Ia berencana untuk memberikan hak akses
202 seluruh karyawan divisi keuangan tetapi tidak untuk karyawan divisi lain. Hak
203 akses yang diberikan ke divisi yang bersangkutan hanyalah akses untuk melihat
204 isi file dokumen saja tetapi tidak berhak untuk merubah isi dari file yang
205 bersangkutan. Sedangkan untuk hak execute tidak diperlukan karena filenya
206 bukanlah program atau script.
208 Bagaimana karyawan tersebut melakukan semua ini? Tentu saja bukanlah hal
209 yang sulit karena sistem operasi GNU/Linux menyediakan fasilitas perubahan
210 hak akses yang telah dijelaskan pada awal bab ini. Lebih jauh tentang perubahan
211 hak akses terhadap sebuah file akan dijelaskan pada bab manajemen user dan
215 Memahami direktori GNU/Linux
216 ----------------------------
218 Direktori debian GNU/Linux tersusun secara hirarki. Berbeda dengan microsoft
219 windows yang mengelompokkan berdasarkan partisi yang ada. Debian
220 GNU/Linux hanya memiliki satu hirarki direktori besar yang berisi semua
221 partisi yang ada. Direktori teratas adalah direktori root yang ditandai dengan
224 Di bawah direktori root (/) berisi sub direktori */bin, /boot, /dev, /etc, /home, /lib,
225 /lost+found, /misc, /mnt, /proc, /root, /sbin, /tmp, /usr, /var*. Di bawah
226 subdirektori yang telah disebutkan di atas, masih terdapat subdirektori lagi
227 hingga berupa file saja.
229 .. image:: images/hirarki-direktori.png
230 :alt: Hirakri direktori Debian GNU/Linux
232 Meskipun bukan sesuatu yang begitu penting untuk mengetahui isi seluruh
233 direktori debian GNU/Linux, tapi merupakan hal yang sangat baik jika anda
234 mengetahui jenis-jenis dari file yang tersimpan pada setiap direktori yang ada.
236 Direktori Debian GNU/Linux
237 ~~~~~~~~~~~~~~~~~~~~~~~~~~
239 Struktur debian GNU/Linux dan varian GNU/Linux lain berdasarkan pada
240 sistem operasi UNIX. Keuntungan dari sistem direktori ini adalah anda dapat
241 memposisikan sebuah partisi sebagai sebuah file pada sistem. Berikut ini
242 struktur direktori/file debian GNU/Linux: