Ошибка при создании кулинарной книги: отсутствует общая библиотека “libcrypt.so.1”

Вопрос или проблема

Я столкнулся с ошибкой при попытке генерировать кулинарную книгу с помощью команды chef generate cookbook test-cookbook. Сообщение об ошибке, которое я получил, выглядит следующим образом:

ОШИБКА : статус выхода 127
/opt/chef-workstation/embedded/bin/ruby: ошибка при загрузке общих библиотек: libcrypt.so.1: невозможно открыть общий объектный файл: Нет такого файла или каталога

Ошибка, похоже, вызвана отсутствующей общей библиотекой под названием libcrypt.so.1.

Как я могу решить эту проблему и успешно сгенерировать кулинарную книгу?

Система сообщает вам, что необходимо установить libcrypt.so.

Вы можете проверить с помощью ldd $(type -p chef), который перечисляет общие библиотеки, необходимые chef. Поскольку chef использует функции в libcrypt.so, и у вас она не установлена, chef не может работать.

На Ubuntu, нужно найти пакет для установки (чтобы получить libcrypt.so) с помощью:

dpkg -S libcrypt.so

но вы не сообщили нам, какую дистрибуцию вы используете.

У меня была такая же проблема, установка libxcrypt-compat кажется, решила мою проблему.

sudo pacman -Syu libxcrypt-compat

Вот как я это решил.

Если вы столкнулись с этой ошибкой при выполнении команды

# 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

Ответ или решение

Ошибка при генерации поваренной книги: Отсутствующая общая библиотека "libcrypt.so.1"

При попытке сгенерировать поваренную книгу с помощью команды chef generate cookbook test-cookbook вы столкнулись с ошибкой, указывающей на отсутствие общей библиотеки libcrypt.so.1. Данная проблема часто возникает из-за неправильной конфигурации системы или отсутствия необходимых компонентов, необходимых для выполнения Chef Workstation.

Причина ошибки

Ошибка, которую вы наблюдаете, следующая:

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, требующуюся для корректной работы Chef Workstation и, в частности, Ruby, на котором он основан.

Решение проблемы

Чтобы исправить эту ошибку, необходимо установить недостающую библиотеку. Вот основные шаги для различных дистрибутивов Linux:

Для Ubuntu/Debian

  1. Откройте терминал и выполните команду для поиска пакета, который содержит библиотеку:
    dpkg -S libcrypt.so
  2. Установите необходимый пакет (обычно это libcrypt1 или libxcrypt). Вы можете сделать это с помощью команды:
    sudo apt update
    sudo apt install libcrypt1

Для CentOS/RHEL/Fedora

  1. Обновите систему и установите необходимые пакеты:
    sudo yum update
    sudo yum install glibc
  2. Проверьте наличие библиотеки:
    find / -name "libcrypt.so.1" 2>/dev/null
  3. Если результат пустой, попробуйте найти и установить библиотеку:
    yum provides "*/libcrypt.so.1"
    yum install "*/libcrypt.so.1"

Для Arch Linux

Если вы используете Arch Linux, установка пакета libxcrypt-compat может решить проблему:

sudo pacman -Syu libxcrypt-compat

Проверка после установки

После установки библиотеки, убедитесь, что она теперь доступна в вашей системе. Используйте команду ldd для проверки зависимостей:

ldd $(type -p chef)

Если библиотека отображается в списке, а команда chef generate cookbook your_cookbook_name теперь выполняется без ошибок, значит проблема решена.

Заключение

Ошибки, связанные с отсутствующими библиотеками, могут быть устранены установкой необходимых пакетов. Следуя приведенным выше инструкциям, вы сможете успешно сгенерировать поваренную книгу в Chef. Если проблема не разрешилась, рекомендуется проверить конфигурацию системы и сообщения об ошибках, чтобы выявить другие потенциальные проблемы.

Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...