Linux Tip - Info Saja

Sunday, October 21, 2007

Linux Tip

1.1 Bagaimana caranya menginstall linux itu ?


Edan saja kalau ngebahas cara install setiap distro linux disini :), namun demikian secara umum instalasi linux sekarang ini relatif mudah karena kebanyakan sudah berbasiskan GUI, anda tinggal memasukkan CD distro anda dan ikuti petunjuk yang ada di layar monitor

1.2 Bagaimana caranya upgrade kernel itu ?

Short version

Download dulu kernel terbaru dari http://www.kernel.org (contoh kasus disini adalah upgrade kernel default RedHat 6.2 ke kernel 2.2.19)

# rm -rf /usr/src/linux

# tar -xzvf linux-2.2.19.tar.gz

# mv linux /usr/src/linux-2.2.19

# ln -s /usr/src/linux-2.2.19 /usr/src/linux

# cd /usr/src/linux

# make mrproper

# make menuconfig (konfigure lah kernel sesuai keinginan anda)

# make dep; make clean; make bzImage

# make modules

# make modules_install

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.19

# cp /usr/src/linux/System.map /boot/System.map-2.2.19

# cd /boot

# rm -rf System.map

# rm -rf vmlinux

# rm -rf module-info

# rm -rf initrd-2.2.14.img

# ln -s vmlinuz-2.2.19 vmlinuz

# ln -s System.map-2.2.19 System.map

Sekarang kita akan mengupdate lilo nya , supaya kernel baru di kenali nanti di saat boot : tambahkan beris berikut pada /etc/lilo.conf

default=linux2 image=/boot/vmlinuz-2.2.19label=linux2 root=/dev/hda6 (sesuaikan dengan punya anda, dimana partisi / andaberada)read-only

# /sbin/lilo –v

# /sbin/shutdown -r now

# uname -a

Kalau yang tampil adalah kernel yang baru berarti anda telah sukses.

Long version

1.3 Bagaimana caranya mereset password root ?

Jika anda menggunakan LILO :

Anda terlebih dahulu harus menuju ke boot: promptnya dahulu, jika anda
menggunakan boot grafik biasanya dengan menekan kombinasi ctrl+x
Ketikkan
linux single dimana "linux" adalah nama kernel anda yang aktif pada boot: prompt tersebut

Kemudian sesudah masuk pada default shell, ketik passwd root

Jika belum sukses, anda bisa mencoba dengan kombinasi berikut :

linux init=/bin/bash rw

Jika anda menggunakan Grub :

Pilih kernel yang akan diboot kemudian tekan e untuk mengedit

Cari baris yang mengandung kata kernel, kemudian tekan e lagi untuk mengeditnya Pada akhir baris tersebut diatas tambahkan kata single dengan spasi didepannya, tekan enter untuk keluar

Kembali ke layar Grub dan ketik b untuk boot ke single mode

1.4 Bagaimana caranya mereset password root yang LILO/Grub-nya diberi password ?

Jika komputer anda terdapat floppy disk :

Buatlah rescue disk terlebih dahulu dari sistem linux anda yang lain, atau anda bisa menggunakan tomsrtbt

Set BIOS komputer anda untuk boot melalui floppy, kemudian boot komputer anda dengan menggunakan rescue disk yang telah dibuat. Tentukan dan temukan letak dari partisi root hardisk anda (/), kemudian mount dengan mode read write (misalnya jika partisi / ada di /dev/hda1, mount -w /dev/hda1 /mnt)

Edit file shadow anda, misalnya /mnt/etc/shadow, ubah entry pada user root misalnya dari :

root:$1$MTTebOSA$7vHsaltVqfRiWdA74Ik6T.:11864:0:99999:7:::

menjadi :

root::11864:0:99999:7:::

Restart, dan jangan lupa pastikan untuk mengeluarkan floppy dan set BIOS anda untuk boot menggunakan harddisk

Jika komputer anda tidak terdapat floppy :

· Lepas hardisk anda, kemudian pasang hardisk tersebut ke linux anda yang lain sebagai slave (primary/secondary)

· Tentukan dan temukan letak dari partisi root hardisk anda tersebut, kemudian mount dengan mode read write (misalnya jika partisi / ada di /dev/hda1, mount -w /dev/hda1 /mnt)

· Edit file shadow anda, misalnya /mnt/etc/shadow, ubah entry pada user root misalnya dari :

root:$1$MTTebOSA$7vHsaltVqfRiWdA74Ik6T.:11864:0:99999:7:::

