Feeds:
Posts
Comments

Saya heran dengan MRTG yang tidak menggenerate gambar trafik di mesin slackware yang saya setup. Padahal semua library yang disebutkan dalam dokumentasi MRTG sudah terinstall. Untuk melihat library yang kurang dengan perintah ldd pun rasanya tidak mungkin mengingat mrtg merupakan script perl.

Untuk mengetahui library yang dibutuhkan dan belum ada yaitu cukup dengan menjalankan mrtg bukan sebagai daemon. Jadi JANGAN DULU MENAMBAHKAN OPSI “RunAsDaemon:Yes” dalam konfigurasi mrtg yang akan digunakan.

Btw, saya cukup kaget ketika tau ternyata mrtg membutuhkan library X :( Pantasan di laptop saya bisa sedangkan di server nggak bisa.

Beginilah, kejar-kejaran saya dengan library X yang dibutuhkan oleh MRTG :D

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
2011-04-25 05:23:30: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:23:30: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
2011-04-25 05:25:26: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:25:26: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
2011-04-25 05:26:28: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:26:28: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libxcb.so.1: cannot open shared object file: No such file or directory
2011-04-25 05:27:36: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:27:36: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libXau.so.6: cannot open shared object file: No such file or directory
2011-04-25 05:28:44: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:28:44: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg
/usr/bin/rateup: error while loading shared libraries: libXdmcp.so.6: cannot open shared object file: No such file or directory
2011-04-25 05:29:37: ERROR: Skipping webupdates because rateup did not return anything sensible
2011-04-25 05:29:37: WARNING: rateup died from Signal 0
 with Exit Value 127 when doing router '10.11.12.2_2'
 Signal was 0, Returncode was 127

# mrtg /etc/mrtg/mrtg.cfg

That’s it. MRTG membutuhkan juga libXpm, libX11, fontconfig, libxcb, libXau, dan libXdmcp.
Jangan khawatir, semuanya sudah ada dalam CD slackware :)

Saat belajar meremaster distribusi Linux Slackware, saya kesulitan untuk memodifikasi berkas initrd.img. Untung di millis saya mendapatkan petunjuk. Caranya ternyata cukup sederhana.

Buat dan masuk kedalam direktori dimana berkas initrd.img akan di urai

# mkdir initrd
# cd initrd

Urai berkas initrd.img

# gzip -dc /path/slackwareku/isolinux/initrd.img | cpio -id

Berkas yang bisa diedit dapat ditemukan direktori usr/lib/setup. Kita tidak perlu meng-edit seluruh berkas yang ada. Cukup yang perlu-perlu saja. Salah satunya adalah berkas “setup”. Berkas ini berisi fungsi-fungsi untuk melakukan installasi Slackware.

# vim usr/lib/setup/setup

Jika sudah selesai, bangun kembali initrd.img yang baru.

# find ./ | cpio -H newc -o > initrd
# gzip initrd
# mv initrd.gz initrd.img

Ganti initrd.img yang lama dengan initrd.img hasil modifikasi kita

# rm /path/slackwareku/isolinux/initrd.img
# cp initrd.img /path/slackwareku/isolinux/

Selamat mencoba

Saya menyerah juga dengan sistem operasi Linux (distro Slackware) yang saya install di netbook Toshiba NB305 untuk bersanding dengan Windows 7. Masalah yang tak kunjung bisa diatasi, membuat saya mengambil langkah putus asa dengan tidak menggunakan Linux lagi di netbook tersebut. Sudah googling dan bikin ribut milis, tapi tetap nggak dapat solusi. Dan salah seorang senior saya dimilis, mengaku kalau beberapa mahasiswanya juga suka kena masalah dengan Slackware yang terinstall di laptop Toshiba. Emangnya Toshiba kurang akur dengan Linux ya????

Oh ya, ada dua masalah terbesar yang sangat mengganggu yang akhirnya membuat saya untuk tidak menggunakan Linux lagi di netbook saya.

1. Kalau lagi nonton film atau dengar mp3, jangan sampai netbooknya idle. Kalau tidak film akan bengong, begitu juga dengan mp3. Begitupun kalau sedang menyalin data “ke dan dari” komputer lain dijaringan. Harus klik sana sini, atau minimal ngelus-ngelus touchpad. Kalau tidak, proses tranfernya juga bengong menunggu timeout.

2. Kalau menggunakan jaringan berkabel, jangan coba-coba idle. Misalnya mau ke toilet sebentar untuk memasak mie instant :) Dijamin pas kembalinya Linuxnya udah HANG. Sumpah HANG!!! Dan harus direset….

Well, saya sendiri belum mencoba distro Linux yang lain di netbook saya ini. Hanya saja….., ngapain pake Linux tapi distronya bukan Slackware. Hehehe…. bercanda :)

OK, sekarang ke topik utama.

Ketika tidak ingin menggunakan Linux lagi, kita tentu harus mengembalikan boot loader sistem operasi lain yang sudah ditimpa oleh sistem operasi terakhir yang diinstall. Misalnya awalnya hanya windows, trus diinstall Linux, otomatis bootloader yang dipakai adalah bootloader Linux. Nah, karena Linux sudah mau dibantai, maka kita harus mengembalikan bootloader Windows. Caranya sebagai berikut:

1. Boot netbook/PC dengan CD Windows 7
2. Pada pilihan bahasa, jam dan keyboard langsung di NEXT aja
3. Pilih “Repair your computer” di sudut kiri bawah
4. Selanjutnya akan dicari secara otomatis sistem operasi yang akan direpair. Dari hasil pencarian pilih Windows 7. ya iyalah :) dan NEXT
5. Pilih “Command prompt”. Didalam jendela Command Prompt ini jalankan perintah

bootsect /nt60 c: /mbr

6. Reboot netbook

Apabila booting selanjutnya udah langsung masuk ke sistem operasi windows 7, berarti bootloader Linux (grub) sudah kehapus dan digantikan oleh bootloader Windows 7. Berikutnya tinggal memformat partisi Linux ke NTFS.

Selamat mencoba…

Sekian lama saya menggunakan Linux, belum pernah bisa menggunakan fasilitas hibernate. Awalnya tidak begitu peduli karena memang belum benar-benar membutuhkannya. Namun beberapa hari ini saya sering bekerja dengan banyak jendela yang terbuka dan kadang ada aplikasi yang membuka banyak berkas sekaligus. Sehingga kalau harus selalu melakukan booting normal malas rasanya harus membuka satu-persatu lagi aplikasi yang akan saya gunakan. Belum juga berkas-berkas yang diperlukan.

Kondisi ini mendesak saya untuk menggunakan kembali sistem operasi Windows. Tentu untuk bisa menggunakan fasilitas hibernate yang ada di Windows. Apalagi semua aplikasi opensource yang saya gunakan juga tersedia versi windowsnya. Ditambah berbagai tutorial diinternet yang saya dapat perihal mengaktifkan hibernate di distro Linux favorite saya (Slackware) selalu gagal saya ikuti.

Namun kemarin saya coba lagi untuk iseng menanyakan masalah ini di milis slackware yang saya ikuti. Dan seorang rekan dimilis tersebut menuntun saya dengan baik untuk bisa mengaktifkan hibernate di slackware. Caranya ternyata cukup sederhana.

Pastikan dulu kalau hibernate didukung dengan menjalankan baris perintah seperti dibawah ini:

$ pm-is-supported --hibernate
$ echo $?
0 <--- kalau menghasilkan 0 berarti didukung

Buka berkas konfigurasi untuk bootloader yang digunakan. Terserah mau lilo atau grub. Karena saya menggunakan grub, maka berkasnya ada di /boot/grub/menu.lst. Tambahkan parameter resume=/dev/sdaX di bagian kernel. Yang mana sdaX merupakan partisi swap yang digunakan. Contoh kalau di komputer yang saya gunakan:

# fdisk -l | grep swap
/dev/sda6            4716        4865     1204843+  82  Linux swap

# vim /boot/grub/menu.lst
.....
.....
title           Linux 2.6
root            (hd0,4)
kernel          /boot/vmlinuz root=/dev/sda5 ro quiet resume=/dev/sda6
initrd          /boot/initrd.gz
.....
.....

