Saat kita menggunakan Linux, kita sering perlu menginstal software baru, script, atau banyak file besar. Untuk mempermudah kita, file-file ini biasanya dikompres dan digabungkan menjadi satu file dengan ekstensi .tar, yang memudahkan untuk download, karena ukuran file yang lebih kecil.

Sebagai pengguna Linux, kita perlu memahami cara mendekompresi file .tar dan mengekstrak apa yang ada di dalamnya. Pada saat yang sama, kita perlu memahami bagaimana mengkompres dan menggabungkan file-file ini menjadi sebuah .tar.

Bagi kamu yang sering menggunakan Windows (termasuk saya), mungkin akrab dengan format .zip. Utilitas .zip yang terpasang pada Windows memungkinkan kamu untuk memilih beberapa file dan menggabungkannya ke dalam satu folder, lalu kompres agar ukurannya lebih kecil untuk mentransfer melalui internet. Proses yang kami bahas dalam tutorial ini adalah setara dengan zipping dan unzip di dunia Windows.

Apa Itu Compression?
Compression adalah topik yang menarik sehingga saya harus memperluas tutorial lain di lain waktu. Pada dasarnya, setidaknya ada dua kategori kompresi, yaitu: lossy dan lossless.

Kompresi yang kurang baik dengan kata lain, file terkompresi / dekompresi tidak persis sama dengan aslinya. Hal tersebut sangat bagus untuk file grafis, video, dan audio dimana perbedaan yang lebih kecil dalam file hampir tidak diperhatikan (.mp3 dan .jpg keduanya adalah algoritma kompresi lossy).

Saat mengirim file atau software, kompresi lossy tidak bisa diterima. Kita harus memiliki integritas dengan file aslinya saat didekompresi. Itulah jenis kompresi yang sedang kita bahas di sini (lossless), dan tersedia dari sejumlah utilitas dan algoritma yang berbeda.

Tarring File Secara Bersamaan
Pada banyak kasus, saat mengarsipkan atau menggabungkan file, perintah tar digunakan di Linux / Unix. Tar adalah singkatan dari Tape Archive, referensi pada masa prasejarah komputasi saat sistem menggunakan rekaman untuk menyimpan data. Tar digunakan untuk membuat satu file dari banyak file. File-file ini kemudian sering disebut sebagai arsip, tar file, atau tarball.

Misalnya, katakanlah kita memiliki tiga file, yasya1, yasya2, dan yasya3. Kita bisa melihatnya dengan jelas di bawah saat kita melakukan long listing. Gunakan perintah ls -l:


Katakanlah kita ingin mengirim ketiga file ini ke teman. Kita bisa menggabungkannya dan membuat satu file arsip dengan menggunakan perintah berikut:


Mari kita rincikan perintah itu agar kamu lebih mengerti:
tar adalah perintah pengarsipan
-c berarti membuat (create)
-v berarti verbose (opsional)
-f menulis atau membaca dari file
yasya.tar adalah nama file yang kita inginkan

Perintah tersebut akan mengambil ketiga file dan membuat satu file, yasya.tar, seperti yang terlihat di bawah, saat kita melakukan perintah long listing (ls -l) lagi.


Harap perhatikan ukuran tarball nya. Ketika ketiga file diarsipkan, tar menggunakan overhead yang signifikan. Jumlah dari tiga file sebelum pengarsipan adalah 0 byte. Setelah pengarsipan, tarball telah berkembang menjadi 10.240 byte. Proses pengarsipan telah menambahkan lebih dari 1.000 byte. Meskipun overhead ini bisa signifikan dengan file kecil, overhead ini menjadi kurang dan kurang signifikan dengan file yang lebih besar dan lebih besar.

Kemudian kita bisa melihat isi dari tarball dengan menggunakan perintah tar, kemudian -t untuk menampilkan file, seperti yang terlihat di bawah ini.


Kita kemudian bisa mengekstrak file dari tarball dengan menggunakan perintah tar dan kemudian -x beralih untuk mengekstrak file, seperti yang terlihat di bawah ini.


Akhirnya, jika kita ingin mengekstrak file dengan "diam-diam", kita bisa menghapus perintah -v, maka tar akan mengekstrak file tanpa menunjukkan output kepada kita.


Mengompress File
Tar mampu mengambil banyak file dan membuatnya menjadi satu file arsip, tapi bagaimana jika ingin memampatkan file-file itu juga? Kami memiliki tiga perintah di Linux yang mampu membuat file terkompresi, antara lain:

gzip (.tar.gz atau .tgz)
bzip2 (tar.bz2) 
kompres (.tar.Z)

Mereka semua mampu mengompresi file kita, tapi mereka menggunakan algoritma kompresi yang berbeda dan memiliki rasio kompresi yang berbeda pula (jumlah yang dapat dikompres file). Pada tutorial kali ini, saya akan mengajarkan cara menggunakan Gzip dulu saja yaa, takut kepanjangan, hehe.

Menggunakan Gzip
Mari coba menggunakn gzip (GNU zip) dulu, karena ini adalah utilitas kompresi yang paling umum digunakan di Linux. Kita bisa menggunakan file yasya.tar dengan mengetikkan perintah seperti gambar dibawah ini:


Perhatikan bahwa saya menggunakan wild card (*) untuk ekstensi file saya yang berarti bahwa perintah tersebut harus berlaku untuk file apa saja yang dimulai dengan nama "yasya" dengan ekstensi file apa pun. Saya akan menggunakan notasi serupa untuk contoh berikut. Ketika kita melakukan long listing di direktori, kita dapat melihat bahwa file tersebut telah mengubah ekstensi file menjadi .tar.gz, dan ukuran file telah dikompres menjadi hanya 148 byte!

Kemudian kita bisa mendekompres file yang sama dengan menggunakan perintah gunzip (GNU unzip).

gunzip yasya.*

Ketika kita melakukannya, file tersebut tidak lagi disimpan dengan ekstensi .tar.gz, dan sekarang telah kembali ke ukuran aslinya.

Semoga artikel ini bermanfaat bagi kalian yang sedang mempelajari Linux, jangan ragu-ragu untuk bertanya dan jangan lupa untuk berbagi yaa?