Instalação avançada do Debian com Btrfs + timeshift-autosnap-apt + Zram + home encriptado (UEFI/GPT)

Um simples manual com o passo a passo para instalar Debian de forma que seja compatível com o Timeshift e crie pontos de restauração de forma automática, aproveitando as opções do sistema de arquivos Brtfs. Também inclui o uso de zram e encriptação do diretório "home" do usuário.

[ Hits: 24.974 ]

Por: Xerxes em 15/09/2022


Instalação - discos



Selecione "Detectar discos":
Depois "Particionar discos":
Para fazer o proposto neste artigo (sistema de arquivos Btrfs + Timeshift) é necessário escolher a opção "Manual":
Selecione o disco:
Caso o disco seja novo, será perguntado se deseja criar uma tabela de partição. Escolha "sim". Se você estiver usando um disco que já tenha uma tabela, não receberá essa pergunta.
Selecione a tabela gpt:
Obs.: lembro que este artigo é voltado para instalação em sistemas UEFI/GPT, não BIOS-legacy.

O UEFI é uma interface de firmware que permite uma interação mais amigável com o sistema do que o BIOS. Ele também oferece suporte para características mais avançadas, como um modo de segurança que pode impedir que o sistema seja modificado por programa malicioso. Além disso, o UEFI consegue executar código antes de o sistema operacional ser carregado, o que permite que ele execute tarefas como verificar a integridade do sistema e inicializar o hardware. O BIOS, por outro lado, é mais limitado e não oferece suporte para essas características avançadas. Em resumo, é um sistema de gerenciamento de boot que foi projetado para substituir o antigo sistema BIOS.

A tabela GPT apresenta várias vantagens sobre a tabela MBR, incluindo:
  • Suporte para discos acima de 2 TB
  • Maior número de partições (128 no total)
  • Maior robustez (redundância de dados e checksum de cada bloco de dados)
  • Partições podem estar em qualquer lugar do disco (não precisam estar contíguas)
  • Possibilidade de criar partições espelhadas (mirrored) para redundância

Agora teremos um espaço livre no disco. Nele criaremos duas partições: uma para boot (efi) e outra para a raiz. Não se preocupe com partição swap, pois usaremos Zram.

Selecione o ESPAÇO LIVRE e pressione Enter:
Selecione "Criar um a nova partição". Esta será a partição do EFI, uma partição de sistema de arquivos FAT32 que conterá os arquivos necessários para inicializar o sistema operacional compatível com EFI.
Defina o tamanho. Algo entre 128MB e 512MB deve ser suficiente. Para este artigo eu defini 300MB. Após definir, escolha "Continuar".
Escolha "Início":
Dê um nome para a partição. Por exemplo: "boot" e escolha "Continuar":
Na janela a seguir, selecione "Usar como:" e pressione Enter. Depois escolha a opção para usar "Partição de Sistema EFI". A "flag" de inicializável deve estar como "ligado". Depois disso, escolha "Finalizar a configuração da partição".
Perceba haver agora uma partição de boot e, logo depois, mais espaço livre. Criaremos a segunda partição que ocupará todo espaço livre. Será a raiz do sistema.

Mais uma vez, selecione o ESPAÇO LIVRE e pressione Enter.
Escolha "Criar uma partição":
Por padrão será exibido um tamanho referente a todo espaço livre restante. Não precisa alterá-lo, apenas escolher "Continuar".
Dê um nome para a partição, como por exemplo: "root".
Selecione o "Sistema de arquivos com journaling btrfs":
Não precisa alterar as outras informações e escolha "Finalizar a configuração da partição":
Com as duas partições criadas, escolha "Finalizar o particionamento e escrever as mudanças no disco":
Por não termos criado uma partição de troca (swap), o instalador oferece para retornar ao particionador. Como foi dito usaremos Zram, dispensando partição de swap. Marque "Não".
Escrever as mudanças nos discos? "Sim":
PARE!

Nesta tela a seguir NÃO MARQUE "Instalar o sistema básico".
Pelo menos não ainda. Se fizer isso, usará o subvolume do instalador Debian que é imcompatível com timeshift.
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação - download, localidade e rede
   3. Instalação - nome da máquina, usuário e relógio
   4. Instalação - discos
   5. Instalação - subvolumes
   6. Instalação - fstab
   7. Instalação - finalização
   8. Timeshift-autosnap-apt
   9. Zram, Encriptação da home e conclusão
Outros artigos deste autor

Sport: Frontend para Slackbuilds ao estilo Ports do BSD

O mínimo que você precisa saber sobre o terminal (parte 1)

Três distros inspiradas no Mac OS

Diferenças entre Gentoo e Funtoo

Cube 2 - Sauerbraten: Jogo de tiro em primeira pessoa

Leitura recomendada

Conexões redundantes à Internet utilizando Linux

Usando Linux em computadores de baixo processamento e pouca memória

Servidor web nginx com PHP-FPM e memcached

Configurando Wireless-USB Bright-0091

Como instalar o Trac no Ubuntu 10.10

  
Comentários
[1] Comentário enviado por hiltongil em 16/09/2022 - 12:19h


Bacana.
O Spiralllinux acho que já é basicamente esse Debian pronto (sem a parte de criptografia).
Outro ponto a pensar é o uso do LUKS com LVM que em tese oferece melhor desempenho do que a criptografia apenas da pasta.

[2] Comentário enviado por xerxeslins em 16/09/2022 - 12:57h


[1] Comentário enviado por hiltongil em 16/09/2022 - 12:19h


Bacana.
O Spiralllinux acho que já é basicamente esse Debian pronto (sem a parte de criptografia).
Outro ponto a pensar é o uso do LUKS com LVM que em tese oferece melhor desempenho do que a criptografia apenas da pasta.


Interessante! Ainda testarei esse SpiralLinux!

[3] Comentário enviado por Gustavo_fm em 17/09/2022 - 18:05h

Olá, parabéns pelo artigo.

Só um adendo, quando você colocou "Suporte para discos de até 2 TB" nas vantagens da GPT creio que seria "Suporte para discos maiores que 2 TB", não?

[4] Comentário enviado por xerxeslins em 18/09/2022 - 13:40h


[3] Comentário enviado por Gustavo_fm em 17/09/2022 - 18:05h

Olá, parabéns pelo artigo.

Só um adendo, quando você colocou "Suporte para discos de até 2 TB" nas vantagens da GPT creio que seria "Suporte para discos maiores que 2 TB", não?


Exato! Corrigi. Obrigado.

[5] Comentário enviado por maurixnovatrento em 23/10/2022 - 12:38h


Muito bom o artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[6] Comentário enviado por removido em 01/01/2023 - 09:50h

Excelente artigo!

Instalei o Mint com btrfs e ele já cria automaticamente os subvolumes @ (/) e @home (/home), provavelmente no Ubuntu e outros derivados também seja assim por default.
Só tive que editar o fstab para adicionar o compress=zstd na pós-instalação.

Sobre o timeshift-autosnap, um complemento que vale mencionar é que no repositório tem referência sobre o projeto "grub-btrfs", que cria automaticamente as entradas no menu do grub ao fazer snapshots. Acho ideal para esse tipo de configuração.

[7] Comentário enviado por caslubas em 11/03/2023 - 20:12h


Excelente artigo, mas tem uma opção para ter um "auto-apt" para servidores, que não tem interface gráfica?
A ideia seria eles gerar um backup antes de executar o apt...
Como funciona no opensuse, sempre que utilizamos o zypper.

Carlos Alberto

[8] Comentário enviado por xerxeslins em 20/07/2023 - 23:09h

Fui seguir o artigo hoje, para Debian 12 e vi que está desatualizado. Detalhes mudaram.

No fstab tem que colocar "space_cache=v2" e não apenas "space_cache".



--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.

[9] Comentário enviado por caslubas em 02/09/2023 - 20:39h


[8] Comentário enviado por xerxeslins em 20/07/2023 - 23:09h

Fui seguir o artigo hoje, para Debian 12 e vi que está desatualizado. Detalhes mudaram.

No fstab tem que colocar "space_cache=v2" e não apenas "space_cache".



Pra mim, só deu certo, depois de substituir "defaults" por "rw", além da dica acima, o sistema iniciava somente em modo de leitura,,,

Mais uma vez obrigado pelo conhecimento compartilhado...

[10] Comentário enviado por xerxeslins em 10/11/2023 - 10:41h


[9] Comentário enviado por caslubas em 02/09/2023 - 20:39h


[8] Comentário enviado por xerxeslins em 20/07/2023 - 23:09h

Fui seguir o artigo hoje, para Debian 12 e vi que está desatualizado. Detalhes mudaram.

No fstab tem que colocar "space_cache=v2" e não apenas "space_cache".



Pra mim, só deu certo, depois de substituir "defaults" por "rw", além da dica acima, o sistema iniciava somente em modo de leitura,,,

Mais uma vez obrigado pelo conhecimento compartilhado...


Bom saber! Obrigado! No futuro, quando for fazer isso de novo, eu refaço o teste.

