Obter informações sobre pacotes do Ubuntu instalados

4

Qual é a melhor ferramenta que, para qualquer pacote, obtenha as seguintes informações, se possível:

  • Para que o pacote é usado?
  • Quando foi instalado?
  • Este pacote foi instalado manualmente ou foi requerido por outro pacote?
  • Existe algum pacote atualmente instalado que depende deste pacote, ou seja, algo será quebrado se for removido?
por mizipzor 01.08.2009 / 12:55

2 respostas

4

Esta é uma ótima pergunta. Você pensaria que haveria uma ferramenta boa e útil para lhe dizer essas coisas, mas eu não sei disso. Eu vou um por um e dou minhas melhores sugestões.

  1. What is the package used for?
  2. When was it installed?
  3. Was this package installed manually or was it required by another package?
  4. Are there any packages currently installed that depends on this package, i.e. will something break if it is removed?
  1. Na linha de comando, aptitude show package ou apt-cache show package fornecerá uma descrição do pacote, bem como muitos outros em formação. Synaptic permite que você procurar por um item de várias maneiras, e fornece uma descrição do pacote. (As descrições que você obtém de todos esses métodos são idêntico. Todos eles recebem seus informações do mesmo lugar em um .deb, eu acredito.)

  2. Uma coisa tão simples, mas diferente de cavando através de logs, eu não consigo pensar de como fazer isso. Synaptic não parecem manter esta informação como meta-dados. (Isso faria um grande bug lista de desejos.) Aqui está uma maneira de fazer isso:

    zgrep package /var/log/dpkg*
    

    Isso é um pouco complicado, e vai produzir muita saída, mas também deve te dar a data que você quer. (Você precisa de zgrep desde mais antigo registros serão arquivos gunzipped.) By the way, você precisa ser root mesmo para pesquisar logs de dpkg .

  3. Se você executar aptitude show package num pacote instalado, verifique o campo "Automaticamente instalado". Se diz sim, foi trazido em como uma dependência de algum outro pacote. (Para o registro, existem coisas que você pode fazer para mudar manualmente esta configuração. Isto é, você pode marcar um pacote para procurar manualmente instalado, mesmo que fosse realmente instalado como uma dependência. Mas na maior parte, os resultados aqui deve ser válido.) Você também pode filtrar pesquisas Synaptic para procurar coisas instaladas como dependências.

  4. Uma forma de força bruta para verificar isso:

    aptitude -s remove package
    

    O -s flag simula comandos. Você pode executar um comando como um usuário regular, e não há perigo de realmente prejudicar o seu sistema. isto permite que você veja facilmente o que o ação proposta faria. Uma Coisa ter em mente é que esse tipo de check irá mostrar-lhe gross quebra, mas não vai mostrar mais erros. O que quero dizer é que você pode ser capaz de remover o pacote Foo sem realmente quebrar seu sistema, mas pode limitar severamente utilidade da barra de pacotes. Em geral, pacotes são encadeados juntos através de recomendações para evitar apenas isso, mas vale a pena tendo em mente. Você também pode procurar por dependências e inverter dependências usando apt-cache , mas acho que a simulação é a maneira mais vívida de ver o que acontecerá.

Uma outra dica de pesquisa geral para o Aptitude. Na linha de comando, você pode usar essas pesquisas para ver rapidamente o que você instalou por opção versus o que foi instalado automaticamente como uma dependência de outra coisa:

aptitude search '~i !~M' # Find things not installed as something else's dependency
aptitude search '~i ~M'  # Find things installed as something else's dependency
    
por 01.08.2009 / 16:24
1

O Manual do Usuário Debian tem uma seção sobre APT que descreve os comandos para pesquisar / consultar e interrogar os pacotes atualmente instalados e repositórios .

Por exemplo, o comando abaixo mostrará informações detalhadas sobre um aplicativo instalado específico.

apt-cache showpkg package
    
por 01.08.2009 / 13:13