[devel] Как узнать, что пакет установлен из репозитория?

Anton Farygin rider на basealt.ru
Вт Май 2 11:09:02 MSK 2023


On 02.05.2023 11:04, Anton Farygin wrote:
> On 02.05.2023 11:01, Dmitry V. Levin wrote:
>> On Tue, May 02, 2023 at 10:47:57AM +0300, Anton Farygin wrote:
>>> On 02.05.2023 10:46, Dmitry V. Levin wrote:
>>>> On Tue, May 02, 2023 at 08:31:43AM +0300, Danil Shein wrote:
>>>>> Мы сначала и использовали SHA1, но перешли на новую схему хэшей, т.к.
>>>>> пошли коллизии из-за того, что не всегда при пересборке пакетов 
>>>>> меняется
>>>>> SHA1 хэш, а нам нужен уникальный признак каждого пакета.
>>>> Интересно, а что тогда меняется в пакете, если SHA1 в нём не меняется?
>>> sha1header только от заголовка. Насколько я помню подпись пакета не 
>>> входит
>> Подпись, конечно, не входит, но какой смысл различать пакеты, у которых
>> sha1header совпадает?  Даже сборочница считает такие пакеты 
>> эквивалентными.
>>
> Они не могут быть эквивалентными, т.к. у них не совпадают контрольные 
> суммы (md5sum и sha512)
>
> Когда мы перестаём их считать эквивалентными, то у нас начинают 
> появляться дубли из-за изменённой sha512 и md5, которые используются в 
> аптовых хешах и репозитории.
>
Непонятно написал. Если мы будем считать что пакеты с одинаковой 
sha1header и разными md5sum/sha512 мы начинаем считать одинаковыми, то у 
нас исчезает информация в базе о контрольной сумме файла с пакетом. А 
эта контрольная сумма нужна для того, что бы быстро (на лету) сгенерить 
хеши.

В общем мы пробовали, так не работает ;(




Подробная информация о списке рассылки Devel