Я хотел удалить символическую ссылку на openssl, но случайно сделал rm openssl
в / usr / bin, а не в каталоге символической ссылки.
Как мне восстановить, чтобы openssl был активен очередной раз? Я попробовал sudo apt-get update и upgrade, но он не работает.
Сейчас я копирую openssl из каталога символических ссылок в / usr / bin
, но должен быть более простой способ сделать это.
Спасибо за помощь.
sudo apt-get update
и sudo apt-get upgrade
не работают, потому что apt не знает, что файл отсутствует, он знает только, что пакет установлен.
Вообще говоря, есть несколько вариантов восстановления файла:
sudo apt- get install --reinstall
Вполне возможно, что OpenSSL необходим для запуска apt, поэтому последний пункт может дать сбой, не могу проверить это прямо сейчас. Если это так, по-прежнему должна быть возможность загрузить файл OpenSSL .deb с зеркала (или, возможно, он у вас даже есть на локальном диске в кеше apt) и установить его с помощью dpkg -i <.deb -file>
.
Официальный пакет .deb для вашей версии Ubuntu, который исправляет ошибку heartbleed, доступен здесь:
https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa / + build / 5887002
Но обычно вы должны получить этот пакет с обычным обновлением. Если вы этого не сделаете, возможно, что зеркало, которое вы используете, устарело. Если вы используете локальное зеркало, измените его на одно из официальных (, как описано здесь ).
В вашем случае, когда openssl компилируется самостоятельно, я бы просто перекомпилировал и переустановил его.
В случае, если кто-нибудь столкнулся с этим на RHEL или CENTOS, и не имеет доступа к соответствующим репозиториям. В итоге мне пришлось найти, какой пакет я установил.
> rpm -qa | grep openssl
openssl-devel-1.0.1e-42.el7.9.x86_64
openssl-1.0.1e-42.el7.9.x86_64
Скачать правильный RPM из интернета, а затем использовать RPM для исправления
> rpm --replacefiles --replacepkgs openssl-1.0.1e-42.el7.9.x86_64
Я знаю, что это старое и не имеет прямого отношения к вопросу ОП. но при поиске этой проблемы это был первый ответ, который появился. Я надеюсь, что это сэкономит несколько минут для следующего парня, который наткнется на это.