Иногда я устанавливаю программное обеспечение, которого нет в репозиториях, и тогда я сталкиваюсь с проблемой неудовлетворенных зависимостей. Ошибка обычно сообщает мне, какая библиотека или команда отсутствует. Затем я запускаю yum search
. Если есть имя пакета, совпадающее с именем нужной библиотеки/команды, это просто.
Проблема возникает, когда я не могу ничего найти в yum. Я начинаю искать в Интернете и часто нахожу ссылки на библиотеку. Но я не знаю, доверять ли этим сайтам, куда копировать библиотеку, если я ее скачаю, что она вообще должна делать и т. д. Часто предполагается, что она для другого дистрибутива или другой версии Fedora, и тогда я не знаю, будут ли они работать с моей. Я подозреваю, что эти библиотеки, вероятно, присутствуют в каком-то пакете, уже в репозитории, и я бы предпочел получить их оттуда, чем со случайных сайтов, найденных в Google.
Как узнать, к какому пакету относится библиотека, если у меня есть ее название? Например, сейчас мне нужна библиотека libpng12.so.0, как ее получить? А если это не библиотека, а команда, как найти пакет, который ее предоставляет?
решение1
Поскольку библиотеки «автоматически предоставляются» rpmbuild:
yum whatprovides libpng12.so.0
Если это не принесет результата, значит, ни один пакет в Fedora его не предоставляет, и вам придется обратиться к тому, кто разработал программное обеспечение.
решение2
Если вы хотите удовлетворить зависимости, то вы можете найти нужное вам приложение в менеджере Synaptic, а затем проверить его и установить. Или, если вы хотите сохранить производительность и сделать это в командной строке, то используйте:
sudo yum "пакет1" "зависимость1" "зависимость2" ...
Замените текст в кавычках именем пакета или зависимости.
решение3
Из всех моих поисков в Fedora... иногда я нахожу их здесь (см. ссылку ниже). Например, libpng15, который содержит libpng15.so.15
http://archive.fedoraproject.org/pub/fedora/linux/releases/20/Everything/i386/os/Packages/l/
Затем вы скачиваете и rpm -i