Posts Tagged ‘Linux’

Batch Rename with Shell Script

Friday, September 9th, 2011

Kemarin di tempat saya bekerja ada kejadian bagaimana caranya me-rename nama file yang mempunyai akhiran “S” menjadi “R”, masalahnya adalah semua file tersebut tidak mempunyai pattern yang sama kecuali 3 huruf di depan dan 1 huruf dibelakang yaitu huruf “S” yang harus dirubah menjadi “R” :D Contoh nama file yang akan direname kurang lebih seperti terlihat dibawah ini :

martinus@artivisi:[~]$ ls
EDW980012011S   EDW980T22011S
EDW980G32011S   EDWSUBS42011S
martinus@artivisi:[~]$

Pada kasus diatas, kita tidak bisa secara langsung melakukan kegiatan find and replace biasa. Karena ternyata huruf “S” juga terdapat ditengah-tengah nama file tersebut seperti terlihat pada tampilan diatas :( Setelah bertanya ke paman Google sebentar, akhirnya saya menemukan pattern untuk menghapus karakter terakhir dari sebuah string menggunakan command sed. Dan pattern tersebut adalah sed 's/\(.*\)./\1/' :D akhirnya setelah dikombinasikan dengan sedikit kemampuan di shell script jadilah script yang isinya adalah sebagai berikut :

#!/bin/sh
 
ls EDW* > file.txt
 
find_file() {
   cat file.txt | sort | cut -d " " -f1
}
 
for f in $(find_file) ; do
   echo "Original filename $f"
   # tampung nama file yang baru (remove last character)
   newfilename=`echo $f | sed 's/\(.*\)./\1/'`
   echo "After delete last character $newfilename"
   r=R
   newfile1=$newfilename$r
   echo "New filename is $newfile1"
   mv $f $newfile1
done

Simpan script diatas dengan nama terserah (misalkan batch_rename.sh), kemudian beri akses execute dan jalankan. Jika tidak ada error, harusnya jika dijalankan akan merename semua file menjadi seperti dibawah ini :

martinus@artivisi:[~]$ ls
EDW980012011R   EDW980T22011R
EDW980G32011R   EDWSUBS42011R
martinus@artivisi:[~]$

Untuk penjelasan sed dan regex-nya, saya masih belum bisa menjelaskan :D Maklum saya juga masih belajar :D Semoga script diatas bisa berguna juga buat teman-teman yang mempunyai masalah yang sama :)

Installing Tora On Slackware 13.37

Monday, August 22nd, 2011

Ingin mencari database tool yang mempunyai fitur yang mirip dengan Toad di GNU/Linux ? Jika iya, silahkan mencoba TOra :) Nah yang lebih bagus lagi yaitu, TOra mendukung database MySQL, PostgreSQL dan Oracle sekaligus. (Tapi kalau untuk PostgreSQL saya lebih senang menggunakan PgAdmin :) )

Beberapa fitur yang terdapat pada TOra kurang lebih yaitu :

  1. Handles multiple connections.
  2. SQL syntax highlighting
  3. Chart visualization of result.
  4. Schema browser.
  5. References & dependencies.
  6. Tab & tree based browsing.

Untuk daftar lebih lengkap silahkan melihat langsung pada halaman Daftar Fitur TOra
(more…)

SlackBuild Script For Gitg

Friday, June 24th, 2011

Karena mencari di SlackBuild ternyata tidak ada, maka saya posting kesini aja sekalian :) Nah untuk teman-teman yang ingin menginstall aplikasi gitg bisa menggunakan SlackBuild script yang sudah saya siapkan dan sebelum menggunakan-nya, pastikan bahwa kita sudah menginstall gtksourceview dahulu yang SlackBuild script-nya bisa di download di sini

Untuk sementara ini, dependencies yang baru saya temukan baru gtksourceview di Slackware64 + GSB 3.0.0. Bagi teman-teman yang tidak menggunakan GNOME sebagai Desktop Manager-nya, jika mengetahui ada dependencies yang kurang tolong di infokan disini sekalian biar saya bisa update file slack-required dengan info dependencies yang terbaru :)
(more…)

Step By Step Building OpenJDK on Slackware

Tuesday, May 24th, 2011

OpenJDK LogoTidak seperti pada distro GNU/Linux yang lain, pada distro Slackware ternyata sangat susah mencari binary package untuk OpenJDK yang tinggal install menggunakan perintah installpkg ataupun tutorial bagaimana membuat sebuah binary packages untuk Slackware. Nah pada posting kali ini, kita akan mencoba untuk melakukan proses kompilasi source code OpenJDK langsung dari repository-nya. Dan sekedar catatan, proses yang akan dijelaskan disini hanya sampai mendapatkan JDK maupun JRE yang siap digunakan dalam bentuk direktori saja bukan dalam bentuk binary Slackware yang ber-ekstensi *.tgz atau *.txz :)