[11] Comentário enviado por mariojuniorjp em 22/07/2024 - 01:18h

Na parte da @home, dá o seguinte erro aqui:

mount: mounting /dev/sda1 on /target/home failed: invalid argument.

[12] Comentário enviado por xerxeslins em 22/07/2024 - 09:38h


[11] Comentário enviado por mariojuniorjp em 22/07/2024 - 01:18h

Na parte da @home, dá o seguinte erro aqui:

mount: mounting /dev/sda1 on /target/home failed: invalid argument.


Assim que eu puder vou refazer os passos aqui e se achar algo pra atualizar, eu atualizo.

[13] Comentário enviado por xerxeslins em 23/07/2024 - 12:44h


[11] Comentário enviado por mariojuniorjp em 22/07/2024 - 01:18h

Na parte da @home, dá o seguinte erro aqui:

mount: mounting /dev/sda1 on /target/home failed: invalid argument.


Olá! Eu segui os passos do artigo com Debian 12. Nessa parte aí funcionou normalmente, mas como é máquina virtual, ficou vda2 e não sda2. Você mostrou um erro usando sda1. Não deveria ter usado sda2? Tente novamente com sda2. Talvez seja esse o problema.


[14] Comentário enviado por Velho008 em 01/11/2024 - 21:49h

gente, sou novo no linux e decidi começar direto aqui, enfim, segui todos os passos corretamente, mas ao fazer o passo "/mnt # mount -o subvol=@home,ssd,rw,noatime,space_cache=v2,autodefrag,discard,compress-force=zstd:15 /dev/sda2 /target/home"
recebo apenas a mensagem "mount: mounting /dev/sda2 on /target/home failed: invalid argument"
as mudanças no codigo foram por eu estar usando a versão Debian 12, e nos comentarios recomendavam as alterações ("defaults" para "rw" e "space_cache" para "space_cache=v2"
tambem me lembrei de usar sda2 ao invés de vda2 por eu não estar em uma maquina virtual
inclusive acabei tentando todas as combinações possiveis das mudanças(default/rw, space_cache/=v2), nenhuma retornou algo diferente de "mount: mounting /dev/sda2 on /target/home failed: invalid argument"

[15] Comentário enviado por xerxeslins em 02/11/2024 - 15:06h


[14] Comentário enviado por Velho008 em 01/11/2024 - 21:49h

gente, sou novo no linux e decidi começar direto aqui, enfim, segui todos os passos corretamente, mas ao fazer o passo "/mnt # mount -o subvol=@home,ssd,rw,noatime,space_cache=v2,autodefrag,discard,compress-force=zstd:15 /dev/sda2 /target/home"
recebo apenas a mensagem "mount: mounting /dev/sda2 on /target/home failed: invalid argument"
as mudanças no codigo foram por eu estar usando a versão Debian 12, e nos comentarios recomendavam as alterações ("defaults" para "rw" e "space_cache" para "space_cache=v2"
tambem me lembrei de usar sda2 ao invés de vda2 por eu não estar em uma maquina virtual
inclusive acabei tentando todas as combinações possiveis das mudanças(default/rw, space_cache/=v2), nenhuma retornou algo diferente de "mount: mounting /dev/sda2 on /target/home failed: invalid argument"


Olá! Acabei de refazer usando virtualbox e debian 12.

Faz tempo que não realizo um procedimento assim... openSUSE tem tudo isso automático.

Edit: não exatamente, mas recursos semelhantes.

Engraçado que dessa vez apareceu SDA ao invés de VDA. Talvez uma atualização do Virtualbox. Mas tirando isso, funcionou.

Vou gravar o trecho e colocar no YouTube.

Avisarei aqui.

[16] Comentário enviado por xerxeslins em 02/11/2024 - 15:27h

Segue vídeo para quem está encontrando o erro "failed: invalid argument".

Eu não explico o motivo dessa falha que alguns encontram, pois desconheço.

Mas o vídeo serve para quem quiser seguir por ele, os mesmos passos do artigo. A diferença é que usei Debian 12. Fora isso eu segui o artigo, me guiei por ele.

https://www.youtube.com/watch?v=4O9GWUJkPzU

A página 5 começa no minuto 6:00.

Obs.: não gravei tudo (referente ao artigo inteiro), pois quando comecei a gravar, minha intenção era gravar apenas a parte da página 5, (não pensei) e fiz a máquina virtual só com uma CPU e estava demorando muito para instalar o KDE Plasma. Mas serve para, talvez tirar a dúvida do procedimento da página 5, que aparentemente é a parte crucial.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts