LINUX.ORG.RU

как узнать что искать ???


0

0

Есть вопросик. Вот например при установке очередной софтины, попросили libpng.so.2. А как узнать в какой пакет она входит может она у меня на одной из болванок валяется. Ну в принципе канешна можно через rpmfind.net посмотреть что найдёт а потом поискать такой пакет у себя, но а допустим нет Инета, как быть.

anonymous

Собираешь информацию (пример для rpm):
find везде -type f -name '*.rpm' | while read f ; do rpm -qlp $f >~/pkginfo-нфпример/${f##*/} ; done
Затем
grep нужный-файл ~/pkginfo-нфпример/*

Не работает, если искомый файл создается в результате выполнения pre|post установочных скриптов(libpng.so.2 почти наверняка - искать лучше libpng.so).

DonkeyHot ★★★★★
()

Извините а можно поподробнее. вот ставлю например opera-6.11-20021129.1-static-qt.i386.rpm что надо писать если требует например всё тот же libpng.so Просто я не могу понять find везде.... в смысле везде что надо в консоле написать -type f -name '*.rpm' | while read f ; do rpm -qlp $f >~/pkginfo-нфпример/${f##*/} ; а что вместо например писать ? done Затем grep нужный-файл ~/pkginfo-нфпример/* И ето всё в одну строчку или после ; выполнять.

anonymous
()

Предлагаю способ легче.
libpng - идешь в свой дистрибутив и ищешь libpng-xxx.ix86.rpm
или libpng2-//- и libpng10-//-
Это довольно известная библиотека.
Пакет, если это mandrake, обычно так и назвается libназвание.xxx.i386.rpm и
часто у него еще есть два пакета название.ххх.i386.rpm и название-devel.xxx.i386.rpm
(ну или i585 - это уже пофиг как).
В redhat и т.п. обычно название.xxx.i386.rpm и та же байда с devel (как
написано вверху).

Исключение составляют куски Х'ов и прочих глобальных проектов типа
кде или гнома (хотя в последнем можно понять что нужно, если
требуется какой-нить gnome-xft, дык такой rpm и ставим).

Теперь случай два: чудесная библиотека либа.so.2 (любая цифра в конце)
есть, а либа.so нет. Тогда мы берем и делаем симлинк с названием либа.so
на нашу либа.so.2 По желанию производим ldconfig (хуже не будет).

Ну а если хз что искать, то делаем как посоветовал боец с мельницами.

jackill ★★★★★
()

find везде.... означает, что нужно один раз выполнить эту команду - получится "репозиторий" информации о пакетах - это будут файлики с именем пакена и со списком файлов пакета внутри. И пусть себе лежит на будущее.
А когда понадобилось - ищем в этих файликах имена, похожие на нужные нам.

Похожий вариант - воспользоваться(например) yum-ом. Он это сам делает и потом пользоваться умеет.

DonkeyHot ★★★★★
()

а если пользоваться дебианом или альтом то все гораздо проще :)

apt-cache search libng.so.2

да и вообще не возникло бы необходимости вручную искать эту библиотеку, апт сам бы ее нашел и предложил установить этот пакет.

anonymous
()

[vilfred@mobile100 vilfred]$ grep libpng.so.2 `locate libpng.so.2`
Бинарный файл /usr/lib/libpng.so.2 совпадает
Бинарный файл /usr/lib/libpng.so.2.1.0.12 совпадает
[vilfred@mobile100 vilfred]$

vilfred ☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.