Opublikowano narzędzie Distrobox 1.6, które pozwala na szybkie zainstalowanie i uruchomienie dowolnej dystrybucji Linuxa w kontenerze oraz zapewnia jej integrację z systemem głównym. Kod projektu jest napisany w Shell i rozpowszechniany na podstawie licencji GPLv3.
Projekt oferuje nakładkę na Docker, Podman lub Lilipod, wyróżniającą się maksymalnym uproszczeniem pracy i integracji uruchomionego środowiska z resztą systemu. Aby stworzyć środowisko z inną dystrybucją, wystarczy wykonać jedną komendę distrobox-create, nie zastanawiając się nad szczegółami. Po uruchomieniu Distrobox zapewnia przesyłanie katalogu domowego użytkownika do kontenera oraz konfiguruje dostęp do serwera X11 i Wayland do uruchamiania aplikacji graficznych z kontenera, umożliwia podłączanie zewnętrznych nośników, dodaje dźwięk, realizuje integrację na poziomie SSH-agenta, D-Bus oraz udev.
W Distrobox ogłoszono możliwość korzystania jako system gospodarczy z 25 dystrybucji, w tym Alpine, Manjaro, Gentoo, EndlessOS, NixOS, Void, Arch, SUSE, Ubuntu, Debian, RHEL i Fedora. W kontenerze można uruchomić dowolną dystrybucję, dla której istnieją obrazy w formacie OCI. Po zainstalowaniu użytkownik może w pełni pracować w innej dystrybucji, nie opuszczając głównego systemu.
Do głównych obszarów zastosowań należą eksperymenty z atomowo aktualizowanymi dystrybucjami, takimi jak Endless OS, Fedora Silverblue, OpenSUSE MicroOS oraz SteamOS3, tworzenie oddzielnych izolowanych środowisk (np. do uruchomienia domowej konfiguracji na służbowym laptopie), dostęp do nowszych wersji aplikacji z eksperymentalnych gałęzi dystrybucji.
W nowym wydaniu:
- Dodano wsparcie dla narzędzia do zarządzania izolowanymi kontenerami lilipod, rozwijanego przez autora Distrobox. Narzędzie umożliwia pobieranie i rozpakowywanie obrazów kontenerów w formacie OCI z różnych repozytoriów, zarządzanie obrazami oraz tworzenie i uruchamianie kontenerów z uzyskanych obrazów. Interfejs wiersza poleceń lilipod jest możliwie zbliżony do Podman, Docker i Nerdctl, ale różni się orientacją na prostotę i minimalizm (wsparcie tylko dla najbardziej niezbędnych funkcji).
Kontenery są tworzone do uruchomienia pod innym użytkownikiem z izolacją systemu plików za pomocą przestrzeni nazw punktów montowania (opcjonalnie można używać przestrzeni nazw network, pid i ipc). Dodatkowe ograniczenia, nakładane przez seccomp, capabilities oraz cgroups, nie są wspierane. Lilipod jest pozycjonowany jako wbudowane zapasowe narzędzie dla Distrobox, stosowane, gdy w systemie brakuje bardziej funkcjonalnych menedżerów kontenerów. Narzędzie jest budowane z wykorzystaniem statycznego wiązania i nie jest zależne od zewnętrznych zależności.
- Poprawiono integrację z technologiami NVIDIA, takimi jak CUDA.
- Udoskonalono proces inicjalizacji.
- Udoskonalono działanie powłoki użytkownika wewnątrz kontenera.
- W kontenerach z prawami root zapewniono poprawną konfigurację hasła użytkownika do wykonywania narzędzia sudo.
- Poprawiono wsparcie dla kontenerów z własnym systemem inicjalizacji (initful). Dodano możliwość korzystania z systemu inicjalizacji OpenRC. Udostępniono wsparcie dla sesji użytkowników opartych na systemd.
- Do polecenia „distrobox create” dodano nowe opcje „—unshare-all”, „—unshare-netns”, „—unshare-process” i „—unshare-devsys”.
- Zapewniono możliwość używania kontenerów uruchamianych w trybach initful i unshare-all w środowiskach opartych na LXC i Libvirt.
- Dodano parametr konfiguracji container_additional_volumes do wskazywania stosowanych w kontenerach punktów montowania.
- Zapewniono możliwość uruchamiania eksportowanych plików binarnych w różnych środowiskach DistroBox.
- W poleceniu „distrobox assemble” zaimplementowano wsparcie dla wszystkich opcji polecenia „distrobox create”. Umożliwiono eksport aplikacji i plików binarnych bezpośrednio z manifestu.
- Rozwiązano problemy z ustawieniem strefy czasowej.
Źródło: opennet.ru
