카메라로 동영상을 녹화했는데 동영상 파일이 포함된 디렉토리를 열면 수정 시간이 항상 틀리네요.
다음은 비디오의 스크린샷으로, 왼쪽 하단에 카메라가 제공한 정확한 시간과 날짜가 명확하게 표시되어 있습니다.
그러나 출력은 다음과 같습니다 ls -ltr
.
brett@brett-HP-Laptop-17-bs0xx:~/Vidéos$ ls -ltr
total 9604
-rw-r--r-- 1 brett brett 9832867 avr 27 05:04 REC_0039.MOV
brett@brett-HP-Laptop-17-bs0xx:~/Vidéos$
Linux에서는 실제로 동영상을 촬영한 시간보다 몇 시간 늦게 수정된 시간을 표시합니다. 왜 이런 일이 발생합니까? 파일 관리자에서 정확한 시간을 표시하는 방법은 무엇입니까?
답변1
모든 Unix 계열 시스템과 마찬가지로 Linux는 파일 타임스탬프를 내부적으로 UTC 형식으로 저장하며 디렉터리 목록을 얻을 때 타임스탬프는 세션에서 선택한 시간대로 변환됩니다.
해당 오류는 카메라 또는 Linux 시스템의 시간대가 잘못 설정된 경우 발생할 수 있습니다. 카메라는 확실히 맞다현지의하지만 UTC로 잘못 변환하여 타임스탬프가 잘못되거나 노트북이 예상한 것과 다른 시간대를 사용하여 UTC -> 현지 시간 변환에 오류가 발생할 수 있습니다.
date; date -u
노트북에서 실행하세요. 현지 시간과 UTC 시간이라는 두 개의 타임스탬프가 표시됩니다. 현지 시간은 정확하지만 UTC가 잘못된 경우 시간대가 잘못되었으며 노트북 시스템 시계의 UTC 시간이 잘못된 것입니다.
카메라에서 제거된 메모리 카드와 같은 것을 보고 있는 경우 마운트 옵션을 사용하여 카메라가 사용하는 시간대를 지정해야 할 수도 있습니다. VFAT/FAT32/exFAT 파일 시스템에서 Linux는 파일 시스템 타임스탬프를 가정합니다. 기본값은 현지 시간을 사용하여 저장됩니다.
마운트 옵션은 tz=UTC
카메라가 현지 시간이 아닌 파일 시스템에서 원시 UTC를 사용한다고 가정하거나, time_offset=<minutes>
카메라가 노트북에서 사용하는 UTC가 아닌 다른 시간을 사용하는 경우 시간 오프셋을 명시적으로 지정하는 데 사용할 수 있습니다.
답변2
카메라 파일의 파일 수정 시간은 현지 시간입니다. 그러나 Linux에서는 카메라 시간이 UTC 형식이라고 가정하고 이를 현지 시간으로 변환하므로 카메라 타임스탬프와 Linux에서 표시하는 수정 시간 사이에는 4시간의 차이가 있습니다.
카메라를 설치하기 전에 다음 명령을 실행하십시오.
timedatectl set-local-rtc 1
이제 설치된 카메라가 파일 관리자에 정확한 시간을 표시합니다.
RTC를 UTC 사용으로 되돌리려면 다음을 실행하세요.
timedatectl set-local-rtc 0