Secara garis besar, aplikasi-aplikasi berbasis GNU/Linux didistribusikan dalam dua format, yaitu source code dan distribution-spesific packages.

Bagi saya, sangat memudahkan jika saat akan menginstall suatu program aplikasi bisa mendapatkan paket program yang sudah terkompile untuk distro yang dipakai atau istilahnya disebut binary distribution-spesific packages. Paket source code biasanya menjadi alternatif terakhir setelah kita tidak menemukan paket program tersebut dalam bentuk binary yang sesuai atau jika paket yang paling up to date hanya tersedia dalam bentuk source code.

Distribution Specific Packages
Saat ini, sepanjang pengetahuan saya ada dua kategori utama dalam penyebaran distro linux, yaitu Debian dan Redhat. Debian menggunakan paket-paket program berextensi .deb sementara Red Hat menggunakan .rpm. Sebenarnya ada satu lagi yaitu Slackware namun popularitasnya jauh ketinggalan dibanding dua kategori utama tersebut. Dari dua kategori utama ini kemudian beranak-pinak dan berketurunan menjadi begitu banyak distro. Bahkan sebuah aplikasi yang terkompile untuk distro sekeluarga belum tentu bisa berjalan satu sama lain. Ambil contoh Ubuntu, sebuah distro dari keluarga Debian. Tidak semua aplikasi .deb bisa berjalan dengan normal pada distro ini sehingga kita perlu mencari program yang lebih spesifik lagi yaitu Ubuntu *.deb packages.
Untuk melakukan instalasi program .deb dan .rpm caranya sangat mudah, sepanjang kita memiliki akses ke repositorynya baik yang offline ataupun online dan program dimaksud ada di dalam listnya.
Pada terminal window, pastikan kita sebagai root kemudian ketikkan perintah berikut:
Debian based : apt-get install nama_aplikasi atau dkpg -i namafile.deb
Red Hat based : yum install nama_aplikasi

Source Code
Paket-paket program berbentuk source code biasanya didistribusikan dalam sebuah file terkompresi dan karena itu biasanya juga disebut sebagai “tarball“. Ada dua golongan kompresi file yang digunakan yaitu GZIP (berekstensi .tar.gz atau .tgz) dan BZIP (berekstensi .tar.bz atau .tbz).
Meskipun konsep penyebaran aplikasi dalam bentuk source code sepertinya terasa sangat asing bagi sebagian besar pengguna komputer terutama para pemula namun sebenarnya  pemakaian konsep ini berlatar belakang sesuatu hal yang sangat masuk akal.Diantaranya bahwa kita bisa meng-customize program yang akan kita install sehingga benar-benar sesuai dengan mesin yang kita gunakan.
Namun menurut saya pribadi, install program melalui source code meskipun pada dasarnya hanya butuh empat langkah, namun kenyataannya adalah pekerjaan yang sangat menjengkelkan. Saat kita mencoba install melalui tarball, satu hal yang mebuat begitu ribet adalah masalah dependency dari library-library yang digunakan dalam source program tersebut. Bahkan ada yang menyebutkan hal ini sebagai “dependency hell“. Pokoknya, kalau tidak sangat terpaksa sekali saya sarankan untuk menghindari program-program dengan distribusi semacam ini.
Namun untuk menambah wawasan kita tentang GNU/Linux, berikut ini saya kutipkan pula step-step install program dari tarbal yang semuanya dijalankan dalam terminal window:

  1. Ekstrak file source code dengan perintah tar -zxvf nama_file (untuk Gzip tarball) atau tar -zxvf nama_file (untul Bzip tarball).
  2. Masuk ke folder tempat source code terekstrak.
  3. ./configure, adalah step saat system kita mencari semua file dependency yang digunakan dalam program aplikasi tersebut
  4. make, step untuk mengkompile program
  5. make install (sebagai root), step untuk mengintegrasikan compiled program dengan sistem.

Diantara kesemua tahapan tersebut, yang paling ruwet adalah pada saat ./configure sehingga jika kita sudah bisa melewati tahapan itu tanpa error, bisa dikatakan sudah sukses untuk install program via tarball.