Home > Hack, Tips n Trick, Ubuntu > Modifikasi squashfs Ubuntu

Modifikasi squashfs Ubuntu

Baru-baru ini saya membaca posting lama di wiki ArchLinux yang berkait dengan posting di forum Gentoo/Ubuntu. Satu user disana memodifikasi Linux nya agar menggunakan squashfs. Filesystem squashfs sendiri biasanya digunakan di LiveCD Linux. Filesystem ini mengkompresi image dari suatu folder dengan menggunakan metode GZip.

Dari beberapa klaim, filesystem squashfs dinilai lebih efisien dalam pembacaan file daripada pembacaan file secara fisik ke harddisk.

Nah, karena anda-anda yang membaca blog saya sebagian besar juga pakai Linux, anda juga pasti merasakan bahwa Installer Linux yang menggunakan USB terasa cepat, padahal kita tahu bahwa USB terbatas kecepatan bacanya. USB 2.0 secara teori bisa membaca 60 MB/s, bila baca dan tulis secara bersamaan maka kecepatannya separuhnya. Padahal harddisk 5400 rpm kecepatan bacanya sampai dengan 110 MB/s. Penyebab kenapa LiveUSB Linux cepat salah satunya karena mereka menggunakan filesystem squashfs yang memang efisien.

Pertanyaannya, kenapa kita tidak menggunakan squashfs juga untuk filesystem Linux, kok malah menggunakan EXT3 atau EXT4? Karena squashfs hanya memungkinkan untuk dibaca saja (read only), tidak bisa ditulis. Walau saat ini squashfs juga sedang dikembangkan ke mode read write.

Ok, cukup perkenalannya. Sekarang kita akan membahas bagaimana memodifikasi Linux dengan squashfs. Di posting forum gentoo maupun ubuntu (user yang sama) dia memodifikasi folder /usr dengan squashfs. Saya memilih /opt saja karena dari praktek, terasa tidak praktis setiap kali perlu mengupdate folder /usr, toh tidak begitu terasa peningkatannya.

Yang anda butuhkan disini adalah RAM yang cukup besar. 2 GB untuk menjamin kelancaran operasional. Kalau anda hanya mempunyai 512MB, sebaiknya jangan menggunakan modifikasi ini. Filesystem squashfs menggunakan sebagian RAM untuk aksesnya.

Folder /opt biasanya berisi firefox atau google-chrome. LibreOffice hasil download, juga akan terinstall disitu. Bila di Windows mirip folder Program Files atau User/Applications.

Ok, sekarang langkah-langkahnya:
1. Update dulu aplikasi yang ada di /opt menjadi versi terbaru. Ingat squashfs hanya untuk read-only.
2. Buka terminal, lalu masuk sebagai root
sudo su
3. Sebagai root, buat filesystem squashfs dari /opt. Saya menggunakan blocksize 64k. Dalam beberapa benchmark blocksize ini cukup efisien dalam penggunaan RAM. Ingat, harus sebagai root, jangan menggunakan sudo disini.
mksquashfs /opt /opt.sqfs -b 65536
4. Buat folder baru untuk mount point /opt. Saya menempatkannya di folder /squashed/rw dan /squashed/ro
mkdir -p /squashed/{rw,ro}
5. Edit file /etc/fstab. Kita akan memasukkan mount point sehingga /opt akan di-mount setiap kali sistem start. Tambahkan ini:
#CRAZY MOD OF OPT
/opt.sqfs /squashed/ro squashfs loop,ro 0 0
aufs /opt aufs br:/squashed/rw=rw:/squashed/ro=ro 0 0

6. Rename dulu folder /opt lama, jangan dihapus. Anda akan memerlukannya untuk update aplikasi lagi.
mv /opt /opt.old
mkdir /opt

7. Bila langkah 6 error, berarti ada file/aplikasi yang terbuka. Matikan aplikasi. Untuk cek bisa dari perintah ini:
lsof | grep opt
8. Sekarang coba mount dulu. Bila tidak menampilkan error berarti berhasil.
mount -a
9. Selesai.🙂

Saya mencoba memodifikasi langkah diatas dengan menggunakan filesystem tmpfs untuk menyimpan file /opt.sqfs. Pengen tahu saja seberapa cepat waktu bacanya. Berikut hasil benchmark di laptop saya.
1. Tanpa tmpfs

acroread
chrome
firefox 27
scalc

2. File /opt.sqfs ada di tmpfs

acroread - tmpfs
chrome - tmpfs
firefox 27 - tmpfs
swriter - tmpfs

Hasilnya memang tidak terlalu signifikan, hanya penghematan beberapa detik. Tapi kepuasan bisa memodifikasi yang terasa menyenangkan.😀

Aufs semestinya tidak didukung lagi di Ubuntu 12.04, tapi karena implementasi penggantinya belum siap, sementara ini masih didukung di Ubuntu 12.04. Saya tidak mencoba di Ubuntu 12.04 keatas. Jadi kalau anda menggunakan Ubuntu 12.04 keatas dan error di langkah 8, kemungkinan karena masalah aufs.

Categories: Hack, Tips n Trick, Ubuntu Tags: , , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: