DNF. Como encontrar qual pacote de grupo pertence?

6

Estou usando o fedora 22 e dnf-1.1.2-4.fc22.noarch

Como cenário de caso de uso: descobri que o pacote strace não está instalado. Eu quero descobrir se este pacote pertence a qualquer outro grupo, para instalar software que eu provavelmente precisarei também para tarefas similares.

Eu encontrei esta forma de força bruta (grepping para 3 espaços, porque os nomes de grupos bacause começam com este travessão):

dnf grouplist | grep '   ' | while read line; do dnf groupinfo "$line"; done

Em seguida, redirecione essa saída para um arquivo, procure um nome de pacote e encontre um nome de grupo.

    
por Alex Bozhenko 18.10.2015 / 08:20

2 respostas

3

Aqui está um exemplo de algo que parece funcionar no meu fedora 21, mas o dnf ainda está mudando, então tente e veja:

$ pkg=fvwm
$ dnf groupinfo '*' | sed -n '/Group:/h;/'"$pkg"'/{x;p;x;p}'
Group: Window Managers
   fvwm

O sed contém (h) cada título de grupo e, em seguida, quando o pacote corresponde trocas de espera e padrão (x), imprime o título (p), troca de volta e imprime o pacote.

    
por 18.10.2015 / 16:26
1

Outra maneira de usar awk :

Pacote strace

pkg="strace"; dnf groupinfo '*' | awk -F": " '/^Group/ {group=$2} /'"$pkg"'/ {print group}'  

A saída mostra:

Security Lab
C Development Tools and Libraries

Pacote fvwm

pkg="fvwm"; dnf groupinfo '*' | awk -F": " '/^Group/ {group=$2} /'"$pkg"'/ {print group}'  

A saída mostra:

Window Managers
    
por 14.11.2015 / 19:48

Tags