外付けハードドライブにgitストレージがインストールされています/run/media/<myusername>/<drivename>
。コードをオンラインのgithubリポジトリにプッシュしようとすると、git push -u origin master
次のエラーが発生します。
/usr/bin/ssh: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
fatal: Could not read from remote repository.
/home/<username>
krb5-libsまたはgitで問題が発生したと思って、私のフォルダにある別のリポジトリにプッシュしようとしましたが、うまくいきました。
外付けハードドライブにストレージを配置するのに問題がありますか?以前のエラーをどのように修正できますか?
私はFedora 32カーネル5.6.18-300.fc32.x86_64を使用しています。
答え1
ここで見ている問題は、Kerberos 5ライブラリのバージョンが使用しているOpenSSLのバージョンと互換性がないことです。
ほとんどのディストリビューションでは、OpenSSH は Kerberos 5 サポートでコンパイルされます。あなたの場合、Kerberos暗号化用のライブラリはOpenSSLに関連付けられています。
Gitはそのコマンドを使用しないため、ホームディレクトリ内の他のリポジトリにプッシュしてもssh
問題は発生しません。を使用して別のシステムにログインしようとすると、ssh
同じ問題が発生します。ストレージを別のドライブに置くことは、本質的に間違っていません。
まず、再インストールしkrb5-libs
てopenssl
パッケージ化して機能することを確認する必要があります。 OpenSSLまたはKerberosのローカルコピーがインストールされている場合(/usr/local/lib
および参照/usr/local/lib64
)、そのコピーを削除して実行しますldconfig
。
ldd $(which ssh)
OpenSSHが使用しているライブラリの場所検索を実行し、Fedoraが提供していないライブラリを削除することも役に立ちます。
答え2
「正しく」構成されたシステムでも、システム環境の一時的な変更により、同様のエラーメッセージが発生する可能性があります。これらの断続的な動作はトラブルシューティングを混乱させる可能性がありますが、問題となる環境の変更を元に戻したり回避したりすると、問題が解決します。
例:
- SLURMシステムでは、
module load
一部のソフトウェアはgit環境を誤って設定してこのエラーを引き起こす可能性があります。モジュールのロード時にこのエラーが発生すると、module del <the_module>
問題は解決されます。 - OPの問題は、環境変数の変更によって発生します。元の環境設定を使用した「新しい」ターミナルセッションで問題が修正され、影響を受けた環境変数も復元されました。