Mengatasi Masalah Pada Linux

Pendahuluan

Berikut ini adalah hasil terjemahan aku dari salah satu postingan di situs MandrakeUser.org yang judulnya “Emergency Recovery”. Jika ada kesalahan dalam hasil penerjemahan ini saya harap dikoreksi dan diinformasikan terhadap aku melalui e-mail yang ada pada bagian simpulan dari tulisan ini.
System Freeze

Ketika ‘freeze’, komputer Anda tidak mau menanggapi terhadap perintah-perintah dan input device mirip keyboard dan mouse tidak bekerja. Ini ialah hal terburuk dan kemungkinannya ialah persoalan serius pada konfigurasi metode, software atau hardware Anda.

Ketika terjadi freeze, prioritas utama Anda ialah mencoba untuk men-shutdown sistem secara aman (normal). Coba tindakan berikut secara berurutan (anggap Anda berada di X):

1. Coba kill X server dengan menekan ALT-CTRL-BACKSPACE serempak.
2. Coba pindah ke konsol lain dengan ALT-CTRL-F2. Jika berhasil, login selaku ‘root’ dan kerjakan perintah kill -15 $(pidof X) atau kill -9 $(pidof X), bila perintah pertama tidak sukses (cek dengan top).
3. Jika Anda bab dari jaringan lokal, coba telnet atau ssh ke komputer lain (ingat Anda tidak mampu telnet sebagai root, jadi login dahulu selaku user biasa).
4. Jika tata cara Anda tidak menyikapi juga, Anda mesti menjajal ‘SysRq sequence’ (System Resque). ‘SysRq sequence’ memerlukan pementingan 3 tombol secara serentak, tombol ALT kiri, SysRq, dan tombol abjad:
1. ‘ALT kiri-SysRq-r’ merubah keyboard menjadi mode ‘raw’. Sekarang coba tekan tombol ALT-CTRL-BACKSPACE lagi. Jika tidak berhasil, teruskan.
2. ‘ALT kiri-SysRq-s’ menyimpan semua data yang belum tersimpan ke disk (sinkronisasi disk).
3. ‘ALT kiri-SysRq-e’ mengantarsinyal penghentian untuk semua proses, kecuali untuk init.
4. ‘ALT kiri-SysRq-i’ mengirim suatu sinyal kill untuk semua proses, kecuali untuk init.
5. ‘ALT kiri-SysRq-u’ me-mount ulang semua filesistem yang selaku read-only.
6. ‘ALT kiri-SysRq-b’ reboot tata cara. Mungkin sama dengan menekan tombol ‘reset’.
Ingat bahwa ini ialah suatu urutan (sequence), sehingga Anda mesti menekan satu variasi sesudah yang lainnya dalam urutan: Raw-Sync-tErm-kIll-Unmount-reBoot (atau dibaca: Raising Skinny Elephants Is Utterly Boring). Untuk lebih jelasnya baca file ‘sysrq.txt’ dengan perintah less $(locate sysrq.txt).
5. Jika masih belum menolong, tekan tombol ‘reset’ di casing Anda sambil berdo’a. Jika beruntung, Linux hanya akan menjalankan fsck ketika boot.
Tentu saja menjajal untuk mencari tahu penyebab persoalan pada filesistem Anda itu lebih baik, alasannya cara-cara di atas mampu mengakibatkan kerusakan pada metode. Mungkin Anda mesti menjajal ReiserFS, filesistem berjurnal yang ditambahkan pada Linux Mandrake (LM) mulai model 7.0, yang mengatasi kesalahan dengan lebih baik. Tetapi mengganti extfs2 dengan ReiserFS mewajibkan Anda mem-format ulang partisi. ;-( Jika tidak mau memformat ulang, coba saja extfs3, tetapi masih dalam tahap pengembangan.

Sistem Hang Ketika Boot
Jika tata cara Anda boot dengan baik, namun hang dikala ‘Rebuilding RPM database’ atau ‘Finding Module Dependencies’, tekan saja CRL-C. Ini akan menghentikan proses tersebut dan melanjutkan proses yang lain.

Lakukan rpm –rebuilddb sebagai root jika hang saat ‘Rebuilding RPM database’.
Jika komputer Anda hang ketika ‘Finding module dependencies’, tampaknya Anda sedang mengupgrade kernel tetapi belum semuanya akhir. Periksa apakah file di direktori /boot dan /lib/modules memiliki model kernel yang sama (biasanya pada final dari namafile). Baca dokumentasi tentang Kernel Upgrade untuk lebih lengkap.

Jika proses boot hang ketika
RAMDISK: Compressed image found at block 0
berarti Anda sudah merusak image ‘initrd’. Coba untuk boot lewat ‘lilo.conf’ yang sudah Anda backup (jikalau punya) atau coba ‘Contoh 1’ pada bagian Sistem Tidak Mau Boot Dari Disk Lagi (di bagian bawah) untuk boot metode darurat dan menghapus/mengganti entri initrd di lilo.conf.

Periksa Filesistem Pada Saat Boot Gagal
Jika Anda tidak men-shutdown dengan benar, tata cara akan menjalankan sebuah berkala filesystem check saat boot selanjutnya. Tapi adakala rutin ini akan gagal dan membawa Anda ke konsol. Jika begitu kerjakan:

e2fsck -py [device]
device diubah menjadi nama partisi yang gagal di periksa. Parameter -p menginformasikan ‘e2fsck’ untuk melaksanakan semua perbaikan yang perlu tanpa menanyakannya dulu, sedangkan -y menyetujui semua pergantian yang hendak dilakukan e2fsck.

Ketika akhir, tekan CTRL-D untuk keluar dari konsol. Sistem akan restart. Jika masih saja ada persoalan yang sama, mungkin ada bad block (bad sector) pada disk Anda. Jalankan:

e2fsck -c [device]
untuk mencari tahu. Perintah ini akan menandai bad block yang ditemui secara otomatis sehingga menangkal tata cara untuk menyimpan file pada block tersebut. ‘e2fsck’ mengusut filesistem secara otomatis jikalau:
• filesistem tidak di-unmount pada shutdown sebelumnya
• telah tercapai keadaan ‘maximal mount count’
Untuk mempercepat investigasi, gunakan parameter -f.

Boot ke Runlevel Lain
Jika Anda belum begitu mengenali konsep runlevel, baca dulu postingan sebelumnya yang berjudul Daemon.
Secara default, GNU/Linux boot ke runlevel 3 (consol) atau runlevel 5 (X). Default runlevel ditentukan oleh suatu entry di file ‘/etc/inittab’.
id:3:initdefault:
untuk boot ke konsol
id:5:initdefault:

untuk boot ke X Window.
Jika Anda ingin boot ke runlevel lain yang tidak dituliskan dalam ‘/etc/inittab’, Anda bisa menentukannya di bootprompt. Pada LiLo (sebelum LM 7.1), ketik linux init 3 untuk boot ke konsol dan linux init 5 untuk boot ke X tanpa memperdulikan entry di file ‘/etc/inittab’. Dalam GNU GRUB, tekan tombol ‘e’ dua kali, tambahkan init [angka], tekan ENTER dan tombol ‘b’ untuk boot.
Sistem Tidak Mau Boot Dari Disk Lagi

Ini terjadi mampu sebab MBR sudah rusak atau tertimpa, atau konfigurasi yang salah atau masalah lain yang lebih gawat. Pada masalah pertama, Anda hanya memerlukan disket boot yang menyediakan boot sector yang bagus. Disket ini akan boot dengan tata cara yang ada pada harddisk. Pada masalah kedua, Anda membutuhkan disket boot yang tidak akan memakai sistem pada harddisk. LM 7.1 ke bawah menawarkan image untuk disket ‘rescue’: ini ialah tata cara GNU/Linux dalam satu disket. Anda mampu menggunakan disket ini untuk boot dan melakukan perbaikan yang diharapkan dengan me-mount partisi root yang bersangkutan pada harddisk. Sejak LM 7.1, CD Mandrake pertama berisi rescue system tersendiri. Boot komputer menggunakan CD tersebut dan ketikkan
rescue

pada boot prompt. System rescue ini jauh lebih baik ketimbang yang dahulu dengan disket, tidak ada ruginya bila dikerjakan. Ini memakai vi editor dan standard procedure untuk shutdown /rebooting komputer. Kemungkinan lain memakai GNU/Linux system yang diinstall dalam windows partisi. (Seperti M$ mempunyai ‘Linux for Windows’) atau ‘Live-Filesystem” yang jalan di CDROM (seperti DemoLinux).

Bagaimana Menggunakan Disket Boot/Disket Rescue
CD Mandrake tiba dengan image untuk disket ‘rescue’ (di direktori ‘images’). Anda boot dengan memakai disket boot tersebut, ketikkan rescue pada boot prompt dan masukkan disket rescue saat diminta (image disket ‘rescue’ tidak bootable). Biasanya Anda mesti membuat sebuah boot floppy ketika instalasi. Jika tidak, Anda bisa menjadikannya dengan:

mkbootdisk $(uname -r)

Catatan: cek dulu apakah disket Anda betul-betul melakukan pekerjaan !!! Kadang-kadang sangan menjengkelkan ketika muncul pesan:
Loading linux……..
error 0x10
saat boot dari disket yang ada bad block-nya 😉 Ini ialah CRC error (‘media failure’). mkbootdisk tidak memeriksa disket boot yang sedang dibentuk, Anda harus memeriksanya sendiri! Tetapi, ini tidak senantiasa memiliki arti disket Anda yang rusak. Coba sekali lagi, jikalau masih sama, coba disket lain.

Jika Anda tidak mendapatkan disket yang baik, Anda mampu memakai salah satu image di direktori ‘images’. Copy ke disket, boot, kemudian ketik ‘rescue’ pada prompt pertama dan siapkan disket ‘rescue’ tersebut.

Kerugiannya: tidak ada keymaps untuk keyboard non-US, hanya ada perintah ‘cat’ bukannya ‘less’ atau ‘more’ untuk menampilkan teks, tidak ada command line history atau command line completion, dsb.

Di sisi lain disket tersebut berisi editor ‘pico’, bukannya ‘vi’ (yang lebih sukar buat pemula). Dengan akomodasi yang kurang dari tata cara rescue tersebut, mungkin Anda lebih memilih memakai disket boot pihak ketiga (atau upgrade ke LM 7.1 atau modern ;-)) mirip tomsrtbt atau mulinux (yang bisa mengerjakan X pada disket keduanya), tetapi Anda mesti percaya bahwa:
1. Apakah tata cara-metode tersebut menggunakan acara yang kompatibel dengan sistem kita. ‘Tomsrtbt contohnya, tiba dengan mount versi usang, yang tidak mampu me-mount partisi extfs2 LM 7.
2. Apakah sistem-metode tersebut mampu mengenali hardware Anda. Ini sungguh penting jikalau GNU/Linux Anda misalnya menggunakan disk SCSI.
Makara: cobalah sebelum menggunakannya 😉
Contoh 1: Memperbaiki MBR Yang Rusak

