Sebenarnya ini adalah pertanyaan yang dilontarkan oleh salah satu member di subforum #65 di Kaskus.

Pertanyaan lengkapnya berbunyi seperti ini:

[ask] Mengapa dpkg -i * kasar??

Permisi nih gan..
ane lagi belajar2 ttg linux terutama ubuntu yang ane pake’ saat ini

lha kbanyakan untuk nginstall aplikasinya kudu connect ke internet (online)..
karena ane tidak begitu mudah untuk mendapat koneksi internet, ane mencoba googling dan juga searching di sini cara untuk install aplikasi secara offline

ternyata ketemu juga, dan yang paling ane demen adalah lewat APT-WEB
tinggal pilih versi ubuntunya
pilih servernya
dan ketikkan nama aplikasinya
terus muncul file2 yang harus didownload

trus nginstallnya pake dpkg -i *.deb

kq dnger2 cara itu (dpkg -i *.deb) terbilang kasar
lha maksudnya kasar tu gmana gan? ane bner2 kurang paham ttg itu..

mohon pencerahannya ya gan…

Kaskuser tersebut beranggapan kalau menginstall paket di Ubuntu menggunakan dpkg adalah cara yang kasar, anggapan bahwa dpkg adalah cara yang kasar asalnya dari postingan om si_kabayan yang bunyinya seperti ini:

dpkg -i * merupakan cara yang kasar
Jika tidak menggunakan argumen --force-depends jangan lupa diikuti perintah apt-get -f install.
Yang lebih halus dengan menjadikan paket yang diunduh tadi sebagai repo lokal dengan dpkg-scanpackages dan path-nya nanti dimasukkan kedalam Synaptic.

Nah, di sini saya mau sedikit menanggapi tentang pendapat kaskuser di atas, masalah kasar atau tidaknya tergantung sejauh mana pemahaman pembaca.

Latar belakang dpkg dan apt-get

dpkg sendiri tidak mampu mengelola sebuah paket yang memiliki dependensi dari suatu repositori. Dpkg masih memerlukan program yang lebih lanjut untuk dapat menangani repositori, dalam hal ini adalah apt-get atau aptitude. Mengapa demikian? karena dpkg pada dasarnya hanyalah sebuah program inti (core) dan bukan program lanjutan. Dpkg hanya mampu menangani proses-proses seperti menginstall paket, menghapus paket dan mengubah konfigurasi suatu paket.

Apt-get dan aptitude lah sebagai program lanjutan. Apt-get dan aptitude dapat mengelola repositori, mendownload paket-paket dari repositori, plus menghapus dan menginstall paket karena menggunakan dpkg sebagai program intinya. Menangani repositori bukanlah tugas dari dpkg.

Dpkg tidak dapat menyelesaikan masalah dependensi pada saat proses menginstall paket. Dpkg hanya memberitahukan dependensi apa saja yang kurang tetapi tidak dapat menyelesaikan masalahnya. Untuk itu kita membutuhkan program lanjutan untuk menangani masalah dependensi ini, terutama kalau berurusan dengan paket yang mempunyai dependensi yang banyak.

Menurut halaman Wiki Debian:

dpkg checks dependencies and will refuse to install a package whose dependencies aren’t met, but it won’t help you find and install those dependencies. You need a higher-level tool (eg dselect or apt-get) for that.

Oleh karena itu, kalau Anda ingin menginstall sebuah paket yang memiliki dependensi yang harus didownload dari internet gunakanlah apt-get, karena apt-get akan menangani dependensi yang kurang.

Kalau Anda sudah yakin paket yang akan Anda install tidak memiliki dependensi atau memiliki dependensi tetapi sudah terinstall sebelumnya, maka Anda boleh menggunakan dpkg.

Saat Anda menginstall suatu paket dengan dpkg dan mendapati pesan error pada Terminal karena masalah dependensi, maka Anda harus menginstall dependensi tersebut secara manual, karena dpkg tidak secara otomatis menangani dependensi yang kurang.

Tapi, Anda tetap bisa menginstall suatu paket pada kondisi kekurangan dependensi dengan cara menjalankan perintah ini pada Terminal:

Jika Anda tidak yakin apakah suatu pake masih butuh dependensi untuk didownload atau tidak, maka sebaiknya jangan pakai dpkg, pakai cara ini:

Catatan:
Gunakan gdebi hanya kalau program gdebi sudah terinstall di Ubuntu Anda, kalau belum Anda bisa menginstallnya: sudo apt-get install gdebi

Referensi:
[Ask Ubuntu]