Установка временных отметок нет такого файла

Обновлено: 06.07.2024

Есть ли способ узнать или получить оригинальные временные метки создания/изменения? Спасибо.

ОТВЕТЫ

Ответ 1

Я считаю, что единственными временными метками, записанными в базе данных Git, являются отметки времени автора и фиксации. Я не вижу опции для Git, чтобы изменить временную метку файла, чтобы она соответствовала последней фиксации, и имеет смысл, что это не будет поведение по умолчанию (потому что если бы это было, Makefiles не работал бы корректно).

Вы можете написать script, чтобы установить дату изменения ваших файлов на время последней фиксации. Это может выглядеть примерно так:

Ответ 2

ДА, метастор или git -cache-meta могут хранить такую ​​(мета) информацию! Git самостоятельно, без сторонних инструментов, т. Metastore или git -cache-meta может хранить любые метаданные файла для файла.

Это по дизайну, так как metastore или git -cache-meta предназначены для этой цели, а также поддерживают утилиты резервного копирования и инструменты синхронизации.

(Извините, просто немного смешно от ответа Якуба)

Ответ 3

НЕТ, Git просто не сохраняет такую информацию (meta-), если вы не используете сторонние инструменты, такие как метастор или git-cache-meta. Единственная временная метка, которая хранится, - это временный патч/изменение (время автора), и было создано время фиксации (время коммиттера).

Это по дизайну, поскольку Git - это система контроля версий, а не утилита резервного копирования или инструмент синхронизации.

Ответ 4

Этот python script может помочь: для каждого файла применяется метка времени последней фиксации, где файл был изменен:

Ниже приведена действительно голой версия script. Для фактического использования я настоятельно рекомендую одну из более надежных версий выше:

Все версии анализируют полный журнал, сгенерированный одной командой git whatchanged , которая в сотни раз быстрее, чем lopping для каждого файла. Менее 4 секунд для git (24 000 коммитов, 2500 файлов) и менее 1 минуты для ядра linux (40 000 файлов, 300 000 коммитов)

Ответ 5

Это он трюк для меня на ubuntu (в котором отсутствует OSX флаг "-j" в дате (1))

Ответ 6

Я уже некоторое время перестал встречаться с git и временными отметками файла.

И я хотел бы сохранить последнюю модификацию файлов на основе дат фиксации.

Итак, после некоторой корректировки script может изменить дату создания и изменения файлов 200 тыс. вокруг 2-3 мин.

Предполагая, что ваши хранилища не будут иметь файлы размером 10k +, для выполнения этого потребуется несколько секунд, поэтому вы можете подключить его к выходу, потяните или другим базовым крючкам git.

Ответ 7

Он содержится в debased repo, просто apt-get install metastore .

Ответ 8

Вот мое решение, которое учитывает пути, содержащие пробелы:

Обратите внимание, что это не занимает время, которое сообщает git log , это время, сообщаемое системой. Если вы хотите, чтобы время с момента загрузки файлов использовало решение git log вместо date -r

Ответ 9

Native git не имеет функциональности, но это может быть достигнуто с помощью скриптов hook или сторонних инструментов.

Я пробовал metastore . Это очень быстро, но мне не нравится необходимость установки и метаданные не хранятся в текстовом формате. git-cache-meta - простой инструмент, который я пробовал, но он очень медленный для больших репозиториев (для репо с десятками тысяч файлов требуется несколько минут для обновления файла метаданных) и может иметь проблемы с межплатформенной совместимостью. setgitperms и другие подходы также имеют свои недостатки, которые мне не нравятся.

Наконец, я сделал крючок script для этого задания: git-store-meta. Он имеет очень легкую зависимость (* nix shell, sort и perl , которая требуется git и необязательно chown , chgrp и touch ), так что для платформы, которая может запускать git, желаемую производительность (для репо с десятками тысяч файлов, ничего не требуется), для обновления файла метаданных требуется менее 10 секунд, хотя дольше для создания), сохраняет данные в формате обычного текста, а какие метаданные, которые будут "сохранены" или "загружены", настраивается.

Это сработало хорошо для меня. Попробуйте это, если вас не устраивает метастор, git -cache-meta и другие подходы.

Ответ 10

Там некоторая двусмысленность в моей (и других) интерпретациях OP о том, означает ли это время фиксации или что-то еще, но если предположить, что это означает время фиксации, то этот простой однострочный шрифт будет работать в Linux (на основе ответного фрагмента из Dietrich Epp ):

Но есть более сложные ответы (включая git hooks), связанные с комментарием к исходному вопросу by cregox.

Ответ 11

В среде Windows я написал небольшой (быстрый и грязный) EXE в Delphi 10.1 Berlin, который собирает все даты файлов в исходном дереве в файл .gitfilattr и может снова применить их к проверенному нашему исходному дереву.

