Страница 1 из 1

rpm -qf filename

Добавлено: 24 мар 2010, 12:25
stanstar
rpm -qf filename выводит имя пакета, к которому принадлежит файл. Но как быть в случае, когда необходимо опознать 1000 файлов в директроии?

Можно, конечно, делать rpm -qf для каждого файла, но это займет много времени? rpm -qf * выводит список пакетов для всех файлов, но без имен самих файлов:

---------------------------------------------
[tester@localhost init.d]$ rpm -qf *
acpid-1.0.8-4.fc11.i586
at-3.1.10-32.fc11.i586
audit-1.7.17-1.fc11.i586
avahi-0.6.25-3.fc11.i586
bluez-4.42-9.fc11.i586

итд.
----------------------------------------------


Можно ли как-нибудь получить вывод, подобный такому?
----------------------------------------------
acpid acpid-1.0.8-4.fc11.i586
atd at-3.1.10-32.fc11.i586
auditd audit-1.7.17-1.fc11.i586
bluetooth * no package found *
btseed bittorrent-4.4.0-12.fc11.noarch
cups * no package found *

итд.
------------------------------------------------

Спасибо!

Re: rpm -qf filename

Добавлено: 24 мар 2010, 17:29
Berserker

Код: Выделить всё

find DIR -exec rpm -qf {} \; | sort | uniq 

Re: rpm -qf filename

Добавлено: 25 мар 2010, 04:39
stanstar
Большое спасибо! Практически то, что нужно!

Re: rpm -qf filename

Добавлено: 25 мар 2010, 11:53
Nyshtyak
for i in `ls .` ; do echo "$i : `rpm -qf $i` " ; done

Те же яйца ,вид сбоку.
Berserker, зачем uniq?

Re: rpm -qf filename

Добавлено: 25 мар 2010, 14:14
Berserker
Nyshtyak, а ты попробуй и сравни :) Без sort|uniq тебе будет выдано 100 тыщ строк с именами пакетов, причем повторяющихся в разных последовательностях

Re: rpm -qf filename

Добавлено: 26 мар 2010, 12:19
Nyshtyak
Ага. Он еще и полный путь к файлу выводить будет.