두 개의 개별 파일 부분을 전체적으로 처리하는 방법(마운트, 가상 연결 등)은 무엇입니까? [복사]

두 개의 개별 파일 부분을 전체적으로 처리하는 방법(마운트, 가상 연결 등)은 무엇입니까? [복사]

8GB ISO 이미지 파일을 다운로드해 보았습니다. 안타깝게도 USB 드라이브의 파일 시스템은 FAT32입니다. 최대 파일 크기는 4GB에 불과합니다. 다운로드 과정이 어느 순간 중단됐는데, wget을 사용해 다운로드했더니 파일의 일부가 나왔습니다. 그런 다음 불완전한 파일의 크기를 확인하고 바이트 범위가 명확하게 정의된 cURL을 사용하여 다운로드를 계속했습니다. 다운로드가 성공적으로 완료되면 파일의 두 부분이 분리됩니다. 문제는 실제로 함께 복사하지 않고 가상 연결이나 설치 등 전체적으로 어떻게 처리할 수 있느냐는 것입니다. 하드 드라이브에 물리적으로 연결할 수 있는 여유 공간이 없기 때문에 16GB FAT32 펜 드라이브에 다운로드했습니다.

답변1

RAID 0 구성 요소를 사용해 볼 수는 있지만 부분 블록을 처리할 수 있는지 전혀 확신할 수 없습니다(즉, 소스 파일이 전체 블록 수여야 함).

실제 데이터를 결합하기 전에 시도해 볼 수 있는 실제 예제는 다음과 같습니다.

# Prepare two 10MB image files for the example
( echo hello; cat /dev/zero ) | dd bs=1M iflag=fullblock count=10 > /tmp/1.dat
( echo world; cat /dev/zero ) | dd bs=1M iflag=fullblock count=10 > /tmp/2.dat

# Set up loop devices
l1=$(losetup --show --find /tmp/1.dat)
l2=$(losetup --show --find /tmp/2.dat)

# Join them as RAID 0
mdadm --build /dev/md12 --level raid0 --raid-devices 2 "$l1" "$l2"

/dev/md12이제 두 부분을 전체적으로 읽고 쓸 수 있는 장치가 생겼습니다 .

분해는 반대입니다

mdadm --stop /dev/md12
losetup -d "$l1" "$l2"
rm /tmp/1.dat /tmp/2.dat

솔직히 말해서 적절한 파일 크기를 처리할 수 있는 파일 시스템으로 메모리 스틱을 포맷한 다음 ISO를 다시 다운로드하는 것이 더 좋습니다.

관련 정보