질문은 다음과 같습니다.
Linux 커널: 3.0.13-0.27-기본 #1 SMP
이미 "대화 상자" 유틸리티( /usr/bin/dialog
)를 설치하고 bin 파일을 다음 위치에 복사했습니다./usr/bin
실행하려고 하면 libncursesw.so.5
라이브러리 누락에 대한 오류 메시지가 나타납니다.
문제를 해결하기 위해 파일을 복사해 보았지만 도움이 되지 않았습니다 libncursesw.so.5
./usr/lib/
이제 또 다른 오류가 발생합니다.
error while loading shared libraries: /usr/lib/libncursesw.so.5: file too short
조언해주세요
답변1
Linux에서는 이러한 응용 프로그램을 "설치"하지 않습니다(일부 특수한 경우 제외). 배포 패키지 관리자를 사용하여 필요한 것을 설치하세요. 필요한 모든 패키지를 자동으로 가져옵니다. SUSE Linux 파생 배포판인 경우(해당 /suse
레이블을 사용하고 있기 때문에) 다음을 사용하세요.
zypper in dialog
( in
약어 install
) 또는
yast -i
그러면 대화형 대화가 제공됩니다. 분명히 루트 파일 시스템을 수정하려면 루트 권한으로 이러한 프로그램을 실행해야 합니다. 이미 가지고 있다면분배하다RPM이 있으면 다음을 사용할 수 있습니다.rpm -Uvh package1.rpm package2.rpm ...
단순히 콘텐츠를 파일 시스템에 복사하는 것이 오류의 주요 원인입니다.
바이너리의 소스는 특히 보안 관점에서 신뢰할 수 없을 수 있습니다. 다른 사람이 제공한 프로그램을 실행하지 않을 뿐입니다. 배포 패키지를 사용하면 적어도 패키지 내용에 대한 일부 보장이 제공됩니다(예: 암호화 서명을 통해).
바이너리는 공유 라이브러리(예: libncursesw)와 연결되어 있습니다. 호환 가능한 라이브러리를 충분히 제공하지 않으면 디버깅하기 어려운 문제가 발생할 수 있습니다.
답변2
libncursesw.so.5
이 파일을 어디서 구했는지 는 말하지 않았습니다 . 이곳은 실제 도서관은 아닌 것 같습니다.
어쨌든 라이브러리가 누락된 경우 패키지 관리자에서 라이브러리를 설치해야 합니다.
# yum install libncursesw5