Existe uma maneira de usar o GIT para gerenciar pacotes de sistema operacional de forma que, se eu 'sudo' quebrar algo que eu possa facilmente reverter?

3

Sou muito novato quando se trata de gerenciamento do SO, portanto, se essa pergunta for ignorante, por favor, seja gentil.

A ideia é bastante autoexplicativa, essencialmente manter um arquivo de texto de pacotes e versões, cada mudança cria um novo commit do git. Se algo quebrar, você poderá reverter para uma configuração anterior e o apt tratará da remoção / instalação / versão de pacotes para corresponder ao ambiente anterior.

Se isso não existir, eu apreciaria qualquer aconselhamento / links para conselhos sobre o gerenciamento adequado do sistema operacional. Obrigada!

    
por henny.mcil 30.06.2015 / 19:13

2 respostas

2

Existem algumas ferramentas que podem fazer o trabalho usando instantâneos (não como sistemas de controle de versão):

Systemback :

  

Aplicativo de backup e restauração simples do sistema com recursos extras

     

O Systemback facilita a criação de backups do sistema e dos usuários   arquivos de configuração. Em caso de problemas, você pode restaurar facilmente   estado anterior do sistema. Existem recursos extras como sistema   cópia, instalação do sistema e criação do sistema Live.

     

Instalação:

sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback

BackInTime :

  

O Back In Time atua como um sistema de backup de “modo de usuário”. Isso significa que você   pode fazer backup / restaurar apenas as pastas nas quais você tem acesso de gravação (na verdade você   pode fazer o backup de pastas somente leitura, mas você não pode restaurá-las).

     

Se você quiser executá-lo como root, você precisa usar "su" (linha de comando),   "Gksu" (Gnome) ou "kdesudo" (KDE).

Instalação:

sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime

TimeShift :

  

TimeShift for Linux é um aplicativo que fornece funcionalidade   semelhante ao recurso Restauração do sistema no Windows e no Time Machine   ferramenta no Mac OS. TimeShift protege o seu sistema, tomando incremental   instantâneos do sistema de arquivos em intervalos regulares. Esses instantâneos podem   ser restaurado mais tarde para trazer o seu sistema para o estado exato em que estava   a hora em que o instantâneo foi tirado.

     

O TimeShift foi projetado para proteger apenas arquivos e configurações do sistema. Do utilizador   arquivos como documentos, fotos e músicas são excluídos. Isso garante   que seus arquivos permaneçam inalterados quando você restaurar seu sistema para um   data anterior. Se você precisar de uma ferramenta para fazer backup de seus documentos e arquivos   por favor, dê uma olhada na excelente aplicação BackInTime que   é mais configurável e fornece opções para salvar arquivos do usuário.

     

Instalação:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
    
por Eric Carvalho 30.06.2015 / 21:29
0

Você poderia usar um gancho para apt executar um script após cada invocação de apt-get / dpkg . Um script que listará todos os pacotes instalados e confirmará a nova lista em um repositório git

Por exemplo, em /etc/apt/apt.conf.d/99-dpkg-snapshot

DPkg::Post-Invoke {"/usr/bin/dpkg -l > /root/apt.git/dpkg-list.txt; git commit -a -m 'date +%Y%m%d%H%H%S' -C /root/apt.git"; };

e crie um repositório git em /root/apt.git

Mas mesmo com uma lista de pacotes e sua versão, isso pode não ser suficiente para recuperar um sistema em forma. Você precisa pelo menos manter o / etc com, por exemplo, etckeeper.

Seria melhor usar snapshot como @muru disse. O problema é que apenas btrfs e LVM fornecem instantâneo do sistema de arquivos.

Você também pode fazer isso com o mapeador de dispositivos, mas isso não é trivial. link

    
por solsTiCe 01.07.2015 / 00:15