Я хочу сказать, содержат ли два архивных файла одинаковые файлы с точки зрения имени файла и содержимого файла, не включая метаданные, такие как дата, пользователь, группа.
Однако существуют некоторые ограничения:
Во-первых, у меня нет контроля над тем, включены ли метаданные при создании файла tar. Фактически, файл tar всегда содержит метаданные, поэтому прямая разность двух файлов tar не работает.
Во-вторых, так как некоторые tar-файлы настолько велики, что я не могу позволить себе распаковать их во временный каталог и разослать содержащиеся в них файлы один за другим. (Я знаю, могу ли я распаковать файл file1.tar в файл file1 /, я могу сравнить их, вызвав tar -dvf file2.tar в файле /. Но обычно я не могу позволить себе распаковать даже один из них)
Есть идеи, как я могу сравнить два файла tar? Было бы лучше, если бы это можно было выполнить в сценариях SHELL. В качестве альтернативы, есть ли способ получить контрольную сумму каждого подфайла, не распаковывая архив?
Спасибо