dd를 사용하여 파일에서 다른 파일의 특정 위치로 데이터를 복사하면 출력 파일이 잘립니다.

스티브

단일 파일 시스템을 포함하는 루프백 파일이 있습니다 fs.image. 여러 파티션과 여러 파일 시스템을 포함하는 훨씬 더 큰 루프백 파일이 있습니다 disk.image.

fs.image의 파티션 중 하나와 정확히 같은 크기입니다 disk.image. 데이터를 disk.image올바른 위치에 파일로 복사하고 싶습니다 .

적절한 오프셋을 계산하는 스크립트가 있으며 dd. 블록 장치에서 작동하기 때문에 이것이 작동 할 것이라고 생각했지만 그렇지 않습니다. disk.image방금 쓴 데이터 바로 다음 위치에서 잘립니다.

dd파일이 잘리지 않도록하는 방법이 있습니까?

fs.image로 압축되고 fs.image.bz2내가 실행중인 명령은 다음과 같습니다.

bzcat fs.image.bz2 | dd of=disk.image bs=4M seek=$OFFSET

$OFFSET계산 된 오프셋은 어디에 있습니까 ?

이를 수행하는 다른 방법에 대해 생각해 보았지만 이것이 가장 간단 해 보입니다 (작동한다면). 한 번 옵션은 다른 파일에 삽입 지점까지 데이터를 복사하고 파일 시스템을 추가하고 마지막으로 원본 파일의 나머지 부분을 추가하는 것입니다. 그러나 실제로 필요하지 않은 많은 데이터를 복사하므로 속도가 느립니다. 나는 다른 옵션에 열려 있습니다.

mpy

GNU dd(최소 버전 8.23)에는 다음과 같은 변환 플래그가 있습니다.

notrunc 는 출력 파일을 자르지 않습니다.

정확히 원하는 것을 수행합니다. 다음은 작은 예입니다.

$ cat foo
foobar
$ echo -n XX | dd of=foo bs=1c seek=1 conv=notrunc
2+0 records in
2+0 records out
2 bytes (2 B) copied, 0.000283698 s, 7.0 kB/s
$ cat foo
fXXbar

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관