Portál AbcLinuxu, 7. května 2025 00:06
Jejich balíčkovací systém prý pro identifikaci nainstalovaných balíčků používá otisky, takže veškerý celý operační systém pak lze vyjádřit jedním reprodukovatelným kontrolním součtem. Od toho odvíjejí binární kompatibilitu, ověření integrity a zároveň možnost přečíst si související zdrojáky.
Slyšel jsem ale, že v praxi na to rezignovali. Když zjistili, že instalací bezpečnostní aktualizace se jim změní kontrolní součet, tak začali součty falšovat (původní součet je uložen v aktualizujícím balíčku), jinak by nikomu nešly nainstalovat reverzní závislosti.
Já chápu, proč jste to udělali, ale podle mě to bortí celý koncept a očekávání uživatelů: Pokud hash je definován jako a unique identifier for the package that captures all its dependencies
, tak čekám, že po změně jediné závislosti se hash změní.
Pokud tomu tak není, tak očividně hash nepostihuje celý stav. Navíc to znamená, že někdo subjektivně musí rozhodnout, která změna je dost důležitá, aby se hash změnil, a která není. Pak se už ale kvalitativní rozdíl mezi Nixem a jinými balíčkovacími systémy ztrácí. To už třeba Docker nebo OSTree je v tomto směru ortodoxnější.
Je třeba ale přiznat, že Nix nabízí univerzální způsob hlídání build-time konfigurace včetně flexibility rozhodnout, která „proměnná“ je z hlediska konfigurace význačná.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.