Anggaplah Anda sudah meng-upgrade kernel dan lupa mengerjakan lilo. Anda tidak mampu boot GNU/Linux dari disk lagi dan tidak bisa menciptakan disket floppy. Bagaimana meng-update ‘LiLo’?
1. Boot dari emergency disket yang Anda pilih.
2. Mount partisi ‘root’ GNU/Linux Anda:

mount /dev/[(device name)(nomor partisi root)] -t ext2 /mnt

Jika Anda tidak ingat di partisi mana, jalankan:

fdisk [nama device disk Anda, biasanya /dev/hda] –l

apakah pada partisi pertama atau kedua (bila yang pertama yakni ‘/boot’ dan kapasitasnya sekitar 10MB).
3. Pindah ke direktori yang gres Anda mount: cd /mnt. Jika Anda butuh mount point lain, buat saja dengan perintah mkdir.
4. Ubah ‘lilo.conf’, jikalau perlu, gunakan editor pico atau ‘vi’ (pico /etc/lilo.conf, vi /etc/lilo.conf).
5. Ubah letak ‘root’ yang tadinya dari disket ke filesistem yang gres Anda buat: chroot /mnt. Ini perlu alasannya adalah lilo mesti mengetahui lokasi direktori root dari filesistem yang mau di boot adalah direktori yang Anda mount tadi, bukan dari disket!
Anda mampu melalui langkah ini kalau Anda hanya meng-edit atau meniadakan sebuah file (tetapi ingat path yang berlawanan!).
6. Jalankan /sbin/lilo
7. Tinggalkan mode ‘chroot’ dengan exit
8. (Optional namun lebih kondusif:) laksanakan sync
9. Reboot.
Jika Anda pelupa, cobalah ganti LiLo dengan GNU GRUB yang lebih gampang bagi orang yang pelupa 😉
Contoh 2: Memperbaiki Super Block Yang Rusak
Super block ialah block pertama pada setiap partisi extfs2. Berisi data penting mengenai file system seperti ukuran, free space, dsb (mirip File Allocation Table pada partisi FAT). Super block yang rusak menyebabkan partisi tidak mampu di mount. Untungnya extfs2 menawarkan beberapa backup dari super block ini.
1. Boot dari emergency system yang Anda pilih.
2. Super block cadangan biasanya disimpan pada permulaan di setiap 8kb block (8192 bytes). Sehingga backup berikutnya ada pada bye ke 8193.
3. Untuk mengembalikan super block dari cadangannya, lakukan perintah:

e2fsck -b 8193 /dev/[nama partisi yang rusak]

4. Jika block itu juga rusak, coba cadangan selanjutnya pada byte ke 16384 dan seterusnya.
5. Reboot
Gagal Login
Sebelum menjajal cara-cara berikut, tentukan dulu bahwa Anda tidak salah ketik: periksa apakah ‘capslock’ menyala, coba periksa huruf besar-kecil, coba login dengan account atau terminal lain (pindah dengan ALT-F2) dsb.
Gagal login mungkin disebabkan kerusakan file ‘/etc/passwd’, ‘/etc/shadow’ atau ‘/etc/securetty’ atau file permission yang salah. Untungnya ini terjadi sesudah instalasi pada metode-tata cara tertentu saja.
1. Untuk masuk ke tata cara, reboot dan ketik:

linux init=/bin/sh rw

pada boot prompt LiLo. Jika memakai GNU/GRUB, tekan tombol ‘e’ dua kali dan tambahkan

init=/bin/sh rw

untuk perintah boot dan tekan ENTER dan ‘b’ untuk boot. Ini akan boot ke metode minimal (tidak terproteksi) seperti runlevel 1.
2. Setelah masuk ke metode, ketik

vi /etc/passwd

(Catatan: mampu digunakan editor lain selain ‘vi’, tergantung sistemnya.)
Lihatlah pada file ini. Seharusnya tidak mengandung baris kosong, komentar atau karakter-karakter non-ASCII. Jika ada, hapus saja (di ‘vi’ tekan x). Entry untuk ‘root’ mesti SAMA dengan baris berikut:

root:x:0:0:root:/root:/bin/bash

Jika tidak sama, ubahlah (tekan i) dan simpan (ESC, kemudian :wq).
Periksa permission dengan ls -l /etc/passwd, semestinya -rw-r–r–.
3. Kemudian, lakukan vi /etc/shadow. Format tiap baris dalam ‘/etc/shadow’ yaitu:

[accountname]:[password]:[other stuff] e.g.
root:$1$KODLG[etc]:10979:0:99999:7:::

Bagian password pastinya terenkripsi.
Hapus saja bab password untuk ‘root’ dengan memindahkan kursor pada karakter pertama dari password (umumnya ‘$’ pertama) dan ketik dw. Sekarang ketik :wq untuk menyimpan file dan keluar.
4. Jika lihat file ‘/etc/securetty’ (more /etc/securetty), yang seharusnya memperlihatkan:
tty1
tty2
tty3
tty4
tty5
tty6
5. Yang juga mesti diperiksa adalah ‘/var/log/messages’, siapa tahu duduk perkara pada metode ter-log di file, dan juga periksa kepemilikan dan permission (ls -al) dari ‘/root/.bash_profile’, ‘/root/.bashrc’, dan ‘/etc/gettydefs. Semua file mesti milik ‘root’ dan mesti bisa dibaca/ditulisi (-rw-) setidaknya untuk ‘root’ sendiri.
6. Sekarang laksanakan:

sync && mount -o remount,ro /

untuk menulis semua isi buffer ke disk dan me-mount ulang partisi dalam mode read-only. Tekan ALT-CTRL-DEL bersama-sama untuk reboot. Pada login selanjutnya, ketik ‘root’ untuk nama account dan tekan saja ENTER pada prompt ‘password’. Ketik passwd untuk menciptakan password gres untuk ‘root’.
Ini juga berlaku kalau Anda lupa password ‘root’…
Mengembalikan File Yang Terhapus
GNU/Linux lebih ketat dalam hal file yang sudah dihapus dibandingkan dengan MS-DOS contohnya. Tidak ada utility mirip undelete. Pada postingan Linux Ext2fs Undeletion mini-HOWTO diterangkan langkah-langkahnya, namun membutuhkan kemampuan dan keberanian untuk mengotak-atik (contohnya remount partisi secara read-only). Sayangnya mini-HOWTO masih mengacu pada kernel 2.0.x yang sudah ketinggalan.
Linux Gazzette terbitan lama sudah memperlihatkan kiat untuk merecover file teks. Filemanager konsol ‘Midnight Commander’ (mc) mempunyai fitur yang mendukung undelete melalui ‘undelfs’.
Tapi ada utility recover yang melaksanakan langkah-langkahnya secara otomatis dan bahkan dengan performa grafis, namanya ‘gtkrecoer’. Kunci untuk merecover dengan tuntas adalah waktu: sekali GNU/Linux menimpa file yang sudah terhapus, tidak ada cara lain untuk mengembalikannya kecuali melalui backup-nya.
Cara yang lebih baik yaitu menghalangi file yang dihapus dihilangkan eksklusif dari tempatnya. Lingkungan seperti KDE atau GNOME sudah mempunyai direktori ‘Trash’ sendiri, tetapi Anda tidak akan menemukannya di konsol atau window manager lain.
Deltree merupakan skrip yang memungkinkan abolisi file ke ‘recycled folder’. Ini memungkinkan recovery dengan gampang. Bahkan mendukung sintaks rm, sehingga Anda mampu menggunakannya sebagai pengganti rm dengan menyebarkan suatu alias.
Selain Deltree adalah rmm (‘remove improved’), dowload saja, jadikan executable dengan perintah chmod 755 dan copy ke ‘/usr/bin’ (bukan ‘/usr/local/bin’ sebagaimana yang dikatakan pembuat skrip tsb. ‘/usr/local/bin’ bukan bab dari $PATH punya ‘root’!).
Orang Bijak Berkata: Biasakan Backup Data
Setidaknya backup-lah direktori ‘/ ‘ dan ‘/etc’ Anda secara rutin, sisanya lazimnya ada di CD instalasi Anda. Linux Gazzette memiliki artikel yang cukup baik mengenai topik ini, Backup for the Home Network, lengkap dengan skrip backup yang mudah, yang mau membackup data secara inkremental. Jika Anda memiliki CD Burner, cobalah menggunakan Backup On CD, kumpulan skrip yang mau membuat backup pada CD-R(W). Jika Anda lebih senang dengan yang tampilan grafis, cobalah Linux Backup.

Beberapa prinsip backup:
• Jangan menyimpan backup pada media yang serupa dengan metode. A disk failure is a disk failure is a disk failure 😉 Simpanlah di harddisk lain (jikalau punya dua), pada media removable (CD) atau pada komputer lain yang satu jaringan dengan komputer Anda.
• Pastikan Anda mampu me-restore kembali. Jika perintah untuk mengembalikan backup pada disk gagal, mungkin membutuhkan sedikit trik ;-). Anda mesti menilik juga apakah program backup menghasilkan backup yang bagus/valid, utamanya ketika meng-kompresinya dengan gzip.
• Back-up secara rutin. Backup yang telah dua bulan lamanya biasanya tidak seberguna backup pada dua hari yang kemudian. Gunakanlah acara backup yang mampu dijadwal, atau jadikan sebagai job di cron.

Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2001.
Diterjemahkan sekitar bulan September-Desember 2001.
Demikian goresan pena terjemahan perihal mengatasi permasalahan pada tata cara operasi linux. Semoga berfaedah bagi Anda semuanya. Jika ada saran atau komentar mampu dilayangkan ke arioss@softhome.net. Untuk membaca tulisan mempesona yang lain silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.
Terimakasih.


Posted

in

by

Tags: