Questão Qual é a diferença entre o yum, o apt-get, o rpm, o ./configure e o make install?


Eu sou novo no Linux e estou rodando o CentOS. Eu me deparei com quatro maneiras de atualizar ou instalar software.

Até agora eu vi:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

Esse último é um problema real, especialmente vindo do Windows, onde a instalação de um programa geralmente é de um clique e um bom assistente de instalação.

Então, minhas perguntas são:

  • Por que existem tantas maneiras diferentes de fazer isso no Linux?
  • Qual deles você recomenda usar e por quê?
  • Existem outras maneiras de instalar programas no Linux?

107


origem


Além disso, e sobre yum vs up2date. Eu nunca fui claro sobre a diferença. - Josh
apt-get é para o Debian e realmente não deve aparecer no CentOS .... - Kyle Strand


Respostas:


Todas essas ferramentas instalam software em seu sistema, mas estão trabalhando em diferentes níveis.

  • ./configure && make install

    Corrida ./configure && make install constrói e instala as bibliotecas ou executáveis ​​diretamente do código-fonte.

    o make install passo basicamente apenas copia os arquivos finais em seu sistema. Muitas fontes vêm com um especial make uninstall regra para removê-los novamente, mas isso não é garantido e, claro, só funciona enquanto você tem as fontes configuradas ao redor. Além disso, isso não cuida das dependências necessárias.

    Muitas vezes, há apenas o código-fonte disponível para um determinado pacote, portanto, esse é o único caminho a seguir. Além disso, ./configure geralmente aceita muitas opções, permitindo que você personalize seu pacote.

    Não ser capaz de descobrir qual software instalado que arquivo, e a falta de uma maneira confiável para removê-los do sistema são grandes deficiências desta abordagem.

  • RPM (Redhat Package Manager)

    rpm instala software já configurado e compilado em seu sistema e também vem com uma desinstalação para se livrar dele novamente. Os pacotes precisam ser criados por alguém. Essa pessoa já decidiu quais recursos incluir e como integrar melhor o pacote ao layout do sistema. Também vem com uma lista de dependências.

    Como os rpms são usados ​​para muitas distribuições, muitas vezes você quer ter certeza de que esse rpm foi escrito para a sua distribuição, de modo que os caminhos de instalação, as dependências e outros itens de limpeza se integrem bem.

    Nos sistemas Debian, o formato de pacote equivalente é .deb e a instalação e o banco de dados são manipulados pelo dpkg ferramenta.

  • Yum

    yum é um wrapper adicional rpm. Ele mantém seu próprio banco de dados de arquivos rpm disponíveis para sua distribuição, geralmente em repositórios online. Para as versões estáveis ​​da maioria das distribuições, todos os pacotes dentro desse banco de dados funcionarão bem uns com os outros. Esta base de dados pode ser pesquisada (por exemplo, com yum search some_name).

    Ele também irá automaticamente resolver dependências para você. Pacotes (e com alguma ajuda extra de suas dependências) podem ser facilmente desinstalados também.

    Nos sistemas Debian, as ferramentas equivalentes de repositório e resolução de dependência são fornecidas pelo Apt (apt-get e aptitude).

Então, para resumir: se você quer apenas algum software, tente yum primeiro. Se não estiver disponível, você pode tentar encontrar um rpmpacote. Se não houver nenhum ou você tiver alguns requisitos especiais, crie a partir da origem.


100



muito bem o que eu ia dizer. adicionado em uma menção dos equivalentes debian e retocou a formatação. - quack quixote
@quack: obrigado. Mas não podemos todos apenas ficar calados apt-get ou ainda é recomendado para qualquer coisa? - Benjamin Bannier
você está certo, aptidão é provavelmente o melhor para recomendar; eu incluí apt-get porque é amplamente referido, e um leitor que não sabe sobre aptidão pode ter ouvido falar de apt-get. - quack quixote
O que há de errado com o apt-get? - recursive
@recursivo: em algum momento apt-get não gravou dependências automáticas e as deixou para trás após uma desinstalação, enquanto aptitude em seguida, introduziu o rastreamento de dependência adequado. Além disso, também forneceu alguns recursos adicionais não disponíveis em apt-get. Não tenho certeza, mas acho que em algum momento apt-get e aptitude onde atualizado para usar o mesmo back-end avançado, fornecendo muito dessa funcionalidade. - Benjamin Bannier


Yum são RPM são a mesma coisa, exceto que o yum pega os pacotes da rede automaticamente e os instala (usando rpm -i) em um passo. Deve ser usado sempre que possível para facilitar a atualização. Usar rpm somente quando não há nenhum pacote a ser encontrado yume use o make método somente quando não houver nenhum pacote .rpm disponível ou você precisar alterar algumas opções de tempo de compilação.


4