저는 FAT32 형식의 USB 드라이브를 대량 복제하기 위해 Linux 시스템에서 실행되는 사용자 정의 Bash 스크립트를 사용하고 있습니다.
"숨김"과 같은 Windows 파일 속성을 유지해야 합니다.
나는 더 나은 안정성과 최적의 대역폭 사용을 위해 I/O 동기화를 강제하기 위해 최신 버전과 함께 사용 rsync
합니다 .dd
find
mkdir
일부 파일 속성을 유지한다고 맹목적으로 시도하고 전환했지만 -X
Windows -A
파일 속성에서는 작동하지 않는 것 같습니다.rsync
Linux 환경에서 Windows 파일 속성을 읽고 쓸 수 있는 방법이 있습니까?
더 쉬운 방법이 없으면 복사한 후 적용할 수 있습니다.
나는 전체 소스 파일 시스템을 원하지 않습니다 dd
. 특히 수백 개의 드라이브를 작성해야 할 때 최적화되지 않을 것이기 때문입니다. 때때로 드라이브의 용량은 16GB이고 그 안에 있는 파일은 몇 GB에 불과합니다. 멍청한 사람은 dd
16GB를 모두 복사하므로 프로덕션에서 작동하는 데 오랜 시간이 걸립니다.
웹을 검색했지만 Linux 확장 속성이 Windows 파일 속성과 아무 관련이 없는 것 같고 이 정보를 읽고 쓰는(또는 파일과 함께 복사하는) 방법을 찾지 못했습니다.
답변1
이 문제를 처리하는 몇 가지 방법을 생각해 볼 수 있습니다.
첫 번째는 사용하는 것입니다.Mtools파일을 복사합니다. 이것이 작동하려면 다음이 필요합니다."드라이브"를 정의하다(A: 소스 드라이브, B: 대상 드라이브) 다음을 사용하여 속성과 타임스탬프를 보존하면서 모든 것을 복사할 수 있어야 합니다.
mcopy -s -p -m a: b:
(테스트되지 않음).
fatattr
두 번째는 (대부분의 배포판에서 사용 가능) 을 사용하여 속성을 사후 처리하는 것입니다 . 마운트된 파일 시스템을 처리하므로 현재와 동일한 방식으로 파일 시스템을 복사한 다음 이를 사용하여 fatattr
모든 소스 파일의 모든 FAT 속성을 나열하고 이를 구문 분석하여 fatattr
대상 파일에 속성을 적절하게 설정하도록 지시합니다. .