Как задать флэшке (vfat) правильный часовой пояс?

Автор mcherenkov, 09 ноября 2016, 21:57:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mcherenkov

Здравствуйте!
"mount -o tz=UTC+3:00" не работает. Вероятно нужно как-то иначе.
В man mount сказано
       tz=UTC This option disables the conversion of timestamps between local time (as used by Windows on FAT) and UTC (which Linux uses internally).  This is particularly useful when mounting devices (like  digital  cameras)  that
              are set to UTC in order to avoid the pitfalls of local time.


У меня mount работает только с UTC:

# mount -o tz=UTC /dev/sdc /media/user/PHILIPS
# mount|grep PH
/dev/sdc on /media/user/PHILIPS type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,tz=UTC,errors=remount-ro)
# umount /dev/sdc
# mount -o tz=UTC+3:00 /dev/sdc /media/user/PHILIPS
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
# dmesg | tail
[11279.424043] end_request: I/O error, dev fd0, sector 0
[11279.424049] floppy: error -5 while reading block 0
[11279.496039] end_request: I/O error, dev fd0, sector 0
[11279.496046] floppy: error -5 while reading block 0
[11295.795480] FAT-fs (sdc): Unrecognized mount option "tz=UTC+3:00" or missing value
[11307.054994] FAT-fs (sdc): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[11307.069358] FAT-fs (sdc): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[11454.281172] FAT-fs (sdc): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[11454.295537] FAT-fs (sdc): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[11485.419419] FAT-fs (sdc): Unrecognized mount option "tz=UTC+3:00" or missing value
#

Поиск "mount tz" не помог.

endru

Цитата: mcherenkov от 09 ноября 2016, 21:57:23"mount -o tz=UTC+3:00" не работает.
а где ты видел, что пишется именно так?
man тебе четко говорит, tz=UTC, все! никаких +3 и прочего не поддерживает опция.
какие проблемы возникают то? временные метки файлов не правильно показывает tz=UTC?

mcherenkov

Цитироватьа где ты видел, что пишется именно так?
man тебе четко говорит, tz=UTC, все! никаких +3 и прочего не поддерживает опция.
В своём предположении, основанном на статьях Википедии "Всемирное координированное время", "UTC+3:00" (точнее даже - на названии последней), на man'е, а также на том, что "=" ≠ (!=) "≡".

Цитироватькакие проблемы возникают то? временные метки файлов не правильно показывает tz=UTC?
За вопрос спасибо!
Да, неправильно:


# mount  /dev/sdc /media/user/PHILIPS.Проверка_tz/
# mount|grep PHILIPS.Проверка_tz
/dev/sdc on /media/user/PHILIPS.Проверка_tz type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro)
# stat /media/user/PHILIPS.Проверка_tz/VOICE/A/DVT_A001_160203_2111.MP3 ./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3;echo;if diff /media/user/PHILIPS.Пр
оверка_tz/VOICE/A/DVT_A001_160203_2111.MP3 ./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3 ; then echo "Файлы одинаковы";else echo "Файлы разные"; fi     
  Файл: «/media/user/PHILIPS.Проверка_tz/VOICE/A/DVT_A001_160203_2111.MP3»
  Размер: 6693278       Блоков: 13184      Блок В/В: 65536  обычный файл
Устройство: 820h/2080d  Inode: 1233        Ссылки: 1
Доступ: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Доступ: 2016-11-11 20:16:03.000000000 +0300
Модифицирован: 2016-02-04 00:11:38.000000000 +0300
Изменён: 2016-02-04 00:11:38.000000000 +0300
Создан: -
  Файл: «./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3»
  Размер: 6693278       Блоков: 13080      Блок В/В: 4096   обычный файл
Устройство: 813h/2067d  Inode: 44043619    Ссылки: 1
Доступ: (0644/-rw-r--r--)  Uid: ( 1000/ michael)   Gid: ( 1000/ michael)
Доступ: 2016-05-09 00:39:37.741755362 +0300
Модифицирован: 2016-02-03 21:11:38.000000000 +0300
Изменён: 2016-04-23 14:00:43.671150249 +0300
Создан: -

Файлы одинаковы
# umount /dev/sdc
# mount -o tz=UTC /dev/sdc /media/user/PHILIPS.Проверка_tz/
# mount|grep PHILIPS.Проверка_tz
/dev/sdc on /media/user/PHILIPS.Проверка_tz type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,tz=UTC,errors=remount-ro)
# stat /media/user/PHILIPS.Проверка_tz/VOICE/A/DVT_A001_160203_2111.MP3 ./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3;echo;if diff /media/user/PHILIPS.Проверка_tz/VOICE/A/DVT_A001_160203_2111.MP3 ./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3 ; then echo "Файлы одинаковы";else echo "Файлы разные"; fi     
  Файл: «/media/user/PHILIPS.Проверка_tz/VOICE/A/DVT_A001_160203_2111.MP3»
  Размер: 6693278       Блоков: 13184      Блок В/В: 65536  обычный файл
Устройство: 820h/2080d  Inode: 1512        Ссылки: 1
Доступ: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Доступ: 2016-11-11 03:00:00.000000000 +0300
Модифицирован: 2016-02-04 00:11:38.000000000 +0300
Изменён: 2016-02-04 00:11:38.000000000 +0300
Создан: -
  Файл: «./Диктофон_добавка/part_6/VOICE/A/DVT_A001_160203_2111.MP3»
  Размер: 6693278       Блоков: 13080      Блок В/В: 4096   обычный файл
Устройство: 813h/2067d  Inode: 44043619    Ссылки: 1
Доступ: (0644/-rw-r--r--)  Uid: ( 1000/ michael)   Gid: ( 1000/ michael)
Доступ: 2016-05-09 00:39:37.741755362 +0300
Модифицирован: 2016-02-03 21:11:38.000000000 +0300
Изменён: 2016-04-23 14:00:43.671150249 +0300
Создан: -

Файлы одинаковы
#


То есть время модификации отличается ровно на 3 часа (из-за чего их пытается синхронизировать rsync), и файлы одиновы. Причём параметр "tz=UTC" не влияет на это.
И ведь синхронизировать rsync будет с неверным временем!

Вообще-то мне казалось я когда-то уже решал эту задачу, но не помню как. Помню, что не через опцию rsync "--modify-window=10800" (каковое решение представляется существенно грубым (так как разность времён одинаковых файлов должна быть не "меньше либо равной", а "точно равной" 3 часам)), а как-то более правильно.

endru

mcherenkov, если нужно просто синхронизировать и количество и объем файлов не большое, то посмотри на ключ -c, –checksum, он будет выполняться дольше, но проверять файлы он будет не по размеру и дате изменения.

boris_lazarev

Здравствуйте, дорогие дебианофилы!
Решение проблемы с некорректной датировкой файлов на флешках с vfat таки вспомнилось!
https://www.mjmwired.net/kernel/Documentation/filesystems/vfat.txt
Конкретно надо использовать опции "tz=UTC,time_offset=minutes". У меня, к примеру, "minutes" это 420, то есть семь часов. Теперь файлы на флешках имеют одинаковое время как с точки зрения Дебиана, так и с  точки зрения Виндовса. Искал волшебное заклинание целый день. Нашлось. Раньше этого не было: tz,time_offset. А когда появилось, попало в маны только наполовину. Зачем главные маги это делают? Не иначе, планируют какую-нибудь как бы случайную катастрофу... Аяяй!

svtv1

boris_lazarev
Поясни, как это задать часовой пояс на флешь? Открой флэшь в терминале, надеюсь знаешь как, если нет:
Открыть содержимое (спойлер)
sveta@Acer:~$ cd /
sveta@Acer:/$ cd media
sveta@Acer:/media$
sveta@Acer:/media$ date
Пн дек 10 18:36:40 MSK 2018
[свернуть]
Думаю у тебя установлены, страна, регион и город?
В иксах всё проще, если честно вопрос не понятен. 
"Если достаточно долго сидеть возле реки - мимо проплывет труп твоего врага"

boris_lazarev

#6
Эта чума с флешками и файловой системой vfat появилась недавно. Раньше люди относились к дате создания/модификации файла философски правильно. Этого ужаса для админа не было. Потом кому-то пришло в голову, что фотоаппарат могут перевезти из одного места в другое, где поясное время тоже другое, и на это надо как-то отреагировать. Учесть при монтировании системы vfat на фотоаппаратовой флешке, подкорректировав временной штамп, записанный в файловой системе. Это космическая глупость. Файл записан, он теперь принадлежит вечности, время не властно над ним. Тем более, "время" из конфиг-файлов или из каталожной записи. Если его дёргать при каждом монтировании, каталог становится менее пригодным для выполнения своего предназначения. Но это реализовали, теперь нам с этим жить. Хорошо, что в фотоаппаратах не применяют других файловых систем, а то бы...

Короче, при монтировании сменного носителя под линуксами теперь нужно задавать два дополнительных параметра к списку обычных iocharset и прочих fmask, это tz=UTC и time_offset=180 (180 минут для получения московской зоны). Причём первый параметр применяется и без его явного приглашения с нашей стороны. В результате время файла в списке директории станет некорректным, если не задать правильное значение второго параметра. Ну и конечно, это  напоминание о мировом хаосе теперь висит не только над обладателями фотоаппаратов, а над всеми, кто использует файловые системы, унаследованные со времён ДОС и ФАТ.
Будьте внимательны и осторожны. Хаос сделал ещё один маленький шаг для захвата этого мира.