Как установить локальное время?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

MiK13
Сообщения: 1002
ОС: Linux Debian

Как установить локальное время?

Сообщение MiK13 »

Когда я раньше устанавливал Debian, то в конце был вопрос о том, какое время установлено на аппаратных часах. И рекомендация: если кроме Linux есть другие системы, то желательно ставить локальное время, а не мировое.
Я сначала не придавал этому значения, но потом заметил, что если поставить мировое время, то время файлов на разделе *FAT сдвигается на величину часового пояса. То есть, например, файл на флешке записан в 19 часов, а система показывает, что он записан в 22 часа.
Поэтому я всегда ставил локальное время.
Но при установке Debian 11 я такого вопроса не видел (пропустил?) И сейчас при копировании файлов с флешек, на которых vfat или exfat время файлов сдвигается вперёд на 3 часа.
Можно ли это как-то исправить?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18981
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: Как установить локальное время?

Сообщение Bizdelnick »

Часовой пояс аппаратных часов ко времени в метаданных файла не имеет абсолютно никакого отношения. Он важен только если в дуалбуте винда, которая хронически не дружит с UTC (теоретически это могло измениться, но верится в такое уже с большим трудом). А время может «сдвигаться» исключительно оттого, что система его неправильно пишет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

MiK13
Сообщения: 1002
ОС: Linux Debian

Re: Как установить локальное время?

Сообщение MiK13 »

Вот лист двух файлов, записанных сегодня на концерте (длился 19-21).
На компьютере с Debian 11

Shell

mik13@md5:/media/mik13/0123-4567/DCIM/100_ZOOM$ ls -l *.MOV | tail -2
-rwxr-xr-x 1 mik13 mik13 43263592248 ноя 23 23:10 ZOOM0075.MOV
-rwxr-xr-x 1 mik13 mik13 36193946952 ноя 24 00:27 ZOOM0076.MOV
То же самое на компьютере с Debian 10 (поставил систему давно, BullSeye ещё не ставил)

Shell

mik13@MD410:/media/mik13/0123-4567/DCIM/100_ZOOM$ ls -l *.MOV | tail -2
-rwxrwxrwx 1 mik13 mik13 43263592248 ноя 23 20:10 ZOOM0075.MOV
-rwxrwxrwx 1 mik13 mik13 36193946952 ноя 23 21:27 ZOOM0076.MOV
Время различается на 3 часа.
Bizdelnick писал:
24.11.2021 00:38
Часовой пояс аппаратных часов ко времени в метаданных файла не имеет абсолютно никакого отношения.
Да. К метаданным файла часовой пояс отношения не имеет.
Но вот ещё один эксперимент

Shell

root@md5:/media/mik13/0123-4567/DCIM/100_ZOOM# ls -l *.MOV | tail -2
-rwxr-xr-x 1 mik13 mik13 43263592248 ноя 23 23:10 ZOOM0075.MOV
-rwxr-xr-x 1 mik13 mik13 36193946952 ноя 24 00:27 ZOOM0076.MOV
root@md5:/media/mik13/0123-4567/DCIM/100_ZOOM# ls -l /etc/localtime
lrwxrwxrwx 1 root root 32 ноя 1 01:20 /etc/localtime -> /usr/share/zoneinfo/Europe/Minsk
root@md5:/media/mik13/0123-4567/DCIM/100_ZOOM# mv /etc/localtime /etc/localtime1
root@md5:/media/mik13/0123-4567/DCIM/100_ZOOM# ls -l *.MOV | tail -2
-rwxr-xr-x 1 mik13 mik13 43263592248 ноя 23 20:10 ZOOM0075.MOV
-rwxr-xr-x 1 mik13 mik13 36193946952 ноя 23 21:27 ZOOM0076.MOV
После того, как я "убрал" (переименовал) файл /etc/localtime система показала для этих файлов то время, которое записана в каталоге на флешке.
И ещё один эксперимент.
Spoiler
Краткое пояснение. При копировании файлов (фотографий, видео) на диск я даю им имя в формате
YYMMDDhhmmss_камера_NNNN.ext
YYMMDDhhmmss -- время съёмки из EXIF или из информации о файле
камера -- краткое название камеры, которой снимал
NNNN.ext -- номер, данный файлу камерой и расширение файла.