Dengan ini sudah bisa dicoba fasilitas hibernatenya dengan melakukan ShutDown dan memilih tombol hibernate.

Selamat mencoba…

Apabila kita sering menggunakan satu dua fungsi tertentu pada hampir semua aplikasi yang kita bangun, tidak ada salahnya memisahkan fungsi-fungsi tersebut dan menjadikannya sebuah library. Yup,memang secara sederhana, arti dari library adalah kumpulan dari beberapa fungsi.

Bagi yang sudah terbiasa menciptakan (shared) library untuk bahasa pemrogramman C/C++, pembuatan library dengan java akan terlihat sedikit berbeda. Baik dari segi pembuatan maupun penggunaannya. Namun dengan logika yang sama. Untuk lebih jelasnya mari kita ketikkan dulu kodenya sambil pelan-pelan kita pahami bersama.

$ mkdir -p org/olongia/test

$ vim org/olongia/test/Hitung.java
package org.olongia.test;

public class Hitung {
    public Hitung() {
    }

    public int tambah(int nilaia, int nilaib) {
        return nilaia+nilaib;
    }

    public int kurang(int nilaia, int nilaib) {
        return nilaia-nilaib;
    }
}
$ vim org/olongia/test/Cetak.java
package org.olongia.test;

public class Cetak {
    private String nama;

    public Cetak() {
    }

    public void setNama(String nama) {
        this.nama=nama;
    }

    public String getNama() {
        return nama;
    }

    public void cetak() {
        if (nama==null)
            System.out.println("Nama masih kosong!");
        else
            System.out.println("Nama : " + nama);
    }
}

Perhatikan bahwa kita menggunakan struktur org.olongia.test untuk library kita. Ini mengacu pada folder penyimpanan yang sudah kita ciptakan org/olongia/test. Susunan ini tidaklah mengikat. Kita bebas menciptakan struktur apa saja. Hanya biasa susuran library yang disarankan adalah .

Dan jangan lupa juga “menyebutkannya” di masing-masing class dengan menggunakan fungsi package.

package org.olongia.test;

Secara pribadi saya menganggapnya sebagai INCLUDEPATH jika berada di dunia C/C++ :)

Sekarang kita compile kode library yang sudah kita buat

$ javac org/olongia/test/*.java

Setelah itu kita paketkan dalam bentuk jar. Oh iya, jar tidak sama dengan file *.so atau *.dll. Berkas jar hanyalah sebuah arsip :)

$ jar -cf test.jar org/olongia/test/*.class

Well done. Sekarang library kita sudah siap untuk digunakan. Tentu untuk penggunaan dalam project-project real, dibutuhkan penulisan kode dan fungsi yang lebih baik. Bukan sekedar menambah dan mencetak tulisan. But, namanya juga cuma contoh. Jadi memang sederhana :)

Sekarang kita coba buat contoh kode untuk menggunakan library yang baru saja kita buat.

$ vim Coba.java
import org.olongia.test.*;

public class Coba {
    public static void main(String[] args) {
        Hitung h=new Hitung();
        System.out.println(h.tambah(1,2));
        System.out.println(h.kurang(10,5));

        Cetak c=new Cetak();
        c.cetak();
        c.setNama("Wirasto S. Karim");
        System.out.println(c.getNama());
        c.cetak();
    }
}

Sekarang compile dan jalankan. Dan jangan lupa menyebutkan test.jar sebagai bagian dari classpath. Anda boleh menganggap -classpath ini sama dengan -L.

$ javac -classpath test.jar Coba.java

$ java -classpath test.jar: Coba

Library ini juga sudah tentu bisa digunakan dengan NetBeans. Anda sudah tau kan caranya menggunakan (shared) library dengan NetBeans? Dari project explorer klik kanan dibagian libraries dan pilih “Add Jar/Folder…”. Pilih berkas test.jar yang sudah kita buat sebelumnya.

Bagaimana, mudah bukan ?
Selamat mencoba…

Source : http://www.4shared.com/file/1n_zrhcV/myjavalib.html

Older Posts »

Follow

Get every new post delivered to your Inbox.