Existe um método ou comando que pode dizer de qual repositório um pacote é proveniente?
Existe um método ou comando que pode dizer de qual repositório um pacote é proveniente?
Respostas:
dpkg -s <package>
- permite encontrar a versão que você instalou. ( fonte )apt-cache showpkg <package>
- mostrará uma lista de versões do pacote disponível. Para cada versão, a fonte do pacote, na forma de um nome de arquivo de índice, será fornecida.Se você deseja encontrar a fonte do pacote que está atualmente instalado, precisará da saída de dpkg -s <package>
. Caso contrário, você pode simplesmente olhar para a versão mais recente produzida por apt-cache showpkg <package>
.
$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Version: 1.6.2-1ubuntu6
...
$ apt-cache showpkg liferea
Package: liferea
Versions:
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
...
Desde o primeiro comando, posso ver que a versão 1.6.2-1ubuntu6 do Liferea está instalada. No segundo comando, posso ver que essa versão está listada /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
.
Sem muito esforço, posso deduzir que a linha de origem contém archive.ubuntu.com
, ubuntu
, lucid
, e main
.
E, com certeza, my /etc/apt/sources.list
contém a seguinte linha.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
apt-cache policy <package name>
(from: superuser.com/a/236605/37279 )
trusty
fontes de pacotes do Ubuntu , adiciono temporariamente utopic
ao meu sources.list
para instalar a versão 1.20ubuntu3 do init-system-helpers
e, em seguida, removo o repositório novamente do meu sources.list
, apt-cache showpkg init-system-helpers
apenas mentiremos sobre a lista de pacotes originais e apt-cache policy init-system-helpers
declararemos o óbvio.
Use o seguinte comando. Tem melhor saída:
apt-cache policy <Package Name>
Para o Ubuntu 16.04 e posterior, há uma maneira mais curta de fazer isso:
apt policy <Package Name>
apt-cache policy
consulte também superuser.com/a/236605/61370
apt-cache policy
é bom, mas algumas vezes você precisa apt-cache showpkg
comparar as somas MD5 do pacote. Veja tambémdebsums --changed
policy
opção é a mais útil ao comparar comsources.list
apt policy <package-name>
método ainda mais simples pode ser usado, a partir das 16.04LTS. Depois que o 14.04LTS se tornar EOL em 2018, essa resposta talvez seja editada para usar o comando mais recente.
apt
no Ubuntu 16.04+Ao lado apt-cache policy
, showpkg
e show
agora temos subcomandos mais simples e fáceis de lembrar: apt
(não confunda com clássico apt-*
):
apt policy <package>
Ou a alternativa com mais informações apt show <package>
, linha começando com "APT-Sources:" .
Descrição: Este pacote fornece ferramentas de linha de comando para pesquisar e gerenciar, além de consultar informações sobre pacotes como acesso de baixo nível a todos os recursos da biblioteca libapt-pkg. Estes incluem: apt-get
, apt-cache
, apt-cdrom
, apt-config
, apt-key
.
apt --help
Outros subcomandos também fáceis de lembrar:
apt list
- listar pacotes com base nos nomes dos pacotesapt search
- procure nas descrições dos pacotesapt show
- mostrar detalhes do pacoteapt update
- atualizar lista de pacotes disponíveisapt install
- instalar pacotesapt remove
- remover pacotesapt purge
- remova pacotes e arquivos de configuração :
A remoção de um pacote remove todos os dados empacotados, mas geralmente deixa para trás pequenos arquivos de configuração do usuário (modificados), caso a remoção tenha sido um acidente. Apenas emitir uma solicitação de instalação para o pacote removido acidentalmente restaurará sua função como antes nesse caso. Por outro lado, você pode se livrar dessas sobras chamando purge, mesmo em pacotes já removidos. Observe que isso não afeta nenhum dado ou configuração armazenada no seu diretório pessoal.
apt upgrade
- atualize o sistema instalando / atualizando pacotes
apt full-upgrade
- atualize o sistema removendo / instalando / atualizando pacotesapt edit-sources
- edite o arquivo de informações de origemapt policy xxx
parece idêntico apt-cache policy xxx
, talvez esse devesse ter sido um comentário. Ou pelo menos mencione que apt show
parece precisar da -a
opção para ver "registros adicionais" de outras fontes
Infelizmente, essas informações não são registradas durante a instalação do pacote. Você pode adivinhar se o repositório ainda está na lista de fontes e o repositório ainda possui o pacote:
grep -l PKG /var/lib/apt/lists/*
Mesmo o sináptico não pode dizer se você desabilita o repositório e atualiza.