Não com muito trabalho, isso não valeria a pena. Você pode salvar sua / casa e começar de novo? Do que você não gostou?
User10547 9/09/09
Ainda não o fiz, mas este é um servidor de produção e preciso ter certeza de que não há incompatibilidades com nossa configuração personalizada do PHP / MySQL / Apache2, e voltar rapidamente, se houver. Gostaria de atualizar, pois acho que isso resolverá outro problema que estou tendo.
jjclarkson
A menos que você tenha feito o dist-upgrade, não vejo quais resultados não existem, pois essas são provavelmente as atualizações de segurança .
LiraNuna 9/09/09
Se você tiver uma instalação personalizada, é sua responsabilidade salvar as correções e aplicá-las à versão atual.
LiraNuna 9/09/09
2
Se for um servidor, tente um servidor dev antes de atualizar a produção
2.7.3 pode ajudá-lo a fazer o downgrade para estável. 2.7.16 explica como salvar e restaurar o estado do dpkg. O dpkg-repack permite "compactar" um único pacote.
O primeiro passo para desfazer a atualização incorreta foi descobrir quais atualizações eram exatamente. Após pesquisar em alguns fóruns, deparei-me com um histórico de atualizações: Abra o gerenciador de pacotes sinápticos ("sudo synaptic" no terminal). Na barra de menus, clique em Arquivo -> Histórico e você verá todas as suas atualizações classificadas por data.
Infelizmente, eu tinha instalado cerca de 20 atualizações hoje e não sabia qual havia causado o problema. Ao pesquisar em cada um dos pacotes nomeados na lista Histórico, consegui fazer o downgrade de alguns de cada vez até que o problema fosse resolvido e eu identificasse a atualização incorreta. Para fazer isso:
Use a barra de pesquisa para encontrar o pacote que você deseja fazer o downgrade. Depois de encontrar o que está procurando, clique no pacote para selecioná-lo. Na barra de menus, clique em Pacote -> Forçar versão e selecione a versão anterior do pacote no menu suspenso. Clique no botão "Aplicar" para aplicar o downgrade.
Eu estou esperando que todos aqui saibam o básico sobre como procurar a última atualização ofensiva:
Manav Brar
2
Sobre o que era essa edição? Você tem outra pergunta? Você quer que jogemos um jogo de adivinhação?
slhck
5
Eu tive que fazer isso hoje no meu sistema Debian. Primeiro, identifiquei o intervalo de tempo em que ocorreu a atualização incorreta e recuperei as entradas de log, fornecendo os números de versão antigos e novos dos pacotes atualizados:
Em seguida, tentei encontrar os arquivos do pacote ainda em cache no disco (felizmente para mim não havia executado o autoclean):
$ awk '$1=="2016-03-20" && $3=="upgrade" {gsub(/:/, "%3a", $5); split($4, f, ":"); print "/var/cache/apt/archives/" f[1] "_" $5 "_" f[2] ".deb"}' /var/log/dpkg.log | xargs -r ls -ld
ls: cannot access '/var/cache/apt/archives/ethtool_1%3a4.2-1_amd64.deb': No such file or directory
-rw-r--r-- 1 root root 28820 Dec 18 2014 /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb
-rw-r--r-- 1 root root 1978874 Dec 10 18:22 /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb
-rw-r--r-- 1 root root 185006 Mar 12 00:41 /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb
-rw-r--r-- 1 root root 1317644 Mar 3 11:30 /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb
-rw-r--r-- 1 root root 7679400 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb
-rw-r--r-- 1 root root 6108 Dec 14 06:59 /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb
-rw-r--r-- 1 root root 1075506 Feb 7 21:36 /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb
-rw-r--r-- 1 root root 983174 Mar 3 11:30 /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb
-rw-r--r-- 1 root root 53376 Feb 28 18:35 /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb
Parece que não tenho o pacote ethtool mais antigo por algum motivo. Ainda assim, vamos continuar instalando com força os arquivos de pacotes mais antigos:
$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb
dpkg: warning: downgrading amd64-microcode from 2.20160316.1 to 2.20141028.1
(Reading database ... 139632 files and directories currently installed.)
Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...
Unpacking amd64-microcode (2.20141028.1) over (2.20160316.1) ...
dpkg: warning: downgrading libjavascriptcoregtk-3.0-0:amd64 from 2.4.10-1 to 2.4.9-3
Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.10-1) ...
dpkg: warning: downgrading libsdl1.2debian:amd64 from 1.2.15+dfsg1-4 to 1.2.15+dfsg1-3
Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...
Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-4) ...
dpkg: warning: downgrading libsvn1:amd64 from 1.9.3-3 to 1.9.3-2+b1
Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-3) ...
Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
dpkg: warning: downgrading linux-image-amd64 from 4.4+71 to 4.3+70
Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...
Unpacking linux-image-amd64 (4.3+70) over (4.4+71) ...
dpkg: warning: downgrading linux-libc-dev:amd64 from 4.4.6-1 to 4.3.5-1
Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.4.6-1) ...
dpkg: warning: downgrading subversion from 1.9.3-3 to 1.9.3-2+b1
Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...
Unpacking subversion (1.9.3-2+b1) over (1.9.3-3) ...
dpkg: warning: downgrading traceroute from 1:2.1.0-1 to 1:2.0.22-1
Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...
Unpacking traceroute (1:2.0.22-1) over (1:2.1.0-1) ...
Setting up amd64-microcode (2.20141028.1) ...
update-initramfs: deferring update (trigger activated)
amd64-microcode: microcode will be updated at next boot
Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...
Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...
Setting up libsvn1:amd64 (1.9.3-2+b1) ...
dpkg: dependency problems prevent configuration of libwebkitgtk-3.0-0:amd64:
libwebkitgtk-3.0-0:amd64 depends on libwebkitgtk-3.0-common (>= 2.4.9); however:
Package libwebkitgtk-3.0-common is not installed.
dpkg: error processing package libwebkitgtk-3.0-0:amd64 (--install):
dependency problems - leaving unconfigured
Setting up linux-image-amd64 (4.3+70) ...
Setting up linux-libc-dev:amd64 (4.3.5-1) ...
Setting up subversion (1.9.3-2+b1) ...
Setting up traceroute (1:2.0.22-1) ...
update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode
update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode
update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode
update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode
Processing triggers for libc-bin (2.22-3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for initramfs-tools (0.123) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64
Errors were encountered while processing:
libwebkitgtk-3.0-0:amd64
Como dizia a mensagem de erro, um dos meus pacotes dependia de um pacote -comum pouco antes da atualização, mas a atualização o removeu (e o apt-get não pode mais encontrá-lo). Felizmente, seu arquivo de pacote ainda está em / var / cache / apt, para que eu possa adicioná-lo à lista e tente novamente:
$ ls -ld /var/cache/apt/archives/libwebkitgtk-3.0-common*
-rw-r--r-- 1 root root 452278 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb
$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb
(Reading database ... 139632 files and directories currently installed.)
Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...
Unpacking amd64-microcode (2.20141028.1) over (2.20141028.1) ...
Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...
Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-3) ...
Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-2+b1) ...
Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...
Unpacking linux-image-amd64 (4.3+70) over (4.3+70) ...
Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.3.5-1) ...
Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...
Unpacking subversion (1.9.3-2+b1) over (1.9.3-2+b1) ...
Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...
Unpacking traceroute (1:2.0.22-1) over (1:2.0.22-1) ...
Selecting previously unselected package libwebkitgtk-3.0-common.
Preparing to unpack .../libwebkitgtk-3.0-common_2.4.9-3_all.deb ...
Unpacking libwebkitgtk-3.0-common (2.4.9-3) ...
Setting up amd64-microcode (2.20141028.1) ...
update-initramfs: deferring update (trigger activated)
amd64-microcode: microcode will be updated at next boot
Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...
Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...
Setting up libsvn1:amd64 (1.9.3-2+b1) ...
Setting up linux-image-amd64 (4.3+70) ...
Setting up linux-libc-dev:amd64 (4.3.5-1) ...
Setting up subversion (1.9.3-2+b1) ...
Setting up traceroute (1:2.0.22-1) ...
update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode
update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode
update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode
update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode
Setting up libwebkitgtk-3.0-common (2.4.9-3) ...
Setting up libwebkitgtk-3.0-0:amd64 (2.4.9-3) ...
Processing triggers for libc-bin (2.22-3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for initramfs-tools (0.123) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64
Sucesso! Na verdade, isso não resolveu meu problema. Mas ele desclassificou com êxito os pacotes, QED.
Também tive que desfazer uma atualização de pacote hoje em alguns servidores Debian. Reverti com êxito os pacotes para a última versão usando o aptitute, enquanto o seguinte comando awk foi muito útil.
( No comando abaixo, substitua a sequência de datas pela data do dia a partir da qual você deseja reverter as atualizações )
revise a saída para verificar se esses são os pacotes e versões a serem revertidos. Em seguida, use o aptitute para fazer o downgrade dos pacotes listados:
aptitute install [paste output here]
Espero que isso também economize tempo útil para outros.
Eu não acredito que, além de tomar um backup completo dos sistemas de arquivos relevantes (aqueles que contêm /, /bin, /lib, /sbin, /usr, /var, /etce /boot(que podem ser todos em no sistema de arquivos) e seu registro de inicialização), assim você pode rolar a máquina de volta depois.
Eu poderia (e provavelmente vou) fazer um backup bare metal, mas queria uma opção de software que me permitisse desfazer a atualização em um período de tempo mais rápido. A restauração do backup bare metal pode levar várias horas.
jjclarkson
1
Você pode ter certeza de ter cópias de todos os pacotes que está prestes a atualizar nas versões anteriores (provavelmente ainda estão no seu cache apt em algum lugar /var) e quaisquer arquivos de configuração relevantes armazenados. Você pode tentar forçar uma reversão dizendo explicitamente dpkgpara instalar essas versões. Você pode ter algum trabalho a fazer depois quando quiser que as atualizações normais aconteçam, por isso não é algo que eu recomendo.
David Spillett
Um backup feito com rsync (registro de data e hora ativado) pode ser restaurado rapidamente, em comparação com um backup feito com tar.
Joeytwiddle
2
Eu executo meus servidores Linux em um ambiente virtualizado e executo uma imagem antes de uma atualização do apt-get ou de qualquer atualização / atualização importante de terceiros.
Então, se algo der errado, eu simplesmente reverto e a vida continua até que eu possa descobrir mais informações.
Isso veio com muita facilidade quando eu atualizei minha caixa do Ubuntu para 12.04, e de alguma forma o MySQL ficou completamente inoperante após a atualização. Revirei, encontrei a resposta mais tarde, refiz a atualização, consertei o MySQL e a vida foi boa.
Depois de ./configure; faça seu programa, o CheckInstall executará make install (ou o que você pedir para executar) e acompanhará todos os arquivos modificados por esta instalação, usando o excelente installwatch ...
Portanto, talvez você possa dizer para executar o aptitude safe-upgrade e acompanhar todas as modificações feitas pelo upgrade.
Existe um projeto chamado Nexenta que combina o kernel do OpenSolaris com o espaço de usuário do Ubuntu. Ele fornece uma ferramenta para integrar o ZFS do Solaris e o apt do Debian, a fim de fornecer um botão de desfazer para atualizações. Veja aqui: http://www.nexenta.org/os/TransactionalZFSUpgrades
Em geral, o que você precisa é de um sistema de arquivos com controle de versão. O Btrfs para Linux está em desenvolvimento.
Usar o Apt-Undo é uma opção possível, mas só pode funcionar se você estiver usando-o para instalar e desinstalar pacotes. Não ajudará se você já desinstalou o software da maneira normal.
Fiz isso com sucesso algumas vezes, mas não o recomendo. Foi o que fiz (se bem me lembro):
1) Remova qualquer software não oficial que não esteja incluído nos repositórios ubuntu padrão (isso pode não ser necessário, mas eu sugiro que eles possam interferir no seu caminho).
2) Altere seu /etc/apt/sources.list (e sources.list.d / *) para a versão anterior (comente todos os repositórios não oficiais).
3) apt-get update / aptitude update
4) Usando o aptitude, faça o downgrade dos pacotes principais (como X11, bibliotecas, etc.). Ele começará a disparar muitos pacotes quebrados ... então você precisará resolver cada caso (você precisa saber como fazer isso no aptitude). A maneira como você faz o downgrade é acessando o painel de descrição e instalando a versão (pressionando +) na parte inferior.
5) Repita o item 4 até todo o software pertencer à sua versão de destino (verifique a coluna da versão no aptitude).
É por isso que eu não recomendo este método:
Demora muito tempo (é um processo doloroso)
Alguns aplicativos podem não funcionar corretamente (pois ainda podem ter a configuração mais recente). Nesse caso, você precisará "limpar" e reinstalar.
Existem atualizações relacionadas ao sistema que não funcionarão após o downgrade
É altamente arriscado, pois você pode acabar com um sistema inutilizável
Eu recomendo fazer uma instalação limpa e mover sua configuração pouco a pouco. Também leva tempo, mas no final você tem uma versão estável.
A razão pela qual fiz isso foi principalmente como experimentação e como resultado de desespero.
DPkg :: Pre-Install-Pkgs e ZFS nos snapshots do Linux
Se você instalou seu sistema operacional em um sistema de arquivos ZFS (por exemplo, ZFS no Linux ), poderá configurar apt-getpara executar zfs snapshotantes de instalar ou atualizar qualquer coisa, o que fará o backup instantâneo do sistema de arquivos. Pode funcionar com mecanismos de backup que não sejam os instantâneos do ZFS, mas deixarei esse teste para outras pessoas.
O Script
Crie um arquivo como
/etc/apt/apt.conf.d/71backup
com conteúdo
// Tell `apt-get' to take a ZFS snapshot before installing or upgrading a
// set of packages:
DPkg::Pre-Install-Pkgs {"/sbin/zfs snapshot rpool/ROOT/debian@apt-get_$(date '+%Y-%m-%d-%H%M')";};
onde rpool/ROOT/debiandeve ser substituído pelo nome do sistema de arquivos ZFS no qual seu sistema operacional está montado. Você deu esse nome ao instalar o sistema operacional pela primeira vez e pode ser encontrado em atributo NAMEcom o comando
# zfs list -t filesystem
NAME ...
...
rpool/ROOT/debian ...
...
Mas isso funciona?
É melhor tirar uma foto instantânea antes de seguir os conselhos de configuração de alguma pessoa aleatória da Internet:
Esse instantâneo contém seu sistema de arquivos como era antes da instalação dos dois jogos.
# exit
$ sudoku
Tempos divertidos para a vovó, mas você odeia o sudoku.
$ sudo -i
# zfs rollback rpool/ROOT/debian@apt-get_2018-08-02-033614
# exit
$ sudoku
-bash: /usr/games/sudoku: No such file or directory
$ tanglet
-bash: tanglet: command not found
Após a captura de vários instantâneos, você pode reverter para qualquer um anterior adicionando o -rsinalizador. No nosso caso, por exemplo, tente
Entretanto, esteja avisado de que isso não apenas retornará seu sistema de arquivos ao estado em que estava quando rpool/ROOT/debian@2018-08-01-230001_testfoi tirado, mas também excluirá irremediavelmente todos os instantâneos posteriores. Se você seguisse junto com esta postagem, o instantâneo rpool/ROOT/debian@apt-get_2018-08-02-033614desapareceria.
Eu testei apt-get upgradeem um Debian GNU / Linux com
Funciona. Um instantâneo foi criado para o installcomando, outro para o upgradecomando.
Advertência : Testei isso pela primeira vez hoje e sei muito pouco sobre o funcionamento interno do apt. Se isso quebrar algo para você ou acarretar riscos que minha mente afetada não considerou, por favor, comente sobre isso abaixo.
Respostas:
aptitude
dá acesso a todas as versões de um pacote, se disponível, de acordo com o gerenciamento de pacotes Debian .fonte
Me deparei com o Blogstatic Blog do Hartman: Como desfazer uma atualização no Ubuntu Lucid
fonte
Eu tive que fazer isso hoje no meu sistema Debian. Primeiro, identifiquei o intervalo de tempo em que ocorreu a atualização incorreta e recuperei as entradas de log, fornecendo os números de versão antigos e novos dos pacotes atualizados:
Em seguida, tentei encontrar os arquivos do pacote ainda em cache no disco (felizmente para mim não havia executado o autoclean):
Parece que não tenho o pacote ethtool mais antigo por algum motivo. Ainda assim, vamos continuar instalando com força os arquivos de pacotes mais antigos:
Como dizia a mensagem de erro, um dos meus pacotes dependia de um pacote -comum pouco antes da atualização, mas a atualização o removeu (e o apt-get não pode mais encontrá-lo). Felizmente, seu arquivo de pacote ainda está em / var / cache / apt, para que eu possa adicioná-lo à lista e tente novamente:
Sucesso! Na verdade, isso não resolveu meu problema. Mas ele desclassificou com êxito os pacotes, QED.
fonte
Também tive que desfazer uma atualização de pacote hoje em alguns servidores Debian. Reverti com êxito os pacotes para a última versão usando o aptitute, enquanto o seguinte comando awk foi muito útil.
( No comando abaixo, substitua a sequência de datas pela data do dia a partir da qual você deseja reverter as atualizações )
revise a saída para verificar se esses são os pacotes e versões a serem revertidos. Em seguida, use o aptitute para fazer o downgrade dos pacotes listados:
Espero que isso também economize tempo útil para outros.
fonte
Eu não acredito que, além de tomar um backup completo dos sistemas de arquivos relevantes (aqueles que contêm
/
,/bin
,/lib
,/sbin
,/usr
,/var
,/etc
e/boot
(que podem ser todos em no sistema de arquivos) e seu registro de inicialização), assim você pode rolar a máquina de volta depois.fonte
/var
) e quaisquer arquivos de configuração relevantes armazenados. Você pode tentar forçar uma reversão dizendo explicitamentedpkg
para instalar essas versões. Você pode ter algum trabalho a fazer depois quando quiser que as atualizações normais aconteçam, por isso não é algo que eu recomendo.Eu executo meus servidores Linux em um ambiente virtualizado e executo uma imagem antes de uma atualização do apt-get ou de qualquer atualização / atualização importante de terceiros.
Então, se algo der errado, eu simplesmente reverto e a vida continua até que eu possa descobrir mais informações.
Isso veio com muita facilidade quando eu atualizei minha caixa do Ubuntu para 12.04, e de alguma forma o MySQL ficou completamente inoperante após a atualização. Revirei, encontrei a resposta mais tarde, refiz a atualização, consertei o MySQL e a vida foi boa.
fonte
Você poderia tentar checkinstall
Portanto, talvez você possa dizer para executar o aptitude safe-upgrade e acompanhar todas as modificações feitas pelo upgrade.
fonte
Existe um projeto chamado Nexenta que combina o kernel do OpenSolaris com o espaço de usuário do Ubuntu. Ele fornece uma ferramenta para integrar o ZFS do Solaris e o apt do Debian, a fim de fornecer um botão de desfazer para atualizações. Veja aqui: http://www.nexenta.org/os/TransactionalZFSUpgrades
Em geral, o que você precisa é de um sistema de arquivos com controle de versão. O Btrfs para Linux está em desenvolvimento.
fonte
Usar o Apt-Undo é uma opção possível, mas só pode funcionar se você estiver usando-o para instalar e desinstalar pacotes. Não ajudará se você já desinstalou o software da maneira normal.
http://www.ubuntugeek.com/apt-undo-a-simple-way-of-undoing-apt-actions.html http://lkubuntu.wordpress.com/2011/07/27/apt-undo-a -simple-way-of-desfazer-apt-ações /
fonte
Fiz isso com sucesso algumas vezes, mas não o recomendo. Foi o que fiz (se bem me lembro):
1) Remova qualquer software não oficial que não esteja incluído nos repositórios ubuntu padrão (isso pode não ser necessário, mas eu sugiro que eles possam interferir no seu caminho).
2) Altere seu /etc/apt/sources.list (e sources.list.d / *) para a versão anterior (comente todos os repositórios não oficiais).
3) apt-get update / aptitude update
4) Usando o aptitude, faça o downgrade dos pacotes principais (como X11, bibliotecas, etc.). Ele começará a disparar muitos pacotes quebrados ... então você precisará resolver cada caso (você precisa saber como fazer isso no aptitude). A maneira como você faz o downgrade é acessando o painel de descrição e instalando a versão (pressionando +) na parte inferior.
5) Repita o item 4 até todo o software pertencer à sua versão de destino (verifique a coluna da versão no aptitude).
É por isso que eu não recomendo este método:
Eu recomendo fazer uma instalação limpa e mover sua configuração pouco a pouco. Também leva tempo, mas no final você tem uma versão estável.
A razão pela qual fiz isso foi principalmente como experimentação e como resultado de desespero.
fonte
DPkg :: Pre-Install-Pkgs e ZFS nos snapshots do Linux
Se você instalou seu sistema operacional em um sistema de arquivos ZFS (por exemplo, ZFS no Linux ), poderá configurar
apt-get
para executarzfs snapshot
antes de instalar ou atualizar qualquer coisa, o que fará o backup instantâneo do sistema de arquivos. Pode funcionar com mecanismos de backup que não sejam os instantâneos do ZFS, mas deixarei esse teste para outras pessoas.O Script
Crie um arquivo como
com conteúdo
onde
rpool/ROOT/debian
deve ser substituído pelo nome do sistema de arquivos ZFS no qual seu sistema operacional está montado. Você deu esse nome ao instalar o sistema operacional pela primeira vez e pode ser encontrado em atributoNAME
com o comandoMas isso funciona?
É melhor tirar uma foto instantânea antes de seguir os conselhos de configuração de alguma pessoa aleatória da Internet:
Aí está. Em
error: fn_borked
breve, você poderá retornar seu sistema ao seu estado atual feliz comAgora experimente instalando dois jogos minúsculos que provavelmente estão disponíveis no seu repositório:
Esse instantâneo contém seu sistema de arquivos como era antes da instalação dos dois jogos.
Tempos divertidos para a vovó, mas você odeia o sudoku.
Após a captura de vários instantâneos, você pode reverter para qualquer um anterior adicionando o
-r
sinalizador. No nosso caso, por exemplo, tenteEntretanto, esteja avisado de que isso não apenas retornará seu sistema de arquivos ao estado em que estava quando
rpool/ROOT/debian@2018-08-01-230001_test
foi tirado, mas também excluirá irremediavelmente todos os instantâneos posteriores. Se você seguisse junto com esta postagem, o instantâneorpool/ROOT/debian@apt-get_2018-08-02-033614
desapareceria.Eu testei
apt-get upgrade
em um Debian GNU / Linux comFunciona. Um instantâneo foi criado para o
install
comando, outro para oupgrade
comando.Advertência : Testei isso pela primeira vez hoje e sei muito pouco sobre o funcionamento interno do apt. Se isso quebrar algo para você ou acarretar riscos que minha mente afetada não considerou, por favor, comente sobre isso abaixo.
fonte