Quebrei meu server Debian

Acabei quebrando meu servidor debian.

Estava fazendo uma verificação da saúde do server vi que minha /usr/lib estava cheia, não conseguia fazer nada, nem instalar ou remover pacotes, então verifiquei o que estava consumindo tanto armazenamento. Avistei que o pacote python3 e python3.11 estavam consumindo muito armazenamento e dicidir apaguar esses arquivo para conseguir apagar outros progamas que estavam pesando mais para liberar espaço para poder voltar as atividade normais do server. O problema é que depois que apaguei esses arquivos (pensando que não eram tão importantes e qur poderia trazê-lo de volta com um simples " apt install python" ) deu um problema de não conseguir trazer de volta esse arquivos, e quando eu rodo um "sudo apt install --fix-broken python " dá um erro que vou deixa na imagem anexa.

Não estou conseguindo fazer nada, nem instalar ou remove esse programa.
Help :pensive:

1 curtida

Olá @Jhon1098, tudo bem contigo?

Se você possui acesso físico ao servidor, você pode usar um pendrive para copiar estes binários de outra máquina com a mesma versão do sistema operacional e ver se resolve. Caso não possua acesso físico, você pode baixar os pacotes .DEB manualmente do site, descompactar e subir no servidor via SSH ou até mesmo, baixar diretamente nele via wget.

Reforçando um aviso importante: O Python está diretamente ligado com funções vitais na maior parte das distros Linux, nunca faça alterações como essa sem ter 100% de certeza dos riscos.

:vulcan_salute:

2 curtidas

Opa @eddiecsilva, tudo tranquilo.

Então, eu tenho acesso fisico ao servidor, só que não tenho uma outra máquina que tenha o mesmo sistema para poder fazer uma copia. Mas como eu faria se fosse para descompactar o aquivo .DEB, quais arquivos eu usaria, ou se é melhor -e mais fácil - fazer via wget?

Desde já agradeço :slightly_smiling_face:

é, python é um dos pacotes mais usados pelo sistema, tanto q é recomendado nunca substituir ele por uma versão mais nova ou antiga, por ter chances de quebrar algo!

Realmente, descobrir isso da pior maneira :sweat_smile:

Tem duas etapas para descompactar um DEB:

  1. ar x arquivo.deb (vai criar dois arquivos, data.tar.XXX e control.tar.XXX, onde XXX é a ferramenta de compressão usada por quem criou o pacote).
  2. tar -xJf data.tar.xz, tar -xzf data.tar.gz ou tar -xjf data.tar.bz2 (dependendo se a extensão XXX é .xz, .gz, ou .bz2, respectivamente).

O comando tar tem a opção -C, que permite escolher a pasta destino. Logo, para “reinstalar” o pacote contornando o apt quebrado, seria algo como:

ar x python ... .deb && sudo tar -xJf data.tar.xz -C /

Veja se ainda tem o pacote do Python baixado pelo apt em /var/cache/apt/archives, pode te poupar o wget.

Depois de consertadas as coisas, reinstale o mesmo .deb com dpkg -i e a chave para permitir sobrescrever arquivos (não me recordo agora), para o gerenciador “saber” o que você fez.


Em geral, não remova arquivos da pasta raiz manualmente. O gerenciador de pacotes existe justamente para você poder adicionar e remover software do sistema com a garantia de um estado consistente.

1 curtida

Salve @Capezotte

Então fiz o que você me indicou:
Rodei o comando ar x python ... .deb && sudo tar -xJf data.tar.xz -C / e foi direto só me retorno o terminal limpo (Aquele que fica depois de rodar um comando e fica aguardando o próximo comando).
Depois tentei reinstalar o pacote do python (que por sinal o nome é python3_3.11.2-1+b1_amd64.deb e sim ele estava no /var/cache/apt/archives ), rodou só que apresentou erros e não foi possivel reinstalar o programa, como mostra as fotos a baixo (desculpe por não conseguir tirar uma captura só dele completo):



Havia mais arquivos no /var/cache/apt/archives só que com nomes diferentes:

Desde já agradeço pela ajuda! :wink:

Não teve jeito

Tiver que fomartar e reinstalar o sistema e configurar do começo.

Já fica a dica para nunca mexerem no que não sabem :sweat_smile:

1 curtida

O python é uma linguagem de programação muito usada em GNU/Linux, tem muito código python em todo lugar, se remover o interpretador da linguagem de programação python(python3) da maquina já era, esses códigos python todos param de funcionar.

Vale a dica de sempre ter snapshots do sistema. Se for btrfs é muito simples!

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.