vagrantを使用するとopensslとrubyエラーが発生する

vagrantを使用するとopensslとrubyエラーが発生する

나는 사용한다CentOS 8.4, libvirtd (libvirt) 6.0.0, Vagrant 2.2.18, gem version 2.7.6.3 and ruby 2.5.9p229 (2021-04-05 revision 67939) [x86_64-linux]

vagrant를 사용하여 Qemu/KVM에서 VM을 구축하려고 합니다. 기술적으로 KVM은 잘 작동하며 VM을 수동으로 생성할 수 있습니다. 하지만 vagrant를 사용하여 가상머신을 생성할 수 없습니다. libvirt용 vagrant 및 vagrant 플러그인을 설치했습니다. 버전은 다음과 같습니다:vagrant-libvirt (0.5.3, global)

이 명령을 사용하여 vagrant를 시작하려고 하면 vagrant up --provider=libvirt오류가 발생합니다.

/usr/lib64/libk5crypto.so.3: 정의되지 않은 기호: EVP_KDF_ctrl, 버전 OPENSSL_1_1_1b - /home/user/.vagrant.d/gems/2.7.4/gems/ruby-libvirt-0.7.1/lib/_libvirt. (로딩 오류)

OpenSSL 버전을 다음과 같이 사용하고 있습니다. 1.1.1g FIPS 21 Apr 2020

이 문제를 어떻게 해결하나요?

答え1

해결책은 없지만 댓글에 적합하지 않은 추가 세부 사항은 여기에 공유하겠습니다.

  • vabrant-libvirt는 커뮤니티에서 유지관리하는 플러그인입니다(그들은 한동안 유지관리자에게 요청해 왔습니다.https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1069, 아마도 오랫동안 제대로 수정되지 않은 이유일 것입니다). Hashicorp에서 유지 관리하지 않기 때문에 일반적으로 Vagrant만큼 잘 지원되지 않습니다.
  • RHEL8 亜種は現在約 1 年間に損傷/欠陥があるため、しっかりした開発技術がなければオプションは次のとおりです。
    1. ここですべてのヒントを試してください。https://github.com/vagrant-libvirt/vagrant-libvirt#possible-problems-with-plugin-installation-on-linux
    2. バグレポートを読んでください(通常は間違ったリポジトリに公開されているため、回避策なしで終了したことがよくあります)。https://github.com/hashicorp/vagrant/issues) バグ報告の提出https://github.com/vagrant-libvirt/vagrant-libvirt/issues
    3. ディストリビューションの切り替えを検討してください。 (Centos 7は2024年6月/追加2.4年まで中断されません。中止されると、この問題はおそらくCentos 8で解決されます。常にDebian、SUSEなどに切り替えるオプションがあります。)

以下を使用して同じ問題が発生しました。

  • AlmaLinux 8.5(これはRHEL 8.5の「バグ互換バグ」広告主張と一致しているようです)
  • ワンダラー 2.2.19
  • 私はあなたのエラーを確認するために走らなければなりませんでしたが、CONFIGURE_ARGS="..." vagrant plugin install vagrant-libvirt結局同じ場所に閉じ込められました。

このソースに応じて、opensslがバンドルされている方法に関連する未解決のバグがあるようです。https://bugzilla.redhat.com/show_bug.cgi?id=1925782

これは通常、他の人が自分のopensslコピーを含み、システムと同じ記号がない場合に発生します。この場合、vagrantパッケージのコピーは独自のopenssl(!)のように見えます。

$rpm -ql ./vagrant_2.2.14_x86_64.rpm | grep crypto.so /opt/vagrant/embedded/lib64/libcrypto.so /opt/vagrant/embedded/lib64/libcrypto.so.1.1 $

これは外部パッケージです。私たちはこれを提供しません。私たちはopensslシステム(非常に良いと思います)を提供し、パッケージはそれ自体の内容を含めるのではなくそれを使用する必要があります。特に、他のシステム機能(krb5など)を呼び出すときは、独自のライブラリでシステムライブラリをオーバーライドする必要はありません。

チケットが何枚も出たせいでしばらく続いてきた未解決の問題のようです。 https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1088#issuecomment-686513145

関連情報