때때로 dd로 인해 동기화가 중단되는 경우가 있습니다.

때때로 dd로 인해 동기화가 중단되는 경우가 있습니다.

ddthen sync또는 ddwith 를 사용할 때 conv=fsync동기화 프로세스가 중단되는 경우가 있지만 입력 및 출력 대상과 구성이 정확히 동일하기 때문에 그렇지 않은 경우도 있습니다.

dd if=2016-03-18-raspbian-jessie-lite.img of=/dev/sdg conv=fsyn
sync # freeze here

또는

dd if=2016-03-18-raspbian-jessie-lite.img of=/dev/sdg conv=fsync

나는 Ubuntu, Linux Mint(오래 전)와 같은 다양한 배포판에서 이러한 일관되지 않은 동작을 경험했으며 현재는 Gentoo 및 4개의 다른 컴퓨터에서 경험했습니다.

답변1

pv image_file | dd of=/dev/slow_usb_stick나는 종종 디스플레이의 처음 수백 메가바이트가 (버퍼로) 지나가다가 전송 속도가 심각하게 느려지는 상황에 처하게 됩니다 . 종료 시 전체 버퍼를 플러시해야 합니다 dd. 그러다가 sync스틱을 제거하려면 버퍼가 크고 기기가 느리기 때문에 몇분을 더 기다려야 합니다.

그래서 아마도 인내심 일 것입니다. 버퍼 크기는 사용 가능한 메모리에 따라 다릅니다. 때로는 버퍼가 매우 커서 sync"고착"될 수도 있고 때로는 그렇지 않을 수도 있습니다. 이것은 추측입니다.


내가 관찰한 또 다른 현상은 sync모든 버퍼(즉, 모든 장치)를 플러시하는 것입니다. USB 스틱을 제거하고 싶을 때도 있었지만( dd플러그를 뽑은 후) sync동시에 HDD가 많은 쓰기 작업을 수행하느라 바빴습니다. HDD의 데이터 전송 속도가 너무 빨라서 버퍼를 지울 수 없습니다. 프리즈는 sync그 당시와 아무 관련이 없었습니다 dd. 그래서 sync다른 모든 장치에 관계없이 특정 장치를 타겟팅하고 종료할 수 있기를 원합니다 .

편집하다:

내 소원이 이루어졌습니다. 우분투 16.04.2 LTS sync (GNU coreutils) 8.25에는할 수 있는특정 파일 시스템을 대상으로 합니다. 오랫동안 살다!

관련 정보