FUSE di Linux
Pengertian FUSE
Filesystem in Userspace (FUSE) adalah mekanisme sistem operasi yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel.
Diagram Cara Kerja FUSE
Cara Install 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
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
Pengecekan FUSE
1. Buka text editor seperti gedit
2. Lalu copy kodingan dibawah ini ke gedit
#include <fuse.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <dirent.h> #include <errno.h> #include <sys/statfs.h> static const char *dirpath = "/home/widhi/Documents"; static int xmp_getattr(const char *path, struct stat *stbuf) { int res; char fpath[1000]; sprintf(fpath,"%s%s",dirpath,path); res = lstat(fpath, stbuf); if(res == -1) { return -errno; } return 0; } static int xmp_getdir(const char *path, fuse_dirh_t h, fuse_dirfil_t filler) { char fpath[1000]; if(strcmp(path,"/") == 0) { path=dirpath; sprintf(fpath,"%s",path); } else sprintf(fpath, "%s%s",dirpath,path); int res = 0; DIR *dp; struct dirent *de; dp = opendir(fpath); if(dp==NULL) { return -errno; } while((de = readdir(dp))!=NULL) { res = filler(h, de->d_name, de->d_type); if(res!=0) break; } closedir(dp); return res; } static struct fuse_operations xmp_oper = { .getattr = xmp_getattr, //.readlink = xmp_readlink, .getdir = xmp_getdir, //.mknod = xmp_mknod, //.mkdir = xmp_mkdir, //.symlink = xmp_symlink, //.unlink = xmp_unlink, //.rmdir = xmp_rmdir, //.rename = xmp_rename, //.link = xmp_link, //.chmod = xmp_chmod, //.chown = xmp_chown, //.truncate = xmp_truncate, //.utime = xmp_utime, //.open = xmp_open, //.read = xmp_read, //.write = xmp_write, //.release = xmp_release, //.fsync = xmp_fsync, //.readdir = hello_readdir }; int main(int argc, char *argv[]) { return fuse_main(argc, argv, &xmp_oper); }
3. Untuk widhi yang berada di dirpath diganti dengan user kamu,Lalu save file tersebut dengan nama "cekfuse.c"
4. Setelah berhasil disave, lalu buka terminal
5. Ketikkan perintah: gcc -Wall cekfuse.c `pkg-config fuse --cflags --libs` -o cekfuse lalu tekan enter
6. Untuk menjalankan fusenya, ketikkan ./cekfuse /tmp/fuse diterminal lalu tekan enter
7. Setelah dijalankan maka isi folder Documents akan dimount ke /tmp/fuse
8. Untuk mengeceknya, anda buka explorer lalu buka Computer -> tmp -> fuse
9. Setelah berhasil mengmount folder Documents, untuk mengumount fuse tersebut. Ketikkan "sudo umount /tmp/fuse"
Sekian pemaparan tentang fuse di linux. Terima kasih :)
FUSE di Linux
Reviewed by Widhi Mahaputra
on
19.51
Rating:
Tidak ada komentar: