Есть ли способ контролировать конкретную библиотеку в Linux?
Я хотел бы установить phpmyadmin на рабочий сервер, и apt говорит, что он удалит libgd2.
В этом случае я знаю, что libgd2 не используется, но я спросил себя, смогу ли я в другом случае проверить, используется ли библиотека (и я не знал, как это сделать).
Итак, есть ли способ проверить, когда, или как, или кем используется библиотека?
Благодарю.
Редактировать: когда я говорю "используется", я имею в виду доступ или вызов. Когда я работаю, некоторые люди используют библиотеки, которые поставляются с системой в своих собственных программах, иногда случается так, что пользователь просит установить библиотеку под собственным именем, тогда мне нужно установить что-то, что не согласуется с этой библиотекой, и я не знаю, пользователь все еще использует это.
2 ответа
Управление пакетами - это чистый способ сделать это, но подход "это гвоздь и у меня есть молоток" будет выглядеть примерно так:
find / -mode 755 -type f -exec ldd {} \; | grep libgd
Я уверен, что есть лучшая альтернатива "-mode 755", чтобы найти что-нибудь 755/775/700/ и т. Д., Но я не знаю, это случайно. Но это, безусловно, сработает!
Ответ зависит от распределения. Ваша формулировка предполагает, что вы используете Debian или Ubuntu. Там ответ:
$ aptitude why libgd2-noxpm
i trac-mastertickets Recommends trac-graphviz
i A trac-graphviz Depends python-pygraphviz
i A python-pygraphviz Depends graphviz (>= 2.16)
i A graphviz Depends libgd2-noxpm (>= 2.0.36~rc1~dfsg) | libgd2-xpm
(>= 2.0.36~rc1~dfsg)