Comandos úteis do apt (dpkg) [fechados]

9

Por favor, poste seus comandos apt menos conhecidos, mas úteis, que envolvem apt- *, dpkg ou aptitude.

Gödel
fonte
7
Isso não é realmente uma pergunta.
Martin Owens -doctormo-

Respostas:

7

Algum comando que eu costumo usar:

para ver dependências e dependências reversas:

apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package

Para remover um pacote, todos os pacotes de remoção automática e todos os arquivos de configuração relacionados:

sudo apt-get --purge --auto-remove purge $package

Para ver as aptopções de configuração reais :

apt-config dump | less

Para modificar uma opção na linha de comando

$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package

Este foi apenas um exemplo de especificação de opções do APT por meio da linha de comando, para evitar a instalação de pacotes recomendados, você pode usar:

sudo apt-get --no-install-recommends $package

Para ver todos os pacotes locais / obsoletos:

aptitude search ~o

Para ver os pacotes removidos com configuração residual:

aptitude search ~c

e removê-los

sudo aptitude purge ~c

Para obter uma lista de todos os pacotes instalados ( dpkg -làs vezes pode gerar saída de colunas truncadas)

dpkg --get-selections | awk '{ print $1 }'

ou

dpkg-query -Wf '${Package}\n'  # other fields available, see man page

Para desmontar, modifique e monte novamente um pacote

dpkg-deb -x file.deb ./dir
cd dir 
dpkg-deb -e ../file.deb
# apply your modification, then... 
cd ..
dpkg-deb -b dir file-new.deb
enzotib
fonte
4

Dois que eu uso muito são: -

apt-get autoremove <packagename>

O que removerá o pacote e todas as dependências não utilizadas, o que é útil se você experimentar um aplicativo, depois decidir que não precisa dele e desejar que o cruft seja removido também.

dpkg -S /path/to/file

O que me diz com qual pacote um arquivo foi instalado.

Finalmente, mais um ..

dpkg -l <packagename> | grep ^ii

Lista os pacotes, mas apenas os que possuem o status ii, o que significa que eles estão instalados; portanto, ele não mostra as coisas que eu removi.

Se você deseja obter o nome do pacote para um arquivo que não foi instalado ( dpkg -Smas para pacotes não instalados), instale apt-filee execute:

apt-file search /path/to/file
popey
fonte
Acho útil usar whichjunto com o dpkg -S. por exemplo: para executáveis ​​que vivem em pacotes com nomes diferentes, como:dpkg -S `which uname`
Benjamin Rubin
Ooh, sim, isso também é bom.
popey
3

Exibir o ChangeLog de um pacote

$ aptitude changelog <pkgname>

Exemplo:

$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low

  * SECURITY UPDATE: properly handle multiple PATH variables when using
    secure_path in env.c
    - Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
    - CVE-2010-1646
...
Gödel
fonte
2
A partir do Ubuntu 11.04 Natty, apt-get changelog sudotambém funciona.
Lekensteyn 9/09/11
3

Instale o apt-file e execute sudo apt-file update. Agora você pode procurar arquivos em pacotes que você nem instalou.

Também útil se você precisar saber informações sobre pacotes em outras versões do Ubuntu é o rmadison, que está no pacote devscripts. Forneça um nome de pacote como argumento e ele informará quais versões desse pacote existem em todas as versões atuais do Ubuntu e em qual seção do repositório o pacote está.

Exemplo:

[bnrubin@server:~/]$ rmadison cowsay
    cowsay |     3.03-8 | dapper/universe | source, all
    cowsay |     3.03-9 | hardy/universe | source, all
    cowsay |   3.03-9.2 | jaunty/universe | source, all
    cowsay |   3.03-9.2 | karmic/universe | source, all
    cowsay |   3.03-9.2 | lucid/universe | source, all
    cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
    cowsay | 3.03+dfsg1-2 | natty/universe | source, all
Benjamin Rubin
fonte
apt-fileagora é capaz de gerenciar o banco de dados de um usuário, para que você não precise ser root update.
enzotib 9/09/11
apt-file é bem legal obrigado por compartilhar.
Gödel
1

Para obter os comandos da lista, comece com 'apt-', faça o seguinte. abra um terminal e digite 'apt-' e pressione a tecla TAB duas vezes para listar todos os comandos iniciados com 'apt-'.

Saída de amostra:

apt-add-repository    apt-extracttemplates  apt-key
apt-cache             apt-file              apt-mark
apt-cdrom             apt-ftparchive        apt-sortpkgs
apt-config            apt-get 

Para obter informações detalhadas, você pode verificar a página de manual com um comando específico

por exemplo: man apt-get

aneeshep
fonte
1

Eu gosto de pensar em três tipos diferentes de pacotes:

  • Pacotes do sistema (pacotes essenciais ou pacotes de prioridade padrão ou superior)
  • Pacotes de usuário (pacotes manualmente instalados com prioridade opcional ou extra)
  • Dependências e recomendações (pacotes instalados automaticamente / tudo o que não é um sistema ou um pacote de usuário)

Para mostrar todos os "pacotes do sistema", você pode usar

aptitude search '(~pstandard|~pimportant|~prequired|~E)'

Eu gosto de ter todos eles instalados e marcados como instalados manualmente.

aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'

Para mostrar todos os "pacotes de usuários", use

aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'

Nesta lista, deve haver apenas pacotes que você sabe que deseja. Todos os outros pacotes provavelmente são apenas dependências ou recomendações de outros pacotes, você pode marcá-los como instalados automaticamente

aptitude markauto libsomething

Veja a Referência de termos de pesquisa do aptitude e o
que é um pacote Essencial, Requerido, Importante, Padrão, Opcional ou Extra? para obter informações básicas.

Dario Seidl
fonte
0
  • Atualize pacotes que seriam retidos porque removeriam outros pacotes ou porque é uma atualização do kernel:

    sudo apt-get dist-upgrade
    
  • Limpe um pacote e sua configuração.

    sudo apt-get purge package
    
  • Mostra os detalhes de um pacote como conhecido no banco de dados do pacote, incluindo seção, versão, dependências, mantenedor e descrição.

    apt-cache show package
    
  • Listar arquivos em um pacote instalado

    dpkg -L pkg
    
  • Atualize todos os pacotes

    sudo apt-get upgrade
    
PinoSan
fonte
-2
dpkg -i --force-architecture something.i386.deb

Para instalar algumas debs do i386 no amd64.

Extender
fonte