Před několika měsíci jsme psali o novém nástroj Fedora Toolbox, který umožňuje jednoduše vytvořit kontejner s Fedorou. Primárně je určený pro použití ve Fedora Silverblue, kde neměnný systém neumožňuje instalovat dodatečné balíčky a Fedora Toolbox by měl nabídnout onu flexibilitu, na kterou jsou uživatelé zvyklí z tradičního balíčkovacího systému. Využití ale najde také v tradiční, na balíčcích založené Fedoře, kde vám nabídne bezpečné prostředí pro experimenty.
Jak Fedora Toolbox funguje
Fedora Toolbox je postavený na nástrojích podman a buildah. Nenabízí tedy nic, čeho byste nemohli dosáhnout přímo těmito nástroji, ale na rozdíl od nich nabízí jednodušší syntaxi a mnoho užitečných věcí automaticky nastavených, takže je mnohem blíže termínu "just works". Volba na podman padla kvůli tomu, že na rozdíl třeba od Dockeru umožňuje běh kontejneru bez práv roota, což je u desktopového použití dost podstatná výhoda.
Fedora Toolbox používá vlastní OCI obrazy, které jsou uložené v Fedora Container Registry a které jsou postavené na standardních obrazech Fedory. Jen mají trochu jinou skladbu balíčků, aby nabízely podobné chování jako Silverblue. Momentálně jsou k dispozici obrazy založené na F28, F29 a F30.
Co udělá Fedora Toolbox za vás? Při vytváření kontejneru vytvoří uživatele se stejným UID, jaké má váš účet. Dále zajistí, aby potřebné věci z hostujícího systému byly k dispozici v kontejneru: obsah domovského adresáře, zobrazovací server, instance D-Bus, hardware. Kontejner s těmito úpravami je potom uložený pod názvem "fedora-toolbox-uzivatelskejmeno".
Jak se Fedora Toolbox používá
Najdete jej v balíčku fedora-toolbox. Je to zatím jednoduchý nástroj, který vám kromě vytvoření a vstupu do kontejneru další akce neumožní. Kompletní přehled příkazů a parametrů dostanete zadáním příkazu fedora-toolbox --help
.
fedora-toolbox create
Pokud provedete tento příkaz bez žádných parametrů, vytvoří se kontejner s obrazem Fedory, kterou používáte, a s výchozím pojmenováním. Chcete-li mít vlastní název, použijte parametr --container <jméno>
. Chcete-li mít v kontejneru jinou verzi Fedory, specifikujte ji parametrem --release <vydání>
(f28, f29, f30). Můžete si takto vytvořit kontejnery s různými verzemi Fedory vedle sebe. Jen musíte vždy zvolit unikátní jméno.
fedora-toolbox enter
Tímto příkazem vstoupíte do kontejneru. Máte-li jich vytvořených více, musíte specifikovat do kterého parametrem --container <jméno>
. Aby Fedora Toolbox odlišil prompt běžící nad kontejnerem, vykreslí vám v terminálu vedle něj modrý kosočtverec. Podle něj můžete ihned poznat, jestli se nacházíte v kontejneru nebo v hostujícím systému.
Další operace s kontejnery fedora-toolbox zatím neumožňuje. Můžete ale pro ně použít přímo podman. Třeba všechny existující kontejnery můžete nechat vypsat příkazem podman ps --all
.
Tip: díky tomu, že Fedora Toolbox automaticky nastavuje také přístup k zobrazovacímu serveru, můžete v kontejneru instalovat a pouštět desktopové aplikace, aniž byste museli cokoliv nastavovat.
22. 1. 2019 at 20:48
>Tip: díky tomu, že Fedora Toolbox automaticky nastavuje také přístup k zobrazovacímu serveru, můžete v kontejneru instalovat a pouštět desktopové aplikace, aniž byste museli cokoliv nastavovat.
Jak je to s podporou 3D akcelerace a zvuku u takto spuštěných aplikací?
23. 1. 2019 at 10:44
3D akcelerace by fungovat měla, zvuk zatím vyřešený není.
27. 5. 2019 at 21:27
dnes jsem Toolbox vyzkoušel na čisté instalaci Siliverblue 30
po vytvoření kontajneru se do něj nelze přihlásit, řešení tady:
https://discussion.fedoraproject.org/t/cant-enter-toolbox/1807
potom už to jede, ale
když si chci vypsat kontajnery (toolbox list), tak se objeví jen :
toolbox: failed to list images with com.redhat.component=fedora-toolbox
když chci smazat kontajner (toolbox rm Ruby), tak jse objeví jen:
toolbox: failed to remove container Ruby