Переміщення домашньої папки на другий диск


65

У мене на комп'ютері є 2 жорсткі диски. На даний момент другий привід встановлений як /media/storage.

Як я можу перемістити свої користувацькі дані з /homeдо /media/storage/home?

Чи можу я просто перемістити дані туди, а потім просто посилання їх назад?


Відповідь, яка використовує usermod, найпростіша: створити користувача адміністратора temp, перейти до цього облікового запису, usermod -m -d /path/to/non_existent_home_dir usernameповернутись до свого облікового запису (ім’я користувача), видалити користувача адміністратора temp. Хоча це ще 5 кроків, набагато менше, ніж інші відповіді, набагато менш ризиковані та простіші кроки.
Олівер

Відповіді:


31

Якщо ви хочете просто перемістити домашній каталог, тобто / home / your-username, просто скопіюйте свій домашній каталог на інший розділ і використовуйте System-> Administration-> Users & Groups, щоб відкрити діалогове вікно налаштувань користувачів. Клацніть на піктограмі клавіш, щоб підтвердити себе

alt текст

Після цього виберіть користувача, якого потрібно змінити, і натисніть властивості, перейдіть на вкладку «Додаткові»

alt текст

змініть домашній каталог на новий каталог, тобто каталог, який ви скопіювали в інший розділ.


3
Справді. це прекрасний спосіб легко змінити розташування домашнього каталогу конкретного користувача. Читаючи запитання, я розумів, що це було б для / home каталогу в усьому світі. У цьому випадку ви можете створити розділ на іншому пристрої, вручну перемістити всі файли туди, а потім змінити пристрій на точку монтування у файлі / etc / fstab.
jfmessier

3
@jfmessier: вам слід відповісти, а не коментувати!
Скізз

1
Якщо ви скопіюєте домашній каталог із командою 'cp' у командному рядку, краще використовувати 'cp -rPa *': r для рекурсивного, P для не наступних посилань, a для збереження прапорців власності та дозволів.
drevicko

1
У Unity в 13.04 немає "Користувачів і груп", лише налаштування "Користувачі", яке не включає ці параметри. Чи можете ви згадати відповідні умови Unity в 13.04?
Torben Gundtofte-Bruun

Якщо для Вашого використання Ubuntu 12.04 або новішої можливості, то використовувати метод GUI може бути недоступним, принаймні для мене це не так. Мені довелося використовувати цей метод, знайдений тут: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots

84

Переміщення HOME з командного рядка

Щоб уникнути побічних ефектів під час роботи в графічному середовищі, ми повинні виконувати всі дії для переміщення ДОМАШНОГО терміналу з Ctrl+ Alt+ F1.

Тимчасово змонтуйте новий розділ:

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

припущення / sdb1 - це новий розділ HOME

Скопіюйте HOME на нове місце:

sudo rsync -avx /home/ /mnt/tmp

Тоді ми можемо змонтувати новий розділ як HOME за допомогою

sudo mount /dev/sdb1 /home

щоб переконатися в наявності всіх даних. Найпростіше видалити старе /homeв цей момент (ви могли це зробити пізніше, але тоді вам доведеться завантажувати живу систему, щоб побачити старий дім):

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

Зробіть ДОМАШНЮ постійною

Нам потрібно знати UUID нового розділу для fstabзапису, який видно з:

sudo blkid

Зверніть увагу , чи копіювати / вставити правильний UUID , щоб змінити свою fstabз

sudo nano /etc/fstab   #or any other editor

і в кінці додайте наступний рядок:

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

Виберіть тут відповідну файлову систему, наприклад, ext3якщо формат ext3

Перезавантажте

Після перезавантаження ваш /homeносій знаходиться на новому диску, маючи достатньо місця.


1
Не працювали для мене.
corev

2
Я рекомендую вийти з профілю, який ви хочете перемістити, ви також можете використовувати інструменти розповсюдження, як usermodдля цього завдання.
LiveWireBT

Це спрацювало! Дякую. Чи можна видалити /mnt/tmpпісля перезавантаження?
e9t

@ e9t: це лише точка монтування, яку ми створили, щоб мати змогу тимчасово встановити наш ДОМ. Цю точку кріплення можна видалити, але це не завдасть шкоди (і може бути безпечніше) просто зберегти її. Якщо з будь-якої причини ви все-таки хочете його видалити, будьте обережні, щоб там нічого не було встановлено (інакше ви ризикуєте безповоротно видалити всі дані, на які ви встановили /mnt/tmp).
Таккат

1
Я пішов за цими інструкціями для мого сервера , і тепер я не можу отримати доступ до нього через SSH (Доступ заборонений (ОткритийКлюч) :( :( :(
Khue

13

Офіційна детальна процедура знаходиться тут на вікі довідки Ubuntu


Знайдіть UUID розділу

sudo blkid

Налаштувати Fstab

sudo -H gedit /etc/fstab 

і додайте в нього ці рядки

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

і замініть на ????????номер UUID призначеного /homeрозділу.

Збережіть і закрийте fstabфайл, а потім введіть таку команду:

sudo mkdir /media/home

Скопіюйте /homeу новий розділ

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

Перевірте, чи працювало копіювання

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

Примітка. Ви також можете очікувати появи деяких помилок щодо файлів, які не знайдено. Вони пояснюються символічними посиланнями, які вказують на місця, які наразі не існують (але це стане після перезавантаження). Ви можете їх ігнорувати - але перевірити що-небудь інше.

Підготовка fstab до вимикача

sudo -H gedit /etc/fstab

а тепер відредагуйте рядки, які ви додали раніше, змінивши /media/homeчастину, щоб просто сказати /homeтак, щоб вона виглядала так:

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

Переїзд /homeу/old_home

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

Перезавантажте або перезавантажте всі

Перезавантажте або перезавантажте все з цим:

sudo mount -a

10
Ласкаво просимо до Ask Ubuntu! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Елія Каган

7

Справді. це прекрасний спосіб легко змінити розташування домашнього каталогу конкретного користувача. Читаючи питання, я розумів, що це було б для / home каталогу в усьому світі. У цьому випадку ви можете створити розділ на іншому пристрої, вручну перемістити всі файли туди, а потім змінити пристрій для точки монтування у самому файлі / etc / fstab


2

ОК, єдиний спосіб, коли я знайшов це, - це створити іншого користувача, надати йому адміністратор, авторизувати основний ідентифікатор, увійти з новим ідентифікатором, а потім використовувати команду usermod.


0

Завдання:

  • Перевірте наявність та відформатуйте два жорсткі диски: "WD Purple" та "WD Gold".
  • Встановіть два жорсткі диски до файлової системи Ubuntu.
  • Перемістіть папку HOME на жорсткий диск "WD Gold".

Пов’язані посилання:

Форматування дисків

Підключіть усі необхідні кабелі SATA та живлення до своїх жорстких дисків. Завантажте Ubuntu. Натисніть клавіатуру і введіть "Диски". Відкриється утиліта "Диски": введіть тут опис зображення

У цій утиліті ви можете відформатувати свої жорсткі диски у файлову систему Ext4. В іншому випадку для форматування дисків використовуйте команди:

  1. fdisk (людина fdisk);
  2. розлучився (людина розлучився);
  3. mkfs (людина mkfs)

Наприклад, але я не впевнений у параметрах, оскільки використовувався графічний інтерфейс "Диски":

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

Майте на увазі, що форматування видалить усе на цільовому жорсткому диску . Ви можете пропустити цей крок, якщо на жорсткому диску є якісь дані, і ви хочете їх не втратити.

Повільне форматування повинно зайняти багато часу: від 16 до 20 годин на диску 4 ТБ.

Постійно монтуйте диски

# 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

Переміщення HOME з командного рядка

# 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.