Ошибка подписи временной метки возникает при установке такого приложения, как DotNetFramework, LogMeIn Go to Assist и т. Д. Это обычно происходит, если Windows вашей системы устарела или существуют ограничения из политики выполнения вашей системы.


Подпись с отметкой времени и / или сертификат не могут быть проверены или имеют неверный формат
  • Устаревшая Windows: Dotnet Framework постоянно обновляется Microsoft, чтобы устранить ошибки в работе / разработке приложений и наверстать упущенное, Windows на вашем ПК должна быть полностью обновлена ​​до последней версии. Если в вашей системе отсутствуют какие-либо такие обновления, это может вызвать проблему с подписью метки времени в платформе Dotnet.
  • Устаревший установщик Dotnet Framework: если вы пытаетесь использовать устаревший установщик Dotnet Framework (возможно, уже присутствующий в папках загрузки вашей системы), этот установщик может быть несовместим с ОС вашей системы и может вызвать проблему с Dotnet.
  • Неподписанный системный драйвер: для повышения безопасности Windows и Dotnet Framework для запуска приложений важно, чтобы все драйверы в вашей системе имели цифровую подпись, и если какой-либо из драйверов вашей системы не имеет цифровой подписи, установщик Dotnet Framework может бросить ошибка подписи метки времени.
  • Устаревшие корневые сертификаты вашей системы: если ваша система не может автоматически обновить свои корневые сертификаты из-за сбоя в диспетчере сертификатов вашей системы, то установщик Dotnet Framework может не аутентифицировать многие важные системные ресурсы и, таким образом, показать проблему с отметкой времени.

Прежде чем переходить к решениям, убедитесь, что дата и время вашей системы указаны правильно. Более того, если вы столкнулись с проблемой из-за истекшего сертификата, вы можете избавиться от ошибки, установив дату вашей системы на время до истечения срока действия сертификата, а затем вернув дату / время после установки приложения / Водитель.

Обновите Windows вашей системы до последней версии

Проблема с подписью метки времени может быть результатом несовместимости между проблемным приложением (например, LogMeIn Go to Assist) и ОС. В этом случае обновление Windows вашего ПК до последней стабильной версии может решить проблему.

  1. Щелкните Windows, введите Проверить наличие обновлений и откройте Центр обновления Windows.Открыть Проверить наличие обновлений
  2. Теперь в окне Центра обновления Windows нажмите кнопку Проверить наличие обновлений, и, если обновления доступны, загрузите и установите эти обновления (также необязательные).Проверить наличие обновлений Windows
  3. После обновления перезагрузите компьютер и после перезагрузки проверьте, решена ли проблема проверки сертификата.

Если есть обновления, которые не удается установить, вы вручную устанавливаете эти обновления с веб-сайта каталога Microsoft, чтобы устранить ошибку сертификата.

Если проблема не устранена с таким приложением, как LogMeIn Go to Assist, проверьте, решает ли проблема использование EXE-файла для установки приложения (а не программы открытия).

Используйте последнюю версию установщика Dotnet Framework

Выполните сканирование системы SFC

Вы можете столкнуться с проблемой, если важные системные файлы повреждены; выполнение сканирования SFC вашей системы заменит неполные файлы. Имейте в виду, что это сканирование может занять некоторое время (в зависимости от размера вашего системного диска), поэтому попробуйте его, когда вы сможете сэкономить свою систему на некоторое время (например, на ночь).

  1. Щелкните Windows, введите командную строку, щелкните ее правой кнопкой мыши и выберите «Запуск от имени администратора».Откройте командную строку от имени администратора
  2. Затем выполните следующее: sfc / scannowВыполните сканирование SFC
  3. Теперь дождитесь завершения сканирования, а затем проверьте, можно ли установить проблемное приложение (например, инфраструктуру Dot Net) без ошибки подписи метки времени.

Отключить подпись кода пакета драйверов

Если вы столкнулись с проблемой «сертификат не может быть проверен» с драйвером, отключение подписи кода пакета драйвера решит проблему.

Двигайтесь вперед на свой страх и риск, поскольку отключение подписи кода пакета драйверов может вызвать различные угрозы безопасности для вашей системы.

  1. Щелкните Windows, введите «Редактор групповой политики» и выберите результат «Изменить групповую политику».
  2. Теперь в окне редактора групповой политики разверните Конфигурация пользователя и перейдите по следующему пути: Административные шаблоны >> Система >> Установка драйвера.
  3. Затем в левой половине окна дважды щелкните Подписывание кода для драйверов устройств и выберите Включено.Дважды щелкните Подписывание кода для драйверов устройств в редакторе групповой политики.
  4. Теперь разверните раскрывающийся список «Когда Windows обнаруживает файл драйвера без цифровой подписи» и выберите «Игнорировать».Установить, когда Windows обнаруживает файл драйвера без цифровой подписи для игнорирования
  5. Затем примените внесенные изменения и перезагрузите компьютер.
  6. После перезагрузки проверьте, можно ли установить драйвер без проблемы с подписью метки времени.

