Teks Primbon

Sejak mencoba belajar menjadi seorang Unix engineer di Fujitsu Indonesia Mei 2007 lalu, saya rutin mencatat semua ilmu, tips, dan tutorial tentang Unix. Saya tulis semuanya dalam sebuah dokumen Word. Semacam primbon kecil-kecilan lah, membantu saya mengingat semua hal tentang Unix yang sudah saya pelajari. Antisipasi suatu saat saya lupa. Tiap orang punya cara masing-masing untuk mencatat dan mendokumentasikan “primbonnya”. Teman saya Rizki di Fujitsu Indonesia, rajin sekali mencatat segala yang dia pelajari dalam sebuah buku. Hmm tulisan tangan saya tidak bagus, ditambah lagi saya malas mencatat; jadi saya pilih mengetiknya dalam sebuah file Word.

Saya catat segala hal mulai dari yang sederhana sampai yang saya anggap rumit. Misalnya saja cara membackup harddisk dengan perintah ufsdump. Atau bagaimana caranya mengkonfigurasi server/storage. Atau misalnya saya baru tahu tentang perintah Unix untuk memeriksa port-port yang terbuka, seperti yang terlihat pada gambar di bawah ini :

Saya pisah tiap topik dalam tiap halaman yang berbeda. Tiap catatan saya beri judul yang memudahkan saya bilamana nanti perlu mencarinya kembali. Tidak lupa saya cantumkan juga log yang berkaitan. Sampai hari ini catatan saya sudah mencapai 365 halaman.

Waktu saya mulai membuat catatan kecil ini saya masih menggunakan Microsoft Word. Ya maklum dulu di Fujitsu, notebook kantor diisi Windows XP. Awal tahun 2009 ini saya menggunakan Ubuntu di notebook kantor. Dengan menggunakan format *.doc sering timbul masalah ketika membuka catatan saya itu dengan Open Office Writer (atau sebaliknya). Font yang bisa berubah, margin yang bergeser, tabulasi yang berantakan, dan beberapa contoh masalah lainnya. Akhirnya setelah saya benahi semua catatan saya, saya simpan saja dalam format open document (*.odt). Format ini lebih enak dipakai, ukuran file-nya lebih kecil, dan bisa dibuka di semua word processor program yang sudah mendukung format open document.

Di kantor saya sekarang (eServGlobal Indonesia), rekan-rekan juga punya kebiasaan yang sama dengan saya. Mereka menyimpan catatan tentang ilmu-ilmunya, bedanya dengan saya adalah mereka mencatat dalam format plain text (*.txt). Hmm memang ada enaknya menyimpan catatan dalam format plain text. File-nya lebih cepat dibuka. Bekerja dengan komputer berbasis Linux membuat saya tidak bisa jauh dengan yang namanya Terminal/Console. Enaknya punya catatan dalam format teks, saya bisa buka catatan saya dengan menggunakan console (text based tentunya).

Saya cari-cari informasi ternyata ada juga aplikasi di Ubuntu yang dapat melakukan konversi file odt ke dalam file teks. Aplikasi itu bernama odt2txt. Ya sudah langsung saja saya pasang aplikasi itu. Cara pemakaiannya cukup mudah, tinggal tentukan nama output file yang diinginkan dan tentukan juga source dokumennya. Contohnya seperti di bawah ini :

tedy@tedy-laptop:~$ /usr/bin/odt2txt --output=/data/UNIX_text_version.txt /data/UNIX.odt

Dengan perintah di atas saya akan mendapat hasil sebuah file teks dengan nama UNIX_text_version.txt. Daripada harus mengulang mengetik perintah di atas berkali-kali, saya buat script kecil untuk mengotomatisasi proses konversi itu. Script-nya seperti berikut ini :

tedy@tedy-laptop:~$ cat bin/convert-odt
#!/bin/bash
#------------------------------------------------------------
# This script will convert UNIX.odt file into text file
#------------------------------------------------------------
echo "";
echo "---------------------------------------------------------";
echo "";
echo "Starting convert process at `date '+%Y%m%d-%H:%M:%S'`";
/usr/bin/odt2txt --output=/data/UNIX_text_version.txt /data/UNIX.odt
echo "";
echo "Finish convert process at `date '+%Y%m%d-%H:%M:%S'`";
echo "";
echo "---------------------------------------------------------";
echo "";
exit
tedy@tedy-laptop:~$

Tampilan console saat saya menjalankan script terlihat pada gambar di bawah ini :

.

Nah gampang sekarang kalau buru-buru perlu membuka catatan primbon saya ini 🙂 tinggal buka console saja. Misalnya dengan perintah view saya bisa mencari petunjuk yang diperlukan :

