No description
Find a file
2026-02-15 09:11:41 +01:00
ENCRYPTION_GUIDE.md Nahrány soubory do „/“ 2026-02-15 09:11:41 +01:00
gentoo-installer.sh Nahrány soubory do „/“ 2026-02-15 09:11:41 +01:00
QUICKSTART.md Nahrány soubory do „/“ 2026-02-15 09:11:41 +01:00
README.md Nahrány soubory do „/“ 2026-02-15 09:11:41 +01:00
test-installer.sh Nahrány soubory do „/“ 2026-02-15 09:11:41 +01:00

Gentoo Linux Installation Script

Automatizovaný instalační script pro Gentoo Linux s interaktivním rozhraním.

⚠️ VAROVÁNÍ

  • Tento script SMAŽE všechna data na vybraném disku!
  • Používej pouze na čistém systému nebo ve virtuálním stroji pro testování
  • Není to oficiální Gentoo nástroj - používej na vlastní riziko
  • Vždy si zálohuj důležitá data před instalací

Hlavní vlastnosti

  • 🖥️ 7 Desktop prostředí: KDE Plasma, GNOME, XFCE, MATE, Cinnamon, LXQt + server/minimal
  • 🔒 LUKS šifrování: Full disk encryption s LUKS2 (volitelné)
  • 💾 Btrfs subvolumy: Automatická struktura s kompresí (zstd/lzo/zlib)
  • 📸 Automatické snapshoty: Snapper předkonfigurován pro @ a @home
  • Rychlá instalace: Volba binárního kernelu pro rychlejší setup
  • 🎨 Kompletní DE setup: Display manager, NetworkManager, audio stack
  • 📦 Extra aplikace: Volitelně Firefox, LibreOffice, VLC, GIMP a další
  • 🔧 Optimalizovaná konfigurace: Automatické USE flags podle zvoleného DE

📋 Požadavky

  • Bootnutý Gentoo Minimal Installation CD nebo LiveCD s Internetem
  • Minimálně 20 GB místa na disku
  • Internetové připojení
  • Root přístup

🚀 Použití

1. Stáhni script (na LiveCD)

wget https://raw.githubusercontent.com/your-repo/gentoo-installer.sh
# nebo pokud máš script na USB:
# cp /mnt/usb/gentoo-installer.sh .

2. Udělej ho spustitelným

chmod +x gentoo-installer.sh

3. Spusť jako root

./gentoo-installer.sh

4. Následuj interaktivní průvodce

Script se tě zeptá na:

  • Výběr disku pro instalaci
  • Hostname systému
  • Init systém (OpenRC nebo systemd)
  • Typ kernelu (kompilovat nebo binární)
  • Filesystem (ext4, btrfs s subvolumy, xfs)
  • LUKS šifrování disku (ano/ne)
  • Velikost swapu
  • Desktop prostředí (žádné, Plasma, GNOME, XFCE, MATE, Cinnamon, LXQt)
  • Instalace extra aplikací (Firefox, LibreOffice, VLC, atd.)
  • Timezone a locale
  • Root heslo
  • Volitelně: vytvoření uživatele

🔧 Co script dělá

1. Příprava disku

  • Vytvoří GPT partition table
  • Vytvoří 3 oddíly:
    • EFI boot partition (512 MB)
    • Swap partition (konfigurovatelná velikost)
    • Root partition (zbytek disku)
  • Naformátuje oddíly podle zvoleného filesystému
  • Volitelně: Zašifruje swap a root pomocí LUKS2

2. LUKS šifrování (volitelné)

  • Full disk encryption pomocí LUKS2
  • Šifruje root partition (/dev/mapper/cryptroot)
  • Šifruje swap partition (/dev/mapper/cryptswap)
  • Automatická konfigurace initramfs s cryptsetup
  • GRUB nebo systemd-boot s podporou LUKS
  • Při bootu se zeptá na heslo k dešifrování

Poznámka o EFI: EFI partition (/boot/efi) zůstává nešifrovaná - to je standardní chování, protože firmware potřebuje přístup k bootloaderu.

2. Btrfs subvolumy (pokud vybrán btrfs)

  • Vytvoří optimalizovanou strukturu subvolumů:
    • @/ (root)
    • @home/home (domovské adresáře)
    • @snapshots/.snapshots (snapshoty systému)
    • @var_log/var/log (logy)
    • @var_cache/var/cache (cache)
  • Aktivuje kompresi (zstd jako default)
  • Nainstaluje snapper pro automatické snapshoty
  • Každý subvolume je mountován s optimálními parametry

3. Instalace base systému

  • Stáhne nejnovější stage3 tarball
  • Rozbalí base systém
  • Nakonfiguruje make.conf s optimalizacemi
  • Automaticky nastaví USE flags podle zvoleného DE

4. Konfigurace systému

  • Nastaví timezone a locale
  • Nainstaluje a nakonfiguruje kernel
  • Nainstaluje bootloader (GRUB)
  • Nakonfiguruje síť (DHCP nebo NetworkManager)
  • Vytvoří uživatele

5. Desktop prostředí (volitelné)

Podporované desktopy:

  • KDE Plasma - Moderní, plně vybavené (s Dolphin, Konsole, Kate, Ark, Gwenview)
  • GNOME - Čisté, moderní prostředí
  • XFCE - Lehké, tradiční
  • MATE - Klasický GNOME 2 fork
  • Cinnamon - Moderní, připomíná Windows
  • LXQt - Velmi lehké Qt prostředí

Každé DE instaluje:

  • Xorg server
  • Příslušný display manager (SDDM/GDM/LightDM)
  • NetworkManager pro správu sítě
  • Audio stack (PulseAudio nebo PipeWire)
  • Základní aplikace pro DE

6. Extra aplikace (volitelné)

Pokud vybrané při instalaci DE:

  • Firefox (webový prohlížeč)
  • LibreOffice (kancelářský balík)
  • VLC (media player)
  • GIMP (grafický editor)
  • Inkscape (vektorová grafika)
  • P7zip, UnRAR (archivátor)
  • Alacritty (terminál)
  • Vim (textový editor)

7. Základní nástroje

  • Instaluje sysklogd (logging)
  • Instaluje cronie (cron daemon)
  • Instaluje sudo (pokud vytváříš uživatele)
  • Instaluje mlocate (file indexing)
  • Instaluje btrfs-progs a snapper (pro btrfs)

📝 Vlastní konfigurace

Úprava make.conf

Script vytváří základní make.conf. Po instalaci můžeš upravit:

nano /etc/portage/make.conf

Doporučené USE flags pro desktop:

USE="X gtk qt5 alsa pulseaudio bluetooth networkmanager"
VIDEO_CARDS="intel"  # nebo "nvidia", "amdgpu"

Výběr profilu

Script automaticky vybere desktop profil. Pro změnu:

eselect profile list
eselect profile set <číslo>

🐛 Troubleshooting

Problem: Script selže při stahování stage3

Řešení:

  • Zkontroluj internetové připojení
  • Použij jiný Gentoo mirror v scriptu

Problem: Kernel se nepodaří zkompilovat

Řešení:

  • Použij binární kernel (gentoo-kernel-bin) při instalaci
  • Nebo po instalaci ručně nakonfiguruj kernel:
    cd /usr/src/linux
    make menuconfig
    make -j$(nproc) && make modules_install && make install
    

Problem: Systém se nenabootuje

Řešení:

  • Bootni znovu LiveCD
  • Mount root partition: mount /dev/sdXY /mnt/gentoo
  • Mount boot: mount /dev/sdX1 /mnt/gentoo/boot/efi
  • Chroot: chroot /mnt/gentoo
  • Přeinstaluj GRUB:
    grub-install --target=x86_64-efi --efi-directory=/boot/efi
    grub-mkconfig -o /boot/grub/grub.cfg
    

Problem: Žádná síť po bootu

Řešení:

  • Zjisti název síťového rozhraní: ip link
  • Pro OpenRC:
    ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s3
    rc-update add net.enp0s3 default
    
  • Pro systemd je dhcp automaticky nastaven

Problem: Zapomenuté šifrovací heslo (LUKS)

Bohužel: Bez hesla nelze data obnovit - to je podstata šifrování!

Prevence:

  • Ulož heslo na bezpečné místo (password manager, papír v trezoru)
  • Zvař vytvoření záložního klíče:
    # Přidej backup klíč k LUKS
    cryptsetup luksAddKey /dev/sdXY
    # Ulož tento klíč někam MIMO zašifrovaný disk!
    

Problem: Systém nenabootuje se šifrováním

Řešení:

  • Bootni LiveCD
  • Odemkni LUKS: cryptsetup open /dev/sdXY cryptroot
  • Mount: mount /dev/mapper/cryptroot /mnt/gentoo
  • Chroot a oprav initramfs/GRUB
  • Zkontroluj /etc/default/grub a /etc/crypttab

📦 Post-instalační doporučení

1. Aktualizuj systém

emerge --sync
emerge --update --deep --newuse @world

2. Správa Btrfs snapshotů (pokud používáš btrfs)

Automatické snapshoty jsou již nakonfigurovány pomocí snapperu!

Ruční správa:

# Vytvoř ruční snapshot
snapper -c root create --description "Před velkou změnou"

# Seznam všech snapshotů
snapper -c root list

# Porovnej změny mezi snapshoty
snapper -c root status 1..2

# Vrať se k předchozímu snapshotu
snapper -c root undochange 1..2

# Smaž starý snapshot
snapper -c root delete 5

Konfigurace automatických snapshotů:

# Edituj konfiguraci
vim /etc/snapper/configs/root

# Důležité parametry:
# TIMELINE_CREATE="yes"           # Automatické časové snapshoty
# TIMELINE_LIMIT_HOURLY="5"       # Počet hodinových snapshotů
# TIMELINE_LIMIT_DAILY="7"        # Počet denních snapshotů
# TIMELINE_LIMIT_WEEKLY="4"       # Počet týdenních snapshotů
# TIMELINE_LIMIT_MONTHLY="12"     # Počet měsíčních snapshotů

Obnova ze snapshotu v případě problémů:

# 1. Bootni z LiveCD
# 2. Mount btrfs root
mount /dev/sdXY /mnt

# 3. Přejmenuj současný root subvolume
mv /mnt/@ /mnt/@broken

# 4. Vytvoř nový root ze snapshotu
btrfs subvolume snapshot /mnt/.snapshots/XX/snapshot /mnt/@

# 5. Reboot
reboot

3. Desktop prostředí (pokud nebylo nainstalováno automaticky)

Poznámka: Pokud jsi vybral desktop prostředí během instalace, tento krok můžeš přeskočit!

Ruční instalace desktopů:

Plasma (KDE):

emerge kde-plasma/plasma-meta
emerge x11-misc/sddm

GNOME:

emerge gnome-base/gnome
emerge gnome-base/gdm

XFCE:

emerge xfce-base/xfce4-meta
emerge x11-misc/lightdm

4. Extra aplikace (pokud nebyly nainstalovány automaticky)

Poznámka: Pokud jsi vybral "Install extra applications" během instalace, máš již tyto aplikace!

emerge firefox vlc gimp libreoffice inkscape

5. Nastav firewall

emerge net-firewall/iptables
rc-update add iptables default

🔐 Bezpečnostní doporučení

  1. Ihned po instalaci změň hesla pokud jsi použil slabá během instalace
  2. Pokud používáš šifrování:
    • Ulož LUKS heslo na bezpečné místo (password manager, trezor)
    • Vytvoř záložní klíč: cryptsetup luksAddKey /dev/sdXY
    • Nikdy nesdílej šifrovací heslo
    • Používej silné heslo (16+ znaků, mix písmen/čísel/symbolů)
  3. Nastav SSH pouze s klíči, ne hesly:
    emerge net-misc/openssh
    rc-update add sshd default
    
  4. Pravidelně aktualizuj:
    emerge --sync
    emerge --update --deep --newuse @world
    
  5. Aktivuj AppArmor nebo SELinux pro dodatečnou bezpečnost

📚 Další zdroje

🤝 Přispívání

Pokud najdeš bug nebo máš nápad na vylepšení:

  1. Fork repository
  2. Vytvoř branch pro svou změnu
  3. Testuj změny ve VM
  4. Pošli pull request

📄 Licence

MIT License - používej a upravuj dle potřeby

⚖️ Disclaimer

Tento script není oficiálně podporován Gentoo projektem. Autor nenese odpovědnost za ztrátu dat nebo problémy způsobené použitím tohoto scriptu.


Vytvořeno s ❤️ pro Gentoo komunitu