Отключить автоматическое обновление корневых сертификатов

Эта ошибка также может возникнуть, если система не может автоматически обновить корневые сертификаты. Отключение автоматического обновления корневых сертификатов с помощью сторонней утилиты (DigiCert) решит проблему в этом случае.

Предупреждение: действуйте на свой страх и риск, поскольку указанная утилита является сторонней утилитой, и использование сторонней утилиты может быть угрозой безопасности для вашей системы / данных.

Если проблема не исчезнет, ​​вы можете экспортировать проблемный сертификат и импортировать его обратно, чтобы решить проблему проверки сертификата (если проблемный сертификат обнаружен). Если вы столкнулись с проблемой с DotNetFramework, проверьте, решает ли проблему загрузка следующего сертификата Microsoft и его импорт в Управление сертификатами пользователей >> Доверенные корневые центры сертификации >> Сертификаты.

Здравствуйте. Появилась необходимость извлечь временные отметки из файла подкачки у Windows 7. Была использована сборка Линукс Kali и утилита Foremost для распаковки файла подкачки. Дальше - тупик. Утилита выдала отчет, содержащий время неизвестно чего, причем не для каждого файла. Подскажите, что нужно делать далее, если решение распаковать файл было верным, или как добиться цели иначе?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Временные метки файла подкачки
Под файл подкачки выделен отдельный диск, поэтому его полный путь выглядит как E:\pagefile.sys Мне.

Как сложить две временные отметки в виде дни часы: минуты: секунды
Здравствуйте! Подскажите пожалуйста, как сложить две временные отметки в виде дни часы: минуты.

Спор о файле подкачки
Привет! Тут со знакомым спор возник: как лучше настраивать файл подкачки? Я говорю, что лучше.


Очищение hdd, о файле подкачки
Здравствуйте, вот появился такой вопрос, времени углубляться нет и просто хочется получить ответ. Я.

С описанной выше задачей я столкнулся на первом курсе. Выполнить мне её не удалось. На четвёртом курсе она встретилась мне снова, в новом варианте. Статистический анализ временных отметок файла подкачки в пределах года. Определить наиболее активные дни, часы и минуты работы за компьютером.

Идея здесь заключается в том, что файл подкачки Windows, скорее всего, будет содержать временные отметки. Windows имеет свой собственный формат временных отметок - Windows Timestamp (ещё я встречал, что его называют Windows Filetime). Этот формат отметок охватывает огромный промежуток времени - он отсчитывается в количестве 100-наносекундных интервалов от 1 Января 1601 года по UTC, занимает в памяти 8 байт. Во время учёбы я познакомился с программой WinHex, которая умеет подсвечивать их. Скорее всего, тут идея в том, что "правдоподобные" временные отметки при таком гигантском интервале времени будут занимать строго определённый промежуток. Конечно, не каждая временная отметка, полученная таким образом, будет действительно временной отметкой (всё-таки шифрованные и сжатые файлы, изображения и видео имеют высокую случайность наполнения). Так и выходит - WinHex может "вырвать" из контекста временную отметку от 2005 года на компьютере, который начали использовать в 2018. Таким образом, если вычислим этот "промежуток правдоподобности", сможем находить в байтовом хаосе что-то похожее на отметки.

Для извлечения временных отметок из файла подкачки (ещё задача дополнилась необходимостью статистического анализа полученных меток) был использован Python 3. Тут всё просто - скорее всего из-под оригинальной системы вы к файлу доступа не получите (он блокируется системой во время работы). Так что вы захотите использовать LiveCD, а это скорее всего какая-нибудь Ubuntu, а там Python есть сразу, да и писать на нём легко и приятно.

Была использована кастомная библиотека filetimes.py (Копирайт исходника подписан именем David Buxton, при сохранении копирайта его можно распространять, так что он скопирован в папку утилиты на Гитхаб). Она умеет переводить дату в Windows Timestamp и наоборот, но я пользовался только переводом даты в таймстамп, перевод таймстампа в дату я позаимствовал из вопроса на Stack Overflow (Сonvert 64-bit windows date time in python, код за авторством Mark Tolonen).

Программа умеет принимать на вход "границы" временных отметок. Это необходимо чтобы не ловить отметки из 8000 года. Ну или из 1700. Эти границы могут быть с точностью до месяцев.

Наконец, идея кода заключается в следующем. Имеется гигантский файл размером в 8 гб (например). Побайтово передвигаемся по нему процедурой timestampGatherer(), набирая массив в 8 байт. Затем последние три байта в обратном порядке переводятся в шестнадцатеричную форму. Именно они отвечают за год и месяц (я не уверен в границах и, если необходимы данные за конкретный месяц, то лучше брать границы пошире). Эти три байта пересчитываются в десятичную форму и сравниваются с десятичной формой заданных при старте программы границ. Если они попадают в эту границу, то все восемь байт массива передаются в процедуру calculateDate(), где из них считается временная отметка и сохраняется в массив statistics, а собранный массив очищается и начинает собираться вновь. Если последние три байта не попали в границы, массив не очищается. Из него удаляется первый элемент (их становится 7), а затем читается следующий байт. Массив снова содержит 8 байт и снова три последних проверяются на соответствие границам. И так далее по файлу.

После окончания чтения файла (либо достижения максимального смещения по файлу, которое тоже можно задать) все собранные отметки сортируются по возрастанию и записываются в файл CSV.

Это достаточно долгий процесс, но я практически не умею программировать и писал утилиту просто чтобы работала. Скорее всего, это можно сделать и быстрее, но задачи сделать всё максимально быстро не стояло. В результате получается собирать все те же временные отметки, которые видит в файле подкачки WinHex, сортировать их и выводить в файл CSV для статистического анализа.

Что отличает его от наших ранее рассмотренных инструментов, так это его поддержка командной строки, которая позволяет запускать сценарии VB для пакетных операций с метками времени, которые невозможны из графического интерфейса приложения, например, для изменения меток времени файлов в подкаталогах. Разработчик предоставил различные примеры, чтобы объяснить, как эти скрипты работают в TouchCmd.

Когда дело доходит до графического интерфейса TouchPro, пользоваться им довольно просто, и вы можете изменить требуемую временную метку прямо на странице свойств элемента, а также в отдельном окне. После установки TouchPro автоматически интегрирует свое расширение оболочки в контекстное меню файлов, вызываемое щелчком правой кнопкой мыши, а также создает новую вкладку TouchPro в диалоговом окне «Свойства».

Для начала щелкните нужный файл правой кнопкой мыши, а затем выберите «Свойства» в контекстном меню.

Характеристики

В окне «Свойства» щелкните вновь созданную вкладку TouchPro, и вам будут представлены все параметры для изменения меток времени. TouchPro позволяет изменять дату и время для отметок времени «Создано», «Изменено» и «Доступно». Чтобы изменить значение, вы можете использовать регуляторы времени вверх и вниз или ввести настраиваемое значение в соответствующее поле. Когда будете готовы применить изменения, нажмите «Прикоснуться», чтобы завершить процесс.

TouchPro

Одним из основных недостатков TouchPro является то, что большинство функций, которые он предлагает, доступны только в его платной версии, которая также позволяет редактировать эти временные метки для папок и элементов только для чтения в дополнение к обычным файлам, переключаться на 24-часовой формат, переключать звук и текстовое уведомление при применении изменений, а также несколько дополнительных опций. TouchPro поддерживает Windows XP, Windows Vista, Windows 7 и Windows 8.


Установка не удалась

Подпись отметки времени и / или сертификат не могут быть проверены или имеют неправильный формат.

Дополнительную информацию об этой проблеме см. В файле журнала.

Основная причина этой проблемы - устаревший установщик, драйвер или корневой сертификат. Каждый драйвер, который вы хотите установить на свой компьютер, должен иметь цифровую подпись. Однако, если он устарел, проблема может возникнуть на вашем компьютере.

Что такое искаженный сертификат?

Подпись отметки времени и / или сертификат не могут быть проверены или имеют неправильный формат

Чтобы узнать больше об этих решениях, продолжайте читать.

1] Проверьте временную метку сертификата


Если срок его действия не истек, вы можете выполнить остальные обходные пути. Однако, если срок его действия истек, вы можете связаться с разработчиком драйвера или загрузить последнюю версию установщика.

2] Загрузите последнюю версию установщика.

3] Разблокировать драйвер


Затем вы можете продолжить процесс установки.

4] Отключить подпись кода для пакета драйвера


Этот параметр групповой политики позволяет установить драйвер без цифровой подписи. Вы можете следовать этому руководству, когда истек срок действия метки времени. Для этого выполните следующие действия:

После этого закройте все окна и проверьте, можете ли вы установить фреймворк.

5] Отключить принудительное использование подписи драйверов

Вы можете полностью отключить принудительное использование подписи драйверов на вашем компьютере с Windows 11/10, чтобы решить эту проблему. Это не занимает много времени и сразу решает проблему. Поэтому следуйте этому подробному руководству, чтобы отключить принудительное использование подписи драйверов в Windows 11/10.

Читайте также: