opkg kullanarak openwrt altında bazı yeni yazılım paketi yüklemeye çalışıyorum ve yükleme başarılı oldu ve biz görebilirsiniz İkili dosya gerçekten/usr/bin'de var ve lld kontrolüne bakıyorum ama aynı çıkıyor. aşağıdaki gibi:ELF dosyası/usr/bin var, ancak "-ash: dosya: bulunamadı"
[email protected] /usr/bin [#]# opkg files cfdisk
Package cfdisk (2.25.2-4) is installed on root and has the following files:
/usr/sbin/cfdisk
[email protected] /usr/bin [#]# ls /usr/sbin/
adjtimex arping ethtool iptables-save mkfs.ext3 pppd telnetd
airbase-ng besside-ng fdisk iw mkfs.ext4 rate.awk uhttpd
aireplay-ng brctl hostapd iwconfig modinfo rmmod wpa_supplicant
airmon-ng cfdisk insmod iwlist modprobe samba_multicall wpad
airmon-zc chroot ip6tables iwpriv nmbd smbd xtables-multi
airodump-ng crond ip6tables-restore lsmod ntpclient smbpasswd
airodump-ng-oui-update dnsmasq ip6tables-save miniupnpd ntpd swapoff
airserv-ng dropbear iptables mke2fs odhcp6c swapon
airtun-ng e2fsck iptables-restore mkfs.ext2 pdnsd tc
[email protected] /usr/bin [#]# cfdisk
-ash: cfdisk: not found
[email protected] /usr/bin [#]# ./cfdisk
-ash: ./cfdisk: not found
[email protected] /usr/bin [#]# ldd cfdisk
-ash: cfdisk: not found
[email protected] /usr/bin [#]# ldd id
libcrypt.so.0 => /lib/libcrypt.so.0 (0x77898000)
libm.so.0 => /lib/libm.so.0 (0x77872000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7784e000)
libc.so.0 => /lib/libc.so.0 (0x777e2000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x778bc000)
[email protected] /usr/bin [#]# export
export HOME='/root'
export LOGNAME='root'
export OLDPWD='/usr'
export PATH='/usr/bin:/usr/sbin:/bin:/sbin'
export PS1='\[\033[35;1m\]\u\[\033[0m\]@\[\033[31;1m\]\h \[\033[32;1m\]$PWD\[\033[0m\] [\[\033[35m\]\#\[\033[0m\]]\[\033[31m\]\$\[\033[0m\] '
export PWD='/usr/bin'
export SHELL='/bin/ash'
export SHLVL='1'
export SSH_CONNECTION='192.168.1.152 29105 192.168.1.1 22'
export SSH_TTY='/dev/pts/0'
export TERM='xterm'
export USER='root'
[email protected] /usr/bin [#]#
Teşekkürler.
Muhtemelen cfdisk dosyanızın mevcut olmayan dinamik bir bağlayıcısına bağlı olması (başka bir deyişle, ld-uClibc.so.0'dan başka bir şey) .Bir ikili üzerinde 'readelf -a' komutunu çalıştırın, "program yorumlayıcısını" arayın – nos
teşekkürler @ nos, readelf henüz yüklemedim. Bu dosyayı benim ubuntu sistemime kopyalayayım mıyım? cadı kendini kontrol etti ve muhtemelen linux sürümünün yol açtığını düşünüyorum. "ld-uClibc.so.0 "ldd cfdisk" ile karşılaştırmak için "id" olarak "lld id" komutu. – coder
Elbette, istediğiniz yerde ikili üzerinde çalıştırın. Ben ldd id 'ld-uClibc.so.0' gösterir beri o zaman bu kütüphane var diyorum. Ve, cfdisk'iniz muhtemelen bunu kullanmıyor, fakat makinenizde olmayan başka bir dinamik bağlayıcı var. Muhtemelen cfdisk'in başka bir uClibc sürümü veya başka bir C kütüphanesi ile derlenmesi nedeniyle. – nos