Mapeando a pasta home para um local diferente no fstab

2

Estou tentando mapear minha pasta /home para um local / unidade diferente na máquina. Quando vejo o arquivo fstab, vejo o seguinte:

/dev/mapper/cl-home     /home            xfs     defaults        0 0
/dev/mapper/cl-swap     swap            swap    defaults        0 0
/dev/sda1   /mnt/store/hd2      ntfs    defaults,auto   0   0

A minha pergunta é: qual é o cl in /dev/mapper/cl-home referindo-se a?

Estou bem para entrar assim:

/mnt/store/hd2/home/   /home        ntfs     defaults        0 0
    
por Joe White 06.05.2017 / 21:41

1 resposta

2

Em /etc/fstab , a primeira coluna é um local de volume e a segunda coluna é um diretório. O diretório é o ponto de montagem , ou seja, onde os arquivos estarão acessíveis. O local do volume indica onde os arquivos estão armazenados; Existem diferentes tipos de locais, dependendo do tipo de sistema de arquivos. Para sistemas de arquivos “normais”, os arquivos armazenados em um disco e o local do volume são uma partição de disco. Para um sistema de arquivos de rede como nfs ou cifs , isso indica um nome de host e um caminho exportado no host e assim por diante.

O que você tem atualmente, /dev/mapper/cl-home , designa uma partição usando o formato de volume do Linux ( LVM ). O nome do volume é dividido em duas partes: cl é um grupo de volumes (que abrange uma seção de um ou mais discos) e home é um volume lógico dentro deste grupo de volumes. O sistema não se importa que o volume lógico home e o diretório /home tenham o mesmo nome, mas é conveniente para humanos usarem o mesmo nome.

Se você quiser colocar o seu diretório home em uma partição existente do Windows, então você não pode simplesmente alterar o nome do volume aqui: /home não seria o lugar onde um sistema de arquivos em disco é montado. Existem várias maneiras de fazer isso:

  • Você pode usar uma montagem de ligação para tornar /mnt/store/hd2/home também acessível através de /home . As entradas do fstab seriam

    /dev/sda1  /mnt/store/hd2  ntfs
    /mnt/store/hd2/home  /home  bind
    

    Note que você não está montando um sistema de arquivos NTFS em /home : ele já está montado em /mnt/store/hd2 . Você está disponibilizando uma árvore de diretórios em outro local; o fato de essa outra árvore de diretórios estar totalmente localizada em uma partição NTFS não é relevante.

  • Você pode tornar /home um link simbólico para /mnt/store/hd2/home . Nesse caso, /home não apareceria em /etc/fstab .

  • Você pode usar uma montagem de ligação ou um link simbólico para o seu diretório home e deixar os outros diretórios sozinhos.

  • Você pode alterar seu diretório inicial para ser /mnt/store/hd2/home . Use uma GUI para gerenciar contas de uso ou use um comando como

    sudo usermod --home /mnt/store/hd2/linux-home --move-home joe
    

Eu não recomendo nenhuma dessas opções, porque o NTFS não pode armazenar todos os nomes, tipos e atributos de arquivos do Linux. Todas essas opções têm mais dicas:

  • As montagens de ligação são uma ferramenta muito útil, mas têm desvantagens. Os arquivos são listados em todos os locais nas enumerações, o que tem consequências em locate , etc , etc.
  • Um link simbólico não tem essas desvantagens, mas ocasionalmente algum software registra a localização do seu diretório pessoal com os links simbólicos expandidos. Ter um link simbólico para /home também pode causar problemas devido às políticas do AppArmor .
  • Até mesmo ter um diretório pessoal fora de /home pode causar armadilhas com políticas de segurança, embora isso deva ser aceitável em qualquer distribuição principal atualmente.

Em vez de colocar seu diretório home em um sistema de arquivos NTFS, eu recomendo mantê-lo em um sistema de arquivos Linux. Para acessar seus arquivos do Windows a partir do Linux, acesse-os em /mnt/store/hd2 . Crie links simbólicos em seu diretório inicial para lugares com /mnt/store/hd2 por conveniência.

    
por 06.05.2017 / 23:58