Category Archives: Tips Linux

Squid3: Crash Saat Mendownload File Besar

Yang saya maksud dengan file besar, adalah file dengan ukuran > 2GB. Terdeteksinya begini, saat ada user yang mendownload salah satu berkas iso dvd OpenSUSE, service squid3 selalu mati.

Dan pesan error yang muncul adalah:

assertion failed: stmem.cc:321: "candidate.offset >= 0"

Setelah ditelusuri di Internet, ini adalah bugs lama dan sudah solve di versi Squid3 STABLE3. Sayangnya versi squid3 yang tersedia di repository hardy adalah versi Squid3 STABLE1.

Akhirnya saya coba set sources.list ubuntu ke repositori Jaunty, lalu saya cek kalau saya instal squid dari repositori Jaunty, paket apa saja yang akan ter-upgrade. Setelah dilihat-lihat yang ter-upgrade hanya paket squid3 saja, saya langsung eksekusi saja. Dan hasilnya squid3 dari repo Jaunty terinstal sukses di Ubuntu Hardy ini.

PERINGATAN: Jangan ditiru, dan berhati-hatilah ketika menggunakan cross repositori di Ubuntu, bisa membuat instalasi linux Anda rusak.

Yang menjadi pertanyaan, kok masalah ini baru terdeteksi sekarang? Berarti selama ini user tidak pernah mendownload file > 2GB ya hehehe. Adminnya sih beberapa kali download iso DVD distro linux, tapi tidak pernah lewat proxy itu. Jadi masalah baru terdeteksi hari ini.

Case closed!

Menghidupkan kembali Xserve G5 dengan Debian 5.0 PPC

Server ini sebelumnya terinstall Mac OSX server 10.3.9 Panther, tapi berhubung harddisknya rusak maka saya putuskan untuk instal ulang.

Sial bagi saya, optical drive nya rusak. Jadi CD installer untuk mac osx server pun tidak bisa dipakai lagi. Akhirnya saya putuskan untuk menginstall ulang menggunakan Linux. Pilihan pertama menggunakan Ubuntu Hardy dan diinstall dari network/netboot ke tftp server.

Sial kedua kali, installasi netboot via tftp tidak selancar yang saya bayangkan. Dicoba berkali-kali gagal, intinya yaboot vs tftp = banyak masalah :D

Dua kali sial, belum menyurutkan semangat saya untuk melakukan instalasi linux di Xserve G5 ini. Akhirnya ada yang menyarankan booting dari harddisk. Jadi harddisk di format dulu dengan Disk Utiliy di Mac OSX (kali ini saya beruntung, karena memiliki instalasi mac osx jadi-jadian di laptop saya). Pastikan format partisinya menggunakan apple partiion map.

apple_partition_map

Disk Utility - Format Partisi

Setelah itu salin berkas instalasi untuk netboot (salin semua berkas dari folder di mirror) ke partisi yang baru dibuat.

Hmm… mungkin Anda bertanya, kok jadi Debian PPC, bukannya tadi mau install Ubuntu Hardy? Alasannya gara-gara mirror di Indonesia. Ubuntu 8.04 PPC tidak ada yg bikinin mirrornya, rata-rata cuma i386 dan amd64. Jadi ya sudah install pake Debian 5.0 PPC saja :D

Oke, lanjut lagi. Sekarang di harddisk sudah ada berkas instalasi untuk netboot, langkah selanjutnya adalah memasukkan kembali harddisk ke Xserve. Lalu booting dan masuk ke Open Firmware.

Setelah masuk prompt, tinggal diketik seperti berikut:

boot hd:3,yaboot

Dan proses instalasi pun berlanjut seperti biasa.

Zimbra: Critical Security Issue

Baru saja berkunjung ke website zimbra, ternyata ada masalah serius terkait dengan keamanan instalasi zimbra. Semua versi baik 4.x, 5.x (versi < 5.0.18) dan 6.x beta, semuanya memiliki celah keamanan ini. Saya kutip sebagian.

Zimbra has been made aware of a potentially critical security vulnerability in Zimbra Collaboration Suite. All released versions of ZCS Network Edition & Open Source Edition are impacted

This vulnerability allows unauthorized, remote access to files that are readable by the “zimbra user” account on the ZCS Mailbox Server (also known as mailbox service, or “mailboxd”; “tomcat” on 4.5 versions and earlier).

Update terbaru untuk mengatasi bugs ini belum ada, tapi zimbra menyediakan patch yang bisa diinstal di semua versi tanpa harus melakukan upgrade versi dulu.

Silakan ikuti cara-caranya di forum zimbra. Saya sendiri mau mengupdate/patch server saya nanti malam sudah mengupdate instalasi zimbra di server saya :D

Update 12 Juli 2009, mirror utk versi 5.0.18

Menghapus IP yang di block oleh denyhosts

Sederhananya ikuti saja cara yang ada di FAQ denyhosts.

Untuk pengguna Ubuntu dan memblocknya menggunakan /etc/hosts.deny, bisa pake skrip berikut.

#/bin/sh
REMOVE=$1

/etc/init.d/denyhosts stop

cd /var/lib/denyhosts
for THISFILE in hosts hosts-restricted hosts-root hosts-valid users-hosts;
do
mv $THISFILE /tmp/;
cat /tmp/$THISFILE | grep -v $REMOVE > $THISFILE;
rm /tmp/$THISFILE;
done;

mv /etc/hosts.deny /tmp/
cat /tmp/hosts.deny | grep -v $REMOVE > /etc/hosts.deny;
rm /tmp/hosts.deny

/etc/init.d/denyhosts start

Skrip saya copy-paste dari blog ini.

Mengetahui port yang open atau listen di linux

Tips kali ini, kita ingin mengetahui port yang open atau listen di linux. Cara pertama, bisa menggunakan netstat.

sudo netstat -nap

Yang kedua, bisa menggunakan lsof

sudo lsof -i -n -P

Contoh output perintah di atas:

root@vmac:~# lsof -i -n -P
COMMAND     PID  USER   FD   TYPE DEVICE SIZE NODE NAME
dhclient3  2923  dhcp    4u  IPv4   7488       UDP *:68 
dhclient3  3852  dhcp    4u  IPv4   7504       UDP *:68 
sshd       4326  root    3u  IPv6  11462       TCP *:22 (LISTEN)
sshd       4590  root    3u  IPv6  11962       TCP 192.168.56.101:22->192.168.56.1:57292 (ESTABLISHED)
sshd       4592 cecep    3u  IPv6  11962       TCP 192.168.56.101:22->192.168.56.1:57292 (ESTABLISHED)
sshd      11639  root    3r  IPv6  29815       TCP 192.168.56.101:22->192.168.56.1:57509 (ESTABLISHED)
sshd      11961 cecep    3u  IPv6  29815       TCP 192.168.56.101:22->192.168.56.1:57509 (ESTABLISHED)

Silahkan ketik perintah man netstat atau man lsof untuk mengetahui lebih detail dari opsi-opsi yang digunakan di atas.

Backup MySQL di Ubuntu (atau di Debian)

Cara singkat backup database MySQL di Ubuntu (atau di Debian).

Seperti yang mungkin sudah Anda tahu, di Ubuntu ada file konfigurasi /etc/mysql/debian.cnf. File itu biasanya digunakan oleh sistem untuk proses maintenance database MySQL (misal check database corrupt atau tidak ketika di awal menjalankan service mysql).

Nah, skrip di bawah ini, akan membackup semua database dan menyimpannya di BACKUP_DIR. Saya lebih memilih cara ini dibanding menggunakan perintah mysqldump --all-databases, karena dengan cara ini saya bisa dengan mudah memilih database mana yang akan di restore.

#!/bin/bash

BACKUP_DIR="/data/backups/mysql"
DATE=`date +%F_%H-%M-%S`

echo "Backing up MySQL databases..."
mysql --defaults-file=/etc/mysql/debian.cnf --batch --skip-column-names -e "show databases" |
while read DB ; do
    echo Dumping "${DB}" ...
    mysqldump --defaults-file=/etc/mysql/debian.cnf --add-drop-table "${DB}" | gzip -c > "${BACKUP_DIR}/${DB}.${DATE}.sql.gz"
done

Skrip di atas sedikit dimodifikasi dari sumber aslinya.