Apt-getできません。libssl.so.10を削除しました。
wgetを含むほとんどのコマンドは、libssl.so.10の末尾に何かを与えます:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません
アクティブな接続を維持したまま、すべてのデータをバックアップできる信頼できる方法はありますか。
実際の.soファイルを本当に削除したのですか、それとも実際の.soファイルを指すソフトリンクのみを削除したので、ライブラリの作成者はシステム内のすべてのプログラムを再コンパイルしてライブラリを動的に更新できます。
ソフトリンクのみを削除した場合は、見つけましょう!
使用する
find /usr/lib | grep libssl
実際の.soファイルを見つけるには、それが見つかった場合は、次のコマンドでソフトリンクを再作成します。
ln /usr/lib/path/to/real/libssl /lib/libssl.so.10
たぶん、プログラム(現在:apt-get)は、プログラムにコンパイルされた指定されたパスの共有ライブラリに到達しようとし、次のコマンドでプログラムを見つけます。
which apt-get
(私の結果は:/ usr/bin/apt-get)
プログラムで、次のような「潜在的な」共有ライブラリの場所を見つけます。
strings /path/to/your/program
(私の結果は:
/lib64/ld-linux-x86-64.so.2
libapt-pkg.so.4.12
libutil.so.1
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
__libc_start_main
install - Install new packages (pkg is libc6 not libc6.deb)
)
ああ、静的に使用しています/lib64/ld-linux-x86-64.so.2
(私のaptのように見えます-libsslなしでコンパイルされます)
やってみよう!
最善の方法は、同じバージョンのopensslを実行している稼働中のコンピューターからlibssl.so.10
を見つけ(同じバージョンを実行している別のcentosマシンで十分です)、USBスティックを使用してファイルをコピーすることです。元の場所に戻します。
これを修正するには、ファイルを置き換える必要があります。言及されている1つの方法は、別のシステムからライブラリをコピーすることです。別の方法は、ライブラリを提供するパッケージを再インストールすることです。
apt-get
の使用について言及しているので、Ubuntuを使用していると想定します。最初のステップは、そのファイル用にインストールする必要があるパッケージを正確に確認することです。コマンドを実行すると `
dpkg -S libssl.so.10
私のUbuntu12.04.2システムから、これと同様の出力が得られます
libssl1.0.0: /lib/x86_64-linux-gnu/libssl.so.1.0.0
次に、dpkg -l | grep libssl1.0.0
を実行すると
ii libssl1.0.0 1.0.1-4ubuntu5.10 SSL shared libraries
これは、libssl1.0.0
バージョン1.0.1-4ubuntu5.10
を見つけてインストールする必要があることを示しています。パッケージは以下からダウンロードできます
http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/
そのリストを検索すると、選択した方法を使用してファイルlibssl1.0.0_1.0.1-4ubuntu5.10_AMD64.deb
をダウンロードする必要があることがわかります。
ファイルをダウンロードしたら、を発行してパッケージを再インストールできます。
dpkg -i libssl1.0.0_1.0.1-4ubuntu5.10_AMD64.deb
新しいlibsslのまったく新しい所有者になる運はどれですか。
私は過去にこれと同様の問題を抱えていました。最終的な解決策は、VirtualBoxをインストールせずにラップトップにサーバーOSをインストールすることでした。私はvirtualboxゲストからファイルをフェッチし、@ Falcon Momotで言及したようにUSBドライブを使用してサーバーに配置しました。私にとってこれから良いことが出てきました。実際のサーバーで実行する前に、virtualboxを使用していろいろと遊んでしまいました。