menjadi :

root::11864:0:99999:7:::

· Lepas kembali hardisk anda, kemudian pasang seperti biasa

1.5 Bagaimana caranya mengubah tampilan setelah booting dari mode grafis ke mode text atau sebaliknya ?

Untuk mengubah tampilan setelah booting dari modus grafis ke modus text anda bisa mengedit file /etc/inittab, kemudian ubah dari : id:5:initdefault: menjadi : id:3:initdefault:, begitu juga sebaliknya untuk mengubah tampilan dari text ke grafis.

1.6 Dimana saya dapatkan program foo atau menemukan file libblah.so.2 itu dari paket apa ?

Sudah saatnya anda mulai menggunakan http://www.freshmeat.net untuk mencari suatu software/prgram, atau http://www.rpmfind.net untuk mencari tahu paket dari suatu library ataupun mendownloadnya

1.7 Bagaimana caranya menginstall program foo.tar.gz atau foo.rpm ?

Pada prinsipnya anda bisa mengekstrak dulu file tersebut, anda bisa menggunakan perintah tar, kemudian mulai membaca file INSTALL/README pada direktori hasil ekstrak program itu. Kalau program yang anda install tersebut program binary (bukan source) anda bisa langsung mengkopi file binernya, tetapi jika programnnya berbentuk source anda bisa kembali membaca file README/INSTALL Untuk hal yang umumnya install melalui source, misalnya begini :

# tar -xzvf foo.tar.gz

# cd foo

# ./configure

# make

# make install

Jika file yang anda dapatkan berupa rpm, misalnya foo.rpm anda bisa menggunakan perintah rpm, misalnya : rpm -ivh foo.rpm, namun jika berbentuk source rpm, anda bisa menggunakan rpmbuild atau jika anda masih menggunakan rpm <>

--rebuild

1.8 Bagaimana caranya agar program foo dapat start secara otomatis setelah server di reboot ?

Hal ini tergantung distro anda, untuk distro Redhat/Mandrake anda bisa meletakkan perintah untuk menjalankan program tersebut pada file /etc/rc.local, untuk sedangkan pada distro Suse /etc/init.d/boot.local.

1.9 Bagaimana caranya mengakses partisi windows ?

Diumpamakan partisi windows anda ada pada /dev/hda1 yang akan di mount misalnya ke direktori /mnt/windows, maka :

# mkdir /mnt/windows

# mount -w /dev/hda1 /mnt/windows ataumount -w -t vfat /dev/hda1 /mnt/windows

1.10 Kenapa windows/dos saya tidak bisa booting setelah saya menghapus linux ?

Hal ini disebabkan LILO masih menetap di Master Boot Record (MBR) hardisk sistem, artinya anda harus menghapus juga LILO dari MBR anda. Untuk melakukannya, jika anda memiliki DOS ver.5 atau lebih baru, ketikkan perintah berikut dari command prompt :

fdisk /mbr

1.11 Bagaimana cara undelete file di linux ?

Secara umum sangat berat utk mengembalikan file yang telah di delete. Fungsi Undelete Filesistem ext2fs bisa diandalkan, tapi jangan buru-buru menarik nafas lega. Anda bisa menggunakan paket-paket untuk fungsi Undelete ini yang menyediakan fungsi delete dan copy, dengan memindahkan file ke "tong sampah". File tersebut dapat di kembalikan hingga dihapus oleh proses background, misalnya anda bisa menggunakan mc.

Sebagai alternatif anda bisa mencari device raw disk yang menangani pertanyaan2 filesistem Ini pekerjaan sulit dan anda harus login sebagai root untuk melakukannya. Tapi ini belum berakhir di sini. Anda harus menjalan kan perintah "grep" di device raw, misalnya :

# grep -b 'bookmarks' /dev/hda

Jika data belum di "timpa", seharusnya anda dapat mengembalikannya dengan text editor. Tapi jika tidak berhasil, berdoalah :)

1.12 Bagaimana caranya agar suatu file script bisa dieksekusi ?

Agar suatu file text yang berisi perintah (script) dapat di eksekusi maka anda harus memberi izin eksekusi utk file tersebut (misalnya chmod +x filescript), kemudian jalankan script tsb dengan perintah, misalnya :

$ ./filescript

1.13 Bagaimana caranya mengubah permission suatu file ?

Untuk melakukannya anda dapat menggunakan perintah chmod, syntax umumnya adalah sebagai berikut :

chmod {u|g|o}{+/-}{r|w|x} namafile

