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: 22.058 ]

Por: Xerxes em 15/09/2022


Instalação - subvolumes



Um subvolume do sistema Btrfs é um conjunto lógico de dados que pode ser montado e gerenciado separadamente do volume principal. Ele fornece um meio para dividir um único volume em vários compartimentos lógicos, cada um com suas próprias propriedades e permissões. Isso pode ser útil para gerenciar diferentes conjuntos de dados com diferentes níveis de acesso ou para criar pontos de restauração individuais para diferentes partes do sistema.

Timeshift só aceita os subvolumes com os nomes "@" e "@home". Por tanto, teremos que criá-los antes de instalar o sistema básico.

Para isso teremos que abrir um novo terminal com Ctrl+Alt+F2.

Então pressione Ctrl+Alt+F2.

Verá a seguinte mensagem:
Pressione Enter para iniciar.
Este é o BusyBox. O busybox é um programa que fornece um conjunto básico de comandos Unix em um único executável. Ele foi criado com o objetivo de fornecer uma alternativa mais leve para os programas de linha de comando padrão, como o GNU coreutils.

Poderá ver as partições que foram criadas e montadas com o comando:

# df -h

O comando "df -h" do busybox mostra o tamanho total, o tamanho livre e o tamanho ocupado de todos os dispositivos de armazenamento montados no sistema, incluindo discos rígidos, discos SSD, unidades flash USB e cartões SD. Ele também mostra a porcentagem de espaço livre e ocupado de cada dispositivo.
Obs.: para este artigo, feito em máquina virtual, as partições estão identificadas como vda1 e vda2. No seu caso pode ser diferente, como sda1 e sda2 ou até mesmo nvmen0n1p1 e nvmen0n1p2. Mas o procedimento é igual.

Antes de criarmos os subvolumes compatíveis com Timeshift, devemos desmontar as partições que estão em "/target" com o comando:

# umount -rl /target

O comando "umount -rl /target" força o sistema a desmontar o sistema de arquivos montado em /target e, se for necessário, também desmonta todos os sistemas de arquivos que estejam montados no /target.

Se quiser, execute "df -h" novamente para confirmar que não há mais partições montadas em /target:
Agora, precisaremos montar a partição raiz em outro lugar, para trabalharmos nelas. Usaremos o diretório "/mnt".

# mount /dev/vda2 /mnt

O objetivo, relembro, é termos dois subvolumes: "@" e "@home".

Ao entrarmos no diretório /mnt com:

# cd /mnt

Poderemos ver um subvolume já criado (@rootfs), com o comando:

# ls

Vamos renomeá-lo simplesmente para @:

# mv @rootfs @

Conferindo:

# ls

Em seguida crie o subvolume @home:

# btrfs su cr @home

Confira:

# ls

Em seguida, teremos que montar o subvolume "@" em target novamente, mas aplicando as opções desejadas para o sistema Btrfs:

# mount -o subvol=@,ssd,defaults,noatime,space_cache,autodefrag,discard,compress-force=zstd:15 /dev/vda2 /target

O parâmetro "-o" é usado para especificar as opções que serão usadas ao montar o dispositivo. No comando acima, as opções especificadas são "subvol=@", "ssd", "defaults", "noatime", "space_cache", "autodefrag" e "discard".

Em resumo este comando monta o sistema de arquivos em /dev/vda2 com as opções escolhidas, que são:
  • subvol=@ - Especifica que a unidade deve ser montada como um subvolume. No nosso caso, com o nome "@".
  • ssd - otimiza a montagem para discos SSD.
  • defaults - Utiliza as opções padrão de montagem.
  • noatime - Noatime é uma opção de montagem que evita a atualização do timestamp quando um arquivo é acessado. Isso pode ser útil para aumentar o desempenho em sistemas de arquivos que fazem muito uso do timestamp, como o btrfs.
  • space_cache - A opção de montagem space_cache faz com que o sistema de arquivos use um cache de espaço para as operações de leitura e gravação. Isso pode melhorar o desempenho do sistema de arquivos em algumas situações.
  • autodefrag - Habilita a defragmentação automática. A opção de montagem autodefrag é uma ferramenta que pode ser usada para otimizar o desempenho do sistema e reduzir o tempo de inicialização. Ele analisa o disco rígido e, em seguida, reorganiza os arquivos para que eles sejam carregados mais rapidamente.
  • discard - Descarta os blocos não utilizados, força o sistema a ignorar as áreas não utilizadas do disco e, portanto, não as aloca. Isso pode ser útil para alguns dispositivos de armazenamento, como unidades de estado sólido, que podem se beneficiar de um maior desempenho se as áreas não utilizadas do disco rígido não forem alocadas.
  • compress-force=zstd:15 - Força a compressão do sistema de arquivos com o algoritmo zstd e nível de compressão 15. Faz com que os arquivos sejam compactados para economizar espaço.

Com excessão do "ssd" e do "compress-force=zstd:15", as outras opções eu copiei de uma instalação do Debian em Live CD, que adiciona tais opções automaticamente. Fiz uma dica sobre isso em:
Crie o diretório "efi" em "/boot", onde será montado a partição de boot:

# mkdir -p /target/boot/efi

Crie o diretório "home" onde será montado o subvolume @home:

# mkdir /target/home

Monte o "@home" em /target/home. O comando é quase igual ao comando anterior para o subvolume "@":

# mount -o subvol=@home,ssd,defaults,noatime,space_cache,autodefrag,discard,compress-force=zstd:15 /dev/vda2 /target/home

E monte a partição de boot:

# mount /dev/vda1 /target/boot/efi

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

Instalação do Void Linux em UEFI + Dual Boot com Windows

Brutal DOOM no Linux (com Freedoom)

Slackware Current redondo com XFCE

Tem Facebook? Então tem Joli OS

Quero facilidade!

Leitura recomendada

Instalar e configurar Slackware 10.2 a 12 para um desktop

Preparando o Linux SuSE Enterprise Server 9 para o Oracle 10g R2

Proxy Reverso com Apache

Instalação do OpenGL em placas NVIDIA

DebConf - Perguntas ao usuário na instalação de pacote .deb

  
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.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts