Memasang Go di Ubuntu

Ceritanya saya sedang menulis ulang sebuah proyek kecil yang sudah lama tidak saya sentuh. Mengapa saya tulis ulang? nanti saja saya ceritakan secara terpisah πŸ˜€ Proyek tersebut saya tulis ulang dalam bahasa Go. Nah bagaimana cara memasang perkakas bahasa Go di Ubuntu?

Cara paling enak dan cepat tentunya memasang yang ada di repositori Ubuntu. Cari paket bernama golang lalu pasang! Namun bagi para petualang yang butuh Go versi terbaru, yang ada di repositori Ubuntu mungkin tidak cukup.

Sekitar dua tahun yang lalu, ada yang memelihara paket Go dengan versi paling mutakhir di repositori PPA. Namun karena ada beberapa kendala, usaha ini akhirnya dihentikan. Tapi untungnya beliau ini masih menyediakan alat bantu untuk mengubah paket binari Go resmi menjadi paket Debian yang bisa dipasang di Ubuntu.

Berikut ini cara memakainya.

  1. Unduh aplikasi untuk mengunduh dan mengubah paket binari Go menjadi paket Debian. Aplikasi ini terdiri dari dua versi, satu untuk arsitektur i386 dan satu lagi untuk arsitektur amd64.

    Sebagai contoh, saya akan memakai versi i386

    $ wget https://godeb.s3.amazonaws.com/godeb-386.tar.gz
  2. Ekstrak berkas yang tadi diunduh. Setelah diekstrak, akan ada berkas bernama godeb.

    $ tar xzf godeb-386.tar.gz
  3. Cek daftar versi Go yang tersedia

    $ ./godeb list
    1.4beta1
    1.3.3
    1.3.2
    1.3.1
    1.3
    .. dst ..

    Akan tampil daftar versi Go yang tersedia di tempat unduh resminya.

  4. Lalu jalankan perintah seperti di bawah ini untuk mengunduh dan mengubah paket binari Go menjadi paket Debian.

    $ ./godeb download 1.3.3
    processing https://storage.googleapis.com/golang/go1.3.3.linux-386.tar.gz
    package go_1.3.3-godeb1_i386.deb ready
  5. Pasang paket Debian yang baru saja terbentuk

    $ sudo dpkg -i go_1.3.3-godeb1_i386.deb
    [sudo] password for iang: 
    Selecting previously unselected package go.
    (Reading database ... 37654 files and directories currently installed.)
    Unpacking go (from go_1.3.3-godeb1_i386.deb) ...
    Setting up go (1.3.3-godeb1) ...
  6. Go versi pilihan Anda sudah siap untuk beraksi

    $ go version
    go version go1.3.3 linux/386

Aplikasi godeb ini sebenarnya juga menyediakan opsi install yang akan menjalankan tahap 4 dan 5 di atas sekaligus. Saya pribadi agak kurang suka dengan opsi tersebut karena tiba-tiba akan meminta password untuk sudo tanpa memberi tahu untuk apa. Sebenarnya menjalankan berkas binari acak seperti di atas juga tidak baik, tapi kalau kita tahu pasti sumbernya adalah sumber yang aman dan bisa dipercaya, mudah-mudahan kode yang dijalankan juga aman.

Akhir kata, saya ucapkan selamat mencoba! πŸ˜€

Log of Debian/Ubuntu packages

I have a plan to do a little research about packages in Debian and/or Ubuntu repositories. For this, I think I need a preferably complete log of packages that coming in and out of the repositories.

A friend of mine pointed me the following two mailing list archives where Debian and Ubuntu seem to be logging the packages.

If somebody knows the other sources, or if the above sources are unsuitable for the purpose I am looking for, please let me know πŸ™‚

Ubuntu Repository: Total Packages and Sizes

Long time ago, I made a chart that shows Ubuntu Repositories’ size over several releases. At that time, there were only 6 releases and 1 release that was still being worked on. Fast forward almost 6 years later, now we have 18 Ubuntu releases, yay! How does that chart look like now?

Well, here we go! I just made some new charts!

Ubuntu Releases - Packages and SIzes

The full charts can be seen atΒ http://fajran.github.io/vis-ubuntu-pkg/

As you can see, the repositories are constantly growing. Ubuntu starts with about 8 GB of packages and now it has more than 50 GB. The number of packages is also growing from just over 12.5 thousands and now it almost three times larger.

How did I count the numbers? I took the package index files (a.k.a. Packages file) and counted the number of packages inside. I also summed the size of each packages to get the size of the repository. The files are from the at-release repository which means I excluded the -updates and -security repositories. The at-release repository is presumably frozen and therefore the size won’t change anymore, where the latest two repositories are for the updates, which by definition are always updated. Well.. except when the release is not supported anymore.

