Cách sao chép thư mục lớn vào ổ cứng ngoài Linux


1

Tôi đã định dạng ổ cứng ngoài 3TB là ext4 bằng fdisk (thực ra là gnu fdisk), gắn nó tại / media / bên ngoài và đang cố sao chép toàn bộ thư mục chính của tôi vào nó.

Nỗ lực đầu tiên của tôi, tôi nghĩ là thành công, nhưng sau một thời gian khi quá trình dừng lại, tôi không thể cd vào thư mục nhà được sao chép. cd dường như thất bại:

sudo: cd: command not found

Sau đó tôi nghĩ có thể có một số giới hạn đối với cp và sau đó thử lại bằng tar.

cd /from-stuff/
tar cf – . | (cd /to-stuff; tar xvf -)

Tôi đo kích thước thư mục nhà của tôi là ~ 100G. Khi trong thư mục nhà của tôi, tôi chạy:

du -ch | grep total

Tôi đã gắn nó là:

sudo mount -t ext4 /dev/sdd1 /media/external

Lưu ý rằng tôi không thể gắn kết /dev/sddmà hiển thị sudo fdisk -ltrong khi / dev / sdd1 thì không.

Khi định dạng tôi đã thiết lập mặc định nhất, 1 phân vùng, mặc định mọi thứ khác. Tôi xác nhận rằng định dạng chính xác bằng cách không có bất kỳ 'lỗi bảng phân vùng không hợp lệ.' Tôi mới làm điều này vì vậy xin vui lòng chịu đựng. Tôi có thể đã vô tình chọn GUID? nhưng không biết làm thế nào để kiểm tra hoặc định dạng lại từ đó đến bất cứ điều gì nó có thể cần phải được.

Có bất cứ điều gì rõ ràng mà tôi đã làm không chính xác? Ai đó có thể cung cấp một chuỗi fdisk để thực sự đảm bảo mọi thứ là 1 phân vùng cơ bản được định dạng là ext4?

Đây là tài liệu của tôi về những gì tôi đã làm để định dạng. Hãy làm rõ / gia tăng nếu bạn có thể. Có thể đã có một nỗ lực gparted thất bại trước đây:

sudo fdisk /dev/sdb # this will pull up an interactive menu
n       # create a new partition
p       # create a primary partition
[enter] # use default value of 1 for the partition number
[enter] # use default value of 256 for first sector
[enter] # use default value for last sector
w       # write these settings and leave the interactive menu

# make the file system
sudo mkfs.ext4 /dev/sdb1

sudo cdkhông có ý nghĩa gì. Điều gì sẽ là điểm của một quá trình thay đổi thư mục làm việc hiện tại của chính nó và sau đó chấm dứt?
David Schwartz

Câu trả lời:


0
  • về sudo: cd: command not found

    Đó là một bình thường. cd là một vỏ dựng sẵn. Điều này không có nghĩa là thư mục đích không tồn tại. Hãy thử "su - root" nếu bạn cần root để đi đến thư mục đó và sau đó cd đến đích.

  • về thực tế / dev / sdd không thể được gắn kết

    / dev / sdd là toàn bộ đĩa sd (bao gồm bảng partitino chính của nó, mọi thứ, thậm chí cả không gian chưa phân chia). Nó không phải là một phân vùng. / dev / sdd1 là phân vùng đầu tiên của nó. Và hãy cẩn thận: bạn hiển thị bạn muốn gắn kết / dev / sdd1, nhưng bạn hiển thị một fdisk trên / dev / sdb1 (một đĩa khác! / Dev / sdb khác với / dev / sdd)

  • nếu ổ đĩa mới đó là để tạo bản sao lưu: bạn nên, thay vì sử dụng tar | (cd Dest; tar), sao chép mọi thứ mỗi lần (và sẽ không xóa các tệp / thư mục đích nếu chúng bị xóa trên nguồn), bạn nên xem xét lệnh rsync. Đặc biệt là cục bộ (nhưng cũng khi sao chép vào một vị trí từ xa, vì rsync sẽ chỉ sao chép các phần đã thay đổi của mỗi tệp đã thay đổi, chứ không phải toàn bộ tệp). Nhưng hãy cẩn thận khi sử dụng: rsync có thể khó khăn lúc đầu. Không sử dụng tùy chọn "- xóa" trước khi đọc nhiều về nó, nó có thể xóa sạch các tệp nguồn hoặc tệp đích nếu chúng không khớp ở phía bên kia ... xem các cách khác nhau để chỉ định thư mục nguồn / Destinatino, đôi khi bạn sẽ thêm dấu "/", đôi khi không, tùy thuộc vào cách bạn muốn rsync hoạt động.


1
Cảm ơn tất cả các bạn đã trả lời. Tôi không thể bỏ phiếu cho bất kỳ ai trong số họ vì tôi chưa có tiếng tăm
tarabyte

cảm ơn bạn đã cảnh báo để làm rõ bài gốc, chúng ở trên các máy tính khác nhau. tôi đã định dạng trên một chiếc netbook và gắn trên một tòa tháp khác vì vậy / dev / sdd vs. / dev / sdb vẫn an toàn
tarabyte

0

Tôi đoán vấn đề của bạn là fdisk không làm đĩa lớn. Nó đã được thay thế bởi parted.

Nó tương tự như fdisk, vừa được cập nhật cho công nghệ mới hơn. Giả sử đĩa là / dev / sdb (kiểm tra với sudo parted -l):

  1. sudo parted /dev/sdb
  2. mklabel (loại gpt)
  3. mkpart (anwswers mặc định tạo một phân vùng kích thước tối đa)
  4. q để thoát khỏi chia tay
  5. sudo mkfs.ext4 /dev/sdb1 để làm cho hệ thống tập tin.

Sau đó nó chỉ là một vấn đề sudo mount /dev/sdb1 /media/external. Sẽ là một ý tưởng tốt để đảm bảo bạn sở hữu thư mục đầu tiên vớisudo chown tarabyte.tarabyte /media/external

Tôi thường sử dụng rsynccho các bản sao lớn, thậm chí địa phương. Nó có đầu ra tốt hơn và tiếp tục dễ dàng nếu có sự gián đoạn.

rsync -avh --progress /from-stuff /to-stuff

Xem man rsyncđể biết thêm.


tôi đã nâng cấp lên gnu-fdisk để xử lý giới hạn 2TB tôi đoán fdisk đã có. tôi sẽ thử chia tay, cảm ơn bạn
tarabyte

nhấn enter khi được nhắc để bắt đầu mặc định không hoạt động. Làm thế nào tôi có thể biết số tôi nên đặt ở đây?
tarabyte

Ồ vâng. Tôi thường sử dụng 1, cho 1 megabyte. Căn chỉnh chính xác. Xin lỗi vì điều đó.
ssmy
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.