MWN Website
ContactHome

Libc hilang

Create time: 8 Mei 2007
Last edit: -

Sistem: Debian 4.0

Sedang dialami saat ini :-) Saat mengubah sebuah server remote dari Kanotix ke Debian stable dengan "apt-get dist-upgrade", libc hilang (ter-remove lalu proses stop karena semua perintah menjadi gagal).

Kita perlu mentransfer libc dulu secara manual ke /lib...

Tapi bagaimana cara mentransfer file? Scp gagal, tidak bisa mentransfer file ke server. Tidak bisa melakukan dpkg, apt-get, wget, lynx, ftp dll dari server untuk mengambil file dari tempat lain. Bahkan perintah-perintah dasar seperti cp, ls, rm, mv, mkdir, semuanya gagal!

Untungnya, ada busybox sehingga perintah-perintah dasar dapat memakai versi busybox ini.

Lalu... ada satu session SSH yang masih hidup! Teorinya, kita dapat melakukan transfer file dengan kopi paste :-)

Kita dapat membuat menjalankan deretan perintah ini di server:

> /si/file
echo "\0\234\023\0\0\0\377\222..." >> /si/file
echo "\021\057\377\370\0\0\111..." >> /si/file
...

Deretan byte ini adalah isi dari /si/file. Bisa kita generate dari komputer kita sendiri sbb:

$ perl -le'
    open F, "/si/file";
    print ">/si/file";
    while(1){
      read F,$buf,100; last if length($buf)==0;
      print "echo -ne \"",
        (map {ord($_)==0 ? "\\0" : sprintf("\\%03o",ord($_)) }
         split("",$buf)),"\">>/si/file";
    }' >/tmp/script.sh

Lalu script.sh ini kita "paste"-kan dari komputer kita ke session SSH server remote. Asumsi menggunakan program terminal Konsole:

#!/usr/bin/perl
sub esc { local $_=shift; s/'/'"'"'/g; "'$_'" }
open F, "/tmp/script.sh";
$|++;
while (<F>) {
  chomp;
  system "dcop konsole-9732 session-6 sendSession ".esc($_);
  system "sleep 0.02";
  print "line $i ...\n" if $i++ % 10 == 0;
}

konsole-9732 diganti dengan session Konsole (bisa dicari dengan perintah "dcop"). session-6 diganti dengan session SSH remote server yang sebenarnya (bisa dicek dengan perintah "dcop konsole-9732").

Bersabarlah sejenak. File yang agak besar (ratusan KB) bisa beberapa menit ditransfernya. Serasa zaman BBS :-)

Setelah itu, di session SSH remote server, tinggal "busybox chmod +x /si/file" (jika ini program atau librari). Demikianlah proses upload menggunakan Konsole :-)

File apa yang sebaiknya ditransfer pertama kali menggunakan cara Konsole ini? Saran saya, wget-static. Build-lah wget-static dulu di komputer sendiri dengan cara:

  • ambil source wget mis dengan "apt-get source wget" atau ekstrak tarball wget.
  • jalankan perintah "LDFLAGS=--static ./configure && make". Hasil kompilasi nanti ada di src/wget.

Setelah kita memiliki wget, mengambil file dari remote server menjadi lebih mudah...

Saran berikutnya untuk dikirim ke server: strace-static. Buildlah dan transfer ke server, kali ini bisa menggunakan wget-static yang telah dikirim sebelumnya ke server dengan "susah payah" :-).

Dengan strace, lebih mudah mencari librari apa yang masih missing. Dan mengkopikannya ke server.

Setelah libc tertransfer, saran saya buatlah dpkg dan apt-get bekerja lagi. Lalu lanjutkan dengan Debian Way dari situ...


Navigasi

Feedback

Artikel Popular

  • Panduan pengguna Spanel
  • Panduan pengguna Spanel 1.3/Email Manager
  • Peraturan dan Persetujuan
  • Panduan pengguna Masterkey
  • Upload files
  • Kontak MWN
  • Tutorial instalasi phpBB
  • PHP
  • Setting SMTP
  • Tentang shared hosting
  • Panduan pengguna Masterkey/Memesan/Konfirmasi pembayaran
  • selengkapnya...
  • Artikel Terbaru

  • Panduan pengguna Spanel 1.3/Subdomain Manager/Prefs
  • Panduan pengguna Spanel 1.3/Subdomain Manager/Delete
  • Panduan pengguna Spanel 1.3/Subdomain Manager/Add
  • PostgreSQL
  • Virtual private server
  • Panduan administrator Spanel 1.3/Dll/Pesan error/Server sibuk
  • Memaksa fsck
  • Membuat sertifikat SSL
  • Tutorial instalasi formmail
  • FAQ PHP (Plesk)
  • Panduan administrator Spanel 1.3/Instalasi/Setting
  • selengkapnya...
  • Hak cipta © 2006-2008 PT Master Web Network Konten ditulis dan dikoleksi oleh staf MWN. Artikel-artikel pada situs knowledge base ini dapat dikutip dan disalin secara bebas, namun mohon menyebutkan sumber dengan URL http://kb.masterweb.net/ atau teks "Knowledge Base MWN". MWN tidak bertanggung jawab atas akurasi dan/atau kekinian konten. MWN tidak bertanggung jawab atas komentar-komentar yang dikirim pembaca. Dengan memposting komentar Anda memberi hak penuh pada MWN untuk menampilkan komentar tersebut di manapun dan kapanpun, dan untuk mengedit atau menghapus komentar tersebut dengan cara bagaimanapun dan/atau karena alasan apapun.