Назад | Перейти на главную страницу

Есть ли способ контролировать конкретную библиотеку в Linux?

Я хотел бы установить phpmyadmin на производственный сервер, и apt сообщает, что удалит libgd2.

В этом случае я знаю, что libgd2 не используется, но я спросил себя, смогу ли я в другом случае проверить, используется ли библиотека (и я не знал, как это сделать).

Итак, есть ли способ проверить, когда, как и кем используется библиотека?

Спасибо.

Изменить: когда я говорю «используется», я имею в виду доступ или вызов. Там, где я работаю, некоторые люди используют библиотеки, которые поставляются с системой в своих собственных программах, иногда случается, что пользователь запрашивает установку библиотеки под своим собственным именем, тогда мне нужно установить что-то, что не соответствует этой библиотеке, и я не знаю, пользователь все еще использует его.

Управление пакетами - чистый способ сделать это, но подход «это гвоздь и у меня есть молоток» будет примерно таким:

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)