Sebelum mulai, persiapkan dahulu beberapa alat yang dibutuhkan yaitu :

  1. Apache ANT, versi Apache ANT yang dibutuhkan untuk melakukan proses kompilasi pada OpenJDK adalah versi 7, jadi pastikan versi Apache ANT yang terinstall di sistem kita mempunyai versi yang sama atau lebih tinggi. Untuk melakukan installasi Apache ANT di Slackware, downloadlah SlackBuild Script Apache ANT disini dan source Apache ANT-nya bisa didownload disini.
  2. JDK 1.6.0_25, untuk menginstall JDK kita bisa menggunakan package binary JDK bawaan Slackware yang terdapat di direktori /extra/jdk-6/. Installah dengan menggunakan perintah installpkg jdk-6u25-x86_64-1.txz agar segera dapat digunakan :)

Setelah 2 kebutuhan dasar tersebut terinstall, sekarang mari kita persiapkan konfigurasi “environment variable” yang dibutuhkan oleh OpenJDK. Beberapa konfigurasi “environment variable” yang dibutuhkan adalah (lakukan konfigurasi dibawah ini menggunakan akses super user / root) :

  1. JAVA_HOME, lakukan pengecekan apakah variabel JAVA_HOME sudah terkonfigurasi pada sistem anda atau belum dengan mengetikkan echo $JAVA_HOME dan jika benar, maka hasil perintah tersebut akan menampilkan dimana letak direktori jdk berada seperti dibawah ini :
    root@artivisi:~# echo $JAVA_HOME
    /usr/lib64/java
    root@artivisi:~#
    

    Jika perintah echo $JAVA_HOME tidak mengeluarkan apa-apa, sekarang jalankan perintah export JAVA_HOME=/usr/lib64/java dan kemudian lagi cek dengan perintah echo $JAVA_HOME.

  2. LANG, ketikkan export LANG="C" untuk mengkonfigurasi dan cek dengan mengetikkan perintah echo $LANG seperti dibawah ini :
    root@artivisi:~# export LANG="C"
    root@artivisi:~# echo $LANG
    C
    root@artivisi:~#
    
  3. ALT_BOOTDIR, untuk konfigurasi ALT_BOOTDIR ini isinya samakan dengan isi variabel $JAVA_HOME yang terdapat pada komputer / laptop kita masing-masing. Sebagai contoh di laptop yang digunakan pada tulisan kali ini, isi variabel $JAVA_HOME mengarah ke /usr/lib64/java/ maka jalankan perintah export ALT_BOOTDIR="/usr/lib64/java/" dan cek menggunakan perintah echo $ALT_BOOTDIR seperti dibawah ini :
    root@artivisi:~# export ALT_BOOTDIR="/usr/lib64/java/"
    root@artivisi:~# echo $ALT_BOOTDIR
    /usr/lib64/java/
    root@artivisi:~#
    
  4. ANT_HOME, dan langkah terakhir yaitu mengkonfigurasi variabel $ANT_HOME. Jalankan perintah export ANT_HOME=/usr/share/ant dan cek menggunakan perintah echo $ANT_HOME seperti dibawah ini :
    root@artivisi:~# export ANT_HOME=/usr/share/ant
    root@artivisi:~# echo $ANT_HOME
    /usr/share/ant
    root@artivisi:~#
    

(more…)

Installasi Slackware64 13.37 dan GNOME 3.0

Sunday, May 22nd, 2011

Sudah lama sekali rasanya saya tidak posting apapun tentang Slackware :D Nah untuk kali ini, berhubung Slackware 13.37 juga barusan dirilis akhirnya kesampaian juga untuk melakukan “clean format” pada harddisk agar menggunakan Slackware saja sebagai Sistem Operasi utama saya :D Kali ini saya menginstall Slackware64 dan menggunakan kernel default yaitu 2.6.37, sedangkan untuk pilihan Desktop Manager-nya pilihan saya jatuh pada GNOME 3.0 yang diambil dari GNOME Slackbuild sekalian mencoba suasana baru :)

Proses installasi ini berjalan seperti biasa tidak ada yang berubah, setelah selesai menginstall Slackware64 langkah selanjut-nya yaitu menginstall GNOME 3.0 dari GNOME Slackbuild Setelah selesai menginstall GNOME 3.0, langkah selanjutnya yang saya lakukan adalah konfigurasi driver Broadcom BCM4312 802.11b agar wifi saya bisa berjalan dengan normal :) Untuk drivernya sendiri bisa didownload di halaman 802.11 Linux STA driver. Nah masalah mulai muncul ketika menjalankan perintah make clean yang hasilnya adalah seperti berikut :

CC [M]  /home/martinus/driver_broadcom/src/wl/sys/wl_linux.o
/home/martinus/driver_broadcom/src/wl/sys/wl_linux.c: In function 'wl_attach':
/home/martinus/driver_broadcom/src/wl/sys/wl_linux.c:485:3: error: implicit declaration of function 'init_MUTEX'
make[2]: *** [/home/martinus/driver_broadcom/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/martinus/driver_broadcom] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.37'
make: *** [all] Error 2

(more…)