Isso é ambíguo. Você quer dizer: quais repositórios ativados no momento fornecem um pacote com o nome determinado ou: qual repositório foi usado para instalar o pacote com o nome que está atualmente instalado? (Ambos são úteis Eu estou olhando para o último, não o primeiro..)
Reinier pós
Respostas:
112
Comandos necessários:
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>.
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.listcontém a seguinte linha.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
mac, obrigado pela sua resposta detalhada! Infelizmente, isso não me ajuda com o problema inicial de um problema de dependência não atendida :-( Estou tentando instalar a libqt4-opengl e diz: Os seguintes pacotes têm dependências não atendidas: libqt4-opengl: Depends: libqtcore4 (= 4: 4.6.2-0ubuntu5.1) mas 4: 4.7.0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 deve ser instalado Depende: libqtgui4 (= 4: 4.6.2-0ubuntu5.1) mas 4: 4.7. 0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 deve ser instalado
dfme
É difícil ver com isso exatamente qual é o problema. Você deve abrir uma nova pergunta para poder fornecer detalhes completos. Se o fizer, deixe um link em um comentário. :-)
O apt-cache {showpkg, policy} realmente mostra de onde um pacote instalado foi instalado ou apenas de onde seria instalado no momento em que é consultado?
Croad Langshan
11
O último. Se eu geralmente uso trustyfontes de pacotes do Ubuntu , adiciono temporariamente utopicao meu sources.listpara instalar a versão 1.20ubuntu3 do init-system-helperse, em seguida, removo o repositório novamente do meu sources.list, apt-cache showpkg init-system-helpersapenas mentiremos sobre a lista de pacotes originais e apt-cache policy init-system-helpersdeclararemos o óbvio.
precisa saber é o seguinte
104
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:
Essa é a resposta correta! Os comandos na resposta por mac9416 precisam de interpretação tediosa + suposição com base em sua saída. Para obter mais informações sobre, apt-cache policyconsulte também superuser.com/a/236605/61370
pabouk
3
apt-cache policyé bom, mas algumas vezes você precisa apt-cache showpkgcomparar as somas MD5 do pacote. Veja tambémdebsums --changed
gavenkoa
esta policyopção é a mais útil ao comparar comsources.list
infinite-etcetera
Essa deve ser a resposta aceita! @pabouk está certo. Essa resposta é mais relevante para a pergunta do que a atualmente aceita.
HEXcube
Como @ pablo-bianchi apontou em sua resposta , um 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.
HEXcube # 23/17
9
apt no Ubuntu 16.04+
Ao lado apt-cache policy, showpkge showagora 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.
Comandos básicos de apt --help
Outros subcomandos também fáceis de lembrar:
apt list - listar pacotes com base nos nomes dos pacotes
apt search - procure nas descrições dos pacotes
apt show - mostrar detalhes do pacote
apt update - atualizar lista de pacotes disponíveis
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 pacotes
apt edit-sources - edite o arquivo de informações de origem
apt policy xxxparece idêntico apt-cache policy xxx, talvez esse devesse ter sido um comentário. Ou pelo menos mencione que apt showparece precisar da -aopção para ver "registros adicionais" de outras fontes
Xen2050
6
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.
Respostas:
Comandos necessários:
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 porapt-cache showpkg <package>
.Exemplo:
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
, emain
.E, com certeza, my
/etc/apt/sources.list
contém a seguinte linha.fonte
apt-cache policy <package name>
(from: superuser.com/a/236605/37279 )trusty
fontes de pacotes do Ubuntu , adiciono temporariamenteutopic
ao meusources.list
para instalar a versão 1.20ubuntu3 doinit-system-helpers
e, em seguida, removo o repositório novamente do meusources.list
,apt-cache showpkg init-system-helpers
apenas mentiremos sobre a lista de pacotes originais eapt-cache policy init-system-helpers
declararemos o óbvio.Use o seguinte comando. Tem melhor saída:
Para o Ubuntu 16.04 e posterior, há uma maneira mais curta de fazer isso:
fonte
apt-cache policy
consulte também superuser.com/a/236605/61370apt-cache policy
é bom, mas algumas vezes você precisaapt-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
eshow
agora temos subcomandos mais simples e fáceis de lembrar:apt
(não confunda com clássicoapt-*
):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
.Comandos básicos de
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 :apt upgrade
- atualize o sistema instalando / atualizando pacotesapt full-upgrade
- atualize o sistema removendo / instalando / atualizando pacotesapt edit-sources
- edite o arquivo de informações de origemfonte
apt policy xxx
parece idênticoapt-cache policy xxx
, talvez esse devesse ter sido um comentário. Ou pelo menos mencione queapt show
parece precisar da-a
opção para ver "registros adicionais" de outras fontesInfelizmente, 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:
Mesmo o sináptico não pode dizer se você desabilita o repositório e atualiza.
fonte
fonte
fonte
Isso é um pouco mais preciso:
A versão mais recente será normalmente instalada, a menos que você tenha definido o apt-pinning ou explicitamente instale uma versão específica.
fonte