13 July 2013

Membuat Cermin Lumbung Paket Distro dan Aplikasi Favorit

Sebagai penggemar FOSS, saya mengkoleksi lumbung paket distro dan aplikasi favorit saya. Lumbung paket ini saya simpan lokal di harddisk eksternal yang selalu saya mutakhirkan setidaknya satu minggu satu kali saat sedang terkoneksi ke internet di rumah ataupun di kantor. Biasanya pemutakhiran lumbung paket ini saya eksekusi saat koneksi internet tidak sibuk digunakan oleh orang rumah (istri dan anak-anak) atau orang kantor (teman, bos dan satpam). Ukuran total lumbung paket ini sangat besar dan saat dimutakhirkan akan mengunduh berkas-berkas paket dalam jumlah yang cukup besar pula.

Daftar distro dan aplikasi favorit yang saat ini lumbung paketnya saya buat cermin adalah sebagai berikut:
  1. BlankOn 8 Rote (stabil) dan  9 Suroboyo (pengembangan), ini adalah distro terbaik se-nusantara.
  2. Paket DEB Google Chrome, peramban web kompetitor serius Mozilla Firefox.
  3. Paket DEB Google Earth, cuma pengen aja. Mungkin karena Google.
  4. Paket DEB Google Talk/Hangouts Plugin, plugin agar peramban web dapat melakukan obrel suara dan video Google Talk/Hangouts.
  5. Paket DEB Opera, peramban web alternatif Mozilla Firefox dan Google Chrome.
  6. Paket DEB Oracle Virtualbox, agar dapat menggunakan versi terbaru Virtualbox lebih awal.
  7. Vyatta Community 6.6, distro router/dinding api (firewall) terbaik.
  8. Proxmox VE 3, distro virtualisasi KVM dan OpenVZ terbaik.
  9. Debian Wheezy, Jessie dan Sid, distro terkeren se-dunia.
  10. Debian Security dan Debian Multimedia, lumbung paket pendukung lumbung paket utama Debian.
  11. Ubuntu Precise (LTS terbaru) dan Raring (rilis terbaru), jaga-jaga kalau dapat permintaan perkerjaan mengajar/implementasi Ubuntu.
  12. Canonical Partner, lumbung paket pendukung lumbung paket utama Ubuntu.
  13. Kali dan Kali Security, jaga-jaga kalau dapat permintaan perkerjaan mengajar/implementasi Kali.
  14. CentOS 6, ini distro favorit di kantor-kantor di Jakarta, jaga-jaga kalau dapat permintaan perkerjaan mengajar/implementasi CentOS.
  15. EPEL, DAG, ATRPMS EL6, lumbung paket pendukung lumbung paket utama CentOS 6.
  16. ClearOS 6 Community dan Professional, ini distro server terintegrasi favorit beberapa kantor di Jakarta, jaga-jaga kalau dapat permintaan perkerjaan mengajar/implementasi ClearOS.
  17. Fedora 17, ini distro RPM popular. Versi 17 adalah versi terbaru -2 yang pemutakhirannya dihentikan 1 bulan setelah rilis versi terbaru (19). Cocok untuk bahan ajar Linux RPM.
  18. Fedora 19, ini distro RPM popular. Versi 19 adalah versi terbaru, jaga-jaga kalau dapat permintaan perkerjaan mengajar/implementasi Fedora.

Karena pemutakhiran lumbung paket ini saya eksekusi rutin dan lumbung paket yang dimutakhirkan berjumlah banyak, maka untuk memudahkan saya membuat berkas skrip bash untuk memudahkan eksekusi. Isi skrip adalah daftar pemutakhiran lumbung paket distro dan aplikasi favorit menggunakan debmirror (untuk paket-paket .deb) dan rsync (untuk paket-paket .rpm). Skrip bash pembuatan/pemutakhiran cermin lumbung paket distro dan aplikasi di atas adalah sebagai berikut:

#!/bin/bash
debmirror -p -v --nosource --rsync-extra=none -h arsip.blankonlinux.or.id --method=http -r blankon -d rote,rote-security,rote-updates,suroboyo,suroboyo-security,suroboyo-updates -s main,restricted,extras,extras-restricted -a i386,amd64 /media/exthdd/Repositories/blankon
debmirror -p -v --nosource --rsync-extra=none -h dl.google.com --method=http -r linux/chrome/deb -d stable -s main -a i386,amd64 /media/exthdd/Repositories/debian-chrome
debmirror -p -v --nosource --rsync-extra=none -h dl.google.com --method=http -r linux/earth/deb -d stable -s main -a i386,amd64 /media/exthdd/Repositories/debian-earth
debmirror -p -v --nosource --rsync-extra=none -h dl.google.com --method=http -r linux/talkplugin/deb -d stable -s main -a i386,amd64 /media/exthdd/Repositories/debian-talkplugin
debmirror -p -v --nosource --rsync-extra=none -h deb.opera.com  --method=http -r opera -d stable -s non-free -a i386,amd64 /media/exthdd/Repositories/debian-opera
debmirror -p -v --nosource --rsync-extra=none -h download.virtualbox.org --method=http -r virtualbox/debian -d wheezy,precise,raring -s non-free,contrib -a i386,amd64 /media/exthdd/Repositories/debian-virtualbox
debmirror -p -v --nosource --rsync-extra=none -h packages.vyatta.com --method=http -r vyatta -d VC6.6 -s main -a i386,amd64 /media/exthdd/Repositories/vyatta
debmirror -p -v --nosource --rsync-extra=none --ignore-release-gpg -h download.proxmox.com --method=http -r debian -d wheezy -s pve -a i386,amd64 /media/exthdd/Repositories/proxmox-ve
debmirror -p -v --nosource --rsync-extra=none -h kambing.ui.ac.id  --method=http -r debian -d wheezy,wheezy-backports,wheezy-proposed-updates,wheezy-updates,jessie,jessie-proposed-updates,sid -s main,contrib,non-free -a i386,amd64 /media/exthdd/Repositories/debian
debmirror -p -v --nosource --rsync-extra=none -h kambing.ui.ac.id  --method=http -r debian-security -d wheezy/updates,jessie/updates -s main,contrib,non-free -a i386,amd64 /media/exthdd/Repositories/debian-security
debmirror -p -v --nosource --rsync-extra=none -h kambing.ui.ac.id  --method=http -r debian-multimedia -d wheezy,jessie,sid -s main,non-free -a i386,amd64 /media/exthdd/Repositories/debian-multimedia
debmirror -p -v --nosource --rsync-extra=none -h kambing.ui.ac.id  --method=http -r ubuntu -d precise,precise-security,precise-updates,raring,raring-security,raring-updates -s main,multiverse,restricted,universe -a i386,amd64 /media/exthdd/Repositories/ubuntu
 ./debmirror -p -v --nosource --rsync-extra=none -h archive.canonical.com --method=http -r / -d precise,raring -s partner -a i386,amd64 /media/exthdd/Repositories/ubuntu-partner