I put all of the codes I wrote and use in my GitHub repository https://github.com/fajran/vis-ubuntu-pkg. Feel free to check, modify, and update it. I release the whole thing as public domain!

Ubuntu di MacBookPro 7,1

Gara-gara ada chip yg dipake oleh MacBookPro 7,1 (yaitu MCP89) yang ngga akur dengan Linux, maka SATA controller yang ada tidak bekerja. Alhasil harddisk dan dvdrom ngga dikenali oleh Linux dan gak bisa nginstal Linux. Sebuah laporan bug juga akhirnya dibuka, mempertanyakan mengapa kok Linux gak bisa bekerja.

Tiga puluh tiga komentar kemudian, sebuah patch akhirnya dibuat dan dikirim ke upstream. Patch ini mengakali masalah yang ada agar Linux menggunakan driver generic yang dapat digunakan sehingga harddisk dan dvdrom dapat dikenali dan dipakai. Seseorang pun akhirnya memasangkan patch tersebut ke kernel yang dipakai oleh Ubuntu dan membuat ulang cd instalasi Ubuntu 10.04 yang bekerja di MacBookPro 7,1!

CD dengan patch ini dapat langsung diunduh di http://macbookpro7-1.daviey.com/. Bagi pengguna Internet di Indonesia, saya sudah menyalin berkas ISO CD tadi ke Kambing di http://kambing.ui.ac.id/iso/misc/ubuntu-10.04-amd64-mbp7.1/.

Perlu dicatat, karena cuma make driver generic (dan ternyata DMAnya juga belum nyala di patch pertama ini), kinerja pengaksesan harddisk akan terasa lambat. Patch baru yang sudah memaksa DMA agar aktif sudah ada, mari kita tunggu ada yg ngepatch kernel yg dipake Ubuntu dan membuat cd instalasinya lagi *males bikin ndiri* hehe..

MacBookPro7,1 dengan Linux dan Windows 7

Satu kata tuk menggambarkannya: Bermasalah!

Linux (terlepas dari distro apapun itu) gak bisa jalan karena ternyata ada chipset yang digunakan oleh si MacBookPro (yaitu MCP89) yang tidak didukung oleh Linux, setidaknya sampe versi sebelum 2.6.35-rc1. Chip ini sepertinya menangani SATA sehingga kalau tidak didukung maka harddisk dan dvdrom drive tidak akan dikenali.

Info lebih lanjut:

Windows 7 juga sepertinya gak 100% lancar tuk dipasang. Kadang saat proses menyelesaikan instalasi (setelah boot pertama), Windows 7 akan diam membeku tidak bisa diapa-apakan lagi. Masalah yg sama juga bisa terjadi setelah login.

Setelah mencoba menginstal Windows 7 beberapa kali, akhirnya saya “beruntung” bisa menyelesaikan proses instalasi termasuk melakukan aktivasi. Sesuai saran di sebuah forum, saya harus memasang sebuah hotfix dari Microsoft agar masalah Windows 7 yang membeku ini tidak terjadi lagi. Mari kita lihat..

Info lebih lanjut: Diskusi di forum Apple

Ubuntu versi netinst

Debian punya satu tipe CD bernama netinst dapat digunakan untuk melakukan instalasi Debian secara minimalis. CD tersebut hanya berisi installer dan paket-paket dasar yang dibutuhkan untuk membangun sistem yang minimalis. Selain itu, ada juga versi business card yang hanya berisi installer sehingga akses ke repositori mutlak dibutuhkan untuk menginstal sistem, walau hanya melakukan instalasi minimalis.

Kedua jenis CD ini sangat berguna untuk melakukan instalasi sistem yang “bersih” dimana sistem hanya berisi paket-paket yang memang (pada umumnya) mutlak diperlukan saja. Dengan demikian, sistem dapat “dibangun” secara incremental dengan memasang paket-paket lainnya yang memang dibutuhkan. Sebagai contoh, jika ingin membangun sebuah web server, yang sebenarnya dibutuhkan kan hanya sistem dasar dan web server saja. Aplikasi lain yang tidak berhubungan sebenarnya (atau bahkan sebaiknya) tidak perlu dipasang.

