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