Альтернатива equery.
AlexOmskiy 21 декабря, 2008 - 03:44
История вопроса: время от времени появляющиеся вопросы "какому пакету принадлежит файл".
Летом 2007 г. я и сам заинтересовался этим вопросом и сотворил скрипт на перле (почему то перл оказался мне тогда проще питона) и посоветовал его здесь. Тогда он ещё использовал equery. Сейчас он уже доведён до ума, но до состояния альфа-релиза ещё далеко.
Собственно ВОПРОС: есть ли утилиты, подобные equery, но принимающие на обработку не один файл/каталог, а несколько или рекурсивно (для каталогов)?
»
- Для комментирования войдите или зарегистрируйтесь
emerge -av app-portage/portage-utils
man qfile ;)
Что касается рекурсии по каталогам, то она тривиально реализуется скриптом без всяких костылей.
Спасибо. И точно, qfile
Спасибо.
И точно, qfile работает быстрее (даже в конвеере с find), наверно потому, что написан на си. Обращений к диску для каждого файла (в отличии от equery) что-то не заметно, наверное берёт из астрала... И вывод не отсортирован, но это мелочи.
В общем буду думать.
О потраченном времени на перл и регулярные выражения жалеть не буду - вещи всегда полезные.
Хотя странно, /usr/bin/automake хоть кому-то принадлежит (automake-wrapper), но попробуй удалить /usr/bin/python или /usr/bin/gcc - и пол-системы полетит, хотя оба - тоже мультислотовые пакеты.
PS. НЕ УДАЛЯЙТЕ найденные ФАЙЛЫ, если вы не уверены - многие из них критичны для работы системы.
=)))
Там есть ещё такая полезная утиль, как qlist --
в паре с qfile можно существенно сократить рекурсивный обход дерева ;)
А есть же утилита, которая
А есть же утилита, которая ищет файлы, которые не принадлежат ни одному пакету и чистит их, причем она содержит кучу правил исключений, поэтому чистит аккуратно. Но как она называлась я уже не помню.
findcruft
findcruft
Нынче время рекламы: прицелы =)))))).
а можно что-нить, что есть в
а можно что-нить, что есть в портажах ?
В смысле - в основной
В смысле - в основной ветке?
Настоятельно рекомендую почитать хэндбук на предмет использования дополнительных оверлеев.
:wq
--
Live free or die