Expanda o item "Software Instalado" no Ubuntu Software Center. Você verá uma lista de todos os diferentes repositórios que você ativou. Clicar no repositório mostrará os pacotes que você instalou de cada um.
Como posso listar todos os pacotes que instalei de um repositório específico?
Como posso listar todos os pacotes instalados que não estão disponíveis nos arquivos principais do Ubuntu, e também ver de quais repositórios eles vieram? (Se eu soubesse a resposta a essa pergunta, eu poderia encontrar essa lista para um nome de PPA específico para descobrir a resposta à minha primeira pergunta.)
Expanda o item "Software Instalado" no Ubuntu Software Center. Você verá uma lista de todos os diferentes repositórios que você ativou. Clicar no repositório mostrará os pacotes que você instalou de cada um.
Parece não haver registro da origem de um pacote instalado .
Se você está bem com a obtenção do local de onde um pacote do mesmo nome seria baixado, isso está disponível através de %código%. O seguinte script (bastante feio) faz o truque para mim:
LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' \
| fgrep ':install ok installed' \
| cut -d: -f1 \
| (while read pkg; do
inst_version=$(apt-cache policy $pkg \
| fgrep Installed: \
| awk '{ print }');
origin=$(apt-cache policy "$pkg" \
| fgrep " *** ${inst_version}" -C1 \
| tail -n 1 \
| cut -c12-);
echo $pkg $origin;
done)
Note que é bastante frágil, pois faz suposições sobre a saída
de apt-cache policy
, que pode mudar entre as versões ...
Abra o Gerenciador de Pacotes Synaptic e clique no botão "Origem" na parte inferior da barra lateral esquerda. Ele irá listar suas fontes. Selecione uma fonte para ver os pacotes disponíveis / instalados.
Este script lista os pacotes que estão instalados e disponíveis no PPA:
#!/bin/sh
# Give PPA name as an argument, e.g. ppa:oibaf/graphics-drivers
name1="$(echo ""|cut -d: -f2|cut -d/ -f1)"
name2="$(echo ""|cut -d/ -f2)"
awk ' == "Package:" { if (a[]++ == 0) print ; }' \
/var/lib/apt/lists/*"$name1"*"$name2"*Packages |
xargs dpkg-query -W -f='${Status} ${Package}\n' 2>/dev/null | awk '/^[^ ]+ ok installed/{print }'
Eu apliquei este .
BTW Como para remover o PPA do uso, use o programa ppa-purge; Eu criei uma versão melhorada do aqui .
Em Quantal (12.10), o espaço na linha de origem precisa ser removido.
LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' \
| fgrep ':install ok installed' \
| cut -d: -f1 \
| (while read pkg; do
inst_version=$(apt-cache policy $pkg \
| fgrep Installed: \
| cut -d: -f2-);
origin=$(apt-cache policy "$pkg" \
| fgrep " ***${inst_version}" -C1 \
| tail -n 1 \
| cut -c12-);
echo $pkg $origin;
done)
Tags apt package-management