Az Arch Linux projekt bejelentett egy reprodukálható Docker-képet

Az Arch Linux projekt bejelentette, hogy immár bitről bitre reprodukálható Docker-kép is elérhetővé vált. Az új kiadás külön repro címkével jelent meg, vagyis nem váltja le a megszokott Arch Linux konténerképet, hanem attól elkülönítve használható. A fejlesztők ezt a korábbi, reprodukálható WSL-kép után újabb mérföldkőnek tekintik a disztribúció átláthatóbb buildfolyamata felé vezető úton.

Az Arch Linux projekt bejelentett egy reprodukálható Docker-képet

A reprodukálható konténerképek lényege dióhéjban

A reprodukálható konténerkép lényege, hogy ugyanabból a forrásból és ugyanazzal az eljárással újraépítve pontosan ugyanaz a konténerkép jön létre. Az Arch Linux projekt esetében ez azt jelenti, hogy az újra elkészített képek minden alkalommal ugyanazt az image digestet adják, amit a projekt a diffoci eszközzel is ellenőriz. A kezdeményezés célja az ellátási lánc átláthatóbbá tétele: Ha egy közzétett konténerképet mások is újra tudnak építeni, és a létrejövő kép teljesen megegyezik az eredetileg kiadottal, akkor könnyebben kiszűrhető, ha eltérés van a közzétett állapot és a forrás között.

A bejelentett Docker-kép mögött több célzott módosítás áll. A fejlesztők beállították a SOURCE_DATE_EPOCH értékét, ezt az OCI-kép létrehozási címkéjénél is figyelembe vették, eltávolították az ldconfig segéd-gyorsítótárfájlt a nem determinisztikus eltérések elkerülésére, és a Docker, illetve Podman alatti build során az időbélyegeket is egységesítették. Ezek együtt tették lehetővé, hogy a konténerkép ne csak elméletben, hanem ténylegesen is bitről bitre azonos módon újra előállítható legyen.

A reprodukálható Docker-kép jelenlegi korlátai

A mostani megoldásnak van egy egyértelmű korlátja is. A reprodukálhatóság megőrzése érdekében az Arch eltávolította a pacman kulcsait a képből, ezért a pacman a konténer elindítása után nem használható azonnal. A csomagok frissítése vagy telepítése előtt a felhasználóknak kézzel újra kell építeniük a kulcstartót az alábbi parancsokkal:

$ pacman-key --init

$ pacman-key --populate archlinux

Emiatt a projekt a repro címkét egyelőre kezdeti lépésként kezeli, nem végleges megoldásként. Az Arch projekt leírása szerint a fejlesztők már dolgoznak azon, hogy később ezt a megkötést is ki lehessen váltani.

Az Arch Linux ezzel a konténerekre is kiterjesztette a reprodukálható buildfolyamatok használatát, a külön repro címke és a kézi kulcskezelés viszont azt mutatja, hogy ez még nem végleges megoldás. A mostani Docker-kép ennek ellenére már jól jelzi a projekt irányát, és erősebb alapot adhat a konténerképek hitelességének ellenőrzéséhez.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.