GNU Guix 1.0: menendżer pakietów i dystrybucja dla programisty
Ruch wolnego oprogramowania przekroczył właśnie kolejny ważny punkt w swojej historii. Wydany został GNU Guix 1.0. To menedżer pakietów, z którego można skorzystać na Linuxie i dystrybucja systemu GNU.
02.05.2019 | aktual.: 03.05.2019 00:32
Co może Guix?
Guix nie jest systemem na desktop, ale można spróbować używać go w ten sposób - ma sporo możliwości, które przydadzą się programistom. Przede wszystkim jest to zestaw narzędzi do wdrażania oprogramowania. Pozwala zarządzać pakietami, środowiskami, kontenerami i systemami. Ich hierarchia wygląda następująco:
W praktyce oznacza to, że Guix pozwala instalować i aktualizować aplikacje z repozytorium, przeszukiwać jego zawartość i podążać za zależnościami. Obsługa menedżera wygląda znajomo: polecenie guix install zainstaluje nowy pakiet, guix pull i guix upgrade pobiorą aktualne wersje wolnych programów i tak dalej.
Jest jednak coś, co odróżnia Guixa od innych narzędzi tego typu. Guix działa transakcyjnie, dzięki czemu można w każdej chwili cofnąć się do poprzedniej wersji pakietu (guix package --roll-back), zbadać różnice między wersjami (guix package -l) i tak dalej. Kolejna różnica to możliwość wdrażania identycznego środowiska na różnych systemach i w różnym czasie. Do tego Guix nie wymaga uprawnień roota przy wdrożeniach. Powinien dobrze się sprawdzić w zarządzaniu klastrami i superkomputerami, dla których powstał.
Guix sprawdzi się także w rękach programistów. Konkretny program można uruchomić w "skorupce" (guix environment) ze wszystkimi komponentami i zależnościami, które są potrzebne do pracy nad projektem. Ukończoną wersję projektu można łatwo spakować w obrazie kontenera dla Dockera albo tarballu, z którego można skorzystać na dowolnej dystrybucji GNU/Linuxa. Format pakietu można ustalić ręcznie. Z funkcji Guixa można też korzystać za pośrednictwem interfejsów Guile (implementacja Scheme).
Wspomniałam, że Guix powstał przede wszystkim dla klastrów, ale ma też funkcje kierowane dla Linuxa na desktopie. Ujednolicone podejście do konfiguracji systemu pozwala zapisać wszystkie potrzebne informacje w. jednym pliku. Ustawienia języka, usług, kont i systemu plików są zapisane w tym samum, deklaratywnym języku. To bardzo ułatwia uruchamianie usług zależnych od innych usług.
Droga do 1.0
Wersja 1.0 w świecie wolnego oprogramowania zawsze ma ogromne znaczenie. Guix powstawała 7 lat. Pracowało nad nią 260 osób, tworzących kod, dokumentację i tłumaczenia, w międzyczasie wydanych zostało 19 wersji testowych, numerowanych 0.x.
W czasach, gdy numery wersji programów pędzą na złamanie karku, twórcy Guixa starali się nie działać pochopnie. Sporo czasu zajęło im zbudowanie społeczności wokół nowej dystrybucji, bez czego Guix w ogóle by nie zaistniał. Prowadzący projekt piszą też, że czuli wagę swojego dzieła na barkach, co onieśmielało.
Ponadto budowali coś zupełnie nowego. Sporo czerpali z Nixa, który do świata wolnego oprogramowania wprowadził paradygmat wdrażania, który znajdziemy także w Guixie. Poza tym jednak musieli sami zaplanować wzorce programowe, zabezpieczenia i użyteczny interfejs. Wyzwania czekały na każdym kroku.
Jak ściągnąć Guix?
Guix 1.0 jest dostępny w kilku postaciach. Można z niego skorzystać z po instalacji z obrazu (standard ISO-9660) samodzielnego systemu, obrazu dla maszyn wirtualnych oraz tarballi, które można zainstalować na dowolnej dystrybucji GNU/Linuxa. Kod źródłowy także jest dostępny.