debmirror -p -v --nosource --rsync-extra=none -h http.kali.org --method=http -r / -d kali -s contrib,main,non-free -a i386,amd64 /media/exthdd/Repositories/kali
debmirror -p -v --nosource --rsync-extra=none -h security.kali.org --method=http -r / -d kali/updates -s contrib,main,non-free -a i386,amd64 /media/exthdd/Repositories/kali-security
rsync -avzH --delete kambing.ui.ac.id::centos/6/centosplus/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/centosplus/
rsync -avzH --delete kambing.ui.ac.id::centos/6/contrib/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/contrib/
rsync -avzH --delete kambing.ui.ac.id::centos/6/cr/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/cr/
rsync -avzH --delete kambing.ui.ac.id::centos/6/extras/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/extras/
rsync -avzH --delete kambing.ui.ac.id::centos/6/fasttrack/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/fasttrack/
rsync -avzH --delete kambing.ui.ac.id::centos/6/os/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/os/
rsync -avzH --delete kambing.ui.ac.id::centos/6/updates/x86_64/ /media/exthdd/Repositories/centos/6/x86_64/updates/
rsync -avzH --delete kambing.ui.ac.id::centos/6/centosplus/i386/ /media/exthdd/Repositories/centos/6/i386/centosplus/
rsync -avzH --delete kambing.ui.ac.id::centos/6/contrib/i386/ /media/exthdd/Repositories/centos/6/i386/contrib/
rsync -avzH --delete kambing.ui.ac.id::centos/6/cr/i386/ /media/exthdd/Repositories/centos/6/i386/cr/
rsync -avzH --delete kambing.ui.ac.id::centos/6/extras/i386/ /media/exthdd/Repositories/centos/6/i386/extras/
rsync -avzH --delete kambing.ui.ac.id::centos/6/fasttrack/i386/ /media/exthdd/Repositories/centos/6/i386/fasttrack/
rsync -avzH --delete kambing.ui.ac.id::centos/6/os/i386/ /media/exthdd/Repositories/centos/6/i386/os/
rsync -avzH --delete kambing.ui.ac.id::centos/6/updates/i386/ /media/exthdd/Repositories/centos/6/i386/updates/
rsync -avzH --delete --exclude=debug --exclude=repoview ftp.riken.jp::fedora/epel/6/x86_64/ /media/exthdd/Repositories/epel/6/x86_64/
rsync -avzH --delete --exclude=debug --exclude=repoview ftp.riken.jp::fedora/epel/6/i386/ /media/exthdd/Repositories/epel/6/i386/
rsync -avzH --delete --exclude=testing ftp.riken.jp::dag/redhat/el6/en/x86_64/ /media/exthdd/Repositories/dag/redhat/el6/x86_64/
rsync -avzH --delete --exclude=testing ftp.riken.jp::dag/redhat/el6/en/i386/ /media/exthdd/Repositories/dag/redhat/el6/i386/
rsync -avzH --delete --exclude=bleeding --exclude=testing ftp.riken.jp::atrpms/el6-x86_64/atrpms/ /media/exthdd/Repositories/atrpms/el6/x86_64/
rsync -avzH --delete --exclude=bleeding --exclude=testing ftp.riken.jp::atrpms/el6-i386/atrpms/ /media/exthdd/Repositories/atrpms/el6/i386/
rsync -avzH --delete --exclude=iso --exclude=SRPMS --exclude=dev --exclude=test --exclude=updates-testing --exclude=6.3.0 mirror3-toronto.clearsdn.com::clearos/community/ /media/exthdd/Repositories/clearos/community/
rsync -avzH --delete --exclude=iso --exclude=SRPMS --exclude=dev --exclude=test --exclude=updates-testing --exclude=6.3.0 mirror3-toronto.clearsdn.com::clearos/professional/ /media/exthdd/Repositories/clearos/professional/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/releases/17/Everything/x86_64/os/ /media/exthdd/Repositories/fedora/17/x86_64/os/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/updates/17/x86_64/ /media/exthdd/Repositories/fedora/17/x86_64/updates/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/releases/17/Everything/i386/os/ /media/exthdd/Repositories/fedora/17/i386/os/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/updates/17/i386/ /media/exthdd/Repositories/fedora/17/i386/updates/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/releases/19/Everything/x86_64/os/ /media/exthdd/Repositories/fedora/19/x86_64/os/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/updates/19/x86_64/ /media/exthdd/Repositories/fedora/19/x86_64/updates/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/releases/19/Everything/i386/os/ /media/exthdd/Repositories/fedora/19/i386/os/
rsync -avzH --delete --exclude=debug repo.ugm.ac.id::fedora/updates/19/i386/ /media/exthdd/Repositories/fedora/19/i386/updates/
Jika ingin mencoba menggunakan skrip bash ini, anda dapat mengunduhnya langsung di sini. Untuk mengeksekusi di distro BlankOn, anda perlu memasang terlebih dulu paket debmirror dan rsync.

Pembuatan cermin Canonical Partner memerlukan skrip perl debmirror yang sudah di-patch yang dapat anda unduh di sini.

Debmirror menggunakan gpgv untuk memverifikasi berkas Release dan Release.gpg pada lumbung paket sumber dengan berkas kunci pembanding bawaan yang berada di ~/.gnupg/trustedkeys.gpg. Untuk daftar lumbung paket di atas, anda dapat menambahkan kunci masing-masing lumbung paket secara manual (baca caranya di manual debmirror) atau menggunakan berkas trustedkeys.gpg yang sudah saya tambahkan kunci-kuncinya. Anda dapat mengunduhnya di sini dan langsung menyimpannya di direktori ~/.gnupg.

No comments: