sync
USB 지우기 또는 기타 장치를 사용할 때 명령을 사용하여 캐시된 쓰기를 영구 저장소에 동기화해야 합니까 /dev/urandom
?
이는 일반적인 관행입니다 dd if=/dev/urandom of=/dev/sdx && sync
.
하지만 이것이 정말로 필요한가? 이 sync
명령을 생략할 수 있나요?
참고하세요이 질문은 유틸리티 conv=sync
의 옵션을 참조하는 것이 아니라 dd
다음 sync
과 함께 사용할 수 있는 독립 실행형 명령을 참조합니다 dd
.동기화, 여기에 인용됨전환=동기화. 둘 다 출신https://www.kernel.org/doc/man-pages/.
감사해요
답변1
sync
관련된 것으로 특별히 사용되지는 않습니다 /dev/urandom
. 보류 중인 모든 쓰기가 장치로 전송되었는지 확인하는 데 사용됩니다. 이는 이동식 장치로 작업할 때 특히 중요합니다. 장치 sync
를 실행하고 완료될 때까지 기다리면 장치를 안전하게 제거할 수 있습니다.
기기를 초기화할 때 기기를 생략 sync
하고 연결을 끊으면 기기 초기화가 완료되지 않았을 수 있습니다...
답변2
호출 sync()
은 장치와 관련된 것이 아니라 파일 시스템과 관련된 것입니다.
블록 장치에 쓰면 sync()
버퍼가 플러시될 수 있지만 이 예에서 제안한 대로 원시 장치를 사용하면 sync()
의미가 없습니다.
경고: Linux에서는 관련 원시 장치를 찾기가 어려울 수 있습니다. 관련 원시 장치를 얻는 방법을 알아보려면 Linux 설명서를 확인하세요.