Category Archives: Linux

Mengkoneksikan WIFI dari CLI

Meski umumnya sehari-hari kita memakai komputer menggunakan antarmuka grafis (GUI), karena suatu alasan tertentu kadang kala kita perlu melakukan sesuatu dari antarmuka perintah baris (CLI). Misalnya untuk urusan mengkoneksikan laptop ke jaringan nirkabel (wireless), sistem operasi Fedora telah dilengkapi dengan NetworkManager yang berfungsi dengan sangat baik dan dapat dioperasikan dengan sangat mudah oleh orang awam sekalipun. Bagaimana kalau kita ingin mengkoneksikan laptop kita ke  Access Point (AP) yang menggunakan protokol keamanan WPA-PSK melalui antarmuka perintah baris?

Sederhana kok prosesnya, yang perlu diingat, perintah iwconfig hanya mendukung protokol keamanan WEP, sehingga bila kita ingin terhubung ke AP menggunakan WPA-PSK maka kita memerlukan paket wpa_supplicant.

Pastikan perintah wpa_passphrase dan wpa_supplicant tersedia di laptop Anda. Kalau kedua perintah tersebut tidak ada, silakan instal paket wpa_supplicant.


yum install wpa_supplicant 

Kemudian kita perlu membuat berkas konfigurasi wpa_supplicant, tentunya Anda sebelumnya sudah harus mengetahui nama SSID AP dan passphrase/password-nya.

wpa_passphrase [NAMA-SSID-WIFIMU] [PASSPHRASE-WIFIMU] > /etc/wpaku.conf

Perintah di atas akan menghasilkan suatu berkas /etc/wpaku.conf yang isinya kurang lebih seperti ini:

network={
ssid="NAMA-SSID-WIFIMU"
#psk="PASSPHRASE-WIFIMU"
psk=487daf2e66e889c24b8fdf6d01877d5549f6f63fa45b58cd2950d30c16b96dad
}

Selanjutnya jalankan wpa_supplicant dengan opsi-opsi berikut:
-D (diikuti dengan nama driver kartu nirkabel laptop Anda), -i (diikuti dengan nama interface kartu jaringan nirkabel), -c (diikuti dengan nama berkas yang baru saja Anda buat tadi) dan -B (agar perintah ini berjalan di background). Untuk melihat penjelasan tentang opsi lain yang tersedia, kita bisa membacanya di manual page wpa_supplicant.

Ok, ini contoh baris perintah yang saya jalankan di laptop saya


wpa_supplicant -Dwext -iwlp3s0 -c /etc/wpaku.conf -B 

Langkah terakhir, jalankan dhcp client untuk mendapatkan konfigurasi IP

dhclient wlp3s0

Thats it. Selamat berselancar sebagai preman terminal :)

 

Fedora Activity Day

Di proyek Fedora ada sebuah kegiatan spesial yang disebut Fedora Activity Day atau biasa disingkat FAD. Karena sifatnya yang spesial, sampai-sampai kegiatan ini memiliki alokasi dana tersendiri di luar alokasi dana yang telah disiapkan untuk keperluan promosi, marketingdan sebagai dana pendukung bagi para aktivis fedora yang memerlukan bantuan dana saat memperkenalkan dan menyebarkan Fedora ke masyarakat umum. Selain FAD ada satu lagi sih kegiatan spesial di fedora yang disebut FUDCon (Fedora Users and Developers Conference). Kedua kegiatan ini (FAD dan FUDCon) dikatagorikan sebagai kegiatan utama.

Masing-masing regional (terutama di regional Asia Pasifik) telah mengajukan rencana kegiatan untuk setahun. Beragam kegiatan sepertirelease party, mempromosikan penggunaan fedora ke berbagai kalangan (institusi pendidikan, pemerintahan, bisnis dan masyarakat umum).Release party dikatagorikan sebagai kegiatan sekunder.

Biasanya dukungan dana ini dipakai untuk membantu memproduksi CD/DVD, stiker, spanduk, kaos dan pernak-pernik fedora lainnya. Kadang bantuan dana ini juga dipakai untuk menyewa tempat/peralatan, membantu membiayai dana perjalanan/transportasi dan akomodasi para aktivis Fedora yang telah menyisihkan waktu dan tenaganya untuk menghadiri kegiatan di luar kota (atau bahkan luar negeri).

Berbeda dengan kegiatan-kegiatan di atas, FAD lebih ditujukan untuk memfasilitasi para kontributor Fedora. Dari FAD diharapkan ada timbal balik langsung yang bisa dikontribusikan ke dalam proyek Fedora.

Sebagai contoh begini, misal saya ingin membuat suatu kegiatan dimana dalam kegiatan tersebut banyak aktivitas yang berkaitan dengan Fedora, memperkenalkan fitur-fitur distro Fedora, pelatihan atau lokakarya/workshop penggunaan Fedora, kegiatan ini tidak bisa dikatagorikan sebagai FAD.

Berbeda bila saya membuat suatu kegiatan seperti ini:

1. Kegiatan yang dihadiri oleh para duta (ambassador) Fedora, kemudian di acara tersebut kita mendiskusikan rencana yang akan kita lakukan untuk beberapa waktu ke depan dan mengevaluasi kegiatan-kegiatan terdahulu. Memandu para calon ambassador baru agar dapat melaksanakan tugasnya dengan baik. Ini bisa disebut FAD Ambassador

2. Kita mengumpulkan para pengalihbahasa dan mengerjakan pengalihbahasaan/pelokalaan distro baik di bagian aplikasi, dokumentasi maupun situs. Ini bisa disebut FAD L10N.

3. Kita berkumpul dan melakukan hackaton, membuat aplikasi yang akan kita sumbangkan hasilnya ke proyek fedora. Ini juga bisa disebut FAD.

4. Berkumpul dan mengadakan pelatihan cara membuat paket rpm, kemudian di akhir acara masing-masing peserta memilih paket yang belum ada di repositori fedora untuk dibuatkan paket rpm-nya. Ini juga bisa dikatagorikan FAD.

Kelihatan kan bedanya FAD dengan kegiatan release party atau kegiatan marketing yang lain ?

Membatasi Bandwidth Menggunakan Trickle

Kalau kita tergolong fakir bandwidth ada baiknya kita benar-benar mengelola pemakaian bandwidth agar aktivitas kita yang lain tidak terganggu ketika kita sedang mengunduh/mengunggah sesuatu.

Misal kita ingin mentransfer data menggunakan rsync, sambil menunggu proses sinkronisasi selesai kita ingin berselancar di internet. Nah kalau proses sinkronisasi data ini tidak dibatasi, ini akan mempengaruhi kecepatan akses kita saat berselancar di internet karena sebagian besar bandwidth akan dikonsumsi oleh si rsync.

Rsync sebenarnya punya opsi “–bwlimit” untuk membatasi pemakaian bandwidth, tapi opsi ini akan bekerja efektif untuk berkas-berkas yang berukuran besar, karena ia tidak benar-benar membatasi konsumsi bandwidth, tapi hanya men-delay proses pengiriman suatu blok data bila dianggapnya proses pengirimannya terlalu cepat. Mungkin ini mirip dengan fitur delay pool di squid.

Kalau mau pembatasan bandwidth yang lebih yahud dan gak ribet, coba pasang aplikasi yang bernama trickle. Kita bisa mengelola pemakaian bandwidth per aplikasi yang kita jalankan. Trickle sudah tersedia di repositori resmi Fedora dan EPEL, jadi gak usah pusing, tinggal yum install trickle

Contoh untuk kasus rsync tadi, kita bisa menjalankan rsync dengan opsi seperti ini: rsync -avz --progress -e "trickle -d 8 ssh" server.remote.ku:/path/ke/direktori/asal /path/ke/direktori/tujuan Ini berarti kita membatasi rsync agar hanya boleh mengkonsumsibandwidth pengunduhan sebesar 8 KB/s atau 64Kbps. Kalau mau membatasi bandwidth pengunggahan, kita bisa pakai opsi “-u

Lebih jelasnya, silakan baca man trickle

Selamat cekek-mencekek bandwidth :)

Ruby di Fedora dan CentOS

Ruby adalah salah satu bahasa pemrograman yang beberapa tahun belakangan ini sedang naik daun. Seiring dengan berjalannya waktu, semakin banyak aplikasi/tools keren yang dibuat menggunakan bahasa ini.

Sayangnya ketersediaan paket-paket rpm ruby di CentOS atau pun di Fedora masih sangat minim. Untuk itulah komunitas Fedora membuatRuby SIG (Special Interest Group) yang bertujuan untuk meningkatkan dukungan terhadap aplikasi-aplikasi ruby, pustaka pendukungnya serta mengeluarkan standar untuk para pemaket ruby. Salah satu yang dihasilkan oleh SIG ini adalah panduan untuk para pemaket ruby rpm.

Kondisi di CentOS jauh lebih parah, versi ruby yang disertakan jauh tertinggal dari versi terbaru (CentOS 5 dan 6 menyediakan ruby versi 1.8.7). Padahal beberapa aplikasi mensyaratkan hanya bisa dipakai menggunakan ruby versi baru.

Ada 2 aplikasi yang ingin saya paketkan menjadi rpm, yaitu Redmine dan GitLab. Untuk redmine sebenarnya dia tidak butuh ruby versi terbaru, cukup dengan memasang ruby versi 1.8.7 (sudah tersedia di repositori). Hanya beberapa paket rubygem pendukungnya yang belum tersedia. Sementara gitlab mensyaratkan ruby versi 1.9.x.

Sebenarnya, untuk kedua aplikasi itu bisa saja dipasang di CentOS dengan mudah jika kita mengikuti panduan dari masing-masing pengembangnya. Tapi sebagai mantan sysadmin, saya berpendapat kalau masing-masing aplikasi yang akan dipasang di server memiliki standarnya sendiri-sendiri tentu akan merepotkan untuk proses deployment dan perawatannya. FYI, saya punya prinsip untuk tidak memasang tools development (semacam gcc, autoconf, dkk) di server production. Dan prinsip saya yang lain, proses deployment harus semudah mungkin dan harus dapat dijalankan ulang oleh siapa pun di mesin mana pun dengan hasil yang sama. Ini akan berguna kalau kita ingin membuat replika dari suatu sistem, atau ingin melakukan proses otomasi, dan sebagainya dan sebagainya (banyak sekali alasannya)

Ok, kembali ke masalah pemaketan ruby. Untung sudah tersedia paket rubygem-gem2rpm yang sangat membantu untuk proses pembuatan paket-paket rubygem. Setidaknya 90% berkas spec yang dihasilkan bisa langsung dieksekusi, paling cuma perlu melakukan sedikit penyesuaian. Oh iya, kali ini yang ingin saya coba adalah menyediakan paket-paket ruby 1.9.3 di CentOS, jadi saya mengikuti panduan dan konvensi dari Fedora dan membuild ulang semua paket ruby yang sudah ada di repositori untuk CentOS 6. Saya siapkan satu repositori yum khusus untuk ruby 1.9.3 ini (nanti ya saya unggah kalau sudah selesai semua).