Devo instalar programas a partir de um tarball de origem (`.tar.gz`), do Ubuntu Software Center ou de outro lugar?


29

Existem várias maneiras de instalar um aplicativo no Ubuntu:

  • Você pode baixar um tarball de origem (geralmente um .tar.gzou um .tar.bz2arquivo) e instalá-lo manualmente. (Consulte Como instalo um arquivo .tar.gz (ou .tar.bz2)? )

  • Você pode baixar um .debarquivo e instalá-lo manualmente, usando dpkgou o Software Center.

  • Você pode procurar o aplicativo no Ubuntu Software Center e instalá-lo lá, ou usar aptcom os repositórios oficiais do Ubuntu.

  • Você pode encontrar um PPA ou um repositório de terceiros e instalá-lo a partir daí.

Quais são os prós e os contras de cada método? Discuta as implicações de segurança, a frequência das atualizações e a confiabilidade do programa de cada método em sua resposta.


1
isso é muitas perguntas em uma. Pode ser um pouco melhor fazer uma pergunta mais focada. O padrão é usar o Ubuntu Software Center. Uma boa comparação / contraste seria entre as bolas de alcatrão (.tar.gz) e o ecossistema apt-get + .deb (incluindo linha de comando e o Ubuntu Software Center).
Warren P