Hari ini saya perlu memasang Ubuntu di dalam VirtualBox. Instalasi yang saya inginkan adalah instalasi yang super minimal seperti halnya yang dapat dihasilkan dengan menggunakan Debian versi netinst. Namun sayangnya Ubuntu tidak punya versi netinst sehingga saya harus menggunakan Ubuntu edisi server yang masih bisa digunakan untuk instalasi minimalis dengan tidak memasang paket-paket lainnya yang ditawarkan pada saat instalasi. Sayangnya lagi, saya sedang di kampus dengan koneksi wireless dan males nunggu 10-30 menit untuk mengunduh Ubuntu Server yang sekarang besarnya sudah sekitar 600MB.

Namun ternyata.. setelah Googling sedikit.. Ubuntu punya versi netinst! lebih tepatnya business card! Berkas ISO versi ini sangat kecil, hanya sekitar 20MB. CD ini hanya berisi installer dan paket-paket dasar yang perlu diinstal akan langsung diambil dari repositori.

Ada di manakah ISO CD Ubuntu versi super minimal ini? Memang sepertinya tidak ada keterangan resmi di website Ubuntu. Namun ada satu buah halaman wiki yang menerangkan hal ini. Silakan cek https://help.ubuntu.com/community/Installation/MinimalCD.

Halaman indeks menuju tempat mengunduh CD minimalis ini bisa dilihat di http://cdimage.ubuntu.com/netboot/. Pilih versi dan arsitektur yang diinginkan dan unduh berkas mini.iso. Ingat, Anda membutuhkan akses ke repositori untuk memasang Ubuntu versi minimalis dengan ISO CD ini.

Ah.. ternyata proses instalasi yang saya lakukan sambil menulis tulisan ini sudah hampir selesai.. sampai jumpa lagi! =D

Gerobak

Apa ini? singkatnya: apt-web yang lebih personal. Coba buka http://gerobak.dahsy.at/

Ada yang mau bantuin ngetes? Ada yang mau nyumbang sebuah VPS atau server beneran? Ada yang mau bantuin bikin?

Kok butuh VPS/server sendiri? Karena sepertinya Gerobak butuh sumber daya komputasi yang tidak kecil. Bisa bikin tetangga bahkan pemilik kontrakan ngomel2 kalau dipasang bareng-bareng dengan yang lain.

Kode sumber: http://github.com/fajran/gerobak. Lisensi: GNU AGPL 3

MacBookPro 5,5 dan Ubuntu 9.10 – Jaringan nirkabel

Ternyata kartu jaringan nirkabel yang ada di MacBookPro 5,5 tidak dikenal dari-sononya oleh Ubuntu 9.10 alias Karmic Koala. Untungnya instalasi driver-nya tidak terlalu sulit (seharusnya), cukup instal “Broadcom STA wireless driver” dari Hardware Drivers (System → Administration → Hardware Drivers). Namun tentunya si MacBookPro harus sudah terhubung dengan jaringan kabel yang ada.

Lalu bagaimana jika tidak ada jaringan dg kabel? Unduh dan pasang keempat paket berikut ini.

Setelah itu, jangan lupa restart.

Bagi penggemar perangkat lunak bebas, mungkin bisa coba driver Broadcom satunya lagi, yaitu b43-fwcutter karena yang saya tunjukkan di atas adalah driver tidak bebas. Saya sudah mencoba memasang paket b43-fwcutter ini namun sayangnya tidak berhasil.

Pada saat paket ini dipasang, koneksi internet juga akan dibutuhkan untuk mengunduh beberapa berkas tambahan yang dibutuhkan. Anda akan ditanya mengenai hal ini pada saat paket dipasang. Jawab tidak jika Anda memang tidak memiliki koneksi internet (seperti saya sebelumnya). Ada dua berkas yang diperlukan oleh paket ini, yaitu:

Bagi pria sejati, setelah menginstal paket tadi, silakan unduh dua berkas tersebut lalu intip berkas Coba ikuti dan jalankan isi skrip tersebut secara manual lalu restart mesin Anda, siapa tahu berhasil =D

MongoDB dan Ubuntu 8.04

Stelah ngoprek2 tiga hari belakangan ini, akhirnya jadi juga paket MongoDB 1.0 dan PyMongo 0.6 tuk Ubuntu 8.04. Silakan disedot dari Launchpad PPA saya bagian MongoDB =D

https://launchpad.net/~fajran/+archive/mongodb/

Seperti yang tertulis di website MongoDB, SpiderMonkey yang dibawa Ubuntu 8.04 tidak memiliki dukungan terhadap UTF-8. Jadi kalau Anda sekalian sangat membutuhkan UTF-8, mending compile sendiri aja semuanya sendiri ya =P atau pake yang sudah dibuatkan oleh MongoDB. Cek saja langsung di halaman download MongoDB.

Selamat menikmati..