LoginSignup
3
2

More than 5 years have passed since last update.

Arch Linux で、 pacman -S openssl したら何もできなくなったがダウングレードで解決

Posted at

トラブル概要

nping を入れて、使おうとしたら libssl.so 1.0.1 が無いと言われたので、反射的に sudo pacman -S openssl した。
途中「バージョンアップするけど本当にいいの?」みたいなこと聞かれたが、即 y

無事に nping はできた。めでたしめでたし。となるはずが・・・

$ curl http://example.com
curl: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

$ git
git: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

$ sudo pacman -Syyu
sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy"
sudo: unable to load /usr/lib/sudo/sudoers.so: libssl.so.1.0.0: cannot open shared object file: No such file or directory
sudo: fatal error, unable to load plugins

詰んだ\(^o^)/

解決方法

Arch Linuxでは、アップグレードによって壊れる時の復旧が便利なよう、各パッケージのスナップショットを保存しておく機能がある。

pacman#パッケージキャッシュの削除 | ArchWiki

これは /var/cache/pacman/pkg/ に保存されているので、下記のコマンドを実行すればよい。

su -
cd /tmp
cp /var/cache/pacman/pkg/openssl-1.0.2.k-1-x86_64.pkg.tar.xz openssl.tar.xz
tar xJvf openssl.tar.xz
cp usr/lib/{libssl.so,libcrypto.so}.1.0.0 /usr/lib

sudo さえ使えなくなるので注意。

/usr/lib は環境によって変わる。 ldd $(which pacman) で確認。

参考

ArchLinux界隈ではよくあることらしい。というかやったことこれと全く同じだ

「私はArch Linuxインストール一週間で環境を破壊しました。」(直しました)

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2