지침 생성 중 오류 발생: 공유 라이브러리 "libcrypt.so.1"이 누락되었습니다.

지침 생성 중 오류 발생: 공유 라이브러리 "libcrypt.so.1"이 누락되었습니다.

명령을 사용하여 레시피를 생성하려고 할 때 오류가 발생합니다 chef generate cookbook test-cookbook. 내가 받은 오류 메시지는 다음과 같습니다.

ERROR : exit status 127
/opt/chef-workstation/embedded/bin/ruby:  error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

이 오류는 이름이 누락된 공유 ​​라이브러리로 인해 발생한 것 같습니다 libcrypt.so.1.

이 문제를 해결하고 레시피를 성공적으로 생성하려면 어떻게 해야 합니까?

답변1

설치해야 한다고 알려줍니다 libcrypt.so.

의 기능을 사용 하고 설치되어 있지 않으므로 어떤 ldd $(type -p chef)기능이 나열되어 있는지 확인할 수 있습니다 chef.cheflibcrypt.sochef

libcrypt.soUbuntu에서는 다음을 사용하여 설치할(구입할) 패키지를 찾을 수 있습니다.

dpkg -S libcrypt.so

그러나 어떤 배포판을 사용하고 있는지는 알려주지 않았습니다.

답변2

나는 같은 문제가 있었고 설치하면 libxcrypt-compat문제가 해결되는 것 같았습니다.

sudo pacman -Syu libxcrypt-compat

답변3

이것이 내가 해결한 방법입니다.

명령을 실행하는 동안 이 오류가 발생하는 경우

# chef generate cookbook my_cookbook

종료 상태 127 /opt/chef-workstation/embedded/bin/ruby: 공유 라이브러리 로드 오류: libcrypt.so.1: 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

이는 귀하가 libcrypt.so.1누락되었을 수 있음을 의미합니다. 다음을 통해 Linux/AWS/Redhat에 모든 패키지를 설치할 수 있습니다.

sudo yum update
sudo yum install glibc

지금 도서관을 검색해 보세요

find / -name "libcrypt.so.1" 2>/dev/null

find 명령에 아무 것도 표시되지 않으면 "libcrypt.so.1"아직 누락되었습니다. 다음을 통해 수동으로 다운로드하고 설치하세요.

yum provides "*/libcrypt.so.1"
yum install "*/libcrypt.so.1"

이제 다시 검색하면 도서관으로 가는 경로가 표시됩니다.

find / -name "libcrypt.so.1" 2>/dev/null

이제 chef generate명령을 실행하면 거의 작동할 것입니다.

# chef generate cookbook my_cookbook

관련 정보