Saya senang menggunakan cara ini, prosesnya lebih cepat daripada harus membuka Open Office terlebih dulu. Hmm tapi memang untuk menambah isi catatan saya itu saya tetap harus menggunakan Open Office.

Nah bagaimana Anda menyimpan ilmu, tips, trik Unix Anda? 😀

Pulang Cirebon

Sabtu siang kemarin saya pulang ke Cirebon, katanya adik saya sakit. Adik perempuan saya terpaksa dirawat di rumah sakit karena terkena demam berdarah. Ya sudah pulanglah saya dengan kereta api jam 1 siang…padahal tadinya saya tidak punya rencana pulang ke Cirebon. Ah sayang Sabtu siang kemarin saya harus puas duduk di gerbong bisnis kereta Cirebon Ekspress. Tidak ada lagi kursi di kelas eksekutif, perjalanan yang kurang menyenangkan….siang-siang menuju Cirebon dengan hawa panas, duduk di kelas bisnis pula. Untung saya duduk persis di bawah kipas angin, jadi masih bisa duduk sambil baca novel. Hmm iseng sebentar waktu menunggu kereta datang di Gambir, sambil menunggu kereta datang…motret-motret.

Foto ini diambil saat kereta Cirebon Ekspress dari Cirebon menuju Jakarta baru merapat di Stasiun Gambir. Kereta ini pula lah yang akan saya naiki kembali ke Cirebon. Begitu ada pengumuman akan masuk kereta dari Cirebon, saya langsung ambil posisi di samping rel 😀 Mencari titik fokus dulu supaya saat kereta melintas saya tinggal ambil gambarnya.

Kalau foto di bawah ini adalah foto keramaian penumpang kereta Cirebon Ekspress yang baru datang tadi. Tidak terlalu ramai penumpang KA Cirebon Ekspress siang kemarin.  Susah juga ternyata memotret di tengah keramaian orang berlalu lalang. Jadi yang ada di dalam foto di bawah ini adalah penumpang yang turun belakangan dari kereta.

KA berangkat dari Gambir menuju Cirebon tepat pukul 13.15, tepat sesuai jadwal. Tiba di Cirebon juga tepat sesuai jadwal, pukul 16.15 sudah masuk stasiun Cirebon.

Indovision Billing Error

Rabu malam lalu (29 April 2009) muncul sebuah gambar amplop di layar televisi saya. Biasanya amplop tersebut berisi pesan dari Indovision untuk pelanggannya. Informasinya misalnya pemberitahuan promosi, event yang diselenggarakan Indovision, atau juga alert soal jumlah tagihan yang belum terbayar. Saat saya buka pesan tersebut ternyata isinya adalah peringatan tagihan yang belum terbayar untuk periode bulan ini. Screenshot-nya seperti ini :

Kaget juga saya membaca pesan ini karena saya ingat Jumat lalu saya sudah membayar tagihan Indovision lewat ATM BCA. Kaget yang kedua karena melihat jumlah yang ditagihan lebih besar daripada jumlah yang biasa saya bayarkan tiap bulannya (Rp239.000,-). Saat itu posisi saya sudah di kasur, menjelang tidur. Terdorong rasa penasaran saya bangun lagi. Pertama ambil kamera motret tampilan pesan itu lalu mencari struk transfer BCA sekadar ingin mencocokkan nomor account Indovision saya. Untung slip transfer BCA masih saya simpan. Nomor account yang tercantum di pesan yang muncul di layar TV saya ternyata berbeda dengan nomor account Indovision saya.

Saya masih belum yakin, jangan-jangan saya salah mentransfer pembayaran Indovision. Saya cari lagi amplop tagihan Indovision bulan sebelumnya, ternyata saya tidak salah. Nomor account Indovision saya sudah benar. Saya yakin ada yang salah dengan sistem billing-nya Indovision. Saat itu sudah hampir jam setengah 1 malam, inginnya segera komplain tapi mata sudah benar-benar ngantuk. Saya putuskan besok saja telepon ke Indovisionnya. Ini di luar kebiasaan saya, ngantuk mengalahkan keinginan saya untuk ngomel-ngomel :-p

Hari Kamis saya malah lupa telepon ke Indovision. Kamis malam sepulang kantor saat saya menyalakan TV, ada lagi gambar amplop kecil tepat di bagian atas layar. Saat saya buka ternyata isinya informasi kesalahan tagihan dari Indovision. Screenshot-nya seperti ini :

Ok clear masalahnya, Indovision salah mengirim pesan informasi tagihan.

Alias For Shorten Your Commands

For lazy Unix user like me, it’s quite nice to have private command which short as a replacement for long command. It can be implement by adding alias to replace some commands that too long to be typed. To make the alias permanently, we must registered it in the profile file. In my Ubuntu Linux, I can do that by edit $HOME/.bashrc file.

tedy@tedy-laptop:~$ tail $HOME/.bashrc
....
alias ceklog='tail -100 /var/log/messages'
....
tedy@tedy-laptop:~$ 

After adding that two aliases, I can type ceklog to saving time typing long command 'tail -100 /var/log/messages' Remember : after add item in the .bashrc we must close the current shell first to let the alias works. Look the example below; my alias works like a charm.

tedy@tedy-laptop:~$ ceklog
....
....
Apr 15 14:46:07 tedy-laptop kernel: [19512.722594] usb 1-2: new full speed USB device using uhci_hcd and address 2
Apr 15 14:46:07 tedy-laptop kernel: [19512.910427] usb 1-2: configuration #1 chosen from 1 choice
Apr 15 14:46:07 tedy-laptop kernel: [19513.477569] Bluetooth: Generic Bluetooth USB driver ver 0.3
Apr 15 14:46:07 tedy-laptop kernel: [19513.477666] usbcore: registered new interface driver btusb
Apr 15 14:46:10 tedy-laptop kernel: [19516.500204] usb 1-2: USB disconnect, address 2
Apr 15 14:47:29 tedy-laptop kernel: [19595.184588] sky2 eth0: disabling interface
Apr 15 14:47:29 tedy-laptop kernel: [19595.221700] iwlagn 0000:0c:00.0: PCI INT A disabled
Apr 15 14:47:34 tedy-laptop kernel: [19600.563508] sky2 eth0: enabling interface
Apr 15 14:47:34 tedy-laptop kernel: [19600.568480] ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 15 14:47:34 tedy-laptop kernel: [19600.575494] iwlagn 0000:0c:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Apr 15 14:47:34 tedy-laptop kernel: [19600.575836] iwlagn: Radio disabled by HW RF Kill switch
Apr 15 14:47:34 tedy-laptop kernel: [19600.583516] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Apr 15 14:47:36 tedy-laptop kernel: [19602.249848] sky2 eth0: Link is up at 100 Mbps, full duplex, flow control both
Apr 15 14:47:36 tedy-laptop kernel: [19602.250324] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

You can see that the alias give me the same output when I execute  tail -100 /var/log/messages :

tedy@tedy-laptop:~$ tail -100 /var/log/messages
....
....
Apr 15 14:46:07 tedy-laptop kernel: [19512.722594] usb 1-2: new full speed USB device using uhci_hcd and address 2
Apr 15 14:46:07 tedy-laptop kernel: [19512.910427] usb 1-2: configuration #1 chosen from 1 choice
Apr 15 14:46:07 tedy-laptop kernel: [19513.477569] Bluetooth: Generic Bluetooth USB driver ver 0.3
Apr 15 14:46:07 tedy-laptop kernel: [19513.477666] usbcore: registered new interface driver btusb
Apr 15 14:46:10 tedy-laptop kernel: [19516.500204] usb 1-2: USB disconnect, address 2
Apr 15 14:47:29 tedy-laptop kernel: [19595.184588] sky2 eth0: disabling interface
Apr 15 14:47:29 tedy-laptop kernel: [19595.221700] iwlagn 0000:0c:00.0: PCI INT A disabled
Apr 15 14:47:34 tedy-laptop kernel: [19600.563508] sky2 eth0: enabling interface
Apr 15 14:47:34 tedy-laptop kernel: [19600.568480] ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 15 14:47:34 tedy-laptop kernel: [19600.575494] iwlagn 0000:0c:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Apr 15 14:47:34 tedy-laptop kernel: [19600.575836] iwlagn: Radio disabled by HW RF Kill switch
Apr 15 14:47:34 tedy-laptop kernel: [19600.583516] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Apr 15 14:47:36 tedy-laptop kernel: [19602.249848] sky2 eth0: Link is up at 100 Mbps, full duplex, flow control both
Apr 15 14:47:36 tedy-laptop kernel: [19602.250324] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

To make the alias works for all user in the system, we must register the alias in the /etc/bash.bashrc

root@tedy-laptop:~/bin# vi /etc/bash.bashrc
....
alias ceklog='tail -100 /var/log/messages'
....

Other UNIX/Linux distro maybe have different global profile definition file. Solaris for example, use /etc/profile to store all global profile parameters.