nafanja
akorop
И какой безответственный дурак станет это всё переделывать, если оно работает?
модернизация, усовершенствование - не, не слышал…
Блин, да хрена модернизировать и усовершенствовать то, что прекрасно работает?! Ну то есть одна причина понятна - чтобы получить и распилить финансирование. Других причин для бессмысленных затрат и бессмысленного риска не вижу. А затраты немалые. Например, если продолжить тему контрольно-проверочного оборудования, потребуется переаттестация новой технологии, включая метрологическую аттестацию, которая бывает весьма недешёвой.
Ну не надо традиции безответственности свободного ПО к производству прикладывать.
Vadim
что такое нужно хранить столетия на дисках,проверять каждый год,какие такие изобретения,стихи,музыку,фильмы,банковские счета или еще чего не могу представить,хоть убейте.
То, что я вижу вблизи, - проверочные программы. Есть устройство, разработанное году, эдак, в 1990. Есть его серийное производство. Каждое произведенное устройство - проверяется. Есть цеховое оборудование для его проверки, и программа, управляющая этим цеховым обороудованием. Всё это тоже разработано в том же 1990. И какой безответственный дурак станет это всё переделывать, если оно работает?

Несколько лет назад я читал, что в США выпускают микроконтроллер, на котором можно "как есть" выполнять программы для 12-разрядной PDP-8 (!). Используется на АЭС.
vasek
CD/DVD, как хранилище информации, намного надежнее, чем HDD/SSD.
Может, я что путаю, но, вроде, DVD-R имеет более слабые CRC чем DVD+, или не имеет вообще.
nafanja
Такого не должно быть в принципе
"В действительности всё совсем не так, как на самом деле" :)
Такое бывает редко, но бывает. Под какой ОС и с каким типом диска - не вспомню, конечно, но не раз видел. Выглядит это так: прогресс чтения замирает, диск делает "вжик-вжик вжик-вжик...", потом чтение идёт дальше. Никаких сообщений об ошибках, а данные битые. Как объяснить - не знаю. Возможно, это косяк драйвера. Типа anti-jitter, применённый к данным.
UPD А что файлы не изменились при том, что CRC диска изменилась (или диск не читается), так ну его на фиг. Раз проблемы есть, значит этот диск пора в помойку, пока есть с чего сделать новую копию. Вопрос не в том, можно ли выковырять данные из битого диска, а в том, как организовать работу, чтобы такая задача не возникала. И этот вопрос давно решён, и решение прописано в стандарте.
nafanja
вывод: если все данные с диска читаются без проблем, то он живой
Не факт. Бывает, что читается (в смысле, ни диск, ни драйвер ничего плохого не говоря), а данные искажены.
vasek
Давай расмотрим упрощенный формат CD/DVD, который содержит 3 области
А где про это можно почитать? Илучше, чтобы не упрощённо.
vasek
Чисто профессиональное любопытство - не понятно назначение проверки целостности CD/DVD, точнее, какая коренная причина этого?
Обычно проверка целостности CD/DVD не имеет смысла.
Причина очень простая: ГОСТ.
Диски хранятся в двух экземплярах (условно называемых подлинником и дубликатом). Если строго по ГОСТу - хранятся в разных зданиях (чтобы не сгорели одновременно). Их положено периодически контролировать (кажется, раз в год). И если какой-то протух - выкинуть его и сделать новый, скопировав с другого, целого. Если вдруг протухли оба одновременно, то должна ещё быть контрольная копия, с неё и воссоздаются умершие подлинник и дубликат. (Контрольная копия делается с подлинника или дубликата, чтобы с неё делать рабочие копии. А сами подлинник и дубликат просто лежат, их нельзя использовать ни для чего, кроме создания контрольной копии). На самый крайний случай - можно воссоздать с рабочей копии. А выковыривать данные с нечитаемого диска - это романтика, которая должна быть начисто исключена.
Такой порядок существует не одно десятилетие, и никто его менять не будет. Разве что в принципе прекратят хранение на автономных носителях, а всё будут хранить в датацентрах.
Вот результат, на котором я останавливаюсь.
dvd_md5
#!/bin/bash
#
#    Подсчёт контрольной суммы md5 файла iso или оптического диска.
# Реальная длина файла iso иногда бывает больше той, которую сообщает isoinfo,
# за счёт избыточных нулей в конце, которые ни на что не влияют, за исключением
# контрольной суммы. Поэтому считаем md5sum только для "полезной" длины, так что
# сумма, подсчитанная этим скриптом, может отличаться от суммы, подсчитанной
# "в лоб": md5sum bla-bla.iso. Но зато она всегда совпадает с суммой,
# подсчитанной с диска, который записан по этой iso, независимо от того,
# есть в конце iso лишние нули, или нет.
#   Параметр - имя файла или устройства; если опущен используется /dev/sr0
#
#   Зависимости: isoinfo, grep, cut, md5sum, pv
#
  DISK="$1"
  if [ ! -n "$DISK" ]; then
    DISK="/dev/sr0"
  fi
  BLOCKS=`isoinfo -d -i $DISK 2> /dev/null | grep -i "volume size" | cut -d " " -f 4-4`
  SIZE=$(($BLOCKS * 2048))
  echo "disk $DISK, data size $SIZE bytes"
  dd if=$DISK bs=2048 count=$BLOCKS status=none | pv -s $SIZE | md5sum
anode
akorop
как, имея диск, узнать длину исошки, не записывая исошку?
Проверить не могу за неимением, Тут говорят, что так
isoinfo -d -i /dev/cdrom | grep -i -E 'block size|volume size'
lsblk -bn -o FSSIZE /dev/sr0 даёт то же самое, только в байтах, а не в секторах. Но беда в том, что iso разные бывают. Скажем, для арч-диска (созданного при помощи archiso) эта длина совпадает с длиной iso-файла. А для iso, созданного разными (старенькими, впрочем) средствами ubuntu, iso-файл длиннее. На глаз, это удлинение всё заполнено нулями - вероятно, это lead-out.
Похоже, что считать контрольную сумму диска только до длины, которую выдают isoinfo или lsblk, - это правильно. Но тогда и контрольную сумму iso тоже надо считать только до этой длины, а не до полной длины файла, вместе со всеми нулями.
В общем, немного в голове прояснилось. Спасибо всем за подсказки. Наверно, адаптирую свой скрипт для КС диска, чтобы он и КС iso-файла мог считать (до логической длины данных). А isomd5sum использовать хочется, но страшно. Очень уж она "вещь в себе".
vasek
Что то слишком мудрено - если тебе так важно знать когда и был ли вообще перезаписан диск, не проще посмотреть дату его записи?
Речь вообще не о том. Это производство.
1) Вот лежит в архиве на полке диск. Лежит давно и ещё долго лежать будет. Надо периодически проверить, не протух ли он.
2) Вот лежит в ящике в цехе диск (рабочая копия), а этикетка с идентификацией отвалилась и потерялась. Надо проверить, соответствует ли он подлиннику, хранящемуся в архиве, или это позапрошлая версия (а старые версии регулярно лезут из щелей, как тараканы).
vasek
А вообще - кто сейчас будет лезти в DVD, у большинства уже и приводов то нет.
А на производстве есть. Кое-где и дискеты есть. А вот сети может и не быть.