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 ^_^

Jumat, 06 November 2015

Membuat *semacam* mp3 player - LINUX

Yak, langsung saja, berikut adalah langkah-langkahnya:
  1. Buka terminal pada linux
  2. Untuk mp3 player nya, saya akan menggunakan mpg123
    Bagi yang belum punya mpg123, bisa di download di terminal dengan menulis command sebagai berikut
  3. Setelah itu, buatlah file .c untuk kodingannya. Berikut adalah kodingan untuk mp3 player nya





    Penjelasan:
    • Di kodingan diatas, terdapat fungi bernama "playandcount" yang berisi 6 macam thread yang masing2 thread nya berguna untuk:
      • Menunjukkan macam-macam command pada mp3 player yang kita buat
      • menunjukkan playlist / lagu yang ada
      • Play / memainkan lagu
      • Pause / menghentikan lagu selama sementara
      • Resume / melanjutkan lagu yang sedang berhenti
      • Stop / menghentikan lagu
    • Di int main, kita memasukkan input berupa command untuk mp3 player, dan menginput variabel x, yaitu berapa detik delay sebelum mp3 player kita melakukan pause, resume, atau stop
    • command 3, Play, dapat dijalankan dengan cara menginput nama lagu. Untuk mengetahui nama-nama lagunya, dapat dengan menggunakan command nomor 2, Show Playlist
  4. Ada sedikit instruksi tambahan khusus. Jika ingin menjalankan file .c yang memiliki thread, gunakan command berikut di
    terminal: gcc -pthread <namafile.c> -o <namafile yang baru>contoh: gcc -pthread lagu.c -o lagu


    Lalu untuk menjalankan, ketik sebagai berikut:



    ---------------------------------------------------------------------------------
    Sekian sedikit pelajaran dari saya tentang bagaimana cara membuat semacam mp3 player di Linux.
    Semoga ilmu nya bermanfaat :)
    Sekian dan terima kasih ^_^