Intereting Posts
Настроить masscan, чтобы оставить пользовательский агент в журналах сервера Доступ WiFI в BackTrack 5 R1 Ограничение скорости загрузки на основе другого сетевого трафика Проблема кодирования в системе aix при регистрации с использованием log4j2 Трейлинг пространства при копировании из gnome-терминала с использованием zsh Как настроить двухфакторную аутентификацию с помощью OTP на FreeBSD? Не удается запустить службу httpd из-за неправильного или неправильного пароля Замените несколько пробелов одним, используя только «tr» Запись видеофайла с нестандартным соотношением сторон на DVD Понимать и отлаживать частые «жесткие LOCKUP на CPU» В чем причина того, что функция lseek возвращает дескрипторы файлов как длинные целые числа? cp -r . Samba разрешает доступ к файлам файлов – пользователи не могут открывать файлы, которые я создаю как читать переменные в bash и передавать эти переменные в программу c ++ в качестве аргументов Есть ли какие-либо преимущества в построении ядра как 64-битного, хотя пространство пользователя в 32 бит?

Использование crc32 для поиска поврежденных или поврежденных файлов

У меня есть каталог с контентом. Чтобы ничто не потерялось при копировании, я сжал каталог, и теперь у меня есть файл dir.tar.gz

Копирование все еще меня беспокоит, и файлы повреждены, поэтому я хотел бы узнать, связано ли это с сжатием или копированием файлов, поэтому я сгенерировал crc32 сжатого файла.

Я не могу сгенерировать crc32 исходного содержимого этого каталога, что означает, что я не могу использовать crc32 на нем. Является ли это возможным?

Также, если мне удастся сравнить эти два числа, если они одинаковы, это означает, что файлы не пострадали?

В зависимости от того, как «строго» вы хотите, чтобы контрольная сумма была, типичная установка Linux предусматривает как минимум три варианта:

  1. sum – это быстрая и простая контрольная сумма. Это не криптографически безопасно, и поэтому преднамеренное вмешательство было бы возможным, но оно должно обрабатывать ошибки копирования файлов достаточно хорошо.

  2. md5sum (иногда просто md5 ). Это вычисляет контрольную сумму на основе MD5 для файла. Это медленнее, чем sum но более устойчивая. Алгоритм MD5 был сломан, но это непросто.

  3. sha1sum Это вычисляет контрольную сумму SHA1; даже более медленный, но самый сильный против подделки.

  4. crc32 Это может отсутствовать во всех системах; это программа perl.

В вашем случае использования я, вероятно, придерживаюсь sum .

Вычисляя контрольную сумму на tar.gz перед передачей и после передачи, у вас есть разумная уверенность в том, что передача была хорошей ( sum и crc32 являются самыми слабыми, но достаточно хорошими).

Есть еще одна возможность … поскольку вы gzip -dc file.tar.gz > /dev/null данные, тогда вы можете попробовать и распаковать результат на другом конце с помощью gzip -dc file.tar.gz > /dev/null . Если это порождает ошибку, файл поврежден, в противном случае это хорошо. В зависимости от размера файла это может быть проще, потому что он не требует переноса второго файла. Однако это может не соответствовать вашему варианту использования.