| ENCRYPTION_GUIDE.md | ||
| gentoo-installer.sh | ||
| QUICKSTART.md | ||
| README.md | ||
| test-installer.sh | ||
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/gruba/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í
- Ihned po instalaci změň hesla pokud jsi použil slabá během instalace
- 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ů)
- Nastav SSH pouze s klíči, ne hesly:
emerge net-misc/openssh rc-update add sshd default - Pravidelně aktualizuj:
emerge --sync emerge --update --deep --newuse @world - 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í:
- Fork repository
- Vytvoř branch pro svou změnu
- Testuj změny ve VM
- 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