opensslのインストール後に見つからないライブラリ(libcrypto.so.1.1、...)

opensslのインストール後に見つからないライブラリ(libcrypto.so.1.1、...)

opensshをインストールしようとすると、Arcolinux(5.12.14-arch1-1 x86_64)を使用できなくなりました。何時間もインターネットを検索していくつか試しましたが、成功しませんでした。

私は次のことをしました。

$sudo pacman -S openvpn

その後、VPNでoppensslが必要なのでインストールしました。

$sudo pacman -S openssl

その後、openvpnを起動しようとしましたが、「libcrypto.so.1.1が見つかりませんでした」というエラーが発生しました。

残念ながら、多くのアプリケーション(Sudoとpacmanを含む!)がこのライブラリに依存しているようで、もう起動できません。

インターネットを検索した後、ここからlibcryptoをダウンロードしてhttps://archlinux.org/packages/core/x86_64/openssl-1.1/ ファイルlibcrypto.so.1.1をコピーしました。/usr/lib/(sudoが動作していないのでshを使用しました。)

その後、再起動しようとするとpacmansudoのエラーが発生します。

sudo: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/libcrypto.so.1.1)

これでファイルのコピーなどを試してみることもできますが、問題をきちんと解決する正しい方法ではないようです。

opensslインストール前の状態に復元する方法(上記の写真)

opensshをインストールするときに何が間違っていますか?私は依存関係を考慮し、pacmanに依存する他のアプリケーションやライブラリがある場合、ライブラリを自動的に削除しないと仮定/依存しますか?

アドバイスや指示を提供していただきありがとうございます!

答え1

カーネルのバージョンに応じて(5.12.14-arch1-1 x86_64)約15ヶ月間、Archインストールを更新していないようです。

Archなどのローリングリリースディストリビューションに従うには、頻繁に更新する必要があることがよくあります。 Deployment Managerは、以前のインストールに最新のパッケージをインストールできることを保証することはできません。現在インストールされているパッケージと最新の状態の間の時間枠により、管理する必要がある依存関係ネットワークは指数関数的に複雑になります。流通の成長。

すべてのパッケージに依存関係情報がない場合いつも完璧です。更新間隔が長くなると、自動的に検出できない依存関係が発生するリスクも大きくなります。そしてあなたにはその危険が実現したようです。

少なくとも月に一度、週に一度でもインストールされているパッケージのすべてのアップデートをインストールする必要があります。

代わりに、1年半が経過したシステムopenvpnに最新のパッケージをインストールします。残念ながら、新しいバージョンは、システムの現在のバージョンよりも最新のバージョンに基づいて構築されているopensslようです。この問題を解決するには、システムの元のバージョンと現在の最新バージョンの間のバージョンが必要になることがあります。ただし、システムが古すぎるため、必要なバージョンがArchリポジトリで期限切れになっている可能性があります。それなら「ここでそこに行く方法はありません」です。ローリング版があなたから離れて、もう捕まえられない。opensslglibcopenssl

最も簡単な方法は、バックアップから復元し、まだ存在しないソフトウェアをインストールする前に最新の状態に完全にアップグレードすることです。ただし、システムが古すぎると思われるため、この方法も成功しない可能性があります。

可能可能「手動介入」(Arch Wikiで呼び出されているように)を介して現在の状況から回復しますが、最初から再インストールし、バックアップからデータを復元する方が簡単で迅速です。

バックアップがなければどうなりますか?その後、一部の外部メディアから起動し、このインストールのファイルシステムをマウントし、すべてのデータと構成ファイルをバックアップしてから再インストールすることをお勧めします。

関連情報