대용량 디렉토리를 외장 하드 드라이브 Linux에 복사하는 방법

대용량 디렉토리를 외장 하드 드라이브 Linux에 복사하는 방법

fdisk(실제로는 gnu fdisk)를 사용하여 3TB 외장 하드 드라이브를 ext4로 포맷하고 /media/external에 마운트한 후 전체 홈 디렉토리를 여기에 복사하려고 합니다.

첫 번째 시도는 성공했다고 생각했지만 잠시 후 프로세스가 중지되면서 복사된 홈 디렉토리로 CD를 이동할 수 없었습니다. CD가 실패한 것 같습니다.

sudo: cd: command not found

그런 다음 cp에 일부 제한이 있을 수 있다고 생각한 다음 tar를 사용하여 다시 시도했습니다.

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

내 홈 디렉토리 크기는 ~100G로 측정되었습니다. 내 홈 디렉토리에서 다음을 실행했습니다.

du -ch | grep total

나는 그것을 다음과 같이 마운트했습니다 :

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

/dev/sdd1이 표시되지 않는 동안 /dev/sdd표시되는 것을 마운트할 수 없습니다 .sudo fdisk -l

포맷할 때 가장 기본 설정인 1개의 파티션을 설정하고 나머지는 모두 기본값으로 설정했습니다. '잘못된 파티션 테이블 오류'가 발생하지 않아 올바르게 포맷된 것을 확인했습니다. 나는 이것에 익숙하지 않으므로 양해 해주십시오. 실수로 GUID를 선택했을 수도 있나요? 하지만 이를 확인하는 방법이나 필요에 따라 다시 포맷하는 방법을 모릅니다.

내가 잘못해서 눈에 띄는 것이 있습니까? 누군가가 fdisk 시퀀스를 제공하여 모든 것이 ext4로 포맷된 1개의 기본 파티션인지 확인할 수 있습니까?

다음은 포맷을 위해 수행한 작업에 대한 문서입니다. 가능하다면 명확하게/보충해주세요. 이전에 gparted 시도가 실패했을 수 있습니다.

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

답변1

  • 대한sudo: cd: command not found

    그건 정상입니다. cd는 쉘 내장입니다. 이는 대상 디렉터리가 존재하지 않는다는 의미는 아닙니다. 해당 디렉토리로 이동하기 위해 루트가 필요한 경우 "su - root"를 시도한 다음 대상으로 cd하십시오.

  • /dev/sdd를 마운트할 수 없다는 사실에 대해

    /dev/sdd는 전체 sd 디스크입니다(마스터 파티티노 테이블, 모든 것, 분할되지 않은 공간까지 포함). 파티션이 아닙니다. /dev/sdd1은 첫 번째 파티션입니다. 주의하세요: /dev/sdd1 을 마운트하고 싶지만 /dev/sdb1 에 fdisk가 표시됩니다(다른 디스크! /dev/sdb는 /dev/sdd와 다릅니다).

  • 새 드라이브가 백업을 수행하는 경우 tar |를 사용하는 대신 사용해야 합니다. ( cd dest ; tar), 매번 모든 것을 복사하고 (소스에서 삭제된 경우 대상 파일/디렉터리를 삭제하지 않음) 명령을 살펴봐야 합니다 rsync. 특히 로컬에서(그러나 원격 위치로 복사하는 경우에도 rsync는 파일 전체가 아닌 변경된 각 파일의 변경된 부분만 복사하므로) 하지만조심하다사용법: rsync는 처음에는 까다로울 수 있습니다. 많은 내용을 읽기 전에 "--delete" 옵션을 사용하지 마십시오. 반대편에 일치하는 항목이 없으면 소스 또는 대상 파일이 지워질 수 있습니다. 소스/대상 디렉토리를 지정하는 다양한 방법을 참조하세요. 때로는 rsync의 작동 방식에 따라 후행 "/"를 추가할 수도 있고 그렇지 않을 수도 있습니다.

답변2

귀하의 문제는 fdisk가 대용량 디스크를 수행하지 않는다는 것입니다. 으로 대체되었습니다 parted.

fdisk와 유사하며 최신 기술로 업데이트되었습니다. 디스크가 /dev/sdb라고 가정합니다( 확인 sudo parted -l).

  1. sudo parted /dev/sdb
  2. mklabel(gpt 유형)
  3. mkpart(기본 답변은 하나의 최대 크기 파티션을 만듭니다)
  4. q 헤어짐을 종료하려면
  5. sudo mkfs.ext4 /dev/sdb1파일 시스템을 만드는 것입니다.

그 후에는 sudo mount /dev/sdb1 /media/external. 먼저 다음을 사용하여 디렉토리를 소유하고 있는지 확인하는 것이 좋습니다.sudo chown tarabyte.tarabyte /media/external

나는 보통 rsync로컬 복사본을 포함하여 큰 복사본에 사용합니다. 출력이 더 좋고 중단이 발생하면 쉽게 재개됩니다.

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

자세한 내용은 을 참조하세요 man rsync.

관련 정보