Ok, descobri como fazer isso:
aptitude search "~i" -F "%s# %p"
O que, claro, pode ser facilmente encontrado para encontrar itens do repositório "universo":
aptitude search "~i" -F "%s# %p" | grep universe
Em um servidor Ubuntu 10.04 LTS, quero listar os pacotes instalados e ver de que repositório eles vêm.
É fácil listar os pacotes instalados, mas não inclui o nome do repositório (como "principal" ou "universo"). E essa informação não está em /var/lib/dpkg/status
, então dpkg-query
também não mostra.
Eu quero obter uma lista de softwares "não suportados", ou seja, software que não vem do repositório "principal" e para o qual o Ubuntu não garante atualizações de segurança.
Nota: este é um servidor. Não tem o X, o GNOME ou o KDE instalado.
Você pode fornecer um formato personalizado para a saída do comando dpkg (usando a opção -f). Tente algo assim, usando a variável de origem:
dpkg-query -f='${Package} ${Version}\t${Origin}\n' --get-selections
Há mais informações sobre o argumento de formatação nesta página: link
The default format string is "${Package}\t${Version}\n". Actu- ally, all other fields found in the status file (i.e. user defined fields) can be requested, too. They will be printed as- is, though, no conversion nor error checking is done on them. To get the name of the dpkg maintainer and the installed ver- sion, you could run:
dpkg-query -W -f='${Package} ${Version}\t${Maintainer}\n' dpkg
eu tentei pesquisa do aptitude ~ i -F "% s #% p"
no Ubuntu 12.04 e 14.04, mas ele não mostra repositórios.
Então eu escrevi este pequeno script:
# more origins.sh
#!/bin/bash
for i in $(dpkg -l |grep ^ii |awk -F' ' '{print $2}'); do
apt-cache showpkg "$i"|head -3|grep -v '^Versions'|cut -d'(' -f2|cut -d')' -f1|sed -e 's/^Package: //;' | paste -d '\t' - -
done
Então
bash origins.sh|grep universe
Esta não é exatamente uma resposta, mas pode ser usada para ajudar. Um colega me mostrou isso no outro dia. Você pode descobrir de onde um pacote é usando este comando:
apt-cache policy <package-name>
Por exemplo:
apt-cache policy xterm
xterm:
Installed: 271-1ubuntu2.1
Candidate: 271-1ubuntu2.1
Version table: *** 271-1ubuntu2.1 0
500 http://mirror.internode.on.net/pub/ubuntu/ubuntu/ precise-updates/main amd64 Packages
100 /var/lib/dpkg/status
271-1ubuntu2 0
500 http://mirror.internode.on.net/pub/ubuntu/ubuntu/ precise/main amd64 Packages