Shell

mik13@md5:/media/mik13/T4K2/Концерты/!By_Date/2021-04-24_НББ$ lt 210424150528_EPL9_0237.JPG 210424150528_EPL9_0237.ORF 210424150535_EPL9_0238.JPG
-rwxrwxrwx 2 mik13 mik13 3231814 2021-04-24 12:05:28.000000000 +0000 210424150528_EPL9_0237.JPG
-rwxrwxrwx 2 mik13 mik13 15776964 2021-04-24 12:05:28.000000000 +0000 210424150528_EPL9_0237.ORF
-rwxrwxrwx 2 mik13 mik13 3216722 2021-04-24 12:05:34.000000000 +0000 210424150535_EPL9_0238.JPG
Здесь я восстановил файл /etc/localtime

Shell

mik13@md5:/media/mik13/T4K2/Концерты/!By_Date/2021-04-24_НББ$ lt 210424150528_EPL9_0237.JPG 210424150528_EPL9_0237.ORF 210424150535_EPL9_0238.JPG
-rwxrwxrwx 2 mik13 mik13 3231814 2021-04-24 15:05:28.000000000 +0300 210424150528_EPL9_0237.JPG
-rwxrwxrwx 2 mik13 mik13 15776964 2021-04-24 15:05:28.000000000 +0300 210424150528_EPL9_0237.ORF
-rwxrwxrwx 2 mik13 mik13 3216722 2021-04-24 15:05:34.000000000 +0300 210424150535_EPL9_0238.JPG
Впечатление, что система считает, что в каталоге у файла мировое время. Хотя аппараты пишут местное время.
И если при установке системы указать, что в часах компьютера время местное (если ещё есть винда), то Linux для файлов на разделе типа FAT коррекцию времени не делает (с NTFS ещё не разбирался)

P.S. Однажды начальник возмутился: "Как это так? Сейчас 10 часов утра, я только что созданные файлы протокола переписал на флешку, вставил её в своё компьютер, а он показывает, что у файлов 7 часов утра"
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18981
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: Как установить локальное время?

Сообщение Bizdelnick »

MiK13 писал:
24.11.2021 01:56
Впечатление, что система считает, что в каталоге у файла мировое время. Хотя аппараты пишут местное время.
И если при установке системы указать, что в часах компьютера время местное (если ещё есть винда), то Linux для файлов на разделе типа FAT коррекцию времени не делает (с NTFS ещё не разбирался)
Ещё раз. То, что Вы указали при установке, влияет только на преобразовании времени при чтении из аппаратных часов и сохранении в них. Для всего остального используется системное время, которое не зависит от того, как там что преобразовывалось (при условии, что преобразовалось правильно, конечно).
MiK13 писал:
24.11.2021 01:56
После того, как я "убрал" (переименовал) файл /etc/localtime система показала для этих файлов то время, которое записана в каталоге на флешке.
Угу, только системное время при этом слетело, угадал?
MiK13 писал:
24.11.2021 01:56
Время различается на 3 часа.
Вы сравниваете две разных версии дистрибутива с разными версиями ядра и разными настройками. Я верю, что в одной из них может быть какой-то косяк в чтении дат, но причину его Вы ищете не там.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Kopilov
Сообщения: 839
ОС: [K]Ubuntu, Debian

Re: Как установить локальное время?

Сообщение Kopilov »

Bizdelnick писал:
24.11.2021 00:38
винда, которая хронически не дружит с UTC
В те далёкие времена, когда у меня был дуалбут — дружила: https://superuser.com/questions/185773/does-windows-7-support-utc-as-bios-time

Да и сейчас дружит, вроде: https://superuser.com/questions/975717/does-windows-10-support-utc-as-bios-time
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18981
Статус: ✡ иностранный агент
ОС: Debian GNU/Linux

Re: Как установить локальное время?

Сообщение Bizdelnick »

Kopilov писал:
24.11.2021 11:01
В те далёкие времена, когда у меня был дуалбут — дружила
У меня он был в ещё более далёкие времена, и тогда (в XP) это адски глючило (время в какой-то момент сбивалось несмотря на настройку). Вроде бы, на форуме кто-то писал то же про более новые версии винды. Но сам я не проверял, так что утверждать не берусь.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
algri14
Сообщения: 906
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Как установить локальное время?

Сообщение algri14 »

Держу вин-7 в дуале, за 7 лет настройки времени ни разу не сбивались. При установке бралось системное время из BIOS'а, в линуксе потом доустанавливал пакет для синхронизации с интернетовским.
Спасибо сказали:

MiK13
Сообщения: 1002
ОС: Linux Debian

Re: Как установить локальное время?

Сообщение MiK13 »

У меня вообще сейчас какая-то "мистика" :)
Смотрю настройки аппарата. Время -- впереди на 6 минут. Мелочи.
Сделал сейчас им два снимка -- на флешке время у этих файлов "правильное". То есть видно, что я снял сейчас.
Но время файлов предыдущих снимков (те, что снимал вчера) -- на компьютере с Buster "правильное". А вот на компьютере с BullSeye -- на три часа больше.
Но это ерунда. На этом же компьютере, но в 10-й винде у "новых" файлов правильное, а у вчерашних -- на 3 часа больше.
Spoiler
Компьютер 1 (Debian 10 Buster)

Shell

mik13@MD410:/media/mik13/E-PL9/DCIM/100OLYMP$ lt
итого 26330624
-rwxrwxrwx 1 mik13 mik13 818658048 2021-11-23 20:46:50.000000000 +0300 EPL91000.MOV
-rwxrwxrwx 1 mik13 mik13 3680307886 2021-11-23 20:53:44.000000000 +0300 EPL91001.MOV
-rwxrwxrwx 1 mik13 mik13 3429223227 2021-11-23 20:58:56.000000000 +0300 EPL91002.MOV
-rwxrwxrwx 1 mik13 mik13 3500025833 2021-11-23 21:07:22.000000000 +0300 EPL91003.MOV
-rwxrwxrwx 1 mik13 mik13 3503149223 2021-11-23 21:12:42.000000000 +0300 EPL91004.MOV
-rwxrwxrwx 1 mik13 mik13 3500142641 2021-11-23 21:18:02.000000000 +0300 EPL91005.MOV
-rwxrwxrwx 1 mik13 mik13 3504490022 2021-11-23 21:23:22.000000000 +0300 EPL91006.MOV
-rwxrwxrwx 1 mik13 mik13 2490575432 2021-11-23 21:27:10.000000000 +0300 EPL91007.MOV
-rwxrwxrwx 1 mik13 mik13 2500437848 2021-11-23 21:31:34.000000000 +0300 EPL91008.MOV
-rwxrwxrwx 1 mik13 mik13 3734305 2021-11-24 22:38:16.000000000 +0300 EPL91009.JPG
-rwxrwxrwx 1 mik13 mik13 13999188 2021-11-24 22:38:16.000000000 +0300 EPL91009.ORF
-rwxrwxrwx 1 mik13 mik13 3283763 2021-11-24 22:39:24.000000000 +0300 EPL91010.JPG
-rwxrwxrwx 1 mik13 mik13 13798678 2021-11-24 22:39:24.000000000 +0300 EPL91010.ORF
Компьютер 2 (Debian 11 BullSeye)

Shell

mik13@md5:/media/mik13/E-PL9/DCIM/100OLYMP$ ls -l
итого 26330624
-rwxr-xr-x 1 mik13 mik13 818658048 ноя 23 23:46 EPL91000.MOV
-rwxr-xr-x 1 mik13 mik13 3680307886 ноя 23 23:53 EPL91001.MOV
-rwxr-xr-x 1 mik13 mik13 3429223227 ноя 23 23:58 EPL91002.MOV
-rwxr-xr-x 1 mik13 mik13 3500025833 ноя 24 00:07 EPL91003.MOV
-rwxr-xr-x 1 mik13 mik13 3503149223 ноя 24 00:12 EPL91004.MOV
-rwxr-xr-x 1 mik13 mik13 3500142641 ноя 24 00:18 EPL91005.MOV
-rwxr-xr-x 1 mik13 mik13 3504490022 ноя 24 00:23 EPL91006.MOV
-rwxr-xr-x 1 mik13 mik13 2490575432 ноя 24 00:27 EPL91007.MOV
-rwxr-xr-x 1 mik13 mik13 2500437848 ноя 24 00:31 EPL91008.MOV
-rwxr-xr-x 1 mik13 mik13 3734305 ноя 25 2021 EPL91009.JPG
-rwxr-xr-x 1 mik13 mik13 13999188 ноя 25 2021 EPL91009.ORF
-rwxr-xr-x 1 mik13 mik13 3283763 ноя 25 2021 EPL91010.JPG
-rwxr-xr-x 1 mik13 mik13 13798678 ноя 25 2021 EPL91010.ORF
mik13@md5:/media/mik13/E-PL9/DCIM/100OLYMP$ lt
итого 26330624
-rwxr-xr-x 1 mik13 mik13 818658048 2021-11-23 23:46:50.000000000 +0300 EPL91000.MOV
-rwxr-xr-x 1 mik13 mik13 3680307886 2021-11-23 23:53:44.000000000 +0300 EPL91001.MOV
-rwxr-xr-x 1 mik13 mik13 3429223227 2021-11-23 23:58:56.000000000 +0300 EPL91002.MOV
-rwxr-xr-x 1 mik13 mik13 3500025833 2021-11-24 00:07:22.000000000 +0300 EPL91003.MOV
-rwxr-xr-x 1 mik13 mik13 3503149223 2021-11-24 00:12:42.000000000 +0300 EPL91004.MOV
-rwxr-xr-x 1 mik13 mik13 3500142641 2021-11-24 00:18:02.000000000 +0300 EPL91005.MOV
-rwxr-xr-x 1 mik13 mik13 3504490022 2021-11-24 00:23:22.000000000 +0300 EPL91006.MOV
-rwxr-xr-x 1 mik13 mik13 2490575432 2021-11-24 00:27:10.000000000 +0300 EPL91007.MOV
-rwxr-xr-x 1 mik13 mik13 2500437848 2021-11-24 00:31:34.000000000 +0300 EPL91008.MOV
-rwxr-xr-x 1 mik13 mik13 3734305 2021-11-25 01:38:16.000000000 +0300 EPL91009.JPG
-rwxr-xr-x 1 mik13 mik13 13999188 2021-11-25 01:38:16.000000000 +0300 EPL91009.ORF
-rwxr-xr-x 1 mik13 mik13 3283763 2021-11-25 01:39:24.000000000 +0300 EPL91010.JPG
-rwxr-xr-x 1 mik13 mik13 13798678 2021-11-25 01:39:24.000000000 +0300 EPL91010.ORF
mik13@md5:/media/mik13/E-PL9/DCIM/100OLYMP$ alias lt
alias lt='ls --full-time'
Компьютер 2 (Windows 10)
Вывод команды dir

Shell

Том в устройстве I имеет метку E-PL9
Серийный номер тома: 0123-4567

Содержимое папки I:\DCIM\100OLYMP

Ср 24.11.21 22:50 <DIR> .
Ср 24.11.21 22:50 <DIR> ..
Вт 23.11.21 23:46 818 658 048 EPL91000.MOV
Вт 23.11.21 23:53 3 680 307 886 EPL91001.MOV
Вт 23.11.21 23:58 3 429 223 227 EPL91002.MOV
Ср 24.11.21 00:07 3 500 025 833 EPL91003.MOV
Ср 24.11.21 00:12 3 503 149 223 EPL91004.MOV
Ср 24.11.21 00:18 3 500 142 641 EPL91005.MOV
Ср 24.11.21 00:23 3 504 490 022 EPL91006.MOV
Ср 24.11.21 00:27 2 490 575 432 EPL91007.MOV
Ср 24.11.21 00:31 2 500 437 848 EPL91008.MOV
Ср 24.11.21 22:38 13 999 188 EPL91009.ORF
Ср 24.11.21 22:38 3 734 305 EPL91009.JPG
Ср 24.11.21 22:39 13 798 678 EPL91010.ORF
Ср 24.11.21 22:39 3 283 763 EPL91010.JPG
13 файлов 26 961 826 094 байт
2 папок 97 724 137 472 байт свободно
Тут, уж, совсем ничего понять не могу.
Правда, увидел одну интересную заметку в man mount

Shell

tz=UTC This option disables the conversion of timestamps between local
time (as used by Windows on FAT) and UTC (which Linux uses in‐
ternally). This is particularly useful when mounting devices
(like digital cameras) that are set to UTC in order to avoid the
pitfalls of local time.
Но смонтировать эту флешку (на ней exfat) с этой опцией мне не удалось.

Shell

root@md5:/# mount /dev/sdd1 mnt
root@md5:/# umount mnt
root@md5:/# mount -o tz=UTC /dev/sdd1 mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error.
А вот с флешкой, на которой vfat, это проходит. Причём, эта опция "сдвигает" время файла на три часа вперёд.

Shell

root@md5:/# mount /dev/sda5 /mnt
root@md5:/# ls --full-time /mnt/tt*
-rwxr-xr-x 1 root root 285 2021-11-24 16:57:52.000000000 +0300 /mnt/tt
-rwxr-xr-x 1 root root 23 2021-11-24 16:57:42.000000000 +0300 /mnt/tt.bat
-rwxr-xr-x 1 root root 3109 2021-11-24 18:29:38.000000000 +0300 /mnt/tt.mnt
root@md5:/# umount /mnt
root@md5:/# mount -o tz=UTC /dev/sda5 /mnt
root@md5:/# ls --full-time /mnt/tt*
-rwxr-xr-x 1 root root 285 2021-11-24 19:57:52.000000000 +0300 /mnt/tt
-rwxr-xr-x 1 root root 23 2021-11-24 19:57:42.000000000 +0300 /mnt/tt.bat
-rwxr-xr-x 1 root root 3109 2021-11-24 21:29:38.000000000 +0300 /mnt/tt.mnt
Спасибо сказали:

MiK13
Сообщения: 1002
ОС: Linux Debian

Re: Как установить локальное время?

Сообщение MiK13 »

Не могу сказать, что разобрался, но "виновника", похоже, нашёл. Это Linux, Debian 11 BullSeye.
А точнее -- mc и cp Они при копировании как-то изменяют время файла.
Сегодня опять сделал ряд снимков. Пришёл домой. Но прежде, чем копировать файлы с флешки на диск, "запретил" на неё запись (на SD картах это "можно").
Скопировал. Загрузил винду и выдал команду dir
Вот её результат (точнее, 4-х файлоа).

Код: Выделить всё

Чт 25.11.21  20:15        13 988 798 EPL91039.ORF
Чт 25.11.21  20:15         3 624 546 EPL91039.JPG
Чт 25.11.21  20:15        14 035 978 EPL91040.ORF
Чт 25.11.21  20:15         3 651 772 EPL91040.JPG
После этого я загрузил Linux
ls -l на этих же файлов выглядит так:

Код: Выделить всё

-rwxr-xr-x 1 mik13 mik13    3624546 ноя 25 23:15 EPL91039.JPG
-rwxr-xr-x 1 mik13 mik13   13988798 ноя 25 23:15 EPL91039.ORF
-rwxr-xr-x 1 mik13 mik13    3651772 ноя 25 23:15 EPL91040.JPG
-rwxr-xr-x 1 mik13 mik13   14035978 ноя 25 23:15 EPL91040.ORF
Затем при снятой защите записи я скопировал два последних файла на /dev/shm/. Один командой cp -p, а другой в mc через F5
Затем загрузил Windows и dir на эти же 4 файла стал выглядеть так:

Код: Выделить всё

Чт 25.11.21  20:15        13 988 798 EPL91039.ORF
Чт 25.11.21  20:15         3 624 546 EPL91039.JPG
Чт 25.11.21  23:15        14 035 978 EPL91040.ORF
Чт 25.11.21  23:15         3 651 772 EPL91040.JPG
У файлов, которые я не трогал, время не изменилось. А время у скопированных файлов увеличилось на 3 часа.
(Почему dir сортирует файлы не так как ls, не знаю)
Спасибо сказали: