На моем текущем месте работы мы иногда получаем пакет RPM, и нам говорят обновить нашу среду. Организация, предоставляющая нам обновления, очень слаба в своих процессах и иногда вносит изменения в пакет, не обновляя номер версии и т.д. Поэтому нам приходится слепо устанавливать все, что нам дают (что может занять много времени).
Например: иногда у нас установлен abc-1.2.3.rpm, а затем мы получаем новый abc-1.2.3.rpm, который содержит исправления, но с точно такими же номерами версий! Да. Это глупо, но мы должны иметь дело с этим.
Есть ли способ узнать, соответствует ли конкретный файл RPM тому, который установлен в данный момент? Через MD5SUM, SHA1 или бинарный diff и т.д.?
Чтобы решить эту проблему, мы копируем все RPM, которые установлены в определенном каталоге в нашей системе, а затем выполняем сравнение двоичного файла между ними и любыми новыми файлами (если они имеют совпадающие имена файлов). Если бинарное сравнение показывает другое, то мы устанавливаем этот RPM, а также перемещаем файл RPM в этот «установленный» каталог (для будущего сравнения)
Должен быть лучший способ сделать это. Какие-либо предложения?