Qual a diferença entre gerenciadores de pacotes?


129

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

Essa é uma pergunta básica, mas acho que seria uma boa informação ter no site e, além disso, sou relativamente nova no Ubuntu, para poder usar uma explicação especializada.


1
Também vi pessoas recomendando tarefas. Talvez alguém possa explicar para que serve este também?
silvo 28/07/10

2
taskselé para selecionar tarefas específicas, não para instalar o J. Random Package.
Lfaraone 28/07/10

Uma [excelente comparação] [1] apt-gete aptitude, com uma menção especial ao meu front-end favorito wajig,. [1]: unix.stackexchange.com/questions/767/…
tshepang

Para uma comparação mais detalhada apt-gete aptitudever outra pergunta neste site - O aptitude é realmente melhor do que o apt-get?
8128

Respostas:


111

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

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

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

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

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

O 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 apt, que é em si um front-end para o dpkg.

Em resposta à sua pergunta, "qual é a opção recomendada para o gerenciamento diário normal de pacotes", eu diria que o Software Center é recomendado para a maioria dos usos. Mas, à medida que você ganha mais experiência, encontrará alguns dos recursos dos gerenciadores de pacotes de nível inferior úteis.


Eu tenho que me perguntar qual é o sentido da Synaptic neste momento. As pessoas que desejam bibliotecas usam a linha de comando e as pessoas que desejam programas usam o Software Center?
mlissner

Para ser sincero, raramente uso mais o Synaptic e, no momento, não consigo pensar em nenhum motivo específico para usar o Synaptic em uma das outras ferramentas (embora o faça de vez em quando). Boa pergunta.
Michael Crenshaw

10
aptitude vs apt-get não é discutível, aptitude é uma melhoria em relação ao apt-get e perfeitamente compatível com ele.
Mircea Chirea

1
Não tenho conhecimento para debater, mas já vi outros debaterem. Portanto, até onde sei, é discutível. Quanto à compatibilidade, ouvi dizer que é melhor não usar os dois. Mas, novamente, eu não sei. Vou deixar isso para outra pergunta. :-)
Michael Crenshaw

3
O aptitude permite recursos avançados de gerenciamento de pacotes, como retenção de pacotes, dos quais o apt-get não possui.
scottl

18

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


1
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada. - Do comentário
Pilot6

1
Sete anos depois?
Lfaraone 27/07

13

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

Adept é uma GUI simples apt-get, que permite editar as listas de fontes, 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 mais novo de gerenciamento de pacotes com distribuição cruzada que usa apt-getnos bastidores. Permite procurar programas por vários critérios, instalar e desinstalar programas, fazer atualizações de rotina e editar as listas de fontes.


KPackageKitagora é substituído por Apper.
David, seu amigo

6

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 diariamente para instalar e remover pacotes.

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


aptitudetambém pode ser usado de forma interativa e, por um longo tempo, possuía recursos que a maioria dos outros clientes libapt não possuía. sudo aptitude installfunciona tão bem quanto sudo apt-get install. sudo apitude searchfunciona tão bem quanto sudo apt-cache search. A aptidão é, no entanto, prevista para remoção no futuro.
Broam 29/07/10

@Broam, você pode fornecer uma fonte para a alegação de que o Aptitude está programado para remoção? Pesquisando por aí, não consegui encontrar nada sobre isso.
Itsadok

Está programado para remoção na instalação padrão, como o GIMP.
Broam 5/08/10


5

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

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

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

aptitude : baseado em texto, mas fácil de usar

sináptico : equivalente à aptidão na GUI

Software Center : para usuários comuns

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


1

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

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


Isso foi mencionado nos comentários sobre a questão.
David Z

1
@ David Eu vi essa menção, mas os comentários são cidadãos de segunda classe.
tshepang

1

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.