Como instalar o Void Linux com subvolumes BTRFS?

Olá a todos da comunidade. Sou usuário linux a alguns anos, e estou tentando fazer algo diferente desta vez. Quero migrar do ZorinOS, minha distro atual, para uma distro rolling release que me chama atenção há muito tempo, o Void Linux.

O processo de instalação e configuração é simples para mim, já fiz isso algumas vezes com Arch, Alpine, Debian e outros. O problema é que acabei desenvolvendo um certo trauma em acabar quebrando meu sistema linux (já é meu quarto ssd na gaveta com um sistema quebrado e arquivos importantes). Justamente para solucionar isso, eu descobri o timeshift e o sistema BTRFS. O problema, é que pelo que pesquisei, eu preciso criar subvolumes nomeados de @ e @home, e eu tentei fazer isso, mas não funcionou, principalmente porque nenhum vídeo que cheguei a ver as partições / e /home eram separadas, algo que quero fazer no meu sistema.

Então, em resumo, gostaria de uma ajudinha para saber como posso instalar o Void Linux, com a partição home separada, e configurar os subvolumes para que o timeshift funcione corretamente.

Grato desde já pela resposta, e perdão por qualquer inconveniência, tópico fora do comum, ou erro de ortografia.

Bem, acredito que antes de fazer novos testes, crie um padrão para que se o sistema quebrar vc não perca os arquivos. Separar a /home pode ser uma ótima opção.

Meu sistema já tem as partições separadas, e o motivo do sistema quebrar muitas vezes não é minha. No caso do ZorinOS, eu fiz um update do sistema que quebrou metade dos pacotes, e aplicações simples do meu dia a dia como OBS e LibreOffice não funcionam mais. Outro caso foi quando instalei os drives proprietários da amd, disponibilizados no próprio site, e isso simplesmente quebrou o Xorg do sistema. Esses são um dos motivos de que estou querendo migrar para uma distro mais limpa e estável.

Mas no momento, independente dos motivos, quero apenas entender como funciona o processo de criar os subvolumes do BTRFS e fazer eles funcionarem com o timeshift. É um sistema de arquivos completamente novo para mim, e eu só estou tentando entender como ele funciona.

Estou fazendo todos os testes em uma VM antes de tentar fazer algo no meu PC, por isso, ficaria muito grato caso consiga me ajudar a entender o processo para fazer o timeshift funcionar com BTRFS no Void Linux.

Veja se te ajuda

sudo xbps-install timeshift
sudo btrfs subvolume create /@timeshift
sudo timeshift-gtk

Testei, e não, já que o timeshift pede um subvolume @, e um @home como opcional. Nos testes que eu fiz hoje, eu criei esses dois subvolumes e montei elas manualmente, o que foi suficiente para conseguir criar as snapshots, porém, não funcionou ao tentar restaurar ao estado da snapshot. Tentei também adicionar os subvolumes no fstab usando a tag “subvol”, como vi em alguns vídeos, e isso quebrou o sistema, já que quando iniciado, ele tentava montar as partições mas não conseguia.

Acredito que a solução esteja justamente nessa parte de montagem, onde provavelmente, durante o processo de instalação, eu tenha que configurar para que o sistema monte as partições nos subvolumes, mas é só uma hipotese.

Olá @Marquinhos, seja bem-vindo!

De fato, você precisa ter apenas uma única partição Btrfs, com um subvolume @, onde você irá montar a raiz do sistema (/) e um @home, onde você irá montar o diretório /home. Isso se você quiser incluir o diretório /home nos snapshots do Timeshift.

Você pode, se quiser, criar uma partição à parte para montar o /home, podendo até mesmo utilizar outro sistema de arquivos, como Ext4 nessa partição. Naturalmente, ao fazer assim, o diretório /home ficará de fora dos backups do Timeshift.

Meu sistema está configurado exatamente dessa forma; tenho uma partição formatada em Btrfs, na qual eu criei um subvolume @ onde está montado a raiz, e tenho uma partição com sistema de arquivos Ext4, onde está montado o /home:

Deixo demarcada essa opção, pois não tenho um subvolume @home no sistema de arquivos Btrfs:
Screenshot_20230608_084851

E meu arquivo /etc/fstab está assim:

Deu um pouco de trabalho pra configurar meu sistema dessa forma, visto que o openSUSE, na instalação, oferece o sistema de arquivos Btrfs, mas ele cria os subvolumes com um layout totalmente diferente. Não sei como funciona no Void, mas deve ser possível fazer o mesmo.

A propósito, sim, eu prefiro usar o Timeshift do que a solução nativa do openSUSE para lidar com snapshots Btrfs. :sweat_smile:

2 curtidas

Bom, primeiramente queria agradecer pela sua resposta, foi realmente muito útil.

Baseada nela e nas minhas hipóteses, eu instalei o Void Linux manualmente (perdi algumas horas lendo a documentação, mas consegui de primeira), e como esperado, as partições e subpartições estavam funcionando perfeitamente, com exceção do @home que eu não achei na documentação como configurar no fstab.

Instalei o timeshift, as snapshots funcionam perfeitamente, porém, ao restaurá-las, o timeshift dá segmentation fault. Não faço a menor ideia do que seja, mas acredito que não seja problemas na instalação.

Pesquisei, e tem alguns gatos pingados falando sobre no Arch, mas sem respostas. Na melhor das hipóteses, isso pode está acontecendo por causa da maquina virtual. Eu peguei a última versão no repositório do LinuxMint, instalei usando uma ferramenta do Void que permite instalar pacotes debian, e sem sucesso.

De toda forma, vou marcar isso como resolvido, já que a dúvida era como instalar o Void com o BTRFS, mas fico grato caso consiga me ajudar com esse segmentation fault. Por hora, vou buscar outra ferramenta de snapshot para testar.

Quero agradecer novamente pela sua resposta e disposição, e perdão caso eu tenho sido muito noob no assunto.

1 curtida

Nunca me deparei com esse erro Segmentation fault no Timeshift. Eu mesmo cheguei a criar uma máquina virtual com o Void aqui para ver se esse erro aconteceria, mas o Timeshift funcionou perfeitamente, tanto para criar, como para restaurar snapshots (foi bom para conhecer um pouco esse sistema, com o qual nunca tive contato antes… rs).

Dê uma olhada nos arquivos de log localizados em /var/log/timeshift. Eles podem fornecer informações mais detalhadas sobre esse erro.

É uma possibilidade.

Também pode ser que a versão que você pegou do repositório do Linux Mint tenha alguma incompatibilidade com as bibliotecas do Void. Sugiro que atualize o sistema e baixe o Timeshift do próprio repositório do Void.

Bom, fico feliz em ajudar. E não há motivo para pedir perdão, afinal, esse fórum existe para ajudar os usuários a tirar suas dúvidas e aprender mais sobre Linux e tecnologia em geral. :slightly_smiling_face:

Enfim, vamos ver se surgem mais repostas…

Segmentation fault geralmente é quando há bug no programa e é acessada memória além da reservada para o programa.

Para testes, o melhor cenário seria criar uma máquina virtual para vc realizar os testes facilmente. Basicamente é criar os volumes antes da instalação, e seguir a instalação normal porque os volumes já estão montados. Depois é verificar o fstab se está correto. A primeira vez dá um nó no cérebro a questão dos subvolumes, mas o básico é lembrar que o volume padrão acaba ficando escondido e que precisa cuidar pro GRUB se achar nos subvolumes.

Particularmente eu acho o snapper muito melhor para gerenciar os snapshots, é muito mais configurável.

1 curtida

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.