PC 또는 랩톱에서 USB 드라이브로 복사 한 파일의 타임 스탬프에 문제가 있습니다. 원본 파일의 마지막 수정 시간과 복사 한 파일의 수정 시간이 다릅니다. 따라서 PC와 USB 드라이브간에 파일을 동기화하는 것은 매우 번거로운 작업입니다.
단계별 설명
GUI를 사용하거나 명령을 사용하여 PC / 노트북에서 USB 드라이브로 임의의 파일을 복사합니다.
cp -a file.txt /media/gabor/CORSAIR/
원본 파일의 마지막 수정 시간을 확인합니다.
$ ls -l --time-style=full-iso file.txt -rw-rw-r-- 1 gabor gabor 0 2018-09-22 15:09:23.317098281 +0200 file.txt
복사 한 파일의 마지막 수정 시간을 확인합니다.
$ ls -l --time-style=full-iso /media/gabor/CORSAIR/file.txt -rw-r--r-- 1 gabor gabor 0 2018-09-22 15:09:23.000000000 +0200 /media/gabor/CORSAIR/file.txt
보시다시피, 복사 된 파일의 마지막 수정 시간에서 초는 10 진수로 잘립니다. 그러나 명령을 입력하면
if ! [ file.txt -nt /media/gabor/CORSAIR/file.txt ] && ! [ file.txt -ot /media/gabor/CORSAIR/file.txt ]; then echo "The last modification times are equal."; fi
나는 출력을 얻는다 The last modification times are equal.
USB 드라이브를 마운트 해제했다가 다시 마운트하고 마지막 두 명령을 다시 실행하면 상황이 변경됩니다.
$ ls -l --time-style=full-iso /media/gabor/CORSAIR/file.txt -rw-r--r-- 1 gabor gabor 0 2018-09-22 15:09:22.000000000 +0200 /media/gabor/CORSAIR/file.txt $ if [ file.txt -nt /media/gabor/CORSAIR/file.txt ]; then echo "The file is newer on the PC."; fi The file is newer on the PC.
따라서 다시 마운트 한 후 복사 된 파일의 마지막 수정 시간이 1 초 더 줄어 듭니다. 그러나 추가 마운트 해제 및 마운트 해제는 더 이상 마지막 수정 시간에 영향을 미치지 않습니다. 게다가, 파일에 대한 테스트는 이제 PC의 파일이 최신 파일이라는 것을 보여줍니다.
날짜와 시간 설정이 PC와 랩톱에서 동일하더라도 파일의 마지막 수정 시간이 내 PC와 랩톱 에서 다르게 표시되므로 상황이 더욱 복잡해 집니다.
추가 정보
내 PC와 노트북 모두 위에서 설명한 동작을 보여줍니다. 내 PC에는 Ubuntu 14.04.5 (trusty)가 있고 랩톱에는 Ubuntu 16.04.2 (xenial)가 있습니다.
내 USB 드라이브에는 vfat 파일 시스템이 있습니다. mount | grep CORSAIR
내 PC 의 출력 은
/dev/sdb1 on /media/gabor/CORSAIR type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
mount | grep CORSAIR
내 노트북 의 출력 은
/dev/sdb1 on /media/gabor/CORSAIR type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
다른 USB 드라이브도 동일한 동작을 보여줍니다.
질문
마지막 수정 시간의 차이를 어떻게 든 제거 할 수 있습니까? 예를 들어, 마운트 / 마운트 해제시 다른 파라미터를 사용합니까? 아니면 우분투의 버그입니까?
원본 파일과 복사 된 파일의 타임 스탬프가 정확히 동일하므로 동기화를보다 효율적으로 수행 할 수 있습니다. 또한 vfat 파일 시스템을 USB 드라이브에 유지하여 Windows에서도 사용할 수 있습니다.
ext4
파일 시스템 과 같은 USB 드라이브에 다른 파일 시스템을 만드 시겠습니까? (Linux 독점 파일 시스템 인 FAT32, exFAT, NTFS에 대한 지원에는 약간의 제한이 있습니다.) 이 링크 는 Microsoft 독점 파일 시스템에 대한 대안ext4
뿐만 아니라udf
대안으로 제시됩니다.