Chuyển thư mục nhà sang ổ đĩa thứ hai


65

Tôi có 2 ổ đĩa cứng trong máy tính. Tại thời điểm thứ hai ổ đĩa được gắn kết như /media/storage.

Làm thế nào tôi có thể di chuyển dữ liệu của tôi sử dụng từ /homeđể /media/storage/home?

Tôi có thể di chuyển dữ liệu đến đó và sau đó chỉ cần liên kết lại dữ liệu không?


Câu trả lời sử dụng usermod là dễ nhất: tạo người dùng quản trị tạm thời, chuyển sang tài khoản đó usermod -m -d /path/to/non_existent_home_dir username, chuyển về tài khoản của bạn (tên người dùng), xóa người dùng quản trị tạm thời. Mặc dù vẫn còn 5 bước, cách ít hơn các câu trả lời khác, cách ít rủi ro hơn và cách đơn giản hơn.
Oliver

Câu trả lời:


31

Nếu bạn muốn di chuyển thư mục chính của mình tức là / home / your-username thì chỉ cần sao chép thư mục chính của bạn sang phân vùng khác và sau đó sử dụng System-> Quản trị-> Người dùng & Nhóm để mở hộp thoại cài đặt người dùng. Nhấp vào biểu tượng phím để tự xác thực

văn bản thay thế

Sau đó chọn người dùng mà bạn muốn thay đổi và nhấp vào thuộc tính, chuyển đến tab nâng cao

văn bản thay thế

thay đổi thư mục chính sang thư mục mới tức là thư mục mà bạn đã sao chép sang phân vùng khác.


3
Thật. đó là một cách tuyệt vời để dễ dàng thay đổi vị trí thư mục chính của một người dùng cụ thể. Trong khi đọc câu hỏi, tôi đã hiểu rằng điều này sẽ dành cho thư mục / home trên toàn cầu. Trong trường hợp này, bạn có thể tạo phân vùng trên thiết bị khác, di chuyển thủ công tất cả các tệp ở đó và sau đó thay đổi thiết bị cho điểm gắn kết trong chính tệp / etc / fstab.
jfmessier

3
@jfmessier: bạn nên đưa ra câu trả lời thay vì bình luận!
Skizz

1
Nếu bạn đang sao chép thư mục chính của mình bằng 'cp' trên dòng lệnh, tốt hơn bạn nên sử dụng 'cp -rPa *': r để đệ quy, P để không theo liên kết, để giữ quyền sở hữu và cờ cho phép.
drevicko

1
Unity trong 13.04 không có "Người dùng & Nhóm", chỉ có cài đặt "Người dùng" không bao gồm các tùy chọn này. Bạn có thể đề cập đến các điều khoản tương ứng cho Unity trong 13.04 không?
Torben Gundtofte-Bruun

Nếu bạn sử dụng Ubuntu 12.04 trở lên, tùy chọn sử dụng phương thức GUI có thể không khả dụng, ít nhất là đối với tôi thì không. Tôi đã phải sử dụng phương pháp này được tìm thấy ở đây: help.ubfox.com/community/Partitioning/Home/Moving
Kyle Coots

84

Di chuyển HOME từ dòng lệnh

Để tránh các tác dụng phụ trong khi làm việc trong đồ họa, môi trường chúng ta nên thực hiện tất cả các hành động để di chuyển HOME từ một thiết bị đầu cuối có Ctrl+ Alt+ F1.

Tạm thời gắn kết phân vùng mới:

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

giả sử / sdb1 là phân vùng mới cho HOME

Sao chép HOME vào vị trí mới:

sudo rsync -avx /home/ /mnt/tmp

Sau đó chúng tôi có thể gắn kết phân vùng mới dưới dạng HOME với

sudo mount /dev/sdb1 /home

để đảm bảo tất cả dữ liệu có mặt. Dễ nhất là xóa cái cũ /homevào thời điểm này (bạn có thể làm điều này sau nhưng sau đó bạn sẽ phải khởi động một hệ thống trực tiếp để xem nhà cũ):

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

Làm cho gia đình vĩnh viễn

Chúng ta cần biết UUID của phân vùng mới cho fstabmục nhập nhìn từ:

sudo blkid

Lưu ý hoặc sao chép / dán UUID đúng để chỉnh sửa của bạn fstabvới

sudo nano /etc/fstab   #or any other editor

và thêm dòng sau vào cuối:

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

Hãy cẩn thận để chọn hệ thống tập tin thích hợp ở đây, ví dụ: ext3nếu ext3 được định dạng

Khởi động lại

Sau khi khởi động lại , /homecư trú của bạn trên ổ đĩa mới có nhiều dung lượng.


1
Không làm việc cho tôi.
corev

2
Tôi khuyên bạn nên đăng xuất khỏi hồ sơ bạn muốn di chuyển, sau đó bạn cũng có thể sử dụng các công cụ phân phối như usermodcho nhiệm vụ này.
LiveWireBT

