Úvodní samostatná práce z předmětu Operační systémy (OSY) pro 3. I na SPOŠ Dvůr Králové nad Labem.
Vyberte si Linuxovou distribuci a pomocí Vagrantu si připravte vlastní virtuální server. Jeho konfiguraci uložte do svého repozitáře v GitHub Classroom, abyste prostředí mohli znovu vytvořit i na jiném počítači.
- Přijměte zadání v GitHub Classroom pomocí odkazu od vyučujícího.
- Naklonujte si svůj studentský repozitář do počítače a otevřete jej v editoru.
- Ověřte, že máte k dispozici Git, Vagrant a VirtualBox.
- V ročníkovém projektu otevřete adresář Vagrant s příklady jednotlivých VM.
- Vyberte si jednu Linuxovou distribuci, například Debian 13. Příklady pro FreeBSD nejsou Linuxové distribuce.
- V kořeni svého repozitáře vytvořte adresář pro svůj server, například
srv01. - Do něj zkopírujte konfiguraci vybrané distribuce a pojmenujte ji přesně
Vagrantfile, bez přípony. Pro Debian 13 použijte soubor Vagrantfile-debian. - Prohlédněte si konfiguraci: najděte název boxu, velikost RAM, počet CPU a jméno virtuálního serveru. Ve vzoru pro Debian 13 je box
bento/debian-13.
Kopírujete konfiguraci virtuálního stroje, nikoli instalační ISO. Obraz systému si Vagrant stáhne při prvním spuštění.
V kořeni repozitáře vytvořte soubor .gitignore a vložte do něj pravidlo:
.vagrant/Pokud už soubor existuje, pravidlo zkontrolujte a případně doplňte. Toto pravidlo ignoruje adresáře .vagrant i uvnitř složek jednotlivých serverů, například srv01/.vagrant/.
Vagrant do .vagrant/ ukládá místní stav virtuálního stroje. Tento adresář se do Gitu neodevzdává. Naopak soubory .gitignore a srv01/Vagrantfile do repozitáře patří.
V terminálu na svém počítači přejděte z kořene repozitáře do adresáře serveru a spusťte jej:
cd srv01
vagrant up
vagrant status
vagrant sshPrvní spuštění může trvat déle kvůli stažení boxu. Po přihlášení do Linuxu ověřte distribuci:
cat /etc/os-releaseZ virtuálního serveru se odhlaste příkazem exit. Po dokončení práce můžete server vypnout příkazem vagrant halt, který zadáte na svém počítači v adresáři srv01.
Přihlaste se do serveru příkazem vagrant ssh. Následující příkazy spusťte uvnitř virtuálního serveru, ve svém domovském adresáři. Skript nevyžaduje sudo.
Stáhněte si ověřovací skript:
cd ~
curl -fL https://raw.githubusercontent.com/sposdknl/git-vagrant/main/overeni-serveru.sh -o overeni-serveru.shPokud nemáte curl, můžete použít wget:
wget -O overeni-serveru.sh https://raw.githubusercontent.com/sposdknl/git-vagrant/main/overeni-serveru.shProhlédněte si skript a spusťte jej bez argumentů:
cat overeni-serveru.sh
bash overeni-serveru.shSkript ověří Linux a rozpoznanou virtualizaci a vypíše unikátní kontrolní kód i záznam s distribucí, hostname, kernelem a časem. Celý vypsaný Markdown blok (kód i záznam) vložte do části Moje řešení. Každé spuštění vytvoří nový kód; odevzdejte jeden odpovídající pár kódu a záznamu.
Kód slouží jako kontrolní záznam pro vyučujícího. Veřejný skript nemůže zaručit pravost výsledku ani sám prokázat, že VM vznikla Vagrantem; součástí odevzdání proto zůstává funkční Vagrantfile a případné předvedení serveru.
- Nechte si pomocí AI vytvořit vlastní obrázek na téma Linux, Git, Vagrant a virtuální servery.
- Uložte jej do adresáře
Images, například jakoImages/muj-linux-server.png. - Nahraďte úvodní obrázek v tomto README odkazem na svůj soubor. Upravte také jeho alternativní popis:
- Do části Moje řešení doplňte použitý AI nastroj a zadání (prompt).
- Obrázek přidejte do Gitu a na GitHubu ověřte, že se v README zobrazuje.
- Do části Moje řešení níže doplňte zvolenou distribuci, adresář serveru a výsledek prvního spuštění.
- V kořeni repozitáře ověřte ignorování místních dat:
Pokud plníte bonus, přidejte vlastní obrázek příkazem git add Images/muj-linux-server.png (upravte podle názvu svého souboru).
Pro příklad s adresářem srv01 uložte změny a odešlete je na GitHub:
git add README.md .gitignore srv01/Vagrantfile
git commit -m "Priprava prvniho Linux serveru ve Vagrantu"
git pushPoužili-li jste jiné jméno adresáře, upravte cesty v příkazech. Na GitHubu ověřte, že jsou změny ve vašem studentském repozitáři skutečně vidět.
.
├── README.md
├── .gitignore
├── overeni-serveru.sh
├── LICENSE
├── Vagrant
├── Images/
│ └── git-vagrant.png
└── srv01/
└── Vagrantfile
Adresář srv01/.vagrant/ vznikne pouze lokálně při práci s Vagrantem a nebude součástí odevzdaného repozitáře.
- Mám vlastní adresář serveru a v něm správně pojmenovaný
Vagrantfile. - Vybral/a jsem Linuxovou distribuci ze vzorů ročníkového projektu.
- Server se spustí a mohu se do něj přihlásit pomocí
vagrant ssh. -
.gitignorevylučuje.vagrant/a žádné soubory z něj nejsou sledované Gitem. - Na serveru jsem spustil/a ověřovací skript a vložil/a kód i celý záznam do části Moje řešení.
- Doplnil/a jsem část Moje řešení a odeslal/a změny do GitHub Classroom repozitáře.
- Distribuce a verze: doplňte
- Použitý Vagrant box: doplňte
- Adresář serveru: doplňte
- Výsledek spuštění a přihlášení: doplňte
- Případné problémy a jejich řešení: doplňte
- Kontrolní kód a záznam ze serveru: sem vložte celý Markdown blok vypsaný skriptem
- Bonus – AI obrázek a použitý prompt: doplňte, pokud plníte bonus
