Bem-vindo à falha do servidor. Em geral, esse tipo de pergunta não é abordado aqui. Espera-se que a maioria dos administradores de sistemas já tenha enfrentado esse problema antes de se tornarem administradores de sistema, mexendo nas próprias estações de trabalho. No entanto, os administradores de sistema provenientes de um plano de fundo do Windows podem não ter enfrentado isso, então, aqui estão algumas coisas a considerar:
Por que não usar um gerenciador de pacotes para instalar o software em seu servidor?
Os gerenciadores de pacotes como yum
ou apt
manipulam essas dependências para você. Além disso, eles também podem ser usados para gerenciar atualizações do software em seu servidor. A maioria dos tipos de * nix terá um gerenciador de pacotes instalado por padrão, especialmente no VPS fornecido com o SO pré-instalado. Se você é realmente novo nisso, use um deles em seu sistema de produção e salve aventuras na compilação ou instalação de RPMs de ponta para o seu ambiente de teste.
Mas sou obrigado a usar um pacote mais atualizado do que o que está disponível no meu gerenciador de pacotes!
A maioria dos gerenciadores de pacotes pode ser configurada para usar repositórios diferentes - você pode achar que existe um que fornece a versão do pacote necessária e ainda permite tirar proveito das funções do gerenciador de pacotes.
O pacote que eu preciso não está disponível por meio de repositórios ou gerenciadores de pacotes
Nesse caso, você provavelmente fazer precisa descobrir as dependências (ou chupa-lo e usar um estábulo versão mais / comum do software). Você provavelmente deve fazer o seguinte em um ambiente de teste e fazer anotações cuidadosas do que faz:
- Certifique-se de ler a documentação do software que está instalando - isso provavelmente listará o que você precisa instalar primeiro, mas não o necessário para esse software.
- Use seu gerenciador de pacotes para instalar as coisas necessárias - na maioria dos casos, elas estarão disponíveis.
- Depois de concluir isso, tente instalar.
- Se você ainda vir mensagens sobre dependências ausentes, anote todas elas e tente instalar o maior número possível usando o gerenciador de pacotes.
- Se uma dependência não for encontrada, você deve considerá-la uma subtarefa e tratá-la recursivamente (encontre o tarball de origem, encontre dependências, instale).
- É um processo iterativo.
Eu ainda estou tendo problemas!
Se você seguiu todas as etapas acima e ainda está tendo problemas, pode ter encontrado um problema estranho com o qual outros servidores Faulters podem ajudar. Crie uma nova pergunta, fornecendo detalhes de qual software você está tentando instalar, qual versão e as mensagens de erro exatas que você está vendo.
Conselho específico para os principais sistemas de gerenciamento de pacotes
Gerenciamento de pacotes RPM (RHEL / Fedora e clones) e DEB (Debian / Ubuntu e clones)
- yum whatprovides filename é uma excelente maneira de encontrar o pacote que fornece um arquivo ou biblioteca específica em um sistema do tipo RHEL.
- Não use
./configure && make && make install
cegamente, se possível! O gerenciamento de pacotes foi inventado por esse mesmo motivo, para evitar a bagunça incômoda e insustentável resultante da instalação não rastreável de muitos arquivos conflitantes.
- Muitas bibliotecas são divididas em duas partes: binário (objetos compartilhados, por exemplo) e desenvolvimento (cabeçalhos). Assim, você precisaria de ambos
libfoo
e libfoo-devel
(ou -dev
) pacotes.
- Considere usar
fpm
( https://github.com/jordansissel/fpm ) para converter tarballs em RPMs e DEBs
- Se você estiver lançando seus próprios pacotes, VOCÊ é a pessoa responsável por suas atualizações, testes e manutenção. Se você não tem infra-estrutura para isso, definitivamente está mirando muito alto.
Localizando dependências pelo nome do arquivo para RPMs
http://rpmfind.net é um bom lugar para procurar nomes de pacotes, se você souber o nome do arquivo do qual o procedimento de instalação está reclamando. Porém, não é recomendado combinar e misturar pacotes de diferentes distribuições.