파일이 존재할 때 그러한 파일이나 디렉토리가 없습니다


1

bitcoind/ usr / bin / bitcoind에 파일이 있습니다 .

bitcoin@Titan:~$ ll /usr/bin | grep bitcoind
-rwxr-xr-x  1 bitcoin bitcoin 7789600 Nov 25 10:39 bitcoind*

그러나 나는 그것을 실행할 수 없다 :

bitcoin@Titan:~$ bitcoind
-bash: /usr/bin/bitcoind: No such file or directory

sudo 도움이되지 않습니다 :

bitcoin@Titan:~$ sudo bitcoind
sudo: unable to execute /usr/bin/bitcoind: No such file or directory

필요한 라이브러리가 없기 때문에 제안을 찾았으므로 'ldd'를 사용하여 라이브러리를 찾으십시오.

bitcoin@Titan:~$ ldd /usr/bin/bitcoin
ldd: /usr/bin/bitcoin: No such file or directory

파일 이름에 숨겨진 문자가 포함되어 있지 않습니까? 로 확인하십시오 ls /usr/bin | grep bitcoind | xxd.
choroba

0000000: 6269 7463 6f69 6e64 0a bitcoind.
베네딕트 루이스

1
마지막에 ldd통화가 누락 d되었습니다.
choroba

1
당신의 OUPUT 제공 할 수 file /usr/bin/bitcoinduname -a?
혼돈

@choroba 수정 된 ldd호출이 반환 not a dynamic executable됩니다.
베네딕트 루이스

답변:


1

64 비트 시스템에서 32 비트 실행 파일을 실행하려고합니다. 그것은 문제가되지 않지만, 그렇게하려면 시스템에 일부 패키지가 필요합니다.

패키지 라이브러리에 32 비트 아키텍처를 추가하십시오.

sudo dpkg --add-architecture i386

패키지 캐시를 업데이트하십시오.

sudo apt-get update

필요한 패키지를 설치하십시오.

sudo apt-get install libc6:i386 libstdc++6:i386 libncurses5:i386 

그런 다음 32 비트 실행 파일을 실행할 수 있어야합니다.

약간의 배경 :

lddnot a dynamic executable64 비트 실행 파일이 아니므로 64 비트 동적 실행 파일이 아니기 때문에가 반환 됩니다. 실행 파일과 같은 64 비트 음영 처리 된 개체를 실행하려면 동적 링커 ( linux loader) 가 있어야합니다 . 일반적으로에 있습니다 /lib. 32 비트 링커가있는 64 비트 Linux 시스템에는 두 개의 링커 / 로더가 있습니다 (32 비트 로더 입력 /lib32/ld-linux.so및 64 비트 로더 입력) /lib64/ld-linux.so. 32 비트 실행 파일에는 32 비트 라이브러리가 필요하므로 실행 파일에 라이브러리가 더 필요할 수 있습니다. 로 데비안 기반 시스템에 설치하십시오 apt-get install libxyz:i386.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.