> saya punya file executable(bukan file script) yang ditujukan untuk > dijalankan di distro Redhat 6.1 atau 6.2(kernel 2.0 atau 2.2). > > pada waktu file tersebut saya jalankan di SuSe 9.1(kernel 2.6), > outputnya kok keluar 'bash: nama_file no such file or directory'.
Menurut saya, kemungkinan besar gara gara library. ie. ld-linux.so yang lain versi atau executable ngga nemu ld-linux.so Coba `ldd nama_file` Ini saya coba di tempat saya, ####### 1. ls dulu ####### [EMAIL PROTECTED] test]# ls -lR .: total 20 -rwxr-xr-x 1 root root 11264 Nov 20 19:25 hello* -rw-r--r-- 1 root root 73 Nov 20 19:18 hello.c drwxr-xr-x 3 root root 4096 Nov 20 19:23 lib_/ ./lib_: total 1204 -rwxr-xr-x 1 root root 1223895 Nov 20 19:23 ld-linux.so.2* drwxr-xr-x 2 root root 4096 Nov 20 19:23 tls/ ./lib_/tls: total 1308 -rwxr-xr-x 1 root root 1334740 Nov 20 19:23 libc.so.6* ####### 2. isi hello.c ####### [EMAIL PROTECTED] test]# cat hello.c #include<stdio.h> int main(void) { printf("Hello, World\n"); return 0; } ####### 3. run hello, berhasil ####### [EMAIL PROTECTED] test]# ./hello Hello, World ####### 4. run hello lagi, no such file or directory ####### [EMAIL PROTECTED] test]# /programs/scripts/newchroot usage: newchroot newroot uid gid command [EMAIL PROTECTED] test]# /programs/scripts/newchroot ./ 0 0 ./hello exec: No such file or directory [EMAIL PROTECTED] test]# strace -o ../blah.log /programs/scripts/newchroot ./ 0 0 ./hello exec: No such file or directory ####### 5. ok, sekarang benerin library nya ####### [EMAIL PROTECTED] test]# mv lib_ lib ####### 6. eh jalan ####### [EMAIL PROTECTED] test]# /programs/scripts/newchroot ./ 0 0 ./hello Hello, World [EMAIL PROTECTED] test]# ldd ./hello linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/tls/libc.so.6 (0x4002a000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) ####### isi blah.log ####### execve("/programs/scripts/newchroot", ["/programs/scripts/newchroot", "./", "0", "0", "./hello"], [/* 50 vars */]) = 0 uname({sys="Linux", node="quicksilver", ...}) = 0 brk(0) = 0x804a000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=71857, ...}) = 0 old_mmap(NULL, 71857, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "[EMAIL PROTECTED]"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1334740, ...}) = 0 old_mmap(NULL, 1340908, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002a000 old_mmap(0x4016c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x142000) = 0x4016c000 old_mmap(0x4016f000, 9708, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4016f000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40172000 set_thread_area({entry_number:-1 -> 6, base_addr:0x401724e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0x40018000, 71857) = 0 chdir("./") = 0 chroot(".") = 0 setgid32(0) = 0 setuid32(0) = 0 execve("./hello", ["./hello"], [/* 50 vars */]) = -1 ENOENT (No such file or directory) dup(2) = 3 fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR) brk(0) = 0x804a000 brk(0x806b000) = 0x806b000 brk(0) = 0x806b000 fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000 _llseek(3, 0, 0xbfffed74, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(3, "exec: No such file or directory\n", 32) = 32 close(3) = 0 munmap(0x40018000, 4096) = 0 exit_group(0) = ? -- Unsubscribe: kirim email kosong ke [EMAIL PROTECTED] Arsip, FAQ, dan info milis di http://linux.or.id/milis.php Tidak bisa posting? Baca: http://linux.or.id/wiki/index.php?pagename=ProblemMilisDanSolusi http://linux.or.id/wiki/index.php?pagename=TataTertibMilis