GNU/Linux >> Znalost Linux >  >> Fedora

Začínáme s Toolbox na Fedora Silverblue

V této příručce probereme, co je Toolbox a jak vytvořit a spravovat kontejnerizované vývojové prostředí pomocí Toolbox na Fedora Linux.

Úvod

V posledních letech se virtualizace kontejnerů Linuxu hodně rozmohla. Ve skutečnosti je novou generací virtualizace kontejnerizace.

V dnešní době vývojáři aplikací většinou používají jako své preferované vývojové prostředí kontejnery. Existuje mnoho nástrojů pro vytváření a správu linuxových kontejnerů. Podman , Docker , Vagrant jsou některé oblíbené aplikace pro správu kontejnerů.

Dnes budeme diskutovat o dalším nástroji s názvem Toolbox což usnadňuje použití kontejnerového prostředí pro každodenní vývoj softwaru.

Co je Toolbox?

Toolbox je interní nástroj od Fedory k vytvoření kontejnerizovaného prostředí příkazového řádku na vašem základním systému Fedory.

Je to užitečné zejména pro nastavení prostředí pro vývoj softwaru pro použití a vytváření, kde lze nainstalovat a používat vývojové nástroje a knihovny.

Toolbox je speciálně vyvinut pro OSTree systémy, jako je Fedora Core OS a Fedora Silverblue . Jak již možná víte, systémy založené na OSTree jsou neměnné.

Toolbox je postaven na obrázcích kontejnerů OCI a Podman. Nevyžaduje žádný root oprávnění k nasazení kontejnerů. Dobrá věc je, že instalace Toolbox a použití je velmi snadné a snadno zapamatovatelné!

Proč Toolbox?

Skutečným cílem neměnného OS je odradit od instalace softwaru na hostitelský systém a povzbudit uživatele k instalaci softwaru do kontejnerů.

Na rozdíl od systémů založených na OSTree jsou kontejnery plně proměnlivé. Do kontejnerů tedy můžete nainstalovat své oblíbené vývojářské a ladicí nástroje, editory a sady SDK. Do hostitelského systému se nic neinstaluje.

Abychom to řekli laicky, můžeme nasadit proměnlivý kontejner na neměnný hostitelský operační systém s pomocí Toolbox.

Jak Toolbox funguje?

Ve výchozím nastavení Toolbox vytváří kontejnery na základě vašeho aktuálního systému. Pokud je například váš základní systém Fedora 35, pak toolbox vytvoří kontejner založený na Fedoře 35. V tomto kontejneru můžete použít správce balíčků jako yum nebo dnf k instalaci preferovaných aplikací. Můžete také vytvářet kontejnery založené na jiných verzích Fedory.

Můžete spustit více než jeden kontejner najednou a začít pracovat na různých projektech současně. Jakmile budete s kontejnerem hotovi, jednoduše jej smažte a vytvořte nový, kdykoli budete chtít. Opět platí, že hostitelský systém není nijak ovlivněn. Tímto způsobem můžeme udržovat čistý hostitelský OS. To také výrazně zabrání nepořádku a zkrátí proces reinstalace hostitelského OS.

Nainstalujte Toolbox na Fedoru

Toolbox je dodáván s předinstalovanými edicemi Fedora Silverblue 30 a novějšími. Na pracovní stanici Fedora jej můžete nainstalovat pomocí dnf nebo yum správci balíčků:

$ sudo dnf install toolbox 

Nebo,

$ sudo yum install toolbox 

Začínáme s Toolbox na Fedora Silverblue

Toolbox poskytuje malý počet příkazů pro vytváření, seznam, zadávání a odstraňování kontejnerů.

1. Zobrazit nápovědu k panelu nástrojů

Pokud jste v Toolboxu nováčkem, je lepší zobrazit nápovědu k Toolboxu, abyste měli přehled o tom, co jednotlivé příkazy dělají. Chcete-li zobrazit nápovědu Toolbox, použijte některý z následujících příkazů:

$ toolbox --help 
$ toolbox help 
$ toolbox -h 

Nyní začněme s vytvářením nových kontejnerů.

2. Vytvořte nový kontejner

Chcete-li vytvořit nový kontejner na základě vaší aktuální verze OS Fedora, jednoduše spusťte:

$ toolbox create 

Tento příkaz vyhledá základní obraz, který se má použít k sestavení kontejneru z vašeho místního systému. Pokud není nalezen žádný místní obrázek, budete vyzváni ke stažení příslušného obrázku. Zadejte y a klávesou ENTER stáhněte obrázek.

Ukázkový výstup:

Image required to create toolbox container.
Download registry.fedoraproject.org/fedora-toolbox:33 (500MB)? [y/N]: y
Created container: fedora-toolbox-33
Enter with: toolbox enter
 

Toolbox stáhne obraz odpovídající verzi operačního systému vašeho aktuálního hostitelského systému z registru Fedory a vytvoří nový kontejner na základě staženého obrazu. Obrázky jsou obvykle oříznuté verze skutečných distribucí.

2.1. Vytvořte kontejnery s vlastním názvem

Panelu nástrojů automaticky přiřadí jedinečný název (např. fedora-toolbox-33 ) do nově vytvořeného kontejneru.

Pokud chcete vytvořit kontejner s vlastním názvem dle vašeho výběru, použijte --container , -c příznak následovaný názvem kontejneru, jak je uvedeno níže:

$ toolbox create --container mytoolbox-f33 

Nebo krátce:

$ toolbox create -c mytoolbox-f33 

Zde mytoolbox-f33 je název kontejneru.

3. Vytvořte nový kontejner na základě konkrétní verze OS

Jak jsem již zmínil, Toolbox vytváří kontejnery na základě aktuální verze OS. Pokud například používáte Fedoru 34, Toolbox vytvoří kontejner založený na obrazu Fedory 34.

Můžete však vytvářet kontejnery i na základě jiných verzí. Vytvořil jsem kontejner Fedory 32 na mé edici Fedora 33 silverblue pomocí následujícího příkazu:

$ toolbox create --release f32 

Nebo zakrátko

$ toolbox create -r f32 

4. Seznam kontejnerů

Chcete-li vypsat všechny lokálně dostupné kontejnery ve vašem systému, spusťte:

$ toolbox list 

Ukázkový výstup:

IMAGE ID      IMAGE NAME                                        CREATED
9659c2039e64  registry.fedoraproject.org/f32/fedora-toolbox:32  4 months ago
675192cc4238  registry.fedoraproject.org/fedora-toolbox:33      4 weeks ago

CONTAINER ID  CONTAINER NAME     CREATED         STATUS      IMAGE NAME
2cfb48d6a6c5  fedora-toolbox-32  4 months ago    exited      registry.fedoraproject.org/f32/fedora-toolbox:32
1f709997b871  fedora-toolbox-33  27 minutes ago  configured  registry.fedoraproject.org/fedora-toolbox:33
 

Jak můžete vidět ve výše uvedeném výstupu, mám dva kontejnery, konkrétně fedora-toolbox-32 a fedora-toolbox-33 v mém systému.

Horní část výstupu zobrazuje podrobnosti o základních obrázcích použitých k vytvoření kontejnerů, jako je ID obrázku, název obrázku a kdy byly tyto obrázky vytvořeny. Ve spodní části uvidíte podrobnosti o kontejnerech, jako je ID kontejneru, název kontejneru, kdy byl kontejner vytvořen a stav kontejneru.

Můžete také zobrazit buď podrobnosti o kontejneru nebo podrobnosti o obrázku samostatně. Chcete-li uvést pouze podrobnosti o kontejneru, použijte --containers , -c možnost:

$ seznam toolbox --containers ID KONTEJNERU NÁZEV KONTEJNERU VYTVOŘENÝ STAV NÁZEV OBRÁZKU 2cfb48d6a6c5 fedora-toolbox-32 před 4 měsíci spuštěn registry.fedoraproject.org/f32/fedora-toolbox:32 1f709997b871 fedora hours-toolbox3 registry.fedoraproject.org/fedora-toolbox:33

Chcete-li zobrazit pouze obrázky, použijte --images , -i příznak:

$ seznam nástrojů --images ID OBRÁZKU NÁZEV OBRÁZKU VYTVOŘENO 9659c2039e64 registry.fedoraproject.org/f32/fedora-toolbox:32 před 4 měsíci 675192cc4238 registry.fedoraproject.org/fedora-toolbox:33> před 4 týdny 

Vezměte prosím na vědomí, že názvy kontejnerů a názvy obrázků budou vypadat téměř stejně, kromě poslední části v jejich názvu.

Název kontejneru obvykle obsahuje pomlčku (-) před poslední částí svého názvu (např. fedora-toolbox-33 ) a název obrázku má dvojtečku (:) (např. fedora-toolbox:33 ).

5. Vstupte do kontejnerů

Kontejnery jsme již vytvořili, ale nevstoupili jsme do nich. Vstupme tedy do kontejneru pomocí příkazu:

$ toolbox enter 

Jakmile zadáte kontejner, před výzvou shellu je diamant symbol, jak je znázorněno na následujícím výstupu:

⬢[[email protected] ~]$  

Všimli jste si symbolu diamantu na levé straně výzvy? Znamená to, že jste uvnitř kontejneru.

Kontejnery se hladce integrují s vaším aktuálním operačním systémem. Uvnitř každého kontejneru najdete své stávající uživatelské jméno a oprávnění.

Ke svému domovskému adresáři a několika dalším umístěním můžete přistupovat stejným způsobem jako z hostitelského systému. Můžete také přistupovat k systému i relaci D-Bus, systémovému deníku a Kerberos atd.

Každý kontejner obsahuje běžné nástroje příkazového řádku, včetně správce balíčků (např. DNF na Fedoře). Můžete tedy nainstalovat a otestovat jakýkoli software uvnitř kontejneru.

Například následující příkaz nainstaluje všechny potřebné vývojové nástroje:

$ sudo yum groupinstall "Development Tools" 

5.1. Zadejte do konkrétního kontejneru

Když spustíte toolbox enter příkaz bez jakýchkoli voleb otevře výchozí kontejner panelu nástrojů. Výchozí kontejner je ten, který je založen na vašem hostitelském OS.

Pokud chcete otevřít jiný kontejner, výslovně uveďte jeho název, jak je uvedeno níže:

$ toolbox enter -c fedora-toolbox-32 

Zde -c se používá k označení názvu kontejneru a fedora-toolbox-32 je název kontejneru.

6. Ukončete panel nástrojů

Až budete s kontejnerem hotovi, jednoduše napište exit k odhlášení z kontejneru.

$ exit 

7. Spouštějte příkazy v kontejnerech, aniž byste do nich vstupovali

Pozoruhodnou vlastností Toolboxu je, že můžete spouštět příkazy na kontejneru, aniž byste je museli zadávat. Následující příkaz zobrazí distribuční vydání výchozího kontejneru z hostitelského systému:

$ toolbox run cat /etc/redhat-release
Fedora release 33 (Thirty Three) 

Když spustíte toolbox run příkaz bez jakýchkoli voleb, provede příkazy na výchozím kontejneru. Příkazy můžete také spouštět na jiných kontejnerech zadáním jejich názvu pomocí --container , -c příznak:

$ toolbox run -c fedora-toolbox-32 cat /etc/redhat-release
Fedora release 32 (Thirty Two)
 

8. Zastavte provoz kontejnerů

Poté, co opustíte kontejner, bude pokračovat v provozu, dokud jej nezastavíte. Neexistuje žádný přímý příkaz panelu nástrojů, který by zastavil běžící kontejner. Můžeme však použít podman příkaz k zastavení kontejnerů sady nástrojů:

$ podman container stop fedora-toolbox-33
 

Pamatujte, že Toolbox používá podman pod pokličkou.

9. Odeberte kontejnery a obrázky sady nástrojů

Pokud kontejner nebo jeho základní obrázek nechcete, můžete se jich jednoduše zbavit, jak je uvedeno níže.

Před odstraněním kontejneru se ujistěte, že jste opustili tento kontejner.

Chcete-li odstranit kontejner, spusťte:

$ toolbox rm fedora-toolbox-32 

Výše uvedený příkaz odstraní kontejner s názvem fedora-toolbox-32 .

Chcete-li násilně odstranit kontejner, i když je spuštěný, použijte --force , -f příznak:

$ toolbox rm -f fedora-toolbox-32 

Chcete-li odstranit všechny kontejnery, použijte --all , -a příznak:

$ toolbox rm --all 

Ověřte, zda je kontejner odstraněn, uvedením dostupných kontejnerů:

$ toolbox list 

Podobně můžete odstranit obrazy panelu nástrojů pomocí toolbox rmi příkaz jako níže:

$ toolbox rmi fedora-toolbox:32 

Všimněte si prosím i ve výše uvedeném příkazu. rm příkaz odstraní kontejnery, zatímco rmi příkaz odstraní obrázky. Nezapomeňte také uvést správný název obrázku, který chcete odstranit.

Chcete-li odstranit všechny obrázky, použijte --all , -a příznak:

$ toolbox rmi --all 

Používejte podman ke správě kontejnerů a obrázků sady nástrojů

Protože Toolbox je pouze obal pro podman, můžete přímo používat příkazy podman ke správě kontejnerů.

Chcete-li zobrazit seznam kontejnerů sady nástrojů pomocí příkazu podman, spusťte:

$ podman ps -a 

Chcete-li zobrazit seznam obrázků sady nástrojů s podmanem, spusťte:

$ podman images
 

Spuštění kontejneru:

$ podman start fedora-toolbox-33 

Chcete-li zobrazit živé statistiky využití zdrojů všech spuštěných kontejnerů:

$ podman stats 

Zastavení kontejneru:

$ podman stop fedora-toolbox-33 

Kontrola kontejnerů:

$ podman inspect fedora-toolbox-33 

Odebrat kontejner:

$ podman rm <container-name> 

Odebrat obrázek:

$ podman rmi <image-name> 

K dispozici je mnoho příkazů podman. Všechny dostupné obecné příkazy a možnosti si můžete prohlédnout v sekci nápovědy podman:

$ podman --help 

Závěr

Kontejnery nejsou jen pro experimentální a výukové účely, jsou také ideální pro izolované vývojové prostředí, kde můžete pracovat na různých projektech na různých verzích OS. Toolbox výrazně zjednodušuje a zlepšuje správu kontejnerů!


Fedora
  1. Začínáme se Zsh

  2. Začínáme s ls

  3. Jak začít s Juju?

  1. Začínáme s GnuCash

  2. Začínáme se Sambou pro interoperabilitu

  3. Začínáme s PostgreSQL na Linuxu

  1. Začínáme s Etcher.io

  2. Začínáme s regulárními výrazy

  3. Začínáme s Tmux