Movendo 4 pastas do sistema para 1 partição separada

1

Alguns antecedentes: Eu instalei o Linux Mint 17 Cinnamon no meu laptop SSD em uma partição formatada de 10GB e tenho outro HDD com 75GB, ambos em formato ext4.

A parte da questão: Eu tenho duas partições que permitem chamá-las Sistema (sda1) e Dados (sdb1) .

Como faço para mover as pastas: home , usr , var e tmp para o Dados (sdb1) e torná-los acessíveis a partir do sistema raiz?

Eu tentei links simbólicos e fstab com uma lógica fraca que não funcionou.

O que eu adicionei no meu /etc/fstab :

UUID=XXX-Data-drive-UUID-XXX /media/data ext4 default 0 1 
/media/data/tmp /tmp ext4 default 0 1
/media/data/home /home ext4 default 0 1
/media/data/usr /usr ext4 default 0 1
/media/data/var /var ext4 default 0 1

Alguém pode pelo menos me apontar na direção certa?

- Editado -

A resposta funcionou, mas apenas para ajudar quem quer que esteja seguindo esse caminho:

Primeiro, eu copiei com o comando cp -rp (-r para recursivo e -p para manter as mesmas permissões, sem -p tudo pertencerá ao root)

Eles mudaram o / etc / fstab como resposta, a cláusula bind realmente funcionou.

Eles reiniciei com um liveUSB apenas para renomear as pastas antigas no Sistema (sda1) e evitar algum tipo de conflito.

E eles começaram normalmente, sem um único erro.

    
por Not a privileged user 30.05.2015 / 23:03

2 respostas

3

Parece-me que você está tentando montar diretórios que já estão montados (ou parte de uma montagem) em um local diferente. A maneira de fazer isso é mount -o bind . Então você teria algo assim:

UUID=XXX-Data-drive-UUID-XXX /media/data ext4 defaults 0 1 
/media/data/tmp /tmp ext4 defaults,bind 0 0
/media/data/home /home ext4 defaults,bind 0 0
/media/data/usr /usr ext4 defaults,bind 0 0
/media/data/var /var ext4 defaults,bind 0 0

(você também pode dizer defaults , não default , que eu mudei aqui)

PS: As montagens de bind não devem ser verificadas, então eu editei a resposta para "0 0"

    
por 31.05.2015 / 00:36
0

Você pode tentar isso:

  • copie todos os arquivos para uma nova partição, certificando-se de que o conteúdo de /usr não muda enquanto você está fazendo isso.
  • editar /etc/fstab so que /usr será montado na próxima reinicialização
  • reinicializar
  • exclua os arquivos antigos

Copiar arquivos: Eu usaria cp -a . -a é a opção de arquivamento. Na página do manual:

-a, --archive

    same as -dR --preserve=all
-d
    same as --no-dereference --preserve=links
-P, --no-dereference
    never follow symbolic links in SOURCE
--preserve[=ATTR_LIST]
    preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
-R, -r, --recursive
    copy directories recursively

Editando /etc/fstab :

Você precisa saber o UUID de sua nova partição. Você pode ver o mapeamento fazendo:

$ ls -l /dev/disk/by-uuid/

E adicione essa linha a /etc/fstab:

UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr           ext4    defaults        0       2

Altere o UUID para o seu UUID e altere ext4 para o tipo de sistema de arquivos que você está usando - você deve saber isso se tiver configurado a partição. Exclua os arquivos antigos

Após a reinicialização, os arquivos antigos em /usr na partição raiz serão ocultados pela nova partição montada em /usr . Mas podemos usar alguns truques de ligação de montagem para acessar os arquivos antigos e excluí-los.

$ sudo mount --bind / /mnt
$ sudo rm -rf /mnt/usr
$ sudo umount /mnt

Mas alguns erros de digitação (digamos, apertar Enter quando você digitou apenas sudo rm -rf / mnt) podem causar um desastre, então eu usaria esse método apenas se você estivesse muito confiante no que estava fazendo, realmente poderia t lidar com qualquer tempo de inatividade, ou não teve acesso físico à máquina e, portanto, não foi possível inicializar um live CD ou pendrive ao vivo.

    
por 31.05.2015 / 00:36