Mover a pasta pessoal para a segunda unidade

65

Eu tenho 2 unidades de disco rígido no meu computador. No momento, o segundo drive é montado como /media/storage.

Como posso mover meus dados de usuário de /homepara /media/storage/home?

Posso simplesmente mover os dados para lá e simplesmente vincular novamente os dados?

Stann
fonte
A resposta que usa usermod é mais fácil: crie um usuário administrador temporário, alterne para essa conta, usermod -m -d /path/to/non_existent_home_dir usernameretorne à sua conta (nome de usuário), remova o usuário administrador temporário. Embora ainda sejam cinco etapas, muito menos do que outras respostas, etapas menos arriscadas e muito mais simples.
Oliver

Respostas:

31

Se você quiser apenas mover o diretório pessoal, ou seja, / home / seu nome de usuário , basta copiar o diretório pessoal para outra partição e usar Sistema-> Administração-> Usuários e Grupos para abrir a caixa de diálogo de configurações do usuário. Clique no ícone de chaves para se autenticar

texto alternativo

Depois disso, selecione o usuário que você deseja alterar e clique em Propriedades, vá para a guia Avançado

texto alternativo

altere o diretório inicial para o novo diretório, ou seja, o diretório que você copiou para outra partição.

binW
fonte
3
De fato. é uma ótima maneira de alterar facilmente o local do diretório inicial de um usuário específico. Ao ler a pergunta, eu estava entendendo que isso seria para o diretório / home globalmente. Nesse caso, você pode criar a partição no outro dispositivo, mover manualmente todos os arquivos para lá e alterar o dispositivo para o ponto de montagem no próprio arquivo / etc / fstab.
jfmessier
3
@ jfmessier: você deve fazer disso uma resposta em vez de um comentário!
Skizz
11
Se você estiver copiando seu diretório inicial com 'cp' na linha de comando, é melhor usar 'cp -rPa *': r para recursivo, P para não seguir os links e a para preservar sinalizadores de propriedade e permissão.
drevicko 28/02
11
A unidade no 13.04 não possui "Usuários e grupos", apenas uma configuração de "Usuários" que não inclui essas opções. Você pode mencionar os termos correspondentes para o Unity em 13.04?
Torben Gundtofte-Bruun 8/08/13
Se você estiver usando o Ubuntu 12.04 ou superior, a opção de usar o método GUI pode não estar disponível, pelo menos para mim, não está. Eu tive que usar este método encontrado aqui: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots
84

Movendo HOME da linha de comando

Para evitar efeitos colaterais ao trabalhar em um ambiente gráfico, devemos executar todas as ações para mover HOME de um terminal com Ctrl+ Alt+ F1.

Monte temporariamente a nova partição:

sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp

assumindo / sdb1 é a nova partição para HOME

Copie HOME para o novo local:

sudo rsync -avx /home/ /mnt/tmp

Podemos então montar a nova partição como HOME com

sudo mount /dev/sdb1 /home

para garantir que todos os dados estejam presentes. O mais fácil é excluir o antigo /homeneste momento (você pode fazer isso mais tarde, mas precisará inicializar um sistema ativo para ver o antigo lar):

sudo umount /home  #unmount the new home first!
rm -rf /home/*  #deletes the old home

Tornar HOME permanente

Precisamos conhecer o UUID da nova partição para a fstabentrada vista em:

sudo blkid

Nota ou copiar / colar o UUID correta para editar o seu fstabcom

sudo nano /etc/fstab   #or any other editor

e adicione a seguinte linha no final:

UUID=<noted number from above>    /home    ext4    defaults   0  2

Tome cuidado para escolher o sistema de arquivos apropriado aqui, por exemplo, ext3se o formato ext3

Reiniciar

Após uma reinicialização , você /homereside na nova unidade com bastante espaço.

Takkat
fonte
11
não funcionou para mim.
corev 27/09/11
2
Eu recomendo sair do perfil que você deseja mover; também é possível usar as ferramentas de distribuição como usermodpara esta tarefa.
LiveWireBT
Funcionou! Obrigado. Posso remover /mnt/tmpapós a reinicialização?
e9t
@ e9t: é apenas um ponto de montagem que criamos para poder montar temporariamente nossa HOME. É possível remover esse ponto de montagem, mas não fará mal (e pode ser mais seguro) mantê-lo. Se, por algum motivo, você ainda quiser removê-lo, tome cuidado extra para não ter nada montado nele (caso contrário, você corre o risco de excluir irreversivelmente todos os dados nos quais montou /mnt/tmp).
Takkat 13/09/2015
11
Eu segui estas instruções para o meu servidor e agora não consigo acessá-lo via SSH (permissão negada (chave pública) :( :( :(
Khue
13

O procedimento oficial detalhado está aqui no wiki de ajuda do Ubuntu


Encontre o UUID da partição

sudo blkid

Configurar o Fstab

sudo -H gedit /etc/fstab 

e adicione essas linhas nele

UUID=????????   /media/home    ext4    defaults    0  2 

e substitua o ????????pelo número UUID da /homepartição pretendida .

Salve e feche o fstabarquivo e digite o seguinte comando:

sudo mkdir /media/home

Copiar /homepara a nova partição

sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.

Verifique se a cópia funcionou

sudo diff -r /home /media/home -x ".gvfs/*"

Nota: Você também pode esperar ver alguns erros sobre arquivos não encontrados. Isso ocorre devido a links simbólicos que apontam para lugares que não existem atualmente (mas existirão após a reinicialização). Você pode ignorá-los - mas confira qualquer outra coisa.

Preparando o fstab para o switch

sudo -H gedit /etc/fstab

e agora edite as linhas que você adicionou anteriormente, alterando a /media/homeparte para simplesmente dizer /homepara que fique assim:

UUID=????????   /home   ext4    defaults     0  2 

Movendo /home- se para/old_home

cd / && sudo mv /home /old_home && sudo mkdir /home

Reinicialize ou remonte todos

Reinicie ou remonte tudo com isso:

sudo mount -a
Steve
fonte
10
Bem-vindo ao Ask Ubuntu! Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Elias Kagan
7

De fato. é uma ótima maneira de alterar facilmente o local do diretório inicial de um usuário específico. Ao ler a pergunta, eu estava entendendo que isso seria para o diretório / home globalmente. Nesse caso, você pode criar a partição no outro dispositivo, mover manualmente todos os arquivos para lá e alterar o dispositivo para o ponto de montagem no próprio arquivo / etc / fstab

jfmessier
fonte
2

ok, a única maneira que achei que isso funcionaria é criar outro usuário, conceder autoridade de administrador, efetuar logoff do ID principal, efetuar logon com o novo ID e, em seguida, usar o comando usermod.


fonte
0

Tarefa:

  • Verifique a disponibilidade e formate dois HDDs: "WD Purple" e "WD Gold".
  • Monte dois HDDs no sistema de arquivos Ubuntu.
  • Mova a pasta HOME para o disco rígido "WD Gold".

Links Relacionados:

Formatar discos

Conecte todos os cabos SATA e de alimentação necessários aos seus HDDs. Carregue o Ubuntu. Pressione o teclado e digite "Disks". O utilitário "Discos" será aberto: insira a descrição da imagem aqui

Neste utilitário, você pode formatar seus HDs no sistema de arquivos Ext4. Caso contrário, para formatar discos, use os comandos:

  1. fdisk (man fdisk);
  2. separou (homem separou);
  3. mkfs (homem mkfs)

Por exemplo, mas não tenho certeza dos parâmetros porque usei a GUI "Disks":

sudo mkfs.ext4 -L purple /dev/sdb  # not sure with parameters
sudo mkfs.ext4 -L gold   /dev/sdc  # not sure with parameters

Lembre-se de que a formatação excluirá tudo do disco rígido de destino . Você pode pular esta etapa se houver dados no disco rígido e não desejar perdê-los.

A formatação lenta deve levar muito tempo: de 16 a 20 horas para o disco de 4 TB.

Montar discos permanentemente

# Press CTRL+ALT+T and open a console.
# Check your /dev/sdb and /dev/sdc discs are visible:
lsblk
# Create directories for the new HDD WD Purple and WD Gold
sudo mkdir /hdd_purple
sudo mkdir /hdd_gold  # temporary directory
# Temporary mount to the new mount point
sudo mount /dev/sdb1 /hdd_purple
sudo mount /dev/sdc1 /hdd_gold
# Unmount drives
sudo umount /dev/sdb1
sudo umount /dev/sdc1

# Configuration file /etc/fstab has list of all partitions that will be mounted at boot.
# 1. Show and copy UUID of the HDD with this command:
sudo blkid
# My data is:
#     /dev/sdb1: LABEL="purple" UUID="6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60" TYPE="ext4" PARTUUID="a14c8357-a8ce-42e4-9772-64ccfad3e226"
#     /dev/sdc1: LABEL="gold" UUID="1d049c7c-4565-480b-a181-2459e8ff8c1b" TYPE="ext4" PARTUUID="4c691b21-b4e3-4dab-ab91-d7bf7272b2b5"
# Make a backup of that file to be able to revert changes.
sudo cp /etc/fstab /etc/fstab.2018.11.29.bak
# 2. Add a new partitions by editing /etc/fstab file as root:
sudo nano /etc/fstab
# 3. At the bottom of fstab file add 2 lines similar to this:
UUID=6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60   /hdd_purple   ext4   defaults           0  2
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b   /hdd_gold     ext4   defaults           0  2
# Your UUID have to be different!
# Write the file with keys <Ctrl+O> then <Return>. Quit the editor with <Ctrl+X>.
# If you have Midnight Commander running, then save before quitting with <Ctrl+X>,
# because <Ctrl+O> will switch from nano editor to your MC.

# To see if the drive is mounted correctly we can simulate the mount process at boot with:
sudo mount -a

Movendo HOME da linha de comando

# To avoid side effects while working in a graphical, environment
# we should perform all actions to move HOME from a terminal with Ctrl+Alt+F3.

# Press <Ctrl+Alt+F3> and swidth to console mode.
# Login in the console mode.

# Copy HOME to the new location:
sudo rsync -avx /home/ /hdd_gold

# Delete everything in the HOME directory.
# Be careful with this command, make sure you have a backup.
rm -rf /home/*

# Make HOME permanent -- edit /etc/fstab configuration file
sudo nano /etc/fstab
# Change string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /hdd_gold  ext4  defaults  0  2
# to string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /home      ext4  defaults  0  2
# /hdd_golds change to /home directory

# After a reboot, your /home resides on the new drive having plenty of space.
sudo reboot
FooBar167
fonte