명령을 사용하여 레시피를 생성하려고 할 때 오류가 발생합니다 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
.chef
libcrypt.so
chef
libcrypt.so
Ubuntu에서는 다음을 사용하여 설치할(구입할) 패키지를 찾을 수 있습니다.
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