Linux
All About Linux
Tahun Depan Linux Lebih Banyak Dipakai dari Windows
Jan 24th
Untuk pengguna yang sering memprediksi datangnya “year of the Linux desktop” — waktunya tampaknya sudah semakin dekat. Jim Zemlin, direktur Linux Foundation mengatakan bahwa tahun depan Linux berkemungkinan digunakan di lebih banyak desktop dibandingkan Windows atau Mac. Yang menjadi katalis pertumbuhan pesat ini adalah fast boot.
Minggu lalu Matt Richtell dari New York Times mempublikasikan sebuah artikel tentang bagaimana konsumen semakin meminta boot yang cepat pada komputer (baca terjemahannya di udaramaya). Artikel tersebut mengatakan bagaimana HP, Dell, Lenovo, Asus maupun berbagai vendor PC lainnya telah mulai merancang komputer yang memberikan pengguna akses ke fungsi-fungsi dasar seperti email dan browser dalam kurang dari 30 detik — dimungkinkan oleh Linux.
Kemudian Ashlee Vance, yang juga bekerja di New York Times menulis sebuah artikel susulan yang mendeskripsikan bagaimana tren ini semakin menguat, mengatakan bahwa “dalam beberapa bulan depan, teknologi instant on akan memasuki segmen mainstream. Di bawah ini adalah beberapa bocoran tentang apa yang akan datang:” DeviceVM: perusahaan baru Silicon Valley ini telah menjadi pimpinan dari semua vendor aplikasi instant on. HP, Lenovo dan Asus semuanya menggunakan produk Splashtop besutan Device VM yang sudah dimodifikasi. Melalui Splashtop, mereka memberikan akses cepat ke browser, aplikasi foto, instant messaing maupun VoIP kepada pengguna. Vendor-vendor PC terbesar dunia More >
SqlPlus dengan History di Linux
Jan 6th
Paling frustasi kalau pake sqlplus, sudah ketik syntax panjang-panjang, waktu dieksekusi ada yang salah, ngetik lagi deh dari awal. Soalnya tidak ada history buat command yang sudah dijalankan. Tidak bisa diedit lagi command yang sudah kita ketik. Solusinya cuma di backspace. Tapi tenang saja, ada solusinya agar sqlplus juga punya kemampuan buat menyimpan history command, seperti Shell Bash di Linux. Yang kita perlukan hanyalah sebuah aplikasi yang bernama rlwrap. Install dulu rlwrap untuk operating system anda. Dalam contoh ini yang digunakan adalah openSUSE 10.3 yang bisa didapatkan dari http://download.opensuse.org/repositories/openSUSE:/10.3/standard/i586/rlwrap-0.28-27.i586.rpm. Setelah diinstal kita tinggal menjalankan perintah rlwrap dengan parameternya yaitu sqlplus:
oracle@NeuronServer:~> rlwrap sqlplus
Sqlplus yang terbuka akan memiliki kemampuan menyimpan history command dan line editing sederhana. Gunakan tombol panah atas dan bawah untuk mengakses perintah yang sudah kita jalankan. Kita juga bisa mengedit perintah itu dengan menggeser kursor menggunakan tombol panah kanan dan kiri. Agar konfigurasi rlwrap tadi terus dijalankan setiap login kita gunakan saja fungsi alias dari shell agar setiap kali sqlplus dijalankan yang dipanggil adalah perintah rlwrap dengan parameter sqplus-nya. Buka file .bash_profile yang ada di direktori home user oracle atau user yang dapat menjalankan perintah sqlplus:
oracle@NeuronServer:~> vi ~/.bash_profile
dan tambahkan baris berikut:
alias sqlplus='rlwrap sqlplus'
Cara lainnya dengan menjalankan perintah echo yang menambahkan baris diatas langsung di baris terakhir file .bash_profile:
oracle@NeuronServer:~> echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bash_profile
Semoga bermanfaat and have a More >
Membackup Schema Oracle Secara Otomatis
Jan 5th
Sebelumnya kita sudah mencoba membackup schema oracle menggunakan exp. Kita bisa memanfaatkannya untuk membuat sebuah sistem penjadwalan yang secara otomatis membackup schema tersebut pada waktu yang telah ditentukan. Tool yang digunakan selain Shell dan exp juga crontab. Crontab merupakan aplikasi penjadwalan di mesin Unix dan Linux. Crontab bekerja sebagai daemon atau service cron yang setiap waktu akan mengecek apakah ada job atau tugas yang harus dilakukan pada waktu itu. Crontab menyimpan entri untuk setiap penjadwalan seperti ini:
* * * * * /home/alam/someScript.sh
Kolom pertama menunjukan menit dimana entri tersebut akan dijalankan. Kolom kedua untuk jam, kolom ketiga untuk tanggal, kolom keempat untuk bulan, kolom kelima untuk untuk hari, dan kolom terakhir menunjukan perintah apa yang akan dijalankan. Dari contoh diatas berarti setiap menit, setiap hari, setiap bulan cron akan menjalankan script tersebut. Pertama-tama kita buat dulu script sederhana, train-backup.sh yang berfungsi untuk membackup schema tersebut. Script tersebut akan membackup schema-nya di directory yang sudah ditentukan dengan nama file yang berbeda berdasarkan kapan schema tersebut dibackup.
The Script#!/bin/sh #script to backup oracle schema based on time when it saved #initializing variables export PATH=$PATH:/app/oracle/product/10.2/bin export ORACLE_BASE=/app/oracle export ORACLE_HOME=/app/oracle/product/10.2 export ORACLE_SID=neuron export BASEDIR=$HOME/train-backup export DTM=`date +%Y%m%d-%H%M%S` export UNAME=train export PASSWD=train export FILENAME=train # command section cd $BASEDIR exp $UNAME/$PASSWD file=$FILENAME-$DTM.dmp exit
Jangan lupa beri execute permission dengan:
alam@NeuronServer:~> chmod +x train-backup.sh
Script-nya cukup sederhana kan? Yang perlu dilakukan hanyalah inisialisasi variabel:
export PATH=$PATH:/app/oracle/product/10.2/bin export ORACLE_BASE=/app/oracle export ORACLE_HOME=/app/oracle/product/10.2 export ORACLE_SID=neuron export BASEDIR=$HOME/train-backup export DTM=`date +%Y%m%d-%H%M%S` export UNAME=train export PASSWD=train export FILENAME=train
dan perintah backup More >
Mengetahui Ukuran File dan Direktori
Dec 29th
Kita bisa menggunakan perintah du untuk mengetahui ukuran sebuah file seperti ini:
alam@NeuronServer:~> du linux-2.6.28.tar.bz2 51488 linux-2.6.28.tar.bz2
Nilai yang ditampilkan secara default dalam ukuran Kilobyte. Berarti ukuran source kernel diatas adalah 51488 Kilobyte. du menyediakan opsi -h agar informasi yang ditampilkan lebih mudah dipahami:
alam@NeuronServer:~> du -h linux-2.6.28.tar.bz2 51M linux-2.6.28.tar.bz2
Bagaimana apabila kita ingin mengetahui ukuran sebuah direktori? Penggunaannya seperti tadi:
alam@NeuronServer:~> du -h linux-2.6.28/ 40K linux-2.6.28/firmware/ttusb-budget 188K linux-2.6.28/firmware/keyspan 264K linux-2.6.28/firmware/emi26 144K linux-2.6.28/firmware/edgeport 16K linux-2.6.28/firmware/ess ... 92K linux-2.6.28/kernel/irq 172K linux-2.6.28/kernel/power 280K linux-2.6.28/kernel/trace 3.2M linux-2.6.28/kernel 476K linux-2.6.28/block 344M linux-2.6.28/
Perintah diatas kurang efektif karena menampilkan informasi ukuran semua file yang ada di direktori linux-2.6.28, padahal yang kita butuhkan hanya ukuran direktori linux-2.6.28 itu sendiri yang ditempatkan di baris paling akhir. Untuk menyiasatinya lempar output dari perintah du ke perintah tail yang hanya akan menampilkan baris terakhir perintah du tersebut:
alam@NeuronServer:~> du -h linux-2.6.28/ | tail -1 344M linux-2.6.28/
Opsi -1 dari tail untuk menentukan baris ke berapa yang akan ditampilkan. Defaultnya 10 baris terakhir.
Semoga bermanfaat and have a lot of fun!
Membuat Application Control Script
Dec 29th
Sekitar seminggu yang lalu saya ditugaskan untuk membuat sebuah skrip yang digunakan untuk mengontrol service di Linux. Skrip tersebut harus bisa menjalankan proses server apabila servernya belum dijalankan, mampu memberhentikan service tersebut dan juga merestart server, baik dari keadaan sudah dijalankan atau belum. Server executablenya disini merupakan aplikasi java dalam bentuk java archive.
Work FlowApabila user menjalankan skrip tersebut, skripnya akan mengecek apakah user memberikan parameter yang dibutuhkan, yaitu start, restart atau stop. Apabila user memasukkan parameter yang tidak dikenali, skrip akan menampilkan pesan yang memberitahukan bahwa parameter tidak dikenal. Apabila user memberikan parameter start skrip akan memeriksa apakah file server.pid yang berisi pid dari aplikasi tersebut ada atau tidak. Apabila ada skrip akan menampilkan pesan bahwa aplikasi tersebut sudah jalan dengan pid yang dambil dari file server.pid. Apabila belum skrip akan menjalankan aplikasi tersebut dan menyimpan pid dari process itu ke file server.pid. Bila parameter yang diberikan parameter stop maka skrip akan memeriksa apakah aplikasinya memang berjalan dengan mengecek file server.pid. Apabila ada skrip akan memberhentikan process tersebut dengan bantuan pid yang diambil dari file server.pid, dan setelah process-nya berhenti file server.pid tersebut akan dihapus. Apabila file server.pid tidak ditemukan maka skrip akan menampilkan pesan bahwa aplikasi yang dimaksud tidak berjalan. Parameter restart akan More >