Eu sou novo no Linux e estou executando o CentOS. Encontrei quatro maneiras de atualizar ou instalar o software.
Até agora, eu já vi:
yum install [program]
apt-get install [program]
rpm -i [program].rpm
wget [program].tar.gz
->unpack
->./configure
->make
->make install
Esse último é uma verdadeira dor, especialmente vindo do Windows, onde uma instalação do programa geralmente é 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 você recomenda usar e por quê?
- Existem outras maneiras de instalar programas no Linux?
linux
installation
package-management
yum
rpm
Saif Bechan
fonte
fonte
yum
vsup2date
. Eu nunca fui claro sobre a diferença.apt-get
é para Debian, e realmente não deve aparecer no CentOS ....Respostas:
Todas essas ferramentas instalam software no seu sistema, mas estão trabalhando em níveis diferentes.
./configure && make install
A execução
./configure && make install
cria e instala as bibliotecas ou executáveis diretamente do código-fonte.A
make install
etapa basicamente copia os arquivos finais no seu sistema. Muitas fontes vêm com umamake uninstall
regra especial para removê-las novamente, mas isso não é garantido e, obviamente, só funciona desde que você tenha as fontes configuradas. Além disso, isso não cuida das dependências necessárias.Freqüentemente, existe apenas o código fonte disponível para um determinado pacote, portanto esse é o único caminho a percorrer. Além disso,
./configure
geralmente aceita muitas opções, permitindo que você personalize seu pacote.Não conseguir descobrir qual software instalou qual arquivo e a falta de uma maneira confiável de removê-los do sistema são as principais falhas dessa abordagem.
RPM (Redhat Package Manager)
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 melhor integrar o pacote ao layout do sistema. Ele também vem com uma lista de dependências.Como o rpms é usado para muitas distribuições lá, geralmente você deve certificar-se de que este rpm foi gravado para sua distribuição, para instalar caminhos, dependências e outras tarefas domésticas.
Nos sistemas Debian, o formato de pacote equivalente é
.deb
e a instalação e o banco de dados são tratados peladpkg
ferramenta.Yum
yum
é um invólucro adicionalrpm
. 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 desse banco de dados funcionam bem entre si. Este banco de dados pode ser pesquisado (por exemplo, comyum search some_name
).Também resolverá automaticamente dependências para você. Os pacotes (e com alguma ajuda extra, suas dependências) também podem ser facilmente desinstalados.
Nos sistemas Debian, o repositório equivalente e as ferramentas de resolução de dependências são fornecidas pelo Apt (
apt-get
eaptitude
).Então, para resumir: se você quer apenas um software, tente
yum
primeiro. Se não estiver disponível lá, você pode tentar encontrar umrpm
pacote existente . Se não houver nenhum ou você tiver alguns requisitos especiais, crie a partir do código-fonte.fonte
apt-get
ou ainda é recomendado para alguma coisa?apt-get
não registrou dependências automáticas e as deixou para trás após uma desinstalação, enquantoaptitude
introduzia o rastreamento de dependências adequado. Além disso, também forneceu alguns recursos adicionais não disponíveis noapt-get
. Não tenho certeza, mas acho que em algum momentoapt-get
eaptitude
onde foi atualizado para usar o mesmo back-end avançado, fornecendo grande parte dessa funcionalidade.Yum são RPM são a mesma coisa, exceto que yum obtém os pacotes da rede automaticamente e os instala (usando
rpm -i
) em uma etapa. Deve ser usado sempre que possível para facilitar a atualização. Userpm
somente quando não houver nenhum pacote a ser encontradoyum
e use omake
método somente quando não houver um pacote .rpm disponível ou você precise alterar algumas opções em tempo de compilação.fonte