Servidor apagado depois de “yum remove python” [closed]

62

Um desastre me ocorreu depois que eu executei o comando yum remove python e agora não consigo mais inicializar o servidor.

Como isso aconteceu: Eu tentei atualizar alguns aplicativos via yum no meu VOS CentOS 5 e o comando estava falhando devido a algum estranho erro 2.4 python. Notei que minha versão do python era antiga e tentei reinstalá-la primeiro removendo-a e, por isso, usei yum remove python .

Depois disso, ele me perguntou algo sobre a remoção de dependências e não pareceu nada que eu pudesse perder, então cliquei em Y .

Então, o resultado disso foi que eu era incapaz de executar qualquer comando que assim sempre. Eu até tentei cd /var/www , mas ele disse algo como " command does not exist in /usr/bin ". Quando eu usei a aba para ver sugestões de navegação de pastas, a estrutura de arquivos ainda parecia estar lá (pelo menos o /var/www bit que é realmente importante para mim). Depois disso, tentei reiniciar o vps (a partir do painel de administração, pois o comando reboot não funcionou) e agora ele não inicializa mais.

Agora, minha pergunta é: como um comando como esse pode destruir meu servidor assim?

    
por tadoman 15.04.2017 / 20:54

6 respostas

67

Eu sinceramente sinto muito: posso sentir a dor por ter um servidor não inicializável / inutilizável.

No entanto, estou perdido ao ler isso:

After that it asked me something about removing dependencies and it looked like nothing I could miss so I clicked [Y]

A lista de pacotes a serem removidos certamente foi realmente enorme, já que python é uma parte essencial do RHEL / CentOS. Você deve nunca confirmar alguma mensagem de aviso que você realmente não entende.

A melhor coisa que você pode fazer, como já sugerido, é inicializar através de uma mídia de recuperação (ie: livecd), extrair os arquivos de dados necessários e reinstalar sua máquina com uma versão mais recente do CentOS (e como o CentOS 6 é bastante antigo , Eu sugiro strongmente que você faça o rebase no CentOS 7).

    
por 16.04.2017 / 13:04
106

Francamente, porque você fez algo que você não entendeu completamente. Python é uma parte essencial do sistema operacional e as coisas que você considera sem importância são muito importantes. Restaurar a partir do backup.

Quando você removeu o Python, yum mostrou uma longa lista de pacotes que também seriam removidos. Essa lista contém itens essenciais como yum , coreutils , net-tools e outros. Você confirmou ao yum que você sabe o que está fazendo e quer continuar de qualquer maneira. O resultado disso é um sistema não funcional. Isso não deveria ser surpreendente.

Para o registro, na versão mais recente do CentOS isso não é mais possível, já que certos pacotes agora estão marcados como protegidos e não podem ser removidos, apenas reinstalados ou atualizados. E como o CentOS 5 agora é EOL, este é um bom momento para atualizar para uma versão mais recente.

    
por 15.04.2017 / 21:23
15

Você fez algo sem compreender totalmente as consequências

Essa instalação é irrecuperável, exigiria muito trabalho para reinstalar o centos5. E isso é um plano ruim porque

  1. O CentOS 5 é o fim da vida útil e, portanto, não tem atualizações. Isso é muito sério, pois soa como um servidor Web que serve conteúdo na Internet pública e que você usa aplicativos de painel para controlá-lo.
  2. O CentOS > 5 teria impedido você de fazer essa atualização e matar a caixa. Isso é um bom airbag para ter.
  3. O CentOS 7 alega oferecer suporte a atualizações de versão principais. Eu nunca usei isso, mas ser capaz de pular de 7 para 8 quando for lançado será muito bom. O Debian tinha isso desde sempre, mas Redhat sempre exigia uma reinstalação para grandes saltos de versões.

Solução

Sua melhor aposta é criar um novo VPS, instalar de novo o CentOS7 e, em seguida, reconectar o antigo volume de disco centos5 e montá-lo como somente leitura. Em seguida, trabalhe para copiar (não mover) seus dados da unidade antiga para a nova.

Observe que esse seria meu método usando a AWS. Se o seu provedor de VPS não puder anexar discos a VMs diferentes, você precisará ajustar o plano.

Não importa o que você faça, considere configurar backups automatizados no futuro. Isso não salvaria você, mas tornaria a recuperação um pouco mais flexível. Agora você precisa dos dados nesse disco em um novo servidor em funcionamento. Não perca o disco existente.

    
por 16.04.2017 / 23:31
9

Como isso pôde acontecer? Bem simples: Removendo peças críticas para o seu servidor.

Próximas etapas para você: reimplante um sistema operacional novo e restaure seus dados de backups.

    
por 15.04.2017 / 21:22
4

Como apontado por dragon788 e outros nos comentários, no Gentoo, os desenvolvedores também mantêm um conjunto de pacotes tinderbox que são apenas versões binárias pré-construídas de um conjunto de pacotes principais do SO para tais situações. Se você perder um pacote principal, basta obter o sistema inicializado no LiveCD / DVD, montar a unidade do sistema operacional do servidor quebrado e descompactar o (s) pacote (s) tinderbox no sistema de arquivos, desmontar, reinicializar e, se ele for inicializado corretamente, reconstrua os pacotes de volta para as especificações e configurações do seu servidor.

Portanto, para executar algo semelhante no CentOS, acho que você precisaria encontrar as versões corretas dos RPMs que foram desinstalados, depois inicializar em um LiveCD / DVD, montar a unidade do SO e fazer chroot (talvez ... se você está familiarizado com a forma de usar o sinalizador " - relocate " para rpm , talvez não precise executar chroot) e, em seguida, reinstalar esses pacotes , desmontar e reiniciar.

É claro que, desde que o suporte para o CentOS 5 terminou no mês passado, depois que o sistema foi reinicializado corretamente, você pode atualizá-lo para uma versão atual.

HTH.

    
por 17.04.2017 / 21:28
0

Normalmente, você pode inicializar a partir da mídia de instalação e, em seguida, chroot para executar comandos ou entrar na instalação atual e recuperar arquivos ou realizar uma reinstalação de pacotes.

    
por 16.04.2017 / 05:56