При выполнение первой команды по сборке образа несколько файлов с длинными именами
(не помню точное число знаков) воспринимались как одинаковые несмотря на разные расширения файлов.
На содержимое директории для содания образа есть ограничения:
1. Глубина вложенности директорий до 8
2. Длина имен файлов и директорий до 103 символов
Директории глубже 8 будут отсутствовать, имена длинее 103 символов, будут урезаны.
Мне пришлось эти файлы соединить с помощью архиватора.
Да, правильно, чтобы не переимненовывать файлы, убирать лишние глубокие поддиректории, можно посто добавить в архив.
man genisoimage
-J Generate Joliet directory records in addition to regular ISO9660 filenames. This is primarily useful when
the discs are to be used on Windows machines. Joliet filenames are specified in Unicode and each path com‐
ponent can be up to 64 Unicode characters long. Note that Joliet is not a standard — only Microsoft Win‐
dows and Linux systems can read Joliet extensions. For greater portability, consider using both Joliet and
Rock Ridge extensions.
-joliet-long
Allow Joliet filenames to be up to 103 Unicode characters, instead of 64. This breaks the Joliet specifi‐
cation, but appears to work. Use with caution.]man genisoimage
еще:
https://ru.wikipedia.org/wiki/ISO_9660https://ru.wikipedia.org/wiki/JolietНайти файлы и директории с глубиной вложенности (от текущей директории) более 8:
find | awk -F/ '{F=NF-1;if(F>=8){print F,$0}}' | sort -nk1
Найти файлы и директории с именами длиной 103 и более символов:
find | egrep '.*/[^/]{103,}$'
Перед записью, чтобы убедится что образ создался без урезаний, ошибок, примонтируем его командой (без sudo):
udisksctl loop-setup --file '/путь/до/образ.iso' --read-only
Проверка наличия файлов/директорий, размеров:diff -r '/путь/до/директории1' '/путь/до/директории2'
'/путь/до/директории1' - путь до директории с исходными файлами
'/путь/до/директории2' - путь до директории монтирования образа
Отсутствие вывода - директории идентичны.
Генерация и проверка контрольных сумм (целостность файлов):Открыв терминал в директории с исходными файлами,
сгенерируем контрольные суммы файлов (хэши md5) командой:
find ! -path ./md5sums.txt -type f -exec md5sum {} + | sort -k2 > md5sums.txt
Хэши будут записаны в файл md5sums.txt в текущей директории с исходными файлами.
Теперь создав образ из этой директории, примонтировав или записав его на диск,
и открыв терминал в директории примонтированного образа или записанного диска,
можно легко проверить целостность всех файлов командой:
md5sum --quiet -c md5sums.txt
Отсутствие вывода - все ок, все хэши совпали, все файлы целы.