Se for feita como quatro perguntas separadas, a resposta será / deve ser a mesma para todas as quatro: prefira instalar / atualizar usando um gerenciador de pacotes de repositórios (principais ou de terceiros). Se isso não for uma opção, você poderá começar a entender os prós e contras gerais disso - mas nesse momento provavelmente se resume a qual aplicativo está sendo usado e o que você deseja especificamente fazer com ele. (Por exemplo, eu instalo o "java" padrão fornecido a partir do repositório público, mas como desenvolvedor também instalo 5 versões diferentes em / opt / java via tar.gz's).
22612 Michael

Respostas:


33
  • Confiabilidade:
    • Ao instalar a partir de um tarball, o software pode tentar sobrescrever outro software. São necessárias dependências de compilação e o processo tem uma alta taxa de falhas. Se você estiver instalando o software do qual os pacotes nos repositórios dependem, isso não satisfará essa dependência, pois não está registrado dpkg, a menos que você use checkinstallpara convertê-lo temporariamente em um pacote debian. Com isso, você corre o risco de quebrar dpkg. Mesmo se o código for de código aberto, a menos que você tenha certeza de que não foi alterado, você ainda deve baixá-lo de um site confiável. Você pode instalar várias versões do software, desde que ele use diretórios diferentes. Você pode substituir isso no makefile.
    • O uso de um pacote debian garantirá que os arquivos não sobrescrevam os de outros programas; no entanto, se estiver usando sudo dpkg -i file.deb, as dependências devem ser instaladas primeiro. Quando instalado dessa maneira, você não receberá atualizações, a menos que o pacote também esteja nos repositórios, mas este pacote satisfará as dependências que exigem este software. Também provavelmente fornecerá a este pacote uma entrada de menu ou pelo menos registrará páginas de manual. Os pacotes Debian geralmente são testados com o Lintian, o que garante que os pacotes atendam ou excedam um conjunto de padrões que podem ser bastante rigorosos, chegando ao ponto de certos arquivos possuírem código executável ou não. Várias versões do mesmo pacote não podem ser instaladas. Um pacote mal fabricado pode falhar na instalação, falha na remoção ou até quebrar o DPKG, levando a reparos difíceis, pesquisas frenéticas por backups ou até uma reinstalação, se o problema for sério.
    • Usar apté a melhor opção quando possível. As dependências serão buscadas e instaladas automaticamente, e os pacotes são construídos usando configurações confiáveis ​​do servidor de construção na barra de ativação, minimizando falhas. Os pacotes podem ser pesquisados ​​por meio de aptitudeoutras ferramentas, e as atualizações serão facilmente facilitadas por meio do gerenciador de atualizações. Como as dependências também vêm apt, é mais provável que o pacote interaja com as dependências corretamente. Os pacotes são testados via Lintian como nas debs, mas o teste, combinado com servidores de compilação altamente estáveis, torna os pacotes ainda mais estáveis. Como os pacotes passam pelos servidores de compilação do Ubuntu, provavelmente eles serão aprimorados para integrar-se ao restante do sistema operacional. Várias versões do mesmo pacote não podemser instalado. Como os servidores de compilação do Ubuntu são usados ​​para PPAs, há menos alterações que você interromperá aptdevido à linearização automática.
  • Atualizando:
    • Com um tarball, você não receberá atualizações, a menos que o programa tenha sua própria verificação. Com isso, você precisará instalar essas atualizações manualmente e elas não serão consolidadas em um único local. Você provavelmente poderá obter código-fonte noturno ou atual em um tarball para compilar e instalar. Se você precisar de código de ponta, isso pode ser útil.
    • Com o debian, os pacotes serão atualizados apenas se você tiver o repositório para eles. Os desenvolvedores provavelmente farão os pacotes debian um pouco atrás da fonte de ponta, mas os betas geralmente são encontrados com o debs online.
    • Com apt, os pacotes serão atualizados com muita facilidade. As atualizações são consolidadas em um único local, o gerenciador de atualizações, e são feitas de forma automática ou semi-automática. A menos que você esteja em uma versão alfa ou beta do Ubuntu, estará usando versões bem testadas, mesmo se houver uma ou duas versões da fonte upstream atual. As atualizações de segurança serão enviadas assim que forem levemente testadas para garantir que não piorem a situação. Isso significa que sua segurança será protegida com atualizações oportunas, mas essas atualizações serão verificadas para evitar a perda de dados.
  • Segurança:
    • Tarballs não são assinados digitalmente de forma alguma. Eles podem ser mutilados ou modificados por terceiros maliciosos. Mesmo se você fizer um hashsum (Evite o MD5), ainda deve confiar no proprietário do site e no autor do pacote, pois eles fornecem somas SHA ou MD5.
    • Os pacotes Debian não são assinados, no entanto dpkg, não permitirá que um pacote debian substitua os arquivos de outros, portanto, uma deb maliciosa não pode destruir initou mexer bashsobrescrevendo-a. Você deve sempre confiar no site e no autor do pacote.
    • aptusa chaves assinadas para repositórios, para que não possam ser mutiladas sem que uma bandeira vermelha apareça. Os uploads de PPA são assinados digitalmente para que os não proprietários do PPA não possam colocar pacotes quebrados ou inseguros. A não substituição de arquivos de outro pacote também é aplicada. Obviamente, você deve confiar no PPA ou no proprietário do repositório, pois os pacotes não verificados com código malicioso serão executados após a execução.

1
Eu sugiro que você adicione Integração. O Ubuntu e os gerenciadores de pacotes Debian upstream garantem que os pacotes participem de recursos em todo o sistema, como o sistema alternativo (eu tenho programas X que podem abrir uma página da web, qual deles eu quero que seja o padrão) e assim por diante. Uma instalação manual do tarball geralmente não funciona dessa maneira.
Warren P

@ WarrenP De fato, acrescentei isso, mas pode não estar claro. Obrigado!
ζ--

Era "Se você estiver instalando o software do qual os pacotes nos repositórios dependem, isso não satisfará essa dependência, pois não está registrado no dpkg ." no primeiro ponto destinado a cobrir a integração ?

1
@ vasa1 Trata-se de tarballs, já que o Apt e o dpkg irão checar seus bancos de dados, não o sistema de arquivos, para determinar se um pacote está instalado. Você sempre pode usar checkinstallpara contornar isso.
ζ--

19

A resposta curta é que a instalação a partir do Ubuntu Software Center é geralmente preferível a todos os outros métodos . No entanto, há momentos em que você pode querer instalar um programa de outro lugar.


Instalando a partir da fonte:

  • Implicações de segurança : você precisa confiar nos autores do software e no site que hospeda o download. Você também deve verificar se o download é realizado por HTTPS; caso contrário, terceiros poderão modificar o download.

  • Frequência das atualizações : você sempre terá as melhores e mais recentes! As atualizações serão tão frequentes quanto os autores originais escolherem. No entanto, você precisará verificar as atualizações manualmente.

  • Confiabilidade : Pode não ser tão confiável quanto outros métodos, porque o software passou por menos testes e nem sequer foi testado para o Ubuntu, apenas outras distribuições Linux.

  • Facilidade de instalação e desinstalação : Mais difícil de todas as opções. Até usuários experientes podem evitar essa opção, porque preferem usar pacotes Debian nativos, que são muito mais fáceis de gerenciar.

Instalando a partir de um .debpacote:

  • Implicações de segurança : O mesmo que instalar a partir da fonte.

  • Frequência das atualizações : o mesmo que instalar a partir da fonte.

  • Confiabilidade : um pouco melhor do que instalar a partir da fonte. Se os autores forneceram um .debpacote, isso implica que eles provavelmente fizeram alguns testes mínimos no Debian ou Ubuntu.

  • Facilidade de instalação e desinstalação : Muito fácil. Basta clicar duas vezes e clicar em "instalar"! Da mesma forma fácil para desinstalação.

Instalando a partir do Ubuntu Software Center:

  • Implicações de segurança : Você precisa confiar nos autores do software e nos mantenedores de repositórios do Ubuntu. No geral, isso é uma segurança melhor do que instalar diretamente do código-fonte, porque o programa foi revisado em certa medida pelos mantenedores do Debian e / ou Ubuntu. Os mantenedores do Debian e / ou Ubuntu podem corrigir o programa para corrigir falhas de segurança também, se o programa for de código aberto.

  • Frequência de atualizações : Os mantenedores do Debian e / ou Ubuntu selecionam apenas algumas versões do software. (Por exemplo, eles podem escolher apenas atualizações estáveis). Há um atraso entre o lançamento de um programa e sua inclusão nos repositórios Debian e / ou Ubuntu. Se você deseja o melhor e o mais recente, essa não é a melhor opção. Se você deseja atualizações estáveis ​​que foram revisadas, esta é uma boa opção. As atualizações são propostas automaticamente através do gerenciador de atualizações e apt-get.

  • Confiabilidade : Muito melhor do que instalar a partir do código-fonte, pois o programa foi revisado e ajustado para o Ubuntu.

  • Facilidade de instalação e desinstalação : muito, muito fácil.

Instalando a partir de um PPA ou de um repositório de terceiros:

  • Implicações de segurança : você precisa confiar nos autores do software e em quem mantém o PPA. Absolutamente qualquer pessoa pode hospedar um PPA, portanto, não confie no PPA apenas porque está no Launchpad. O usuário poderia ter sido preguiçoso e não ter revisado o software.

  • Frequência de atualizações : Depende do PPA. Verificar atualizações é fácil.

  • Confiabilidade : Freqüentemente menos confiável do que a instalação a partir do Ubuntu Software Center. Os PPAs existem para programas que ainda não atendem aos padrões do Ubuntu Software Center, portanto, eles são praticamente garantidos como menos confiáveis.

  • Facilidade de instalação e desinstalação : não é difícil de aprender e se encaixa bem no gerenciamento de pacotes do Ubuntu.


1
A USC é apenas uma interface de apt-getqualquer maneira. Não vamos transformar isso em um debate entre a interface gráfica e a interface do usuário. Se você acha que vale a pena discutir essa escolha, comece outra pergunta.
Flimm

2
@Flimm: não exatamente, o USC também pode instalar o pacote .deb, por isso é mais apropriado chamar o USC de frontend para o apt-get e o dpkg.
Lie Ryan

1
Não estou dizendo "debate", estou dizendo "os usuários vêm aqui para obter clareza, e esta pergunta e esta resposta parecem não esclarecer muito".
Warren P

1
@LieRyan: concordou.
Flimm

1
@ WarrenP: Não concordo com o que os usuários vêm aqui. Os usuários vêm aqui para decidir de onde baixar e instalar um aplicativo. Se isso não estiver claro, podemos editá-lo. Acho que a pergunta é clara: se você tiver outra pergunta mais útil para os usuários, crie uma nova postagem.
Flimm
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.