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

130

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.

    
por David Z 28.07.2010 / 22:00

7 respostas

111

Provavelmente, os gerenciadores de pacotes mais populares são apt-get, aptitude, synaptic e Software Center. Existem outros (o Linux Mint possui 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.

O

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

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

O

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 dessa 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, o apt-get, o aptitude, o synaptic e o Ubuntu Software Center são apenas front-ends para o dpkg ou o apt, que é o front-end do 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 inferior úteis.

    
por mac9416 28.07.2010 / 22:59
18

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

    
por lfaraone 28.07.2010 / 22:07
13

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

Adept é uma interface gráfica simples para apt-get , que permite editar as listas de origem, procurar pacotes por categoria ou por nome, ver seu status e instalá-los / desinstalá-los.

O KPackageKit é uma 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 que você procure programas por vários critérios, instale e desinstale programas, faça atualizações de rotina e edite as listas de fontes.

    
por David Z 23.08.2010 / 23:30
6

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 packagename

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.

    
por Nathan Osman 28.07.2010 / 22:04
5

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

dpkg : nem mesmo um gerenciador de pacotes apropriado, o 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.

    
por Sőrés Viktor 31.10.2010 / 12:54
1

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.

    
por Tshepang 18.01.2011 / 18:36
1

Uma diferença chave entre o aptitude e o apt-get que escapou ao aviso acima é que aptitude , ao contrário de apt-get , oferecerá opções diferentes caso haja um confronto de dependência. 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 tais situações.

    
por ShankarG 28.07.2012 / 12:59