Qual é a diferença entre yum, apt-get, rpm, ./configure && make install?

109

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 - > %código%

Esse último é um problema real, especialmente vindo do Windows, onde a instalação de um programa geralmente é de um clique e um belo 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?
por Saif Bechan 31.03.2010 / 04:27

2 respostas

103

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

  • ./ configure & & make install

    A execução de ./configure && make install cria e instala as bibliotecas ou executáveis diretamente do código-fonte.

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

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

    Não ser capaz de descobrir qual software instalado e qual arquivo, e a falta de uma maneira confiável de removê-lo do sistema são grandes falhas dessa abordagem.

  • RPM (gerenciador de pacotes Redhat)

    rpm instala o 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 lá, muitas vezes você quer ter certeza de que este rpm foi escrito para a sua distribuição, de modo que os caminhos de instalação, 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 tratados pela ferramenta dpkg .

  • Yum

    yum é um wrapper adicional em torno de 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. Esse banco de dados pode ser pesquisado (por exemplo, com yum search some_name ).

    Ele também resolve automaticamente as 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ê quiser apenas algum software, tente yum primeiro. Se não estiver disponível, você pode tentar encontrar um pacote rpm existente. Se não houver nenhum ou você tiver alguns requisitos especiais, crie a partir da fonte.

    
por 31.03.2010 / 05:07
4

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

    
por 31.03.2010 / 04:54