Sabtu, 28 November 2015

Tentang FUSE - LINUX

Apa itu FUSE?
==> Filesystem in Userspace (FUSE) merupakan mekanisme sistem operasi untuk sistem operasi Unix-like yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel.


Proses instalasi fuse
1. Download FUSE dari http://fuse.sourceforge.net/ pada bagian Download stable

2. Extract file tar.gz dan masuk ke direktori FUSE. (tar –xvzf fuse-2.9.4.tar.gz)

3. Lakukan installasi FUSE dengan cara : 

a. Gunakan hak akses super user (sudo su)
b. Ketikkan perintah ./configure
c. Ketikkan perintah make
d. Ketikkan perintah make install

4. FUSE siap digunakan



Mengkoding FUSE
Kasus : Buatlah sebuah folder berisi file berekstensi ".txt" atau ".c". Lakukan mount pada direktori tersebut dengan FUSE. Didalam direktori yang telah di mount, jika kita membuka .txt atau .c, maka akan langsung muncul file backup berekstensi ".bak". Jika file .bak tersebut dibuka akan muncul pesan error berisi “File yang anda buka adalah file backup. File tidak bisa diubah maupun disalin kembali!” dan file tersebut tidak akan terbuka dan tidak dibuat backupnya (".bak.bak").

Berikut adalah kodingannya:






 Penjelasan:
  • Dirpath adalah direktori yang akan di mount, dalam hal ini adalah /home/valdy/Documents/
  • Fungsi Getattr untuk mendapatkan atribut file-file di direktori awal (size file, ekstensi, nama user pembuat file, permission, dll.)
  • Fungsi Readdir untuk mendapatkan direktori asal
  • Fungsi Open untuk memperbolehkan user membuka file-file yang ada di dalam hasil mount
  • Fungsi Flags untuk mengecek apakah file tersebut berekstensi .bak atau bukan. Jika file tersebut adalah .bak dan dicoba untuk dibuka, maka akan muncul pesan error
  • Fungsi Read untuk memperbolehkan user membaca isi file hasil mount
  • Fungsi Write untuk memperbolehkan user mengutak-atik isi file
  • Fungsi-fungsi lengkapnya dapat dilihat di:
    http://fuse.sourceforge.net/doxygen/fusexmp_8c.html
  • Penjelasan fungsi-fungsi dapat dilihat di:
    http://rahmatnazali.blogspot.co.id/2014/12/mari-mengenal-filesystem-in-user-space.html


    Cara Compile:1. Buka terminal

    2. Tulis di command:
    gcc -Wall [nama file].c `pkg-config fuse --cflags --libs` -o [nama file]

    3. Buatlah direktori baru yang berguna untuk tempat lokasi hasil mount. Bisa menggunakan mkdir
    contoh: mkdir /home/valdy/testmount

    4. Jalankan program:
    ./<nama file> <direktori mount>
    contoh:
    ./<nama file> /home/valdy/testmount/
    ---------------------------------------------------------------------------------
    Sekian sedikit pelajaran dari saya tentang bagaimana cara membuat semacam mp3 player di Linux.
    Semoga ilmu nya bermanfaat :)
    Sekian dan terima kasih ^_^

Tidak ada komentar:

Posting Komentar