Какая команда оболочки может найти все пакеты, предоставляющие определенный полный виртуальный пакет?

Как следует из заголовка, я хочу получить список всех пакетов, которые предоставляют определенный виртуальный пакет. Один из способов сделать это - написать сценарий оболочки, который анализирует весь вывод

apt-cache search -f .*

и выводит все пакеты, которые имеют виртуальный пакет в разделе обеспечивает. Проблема этого подхода заключается в том, что для его выполнения требуется очень много времени. Я предполагаю, что должна быть простая команда, которая делает это эффективным способом, но которую я не смог найти.

2 ответа

Решение

Если у вас установлен aptitude, он предоставляет множество шаблонов, которые можно использовать для поиска.

В частности, в случае поиска пакетов, которые предоставляют заданное имя виртуального пакета, вы можете использовать это:

$ aptitude search '?provides(pattern)'

где pattern можно указать имя искомого виртуального пакета.

Например:

$ aptitude search -F %p '?provides(mail-reader)'
balsa                                                                           
bsd-mailx                                                                       
claws-mail                                                                      
cone                                                                            
emacs                                                                           
emacs23                                                                         
emacs23-lucid                                                                   
emacs23-nox                                                                     
evolution                                                                       
gnus                                                                            
im                                                                              
jed                                                                             
kmail                                                                           
kmail-mobile                                                                    
mailutils                                                                       
mailutils-mh                                                                    
mew                                                                             
mew-beta                                                                        
mew-beta-bin                                                                    
mew-bin                                                                         
mutt                                                                            
nmh                                                                             
opera                                                                           
opera-next                                                                      
seamonkey-mailnews                                                              
sylpheed                                                                        
thunderbird                                                                     
tkrat                                                                           
vm                                                                              
wl                                                                              
wl-beta                                                                         
xemacs21-mule                                                                   
xemacs21-mule-canna-wnn                                                         
xemacs21-nomule                                                                 
xjed                                                                            
xul-ext-lightning  

Видишь ли, если dpkg-query будет соответствовать вашим потребностям.

Другие вопросы по тегам