dimana : u = user g = group

o = othe r = read w = write x = execution

Sebagai contoh untuk membuat suatu file index.htmlbisa di baca dan di"eksekusi" oleh "other", maka :

# chmod o+rx index.html

perintah ini juga berlaku untuk direktori, ganti nama file menjadi nama direktori jika anda ingin mengganti permision direktori.

1.14 Kenapa saya mendapatkan error bash: foo: command not found ketika menjalankan perintah foo ?

Coba anda lakukan prosedur berikut ini :

Periksa apakah program/command foo itu benar-benar ada

Jika memang anda sudah menginstallnya, kemungkinan besar binary program foo tidak masuk pada environment PATH anda (anda bisa mengecek dengan perintah echo $PATH). Misalkan binary program tersebut ada pada direktori /usr/local/sbin, anda bisa menambahkan dengan :

$ PATH=$PATH:/usr/local/sbin
$ export PATH

Kemudian anda juga bisa menambahkan environment PATH tersebut di

/etc/profile sehingga anda tidak perlu mengetik perintah-perintah diatas.

1.15 Kenapa saya mendapatkan error configure: error: C compiler cannot create executables waktu melakukan ./configure ?

Periksa apakah program gcc sudah terinstall (rpm -qa | grep gcc)

Jika sudah yakin ada, periksa apakah binary gcc sudah termasuk dalam

environment PATH anda

Periksa juga apakah anda mempunyai hak untuk menjalankan program gcc (ls la `which gcc`)


2.1 Bagaimana caranya menggunakan dialup dengan wvdial ?

Pastikan modemnya benar-benar kecolok dan tersambung ke port serial serta dalam keadaany menyala, kemudian :

[root@blah /root]# wvdialconf /etc/wvdial.conf
Scanning your serial ports for a modem.
[...]
Found a modem on /dev/ttyS1.

Edit file /etc/wvdial.conf menjadi misalnya seperti ini, sesuaikan Phone, Username, dan Password sesuai konfigurasi yang anda dapatkan dari ISP anda :

[Dialer Defaults]
Modem = /dev/ttyS1
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
Phone = 5552020
Username = asfik
Password = ihmotauajadehaw

Jalankan wvdial

2.2 Bagaimana caranya Masquerading (NAT) dengan menggunakan ipchains ?

Diasumsikan network anda anda 10.126.10.0/24 gateway dari intranet anda adalah eth1 sedangkan default route dari server adalah menggunakan eth0 (jika menggunakan dialup, silakan ganti eth0 menjadi ppp0) ke ISP anda, serta pastikan kernel anda sudah support ipchains.

# /sbin/ipchains –F

# /sbin/ipchains -P input ACCEPT

# /sbin/ipchains -P forward DENY

# /sbin/ipchains -A forward -i eth0 -s 10.1260.10.0/24 -d 0/0 -j MASQ

# echo 1 > /proc/sys/net/ipv4/ip_forward

2.3 Bagaimana caranya Masquerading (NAT) dengan menggunakan iptables ?

Diasumsikan network anda anda 10.126.10.0/24 dengan gateway dari intranet anda adalah eth1 sedangkan default route dari server adalah menggunakan eth0 (jika menggunakan dialup, silakan ganti eth0 menjadi ppp0) ke ISP anda, serta pastikan kernel anda sudah support iptables.

# /sbin/iptables –F

# /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 10.126.10.0/24 -d 0/0-j MASQUERADE

# echo 1 > /proc/sys/net/ipv4/ip_forward

2.4 Bagaimana caranya menutup sebuah port ?

Pada dasarnya sebuah port itu dihasilkan dari suatu pogram daemon yang secara terus menerus me-listen pada port tertentu Anda bisa memeriksanya dengan menggunakan command netstat atau memakai utilitas lsof, kemudian menge-killjika memang diperlukan. Jadi anda tidak bisa sekedar memberi tanda pagar (#) pada /etc/services untuk mematikan suatu port.

2.5 Kenapa saya mendapatkan error Unknown host www.foo.edu atau semacamnya di Konqueror/Opera/Netscape setelah tersambung melalui dialup ?

Hal ini biasanya disebabkan karena script dialup anda menghapus/override file /etc/resolv.conf, silakan anda periksa file tersebut kemudian isi dengan nameserver yang sesuai dengan konfigurasi dari ISP anda.

2.6 Kenapa saya tidak bisa melakukan ssh/ftp/telnet/whatever ke server, tapi ketika dilakukan dari localhost bisa ?

Anda bisa memulai investigasi dengan :

· Pastikan bahwa daemon ssh/ftp/telnet/whatever tersebut listen di semua IP yang sudah di assign ke suatu interface (gunakan perintah netstat atau lsof untuk memeriksanya)

· Periksa rule dari firewall anda (iptables/ipchains), apakah ada rule yang merestriksi koneksi selain dari localhost

· Jika anda menggunakan tcpwrapper, lihatlah file /etc/hosts.allow ataupun/etc/hosts.deny

· Berdoalah

2.7 Bagaimana caranya menjalankan wvdial dengan user non root ?

· Buat suatu group baru misalnya dialup (groupadd dialup)

· Buat serial port supaya bisa ditulisi oleh group tersebut (misalnya chgrp dialup/dev/ttyS0 ; chmod g+w /dev/ttyS0)

· Buat file papsecrets dan chapsecrets bisa ditulisi oleh group tersebut (misalnya

· chgrp dialup {/etc/ppp/pap-secrets,/etc/ppp/chap-secrets}; chmodg+w {/etc/ppp/pap-secrets,/etc/ppp/chap-secrets})

· Buat file wvdial.conf bisa ditulisi oleh group tersebut (misalnya chgrp dialup/etc/wvdial.conf ; chmod g+w /etc/wvdial.conf)

· Tambahkan user yang bisa menjalankan wvdial di group tersebut pada file /etc/group (atau jika terdapat usermod, anda bisa menambahkannya dengan usermod -Gdialup foobar)

3.1 Bagaimana cara menginstall qmail (dengan vpopmail ataupun vmailmgr ?

Wah, kalau yang ini namanya bukan FAQ, soalnya kalau dijelasin bisa menjadi sebuah buku ^_^, anyway anda bisa periksa link-link berikut ini.

Qmail :

. Instalasi qmail

. Qmail Install

. Tutorial instalasi Qmail, Courier Imap, dan Squirrelmail

Qmail dengan vpopmail atau dengan vmailmgr :

. Instalasi Qmail, Vpopmail, Qmailadmin, Courier Imap, dan Squirrelmail

. Instalasi Qmail, Vmailmgr, Omail Admin, Courier Imap, dan Squirrelmail

3.2 Bagaimana cara IP saya bisa diresolve menjadi host di IRC seperti misalnya anu@center.ict.gk ?

· Yang pertama, pasti anda harus bisa menambahkan subdomain center di domain ict.gk

· Kemudian (yang paling penting) pastikan anda mempunyai hak untuk mengelola reverse PTR terhadap IP address subdomain tersebut. Jika ISP anda baek hati dan tidak sombong maka anda biasanya diberi hak dalam pendelegasian tersebut, kecuali jika IP address yang anda dapat cuman sedikit :)

· Langkah yang terakhir, install DNS untuk membuat zone reverse IP anda

Link terkait : Konsep DNS dan tutorial instalasi BIND

3.3 Ketika menjalankan squid -z, kenapa saya mendapatkan error Permission denied ?

Hal ini disebabkan karena user yang anda definisikan pada cache_effective_user pada file squid.conf tidak mempunyai akses terhadap direktori cache yang anda definisikan dengan cache_dir. Silakan anda ganti kepemilikan direktori cache tersebut menjadi user yang telah anda definisikan sebelumnya.

3.4 Kenapa saya mendapatkan error Proxy Access Denied ketika menggunakan squid ?

Menurut http://www.squid-cache.org/Doc/FAQ/FAQ-11.html#ss11.1, hal ini disebabkan karena anda mungkin belum mengeset ACL (Access Control List) dengan benar, atau jika sudah, mungkin anda mungkin menggunakan squid sebagai httpd-accelerator dan anda lupa menambahkan httpd_accel_with_proxy on pada file squid.conf anda.

Link terkait : Instalasi Squid, Banner Filter, Porn Filter, Limit Bandwith, Transparan Proxy

3.5 Bagaimana caranya mereset password root di mysql ?

Matikan daemon mysql anda, kemudian start lagi dengan menambahkan argumen --skip-grant-tables (misalnya seperti ini : /usr/local/mysql/bin/safe_mysqld --skip-grant-tables &)

Kemudian masuk ke database mysql dan update password root yang baru,
misalnya begini :

$ mysql -u root mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1564 to server version: 3.23.39-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> update user set password=password("rahasiadeh") where
user='root';
mysql> flush privileges;
mysql> exit

Restart mysql anda seperti biasanya