Download file yang mana aja?

Salah satu yang menarik pada distribusi GNU/Linux [Debian](http://www.debian.org) atau [Ubuntu](http://www.ubuntu.com) adalah masalah manajemen paket. Kedua distribusi tersebut memiliki paket aplikasi siap instal yang jumlahnya sangat banyak, aplikasi manajemen paket yang beragam mulai dari `apt-get` bagi penggemar console sampai `synaptic` bagi penggemar aplikasi grafis, repository yang dapat diakses dengan berbagai cara seperti melalui http, ftp, direktori lokal, maupun cd/dvd, dan banyaknya [penyedia repository](http://foss-id.web.id/wiki/index.php/Category:Mirror) kedua distro tersebut di Indonesia.

Jika dilihat dari tempat mendapatkan berkas-berkas paket, maka pada dasarnya bisa dibagi jadi 2, yaitu download langsung dari internet maupun dari sumber yang “sudah ada” seperti repositori di harddisk lokal maupun di cd/dvd. Bagi yang tidak memiliki koneksi internet pada komputernya, salah satu solusi yang biasanya dipilih adalah mendownload paket-paket yang dibutuhkan di warnet/kampus/sekolah/kantor/dsb lalu dibawa ke rumah dan diinstal. Bagi program-program windows atau mac os x, mungkin hal ini cukup mudah dilakukan berhubung biasanya setiap aplikasi menyediakan **satu** file yang dapat di download dan digunakan untuk menginstal. Namun sayangnya jika kita mau mendownload paket-paket untuk linux, kita suka bingung menentukan file mana aja yang harus di download karena biasanya satu aplikasi tersusun dari banyak paket yang berbeda.

Berawal dari masalah di atas, beberapa bulan yang lalu saya mencoba membuat sebuah aplikasi kecil berbasis web yang dapat digunakan untuk membantu mendapatkan daftar file yang harus di download. yaya.. memang sudah lama dibuat tapi baru dipublikasikan sekarang =P

Salah satu yang menarik pada distribusi GNU/Linux Debian atau Ubuntu adalah masalah manajemen paket. Kedua distribusi tersebut memiliki paket aplikasi siap instal yang jumlahnya sangat banyak, aplikasi manajemen paket yang beragam mulai dari apt-get bagi penggemar console sampai synaptic bagi penggemar aplikasi grafis, repository yang dapat diakses dengan berbagai cara seperti melalui http, ftp, direktori lokal, maupun cd/dvd, dan banyaknya penyedia repository kedua distro tersebut di Indonesia.

Jika dilihat dari tempat mendapatkan berkas-berkas paket, maka pada dasarnya bisa dibagi jadi 2, yaitu download langsung dari internet maupun dari sumber yang “sudah ada” seperti repositori di harddisk lokal maupun di cd/dvd. Bagi yang tidak memiliki koneksi internet pada komputernya, salah satu solusi yang biasanya dipilih adalah mendownload paket-paket yang dibutuhkan di warnet/kampus/sekolah/kantor/dsb lalu dibawa ke rumah dan diinstal. Bagi program-program windows atau mac os x, mungkin hal ini cukup mudah dilakukan berhubung biasanya setiap aplikasi menyediakan satu file yang dapat di download dan digunakan untuk menginstal. Namun sayangnya jika kita mau mendownload paket-paket untuk linux, kita suka bingung menentukan file mana aja yang harus di download karena biasanya satu aplikasi tersusun dari banyak paket yang berbeda.

Berawal dari masalah di atas, beberapa bulan yang lalu saya mencoba membuat sebuah aplikasi kecil berbasis web yang dapat digunakan untuk membantu mendapatkan daftar file yang harus di download. yaya.. memang sudah lama dibuat tapi baru dipublikasikan sekarang =P

Jadi, silakan langsung kunjungi http://labs.fajran.web.id/p/apt-web/

Cara menggunakan

Pada aplikasi tersebut hanya ada 3 buah pertanyaan/pilihan sebelum tombol “Submit” dapat ditekan.

  1. Base distribution adalah distribusi yang Anda gunakan sekarang.
  2. Mirror adalah mirror yang ingin digunakan untuk mendownload file-file yang Anda butuhkan.
  3. Packages adalah daftar paket yang ingin diinstal.

Sebagai contoh, jika Anda sedang menggunakan Ubuntu 7.10 i386 dan Anda ingin menginstal paket gnucash dan inkscape dan ingin mendownload file-file yang dibutuhkan dari mirror kambing, maka isilah isian yang ada seperti pada gambar berikut.

contoh

Setelah itu? tentu saja klik tombol submit 😛 Anda akan menjumpai halaman seperti gambar di bawah ini (klik untuk memperbesar).

hasil

Anda akan menemukan sebuah daftar URL yang menunjukkan file-file yang harus di download. Silakan download dan bawa pulang ke rumah 🙂

Cara menginstal paket-paket

Setelah mendownload file-file yang dibutuhkan, pertanyaan berikutnya adalah bagaimana cara menginstalnya? Cara paling gampang dan agak-agak brutal adalah sebagai berikut.

$ sudo dpkg -i *.deb

Maka seluruh file yang ada akan diinstal. hehehe..

Catatan/pertanyaan tambahan

  1. Apa sih maksud sebenarnya dari base distribution itu?

    Jadi dalam menentukan paket-paket yang harus di download, aplikasi ini menggunakan acuan konfigurasi standar dari sebuah distribusi. Andakaikan setelah menginstal sebuah distribusi paket yang secara default diinstal adalah paket satu, dua, dan tiga, maka ketiga paket tersebut diasumsikan sudah terinstal. Sehingga jika Anda ingin menginstal paket tambahan yang membutuhkan salah satu/sebagian dari paket yang sudah default terinstal, maka aplikasi ini tidak akan menampilkan link nya lagi.

  2. Darimana acuan daftar paket default itu diambil?

    Pada keluarga debian, ada sebuah file bernama /var/lib/dpkg/status. File ini berisi status paket-paket yang sudah terinstal. Saya mengambil file status ini dari berbagai distribusi yang baru selesai diinstal tanpa adanya paket-paket tambahan yang dimasukkan. Sehingga dapat diasumsikan semua orang akan mendapatkan konfigurasi yang sama dengan saya.

  3. Ada yang perlu dibantu?

    Tentu saja ada 😀 Jika melihat keadaan sekarang, base distribution yang bisa dipilih hanya ada 4. Jika saya ingin menambahkan distribusi baru, maka saya harus menginstal distribusi tersebut lalu mengambil file status yang ada. Tentu saja hal ini sangat menghabiskan waktu.

    Jadi saat ini saya membutuhkan bantuan berikut:

    1. Kalau ada yang berencana menginstal ubuntu/debian (yang belum terdaftar di aplikasi), saya minta file /var/lib/dpkg/status tadi ya.. Jangan nambah aplikasi apa-apa dulu sebelum meng-copy file tadi 🙂
    2. kalau ada yang tahu bagaimana cara mendapatkan file status tadi tanpa harus menginstal distribusi dari awal, maka tolong kasih tau saya 😀
  4. Mau lihat kode aplikasi web tsb?

Berhubung belum beberes, untuk sementara waktu silakan kunjungi http://labs.fajran.web.id/p/apt-web-src/

  1. Kelemahan?

  2. Sepertinya kode aplikasi tsb belum cukup scalable. Bahkan sekarang hanya dapat menangani 1 distribusi (dg berbagai versi) saja dan distribusi tersebut adalah yang berbasis debian.

  3. Lambat? butuh resource? soalnya simulasi instal selalu dilakukan pada saat pencarian paket dilakukan.
  4. Apa yang terjadi kalau lebih dari satu pengguna menggunakan aplikasi ini bersamaan? bisa jadi yg satu gagal.. hehe

Wah panjang juga tulisan ini ya? hehehe.. ok deh.. selamat menikmati! 🙂

41 thoughts on “Download file yang mana aja?”

  1. Iya panjang amat tulisannya tapi bermanfaat banget trims yah…
    Semoga hal ini bisa diterapkan di ubuntu-id.org 😀

  2. @syn: kira2 begitu.. tp file status nya itu gak bisa diganti pake punya sendiri..

    @udienz: bisa aja sih.. tp bagi file status nya dong 😛

  3. @nrkhlsmjd: tinggal copy list nya trus sisanya serahkan ke donlod manager.. 😛

    kalo pake wget, tinggal tulis “wget -i daftar.txt”

  4. Mantap aplikasinya.. Cocok buat orang Indonesia yang koneksi internetnya terbatas..
    Mungkin cerita yg kubuat bisa mengilustrasikan aplikasi ini..

    Ayoo bikin lagi yg lain.. 😀

  5. @MaLing: saya lagi gak punya waktu tuk nginstal2 OS.. kalo mas punya xubuntu fresh instal (belom pernah dinstalin apa2 lagi), tolong kirimkan file /var/lib/dpkg/status nya ke saya.

  6. gimana kalau dikasih tempat buat upload file status, atau ngakses file status di mana gituh, jadi gak redundant dapet file yang perlu didownload 😛

    *ngelunjak berat*

  7. @aldi.. itu source code nya udah gw kasih.. jadi.. jadi.. silakan dilanjutkan sendiri =P

    sebenernya itu juga salah satu tujuannya.. tp masih takut2 kalo tiba2 si mesin jadi berat.. ntar gw didepak dari dreamhost..

  8. Mas fajran, tutorialnya mana nih, masih sibuk ya… Saya udah bikin tuh repositori lokal terus mo pake aplikasi ini, saya udah coba2 cuman hasilnya kok kosong terus yak.. Saya pake ubuntu 8.04 desktop. Mohon pencerahannya… thx.

    [kalo sempet tolong kirim ke email ya mas]

  9. mas untuk Amd 64 nya mana? kok i386 saja toh!!
    Gimana caranya untuk amd64 atau intel64 thanxs

  10. @irul: maap belom sempet T_T

    @firdaus: saya gak punya mesin yg diinstalin versi amd64. jadi saya gak punya daftar paket dasarnya. Kalo mas bisa bantuin, saya dengan senang hati nambahin daftarnya. Udah saya tulis di poin nomor 3 di atas tuk cara membantunya 🙂

  11. oh gitu toh masalahe ya dah tar tak coba

    oh ya sebenere aku aku baru beli kompi 64bit biasanya juga pake 32bit, kayaknya kompi 64 di nomor duakan oleh mark sut….. (Ups…) kemarin aku kebantu banget dengan apps ini sekarang aku jadi kayak baru kenal ubuntu lagi he he he

  12. Wah, keren programnya. But, klo pngen dpet paket inkscape yang terbaru tapi di ubuntu yang lama (festy fawn) kq ga bisa yah. Pasti munculnya paket untuk inkscape 0.45. padahal kan pengen banget punya inkscape yang versi 0.46.

  13. mas, yg utk paket 64 bit gimana? belum ada ya? trus kalo paket yg salah/gak ada, dia diem aja ya.. jadi menduga2, ini emang gak ada paket itu atau masih searching.. kurang komunikatip begitu … 🙂 Anyway, good job!… membantu para fakir bandwidth… trims sekali.

  14. Gunawan: maka dari itu saya publikasikan source codenya. Jadi kan bisa mas tambah2in sendiri yang kurang =P jangan lupa bagi2 lagi ke saya versi modifikasinya 😀

  15. Gw ralat deh bos intrepid akan mau keluar kl gw ngga salah tanggal 30/10/2008…

    Yah kl bisa ditambahkan kedalam pilihannya…Ok bos ?

  16. q baru ni kenal linux…
    mas, q coba cari codecs buat hardy, ko pas d tak masukin base-nya hardy, trus mror-nya kambing (misal), trus packge-nya w32codecs, tapi g kluar y???

    gmana mas caranya??

  17. mas fajran, hendak bertanya ni.. 🙂
    kok ada beberapa package yang tidak ada ya? ketika dicari hasilnya keluar tapi ketika diunduh malah eror, package tidak ditemukan gitu… kok bisa gitu ya mas?
    dan matur nuwun atas jawabannya… ^^

  18. Iang, dulu ada yang pernah mau ngerjain project yang serupa di kampus kita tercinta. Tapi orang bisa mengupload file status untuk mencegah ia mendownload file yang udah terinstall. Kemudian ia juga mengupload file sources.list. Mmm apa mungkin diemulasi ya? Seperti menggunakan apt-env.sh yang elo buat. Di situ kan digunakan variabel sources.list dan apt.conf yang terlokalisasi.

  19. makasih mas apt-web nya.
    sangat membantu bagi saya yang berada di balik proksi kampus (karena synaptic gak terima proksi meski udah diatur (error 407) sehingga saya harus ndonlot satu persatu file DEBnya).
    mohon ditambah fitur suggestion di pencarian packages (maksudnya kalo misalnya ada salah masukin nama packagesnya, ada semacam “mungkin yang anda maksud adalah blablabla”).

Comments are closed.