Isso aconteceu comigo várias vezes nos últimos 5 anos: uma atualização quebrou meu sistema. Cada vez que acabo com essa situação, tenho que reinstalar todo o sistema, o que é realmente irritante.
Existe alguma maneira de reverter a atualização mais recente para poder ter um sistema funcional sem reinstalar? Caso contrário, qual é a melhor maneira de sugerir isso como uma idéia de prioridade máxima?
Eu li que essa idéia foi descrita em brainstorm.ubuntu.com, mas parece que está morta ... e os fóruns estão cheios de exemplos de atualizações que quebram as coisas, é por isso que sinto que algo precisa ser feito sobre esse tópico. Obrigado!
Respostas:
Em sinápticos, você pode pelo menos controlar quais foram as atualizações recentes: menu Arquivo, histórico.
(se o sináptico for inicializável, com o sistema quebrado). Portanto, com um comando apt -...-, para reverter a atualização, não deve ser muito difícil.
Eu acho que também existe um comando histórico para a linha de comando.
Talvez você precise excluir o pacote inteiro e instalar uma versão específica. No entanto, é possível instalar uma versão específica, mas nunca tive a necessidade de fazê-lo.
update: Veja como fazer com o apt:
Encontre pacotes instalados nas últimas 3x24h:
Com a política do apt-cache, você vê as versões disponíveis de um programa:
aqui 3.6.7 e 3.6.3. Agora você sabe qual versão anterior pode ser instalada (geralmente não o antecessor imediato):
Então você precisa fazer um apt-pinning, para impedir futuras atualizações:
Crie um novo arquivo em /etc/apt/preferences.d/ (se> = 10.4) com o nome do seu programa,
fonte
1.0.2g-1ubuntu4.12
acordo com o apt? Ele se recusa a aceitar isso como um número de versão. Eu quero fazer o downgrade do formulário1.0.2g-1ubuntu4.13
para1.0.2g-1ubuntu4.12
find /var/lib/dpkg/info/ -name \*.list -mtime -3 | sed 's#.list$##;s#.*/##'
neste momento é menos de um aborrecimento para reinstalar o sistema inteiroPrincipalmente, você pode consultar as
/var/log/apt/history.log
alterações feitas pelo apt / synaptic. É apenas um pouco forense e um monte de recortar / colar para fazer.Volte para a data em que seu sistema ainda estava funcionando bem.
Primeiro, pegue todos os pacotes que foram instalados desde então e junte-os em um script de desinstalação. Quando o script terminar, comece a adicionar novamente todos os pacotes removidos.
Um exemplo de caso:
logfile:
você pode ver,
foi instalado pela Synaptic. como
libfglrx:amd64
foi removido pelo Synaptic.Fomos na ordem inversa, então primeiro removemos os pacotes recém-instalados e adicionamos novamente os pacotes que foram removidos.
Um comando de trabalho para este caso pode se parecer com:
Talvez não seja a melhor ideia ficar sem a
-y
opção - ter mais controle sobre o processo (para evitar dependências quebradas). A maioria de vocês não quebraria o dedo enquanto fazia algumas verificações "y"Na maioria dos casos, uma reversão é possível dessa maneira, mas se as dependências já estiverem quebradas - você pode encontrar um problema ainda maior.
fonte
Na maioria das vezes, se o seu sistema estiver danificado, é um problema do kernel .
Simplesmente inicialize um kernel antigo e reinstale os pacotes mais recentes (especialmente os pacotes do kernel) que provavelmente não foram atualizados corretamente. Algumas notas:
é seu amigo para verificar qual é a lista dos pacotes atualizados / instalados recentemente
pode na maioria das vezes corrigir pacotes semi-instalados
fonte
Infelizmente ainda não há como fazer isso. O snapshot / rollback no nível do sistema de arquivos é um dos recursos dos próximos btrfs, mas ainda há maneiras de se tornar um recurso completo e estável o suficiente para ser usado como o sistema de arquivos padrão.
fonte
Ao fazer uma grande atualização, clono o disco usando o Clonezilla . Grave-o em um CD, tenha um HDD (externo) sobressalente disponível e siga as instruções no Clonezilla LiveCD. Escolha o
partition-image
modo, isso usa menos espaço.Se você acha que quebrou o sistema (ou deseja reverter quaisquer alterações), basta inicializar no Clonezilla LiveCD, selecione a imagem no seu disco rígido (externo) e restaure-o. Como essas imagens são uma cópia literal de todos os bits do seu disco, isso pode levar algumas horas, dependendo da velocidade do disco e da velocidade da conexão (a conexão entre os dados, geralmente um HDD USB externo e o computador).
A propósito, isso é chamado de método de backup.
fonte
Você pode instalar uma versão mais antiga de um determinado pacote (downgrade) com o apt ou o dpkg facilmente . Encontrar uma versão mais antiga do pacote é o problema, pois elas geralmente desaparecem do pool e se refletem à medida que as atualizações chegam.
Se você instalar o pacote a partir de um CD de instalação, de um espelho desatualizado ou de um cache, também será necessário mantê-lo fixado à versão antiga para que não seja atualizado até que você permita. O que significa que você deve observar as atualizações e testá-las até que o problema seja resolvido. Obviamente, isso é um problema, já que, enquanto isso (talvez para sempre), você ficará com o pacote não corrigido e possivelmente inseguro. Isso significa que todo usuário com algum tipo de problema no sistema ficará em um estado aleatório até que possa resolvê-lo.
Todos os softwares também não são compatíveis com versões anteriores; portanto, uma versão mais antiga de algo pode não se comportar corretamente quando alimentada com configurações ou arquivos de dados mais recentes. Obviamente, isso é impossível de resolver, a menos que você também reverta todos os dados do usuário para um estado antes da atualização.
Seria ótimo se houvesse uma maneira de fazer isso, mas é extremamente problemático. Quem pensa que existe uma solução coerente deve escrever uma proposta e convidar comentários ou, melhor ainda, fazer uma solução de prova de conceito (código, script, documento). Trollar e lamentar não é construtivo.
Como não há solução técnica limpa, a maioria dos softwares é desenvolvida (e integrada) com a mentalidade "o único caminho a seguir". Tentar gerenciar versões desatualizadas é uma perda de tempo de todos. Os problemas encontrados são corrigidos nas versões mais recentes o mais rápido possível. Como uma solução menor, gostaria de ver um arquivo de versões anteriores do pacote mantido em algum lugar para uma solução temporária ocasional.
Enquanto isso, você pode relatar erros e não esperar que o software de ponta nunca falhe. Uma correção, uma vez encontrada, deve estar na próxima atualização. Devs são humanos (principalmente) e, portanto, falíveis. Os computadores são complicados e cheios de variedade e detalhes insanos. Sistemas mantidos defensivamente usando componentes bem suportados e distribuição estável de software integrada podem ser muito estáveis sem se tornarem inseguros ou não atualizáveis, apesar disso.
fonte