it-swarm-pt.tech

Qual é a diferença entre os gerenciadores de pacotes?

Quais são as diferenças entre apt-get, aptitude e synaptic, e qual é a opção recomendada para o gerenciamento normal de pacotes do dia-a-dia?

Esta é uma questão básica, mas eu acho que seria uma boa informação para ter no site, e além disso eu sou relativamente novo no Ubuntu, então eu poderia usar uma explicação especializada.

129
David Z

Provavelmente, os gerenciadores de pacotes mais populares são apt-get, aptitude, synaptic e Software Center. Existem outros (o Linux Mint tem o seu próprio, e alguns são projetados para o KDE), mas esses são os que você encontrará com mais frequência.

apt-get é uma ferramenta simples de linha de comando. É útil se você souber o nome exato do pacote que deseja instalar e não quiser gastar tempo clicando em uma GUI para obtê-lo.

aptitude é muito parecido com o apt-get, e eu ouvi que ele lida melhor com situações loucas de dependência. Qual deles é realmente melhor é discutível.

synaptic é uma GUI de baixo nível. Essa é uma boa escolha se você for um usuário razoavelmente avançado, mas não se sentir confortável com os utilitários de linha de comando.

Centro de Software é uma GUI de alto nível e fácil de usar. O software é bem categorizado para que, se você não tiver certeza de qual aplicativo deseja, possa encontrar rapidamente o que precisa. O Centro de Software também se destaca por ser o único gerenciador de pacotes nessa lista que permite a compra de aplicativos comerciais.

dpkg é um padrão de gerenciador de pacotes de baixo nível e menos usado para a maioria dos sistemas baseados em Debian. Na realidade, apt-get, aptitude, synaptic e o Ubuntu Software Center são apenas front-ends para o dpkg ou o apt, que é em si um front-end para o dpkg.

Em resposta à sua pergunta, "qual é a escolha recomendada para o gerenciamento normal de pacotes do dia-a-dia", eu diria que o Centro de Software é recomendado para a maioria dos usos. Mas à medida que você ganha mais experiência, você encontrará alguns dos recursos dos gerenciadores de pacotes de nível mais baixo.

111
Michael Crenshaw

O Debian FAQ tem uma boa explicação dos diferentes gerenciadores de pacotes. (dpkg, apt-get, aptitude, tasksel, synaptic)

18
lfaraone

Como complemento a excelente resposta do mac9416 , o Kubuntu oferece as mesmas ferramentas de linha de comando do Ubuntu, a saber, dpkg, apt-get e aptitude. Existem também dois gerenciadores de pacotes gráficos:

Adept é uma GUI simples para apt-get, que permite editar as listas de fontes, procurar pacotes por categoria ou por nome, ver seus status e instalar/desinstalar eles.

O KPackageKit é um GUI simples para o PackageKit, que é um sistema de gerenciamento de pacotes mais novo e de distribuição cruzada que usa apt-get nos bastidores. Ele permite pesquisar programas por vários critérios, instalar e desinstalar programas, fazer atualizações de rotina e editar as listas de fontes.

13
David Z

Eu pessoalmente prefiro o apt-get porque é um programa de linha de comando. E a sintaxe para instalar pacotes é muito simples:

 Sudo apt-get install nome do pacote

Eu uso o apt-get no dia-a-dia para instalar e remover pacotes.

O Synaptic é baseado em GUI e o aptitude é baseado em texto.

6
Nathan Osman

Basicamente, eles diferem apenas em quão baixo eles são.

dpkg: nem mesmo um gerenciador de pacotes adequado, apt usa

apt-get: linha de comando, somente se você souber o nome do pacote

aptitude: baseado em texto, mas de fácil utilização

synaptic: equivalente do aptitude na GUI

Centro de Software: para usuários comuns

BTW, estes são todos os front-ends do apt (exceto dpkg), que é o único gerenciador de pacotes no Ubuntu.

5
Sőrés Viktor

Uma diferença chave entre o aptitude e o apt-get que escapou à observação acima é que aptitude, ao contrário de apt-get, oferecerá opções diferentes caso haja um conflito de dependências. apt-get simplesmente falhará. aptitude é muito mais flexível e versátil por esse motivo. Como nunca usei um gerenciador de pacotes GUI, não sei como o Synaptic e outros lidam com essas situações.

1
ShankarG

Uma outra ferramenta que dificilmente recebeu menção é tasksel. Ele é usado para selecionar tarefas específicas, marcá-las para instalação e instalá-las (possivelmente usando aptitude - não tenho certeza).

Execute tasksel --list-tasks para ver quais tarefas estão disponíveis.

1
Tshepang