Helloo, long time no see.. Oke langsung aja kali ya.. Pada
kali ini, aku akan berbagi ilmu tentang FUSE. Pernah denger atau pernah tau ga?
Apasih FUSE itu?? Yuuuk check it out!
FUSE
adalah singkatan dari 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. Hal
ini bisa dicapai dengan menjalankan kode file system di userspace, sedangkan fuse
hanya menyediakan "jembatan" antarmuka kernel yang sebenarnya.
Diagram cara kerja
FUSE
FUSE
kernel modul dan FUSE library berkomunikasi melalui file deskriptor special
yang diperoleh dengan membuka /dev/fuse. File ini dapat terbuka berkali-kali
dan file deskriptor yang diperoleh diteruskan ke mount syscall, untuk
menyesuaikan deskriptor dengan filesysem mount.
Untuk memahami FUSE ini , maka pada tutorial kali ini aku
akan mengimplementasikannya.
Yuuuk mari disimak :D
Sebelumnya, jangan lupa untuk instal FUSE. Berikut cara
installasi FUSE:
1. Download FUSE dari http://fuse.sourceforge.net/ pada
bagian Download stable release.
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.
Nah
contoh soalnya yaitu mengaitkan direktori lain (mount) dengan FUSE dengan
kriteria ketika file dalam direktori tersebut dibuka, file tersebut secara
otomatis membuat file backup dengan format nama: <nama
file>.<ekstensi>.bak. File backup tersebut hanya bisa dibuka/dibaca,
tidak bisa diedit. Lalu, jika file yang dibuka adalah file berekstensi .bak ,
maka akan muncul pesam eror berisi "FIle yang anda buka adalah file
backup. FIle tidak bisa diubah maupun disalin kembali!" dan file tersebut
tidak akan terbuka dan tidak dibuat backup nya.
Langkah-langkah mengerjakannya yaitu:
1. Pastikan
installasi fuse berhasil. Lalu buka terminalmu. Lakukan perintah 'gedit' untuk
menampilkan dan mengedit code-mu di Text Editor, dan perintah 'nano' untuk
menampilkan dan mengedit code-mu di terminal langsung.
gambar perintah gedit
2. Buatlah file system sendiri menggunakan FUSE.
Dan modifikasi code FUSE tadi sesuai
dengan contoh soal. Tetapi di sini, aku akan memakai semua fungsi, agar kalian
tau syntax masing-masing fungsi. Jadi, bila kalian ingin mencoba, modifikasi
sendiri ya fungsi-fungsinya sesuai yang kalian butuhkan.
Nah, di contoh soal tadi, fungsi yang paling
banyak ku otak atik yaitu open, write. Selain itu juga menggunakan fungsi xmp_getattr dan xmp_getdir yang pasti digunakan sebagai dasarnya. Oh ya jangan lupa
ganti bagian static const char *dirpath = "/home/[nama user
kalian]/Downloads"
gambar modifikasi FUSE
3. Lalu save
code-kalian tadi dan compile program itu dengan menggunakan perintah:
gcc -Wall [nama file].c `pkg-config fuse --cflags --libs` -o [nama
file]
Kemudian buat
sebuah direktori di Downloads. Lalu jalankan fuse tadi dengan cara:
./[nama
file] [nama folder]
4. Hasilnya
akan seperti ini :
gambar perubahan pada folder lala
Nah, selesai
deh tutorial kali ini. Selamat mencoba , semoga berhasil ^^




















Tidak ada komentar:
Posting Komentar