Nó đã làm việc! Cảm ơn. Tôi có thể gỡ bỏ /mnt/tmpsau khi khởi động lại không?
e9t

@ e9t: đó chỉ là một điểm gắn kết mà chúng tôi đã tạo để có thể tạm thời gắn kết TRANG CHỦ của chúng tôi. Có thể loại bỏ điểm gắn kết này nhưng sẽ không có hại (và có thể an toàn hơn) chỉ giữ nó. Nếu vì bất kỳ lý do nào bạn vẫn muốn xóa nó, vui lòng cẩn thận hơn để không có bất cứ thứ gì được gắn ở đó (nếu không, bạn có nguy cơ xóa tất cả dữ liệu bạn đã gắn vào /mnt/tmp).
Takkat

1
Tôi đã làm theo các hướng dẫn này cho máy chủ của mình và bây giờ tôi không thể truy cập vào nó thông qua SSH (Quyền bị từ chối (khóa công khai) :( :( :(
Khue

13

Quy trình chi tiết chính thức có ở đây trên wiki trợ giúp Ubuntu


Tìm UUID của phân vùng

sudo blkid

Thiết lập Fstab

sudo -H gedit /etc/fstab 

và thêm những dòng này vào nó

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

và thay thế ????????bằng số UUID của /homephân vùng dự định .

Lưu và đóng fstabtệp, sau đó nhập lệnh sau:

sudo mkdir /media/home

Sao chép /homevào phân vùng mới

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

Kiểm tra sao chép làm việc

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

Lưu ý: Bạn cũng có thể thấy một số lỗi về các tệp không được tìm thấy. Điều này là do các liên kết tượng trưng chỉ đến các địa điểm hiện không tồn tại (nhưng sẽ thực hiện sau khi bạn đã khởi động lại). Bạn có thể bỏ qua những điều này - nhưng kiểm tra bất cứ điều gì khác.

Chuẩn bị fstab cho công tắc

sudo -H gedit /etc/fstab

và bây giờ chỉnh sửa các dòng bạn đã thêm trước đó, thay đổi /media/homephần để nói đơn giản /homeđể nó trông như thế này:

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

Di chuyển /homevào/old_home

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

Khởi động lại hoặc kể lại tất cả

Khởi động lại hoặc kể lại tất cả với điều này:

sudo mount -a

10
Chào mừng bạn đến hỏi Ubuntu! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Eliah Kagan

7

Thật. đó là một cách tuyệt vời để dễ dàng thay đổi vị trí thư mục chính của một người dùng cụ thể. Trong khi đọc câu hỏi, tôi đã hiểu rằng điều này sẽ dành cho thư mục / home trên toàn cầu. Trong trường hợp này, bạn có thể tạo phân vùng trên thiết bị khác, di chuyển thủ công tất cả các tệp ở đó và sau đó thay đổi thiết bị cho điểm gắn kết trong chính tệp / etc / fstab


2

ok, cách duy nhất tôi thấy điều này sẽ hoạt động là tạo một người dùng khác, trao quyền cho quản trị viên, đăng xuất id chính, đăng nhập với id mới và sau đó sử dụng lệnh usermod.


0

Bài tập, nhiệm vụ:

  • Kiểm tra tính khả dụng và định dạng hai ổ cứng: "WD Purple" và "WD Gold".
  • Gắn hai ổ cứng vào hệ thống tập tin Ubuntu.
  • Di chuyển thư mục HOME sang ổ cứng "WD Gold".

Liên kết liên quan:

Định dạng đĩa

Cắm tất cả các dây cáp nguồn và SATA cần thiết vào ổ cứng của bạn. Tải Ubuntu. Nhấn bàn phím và gõ "Đĩa". Tiện ích "Đĩa" sẽ được mở: nhập mô tả hình ảnh ở đây

Trong tiện ích này, bạn có thể định dạng ổ cứng của mình thành hệ thống tệp Ext4. Mặt khác để định dạng đĩa sử dụng các lệnh:

  1. fdisk (người đàn ông fdisk);
  2. chia tay (người chia tay);
  3. mkfs (người đàn ông mkfs)

Ví dụ: nhưng tôi không chắc chắn với các tham số vì GUI "Disks" đã sử dụng:

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

Hãy nhớ rằng định dạng đó sẽ xóa mọi thứ trên đĩa cứng đích . Bạn có thể bỏ qua bước này nếu có bất kỳ dữ liệu nào trên đĩa cứng và bạn muốn không bị mất nó.

Định dạng chậm sẽ mất rất nhiều thời gian: từ 16 đến 20 giờ cho đĩa 4TB.

Gắn đĩa vĩnh viễn

# 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

Di chuyển HOME từ dòng lệnh

# 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.