Vrstvy Linuxu: TTY/CLI a hierarchie souborového systému (FHS, HIER, systemd, XDG) - strana 2/3
JAK ZAČÍT > STRUKTURA
Rychlá navigace:
STRANA 1
- (1) Ukázka kořenové struktury Linuxu (Zorin OS 18 Core)
- (2) Textová vrstva Linuxu: TTY, terminál, shell, příkazy
- (3) Co je v distribuci „pod povrchem“ (mimo grafiku)
- (4) Standardy a realita: FHS, HIER, systemd file-hierarchy, XDG
- (5) Praktický kompas: „programy vs. konfigurace vs. data“
STRANA 2
STRANA 3- (7) Rychlá orientace: 7 příkazů, které vám dají mapu systému
- (8) Praktické scénáře: kde co hledat
- (9) Poznámky k pojmům (zkratky a odborné výrazy)
- (10) Zdroje (pro ověření a důvěryhodnost)
6) Kořen a základní adresáře systému (podle HIER/FHS + moderní doplnění)
/ – kořen
Kořenový adresář. Zde začíná celý strom. Všechny disky a oddíly se do něj „připojují“ (mount).
/bin, /sbin, /lib – „základní sada pro přežití“ (a realita usr-merge)
Historicky:
- /bin: základní příkazy nutné pro start a opravy systému.
- /sbin: nástroje pro správu systému.
- /lib: knihovny potřebné ke startu a běhu základních příkazů.
- /lib – analogie k DLL (Windows).
Poznámka: Knihovny jsou tradičně v /lib (na moderních systémech často fakticky v /usr/lib kvůli usr-merge), ale moduly jádra jsou konkrétně v /lib/modules/<verze-jádra>/.
Dnes (na mnoha distribucích): tyto adresáře bývají často jen symbolické odkazy do /usr/... (tzv. usr-merge), aby byla hierarchie jednotná. Koncept usr-merge je zdůvodňován i ze strany systemd projektu.
Prakticky: když hledáte, kde je nějaký příkaz nainstalovaný, berte /usr/bin a /usr/sbin jako „hlavní“ místa; cesty /bin a /sbin jsou na řadě systémů už jen kompatibilní odkazy.
/boot – start systému
Soubory pro zavaděč a start systému (kernel, initramfs, konfigurace bootu – podle distribuce). U UEFI se EFI System Partition typicky připojuje jako /boot/efi nebo /efi (dle distribuce).
Adresář /boot v operačním systému Linux je kriticky důležitá složka umístěná v kořenovém adresáři (/), která obsahuje soubory nezbytné pro zavedení (bootování) systému, než se spustí operační systém samotný.
Klíčový význam a obsah:
- Jádro Linuxu (Kernel): Obvykle zde najdete soubory jako vmlinuz, což je samotné jádro operačního systému.
- Inicializační RAM disk (initramfs nebo initrd): Dočasný souborový systém v paměti, který načítá potřebné ovladače pro spuštění systému.
- Zavaděč (Bootloader): Konfigurační soubory a data pro zavaděče jako GRUB nebo LILO.
- System.map: Mapa jádra používaná při ladění.
Hlavní funkce:
- Zavádění systému: Umožňuje přechod od BIOSu/UEFI k načtení jádra Linuxu.
- Správa kernelů: Pokud máte v systému více verzí jádra, všechny jsou uloženy zde.
Důležité informace:
- Samostatná partition: Často je /boot umístěn na samostatném diskovém oddílu (partition), zejména pokud je kořenový oddíl šifrován.
- EFI: EFI System Partition (ESP) se typicky připojuje jako /boot/efi nebo /efi (podle distribuce a zvyklostí instalace). Tedy pod /boot nebo do samostatného mountpointu, ne „na /boot“.
- Pozor na zaplnění: Pokud se tento adresář zaplní (např. starými verzemi jader), systém nemusí příště nabootovat.
GRUB (GRand Unified Bootloader) je zavaděč operačního systému, který se spouští jako první po zapnutí počítače (po BIOS/UEFI). Jeho hlavním úkolem je zobrazit nabídku nainstalovaných operačních systémů (pokud jich je více, např. Linux a Windows) a načíst jádro (kernel) vybraného systému do paměti.
Kde se GRUB nachází v adresářové struktuře (Linux)?
GRUB má několik částí a umístění záleží na režimu bootu: na UEFI je zavaděč jako .efi soubor na ESP (často /boot/efi), na BIOS/MBR je část v MBR a zbytek na filesystému (v souborovém systému Linuxu).
Přesné detaily se liší podle instalace.
- Hlavní konfigurační soubor: /boot/grub/grub.cfg (v novějších systémech někdy /boot/grub2/grub.cfg).
- Poznámka: Tento soubor by se neměl upravovat ručně, protože se automaticky generuje.
- Konfigurační nastavení (uživatelské): /etc/default/grub – zde se mění např. doba zobrazení menu nebo výchozí operační systém.
- Skripty pro generování menu: /etc/grub.d/ – zde jsou uloženy skripty, které vytvářejí položky v boot menu.
- UEFI systémy: Na moderních počítačích s UEFI se zaváděcí soubory (.efi) nacházejí na EFI systémové partition, která bývá připojena do /boot/efi/.
Co to je a k čemu slouží?
- Vícesystémové spouštění (Dual-boot): Umožňuje vybrat při startu, zda se spustí Linux, Windows nebo jiný systém.
- Načtení jádra: Předává kontrolu nad hardwarem operačnímu systému.
- Parametry startu: Umožňuje před spuštěním upravit parametry jádra (např. pro režim obnovy nebo opravu grafické karty).
- Podpora souborových systémů: GRUB dokáže číst soubory přímo z oddílů, jako jsou ext4, btrfs, NTFS a další, takže najde kernel i na šifrovaném nebo složitě děleném disku.
Na Debian/Ubuntu se po úpravě /etc/default/grub typicky používá sudo update-grub. Na jiných distribucích se používá např. grub-mkconfig (konkrétní cesta a postup se liší).
/dev – zařízení jako soubory
Speciální soubory reprezentující zařízení (disky, terminály, apod.). Obsah /dev je vytvářen dynamicky (kernel + udev).
Doplnění (udev pravidla):
- /usr/lib/udev/rules.d/ – pravidla dodaná balíčky,
- /etc/udev/rules.d/ – lokální úpravy správcem,
- /run/udev/rules.d/ – runtime pravidla.
/dev/null je speciální „zařízení“, které funguje jako černá díra: všechno, co do něj zapíšete, se okamžitě zahodí. Používá se hlavně tehdy, když chcete záměrně ignorovat výstup programu (např. zbytečné informace nebo chybová hlášení) a nenechat je vypisovat do terminálu ani ukládat do souborů. Naopak při čtení z /dev/null vždy dostanete „konec souboru“ (žádná data).
Udev je v Linuxu subsystém pro správu zařízení (device manager), který dynamicky vytváří nebo odebírá soubory zařízení v adresáři /dev při zapojení či odpojení hardwaru. Běží v uživatelském prostoru (userspace) a nahrazuje starší metody jako devfs a hotplug. Udevd démon reaguje na události jádra (uevents) a na základě pravidel (rules) v /etc/udev/rules.d/ pojmenovává zařízení a konfiguruje je. Pravidla jsou v /usr/lib/udev/rules.d (od balíčků), /etc/udev/rules.d (lokální úpravy) a případně /run/udev/rules.d (runtime).
Klíčové vlastnosti a funkce:
- Dynamická správa: Umožňuje hot-swapping – zařízení jsou dostupná okamžitě po připojení (např. USB disk).
- Persistentní pojmenovávání: Pomocí pravidel lze zajistit, že konkrétní zařízení (např. externí disk nebo síťová karta) bude mít stále stejný název, bez ohledu na pořadí zapojení.
- Reakce na události: Umí spouštět skripty při připojení určitého zařízení (např. automatické zálohování při připojení disku).
- Uživatelská pravidla: Umožňuje administrátorům definovat vlastní pravidla pro manipulaci se zařízeními.
Udev je dnes standardní součástí moderních linuxových distribucí, úzce spolupracuje se systemd.
/etc – systémová konfigurace
Konfigurace specifická pro daný stroj. Typicky textové soubory. Sem patří například /etc/fstab, síťová konfigurace, SSH a nastavení služeb.
Běžné podsložky:
- /etc/opt, /etc/X11 (podle distribuce a instalovaných komponent)
Důležitý moderní doplněk (systemd – kde se berou služby a co má přednost):
- lokální jednotky a override: /etc/systemd/system/
- jednotky dodané balíčky: typicky /usr/lib/systemd/system/
- precedence drop-inů a override: /etc > /run > /usr/lib
Systemd řídí služby pomocí tzv. unit souborů (např. ssh.service). Tyto soubory mohou existovat na více místech. Základní definice služeb dodává distribuce a balíčky a bývá uložena v /usr/lib/systemd/system/. Pokud však potřebujete službu lokálně upravit (např. změnit parametry spuštění) nebo vytvořit vlastní službu, patří tyto změny do /etc/systemd/system/, aby je nepřepsaly aktualizace balíčků. Systemd při načítání používá pravidlo priority: /etc má přednost před /run (dočasné nastavení za běhu) a to má přednost před /usr/lib. Prakticky to znamená, že konfigurace v /etc je „vaše lokální pravda“ pro tento počítač.
Příklad: Balíček nainstaluje službu ssh.service do /usr/lib/systemd/system/ssh.service. Pokud chcete lokálně změnit její chování (např. přidat parametr nebo upravit limit), vytvoříte override v /etc/systemd/system/ssh.service.d/override.conf – a právě tato lokální úprava v /etc bude mít přednost před původní definicí z /usr/lib.
/etc (Příklady)
Příklady důležitých souborů v /etc (praktická orientace)
- /etc/fstab – definice připojování filesystémů při startu (mounty). Obsahuje statické informace o diskových oddílech, discích, síťových úložištích a jiných souborových systémech, které mají být připojeny k systému.
- /etc/hosts – statické mapování jmen ↔ IP (lokální DNS „nouzovka“).
- /etc/hostname – název počítače.
- /etc/resolv.conf – DNS resolver (servery a chování překladu jmen; často spravuje NetworkManager nebo systemd-resolved).
- /etc/passwd – seznam uživatelských účtů (základní metadata).
- související: /etc/shadow (hash hesel), /etc/group (skupiny).
- /etc/crontab – systémové plánování úloh přes cron.
- /etc/services, /etc/protocols – mapování názvů služeb/protokolů na porty/čísla. Jsou to systémové „číselníky“, které převádějí lidsky čitelné názvy na číselné hodnoty používané v síťové komunikaci. V souboru /etc/services najdete mapování názvů služeb na porty a typ přenosu (TCP/UDP) – typicky pro to, aby nástroje a knihovny mohly pracovat s názvem služby místo čísla portu (např. „ssh“ místo 22). Soubor /etc/protocols obdobně mapuje názvy síťových protokolů na jejich čísla (např. ICMP, TCP, UDP). Tyto soubory obvykle přímo „nenastavují“ firewall ani služby; slouží hlavně jako referenční databáze, kterou používají systémové knihovny a síťové nástroje při převodech názvů a čísel.
- /etc/ssh – je systémový adresář v unixových/linuxových systémech obsahující konfigurační soubory a klíče pro SSH (Secure Shell) server i klienta, nejčastěji pro OpenSSH. Konfigurace SSH serveru a klienta (sshd_config, ssh_config).
- /etc/network/ nebo (/etc/sysconfig/network-scripts/) (síťová konfigurace) – Obsahuje soubory a skripty, které určují, jak se systém připojuje k síti, jaké IP adresy používá a jak se chová při spouštění či vypínání sítě. /etc/sysconfig/network-scripts je legacy; na moderních systémech se síť často spravuje přes NetworkManager (profily bývají jinde).
- /etc/apt – (Debian/Ubuntu) nebo /etc/yum.repos.d/ (Fedora/RHEL): Nastavení správce balíčků a repozitářů pro aktualizace softwaru.
- /etc/systemd – konfigurace správce systému a služeb (systemd).
- /etc/rc.d nebo /etc/init.d – spouštěcí skripty pro služby (starší systémy/kompatibilita).
- /etc/mysql nebo /etc/httpd, /etc/apache2 – konfigurace konkrétních nainstalovaných aplikací (databáze, webové servery).
Poznámka: soubory typu hosts.allow/hosts.deny jsou dnes většinou historické (TCP Wrappers) a často se v moderních instalacích vůbec nepoužívají.
/home a /root – domovy uživatelů
- /home/<uživatel>: domovské adresáře běžných uživatelů (uživatelská data a konfigurace). Osobní data uživatelů: Každý uživatel (kromě roota) má v /home svůj vlastní podadresář např. /home/<uživatel>). Uložení nastavení (konfigurace): V domovském adresáři /home/<uživatel> jsou uloženy skryté soubory a složky (začínají tečkou, např. .config, .mozilla), které definují nastavení uživatelského prostředí, prohlížečů, motivů vzhledu atd. Plocha, Dokumenty, Stažené: Standardní složky, které vidíte ve správci souborů (Plocha, Dokumenty, Stažené soubory, Obrázky), se fyzicky nacházejí uvnitř uživatelského adresáře v /home/<uživatel>. Oddělení dat od systému: Umožňuje snadné zálohování uživatelských dat nebo přeinstalaci operačního systému bez ztráty osobních souborů, pokud je /home na samostatném diskovém oddílu. Domovský adresář je vlastněn uživatelem; přístupová práva se liší (často 700 nebo 755) podle distribuce a nastavení.
- /root: domovský adresář administrátora root (často odděleně od /home). Dostupnost při startu: Adresář /root se nachází na stejném (kořenovém) oddílu jako samotný systém. To je důležité, protože při potížích se systémem je tento adresář dostupný i v případě, že se další diskové oddíly (například /home) nepodaří připojit.
Poznámka: Nepleťte si / a /root. / je kořen celého souborového systému, zatímco /root je domovský adresář uživatele root.
Uživatelská data podle XDG:
- ~/.config
- ~/.local/share (data)
- ~/.cache (cache)
/lib/modules/<verze-jádra> – moduly jádra (ovladače)
Zde jsou kernelové moduly pro konkrétní verzi jádra. To je klíčové pro „modprobe a zařízení“: modprobe pracuje s moduly pro aktuálně běžící kernel. Verzi aktuálně běžícího jádra zjistíme příkazem „uname -r“.
Poznámka: Knihovny jsou tradičně v /lib (na moderních systémech často fakticky v /usr/lib kvůli usr-merge), ale moduly jádra jsou konkrétně v /lib/modules/<verze-jádra>/.
Kde se nastavují volby/aliasy pro moduly: modprobe.d
Konfigurace modprobe se čte z více míst, typicky:
- /etc/modprobe.d/*.conf – slouží ke konfiguraci načítání jaderných modulů (ovladačů) příkazem modprobe. Obsahují nastavení parametrů, aliasy, příkazy pro instalaci/odinstalaci a blacklisty, které definují, jak se mají moduly chovat.
- /run/modprobe.d/*.conf (runtime) – obsahují dočasná konfigurační pravidla pro modprobe, platná jen pro aktuální běh systému (po restartu obvykle zmizí). Tato pravidla může vytvořit systém nebo nástroje za běhu (např. instalační skripty, udev, initramfs či jiné komponenty podle distribuce) a mohou obsahovat aliasy, blacklisty (zakázání modulů) a volby/parametry modulů.
- /usr/local/lib/modprobe.d/*.conf – Soubory v /usr/local/lib/modprobe.d/*.conf obsahují uživatelem definovaná konfigurační pravidla pro načítání modulů jádra (ovladačů). Používají se k definování aliasů, softwarových závislostí (softdep), instalací, odinstalací nebo zakázání (blacklist) modulů, přičemž tato lokalita má vyšší prioritu než /lib/modprobe.d, ale nižší než /etc/modprobe.d.
- /lib/modprobe.d/*.conf (od balíčků / distribuční výchozí nastavení). Obsahují konfigurační příkazy pro nástroj modprobe, který spravuje jaderné moduly (ovladače) v Linuxu. Tyto soubory definují, jak se mají moduly chovat, nastavují jejich parametry, vytvářejí aliasy nebo blokují jejich automatické načítání (blacklist)
Hlavní funkce souborů *.conf v /etc/modprobe.d/:
- Blacklisty (blacklist <modul_name>): Zabraňuje automatickému načtení konkrétního modulu (např. při konfliktech hardwaru).
- Možnosti modulů (options <modul_name> <parametr>=<hodnota>): Nastavuje specifické parametry při načítání modulu.
- Aliasy (alias <alternativní_název> <modul_name>): Definuje alternativní názvy pro moduly.
- Příkazy instalace/odinstalace (install/remove): Umožňuje spustit vlastní příkazy před nebo po načtení/odstranění modulu.
Důležité informace:
- Soubory jsou čteny v abecedním pořadí a formát je jednoduchý: jeden příkaz na řádek.
- Řádky začínající # jsou komentáře.
- Používají se k trvalé konfiguraci chování ovladačů, na rozdíl od dočasného modprobe -r nebo insmod.
Klíčové vlastnosti a obsah /run/modprobe.d/*.conf:
- Dočasnost: Na rozdíl od /etc/modprobe.d/ jsou soubory v /run po restartu smazány a znovu vytvořeny.
- Formát: Jeden příkaz na řádek (alias``blacklist``options``install``remove).
- Účel: Slouží k automatickému nastavení parametrů ovladačů, které nejsou statické, nebo k zakázání načítání specifického hardwaru pro aktuální session.
- Priorita: Konfigurace modprobe se načítá z více adresářů v určitém pořadí, přičemž lokální konfigurace v /etc/modprobe.d má nejvyšší prioritu a přebíjí konfiguraci z /run/modprobe.d i z distribučních adresářů (např. /usr/lib/modprobe.d nebo /lib/modprobe.d, podle systému).
Typicky zde najdete nastavení pro zvukové karty, síťové adaptéry nebo grafické ovladače, které byly detekovány při bootování.
Klíčové vlastnosti a obsah /usr/local/lib/modprobe.d/*.conf:
- Účel: Slouží k trvalé změně chování příkazu modprobe při zavádění ovladačů (např. nastavení parametrů ovladače při startu).
- Obsah: Jeden příkaz na řádek (alias``options``blacklist``install``remove``softdep).
- Priorita: Konfigurace v /usr/local/lib/modprobe.d/ se načítají po systémových souborech z /lib/modprobe.d/, což umožňuje přepsat výchozí nastavení distribuce.
- Lokalita: Tato cesta se často používá pro ovladače nainstalované ručně nebo lokálně (mimo správce balíčků distribuce).
Změny v těchto souborech se obvykle projeví po restartu systému nebo po aktualizaci initramfs.
Co soubory „ /lib/modprobe.d/*.conf “ obvykle obsahují:
- options: Nastavení parametrů pro konkrétní modul při jeho načtení (např. options modul_jmeno parametr=hodnota).
- blacklist: Zakázání automatického načtení určitého modulu (např. blacklist nouveau).
- alias: Definování alternativního jména pro modul.
- install / remove: Příkazy, které se spustí při instalaci nebo odstranění modulu namísto výchozího chování.
Důležité:
- Soubory v /lib/modprobe.d/ jsou obvykle spravovány balíčkovacím systémem (distribucí) a uživatel by je neměl měnit.
- Pro vlastní konfigurace by se měly používat soubory v /etc/modprobe.d/, které mají přednost před /lib/modprobe.d/
Kde se „staticky“ nastaví moduly k načtení při bootu (systemd)
Pro systemd je běžné:
- /etc/modules-load.d/*.conf (lokální),
- /usr/lib/modules-load.d/*.conf (od balíčků).
/lib/firmware – firmware pro zařízení
Některé ovladače potřebují firmware soubory. Kernel je hledá typicky v /lib/firmware/… (a v dalších souvisejících cestách podle konfigurace).
Adresář /lib/firmware (v moderních distribucích často symlink na /usr/lib/firmware) v Linuxu obsahuje binární soubory firmwaru (tzv. "blobs"), které jsou nezbytné pro správnou funkci hardwarových komponent.
Zatímco jádro Linuxu (kernel) obsahuje ovladače, mnoho moderních zařízení (Wi-Fi karty, grafické karty, webkamery, zvukové karty) vyžaduje, aby jim operační systém při startu nebo načtení modulu nahrál do paměti specifický mikrokód.
Co se v této složce nachází?
- Proprietární binární bloby: Soubory, které výrobce hardwaru poskytuje (často bez zdrojového kódu), aby zařízení fungovalo s Linuxem.
- Firmware pro síťové karty: Např. ovladače Intel Wi-Fi nebo Realtek NIC.
- Firmware pro grafické karty: Soubory pro AMD Radeon (amdgpu), Intel nebo NVIDIA GPU.
- Mikrokód CPU: Aktualizace mikroprogramového vybavení procesorů (intel-ucode).
- Regulační databáze: Soubory pro bezdrátová zařízení (regulatory.db), které zajišťují dodržování místních rádiových předpisů.
Jak to funguje?
- Start/Zapojení: Když se zařízení (např. USB Wi-Fi karta) inicializuje, kernel zjistí, že potřebuje firmware.
- Hledání: Kernel hledá příslušný soubor v /lib/firmware.
- Nahrání: Kernel nahraje tento binární kód přímo do zařízení.
Důležité informace
- Balíček: Většinu těchto souborů spravuje balíček s názvem linux-firmware.
- Smazání: Smazání obsahu této složky může vést k tomu, že zařízení přestanou fungovat (např. přestane fungovat Wi-Fi, grafická karta se přepne do softwarového režimu).
- Umístění: Na mnoha systémech je /lib/firmware symbolický odkaz na /usr/lib/firmware.
/lost+found
„/lost+found“ není koš ani „automatická obnova“. Slouží k ukládání fragmentů souborů a dat, které byly poškozeny nebo ztratily své původní umístění (např. při náhlém výpadku napájení či havárii systému) a byly nalezeny nástrojem fsck (file system check).
Typicky sem fsck ukládá nalezené zbytky souborů (např. osiřelé inody, obnovené často bezejmenné části dat) po opravě filesystému, nejčastěji na ext* (ext2/3/4).
- Kdy jej zkontrolovat: Po nečekaném vypnutí počítače, pokud se systém po startu spouští pomaleji nebo pokud zjistíte, že chybí nějaká data.
- Jak pracovat s obsahem: Pomocí příkazu “file“ můžete zjistit, o jaký typ souboru jde (např. file /lost+found/#12345) a pokusit se jej obnovit.
- Upozornění: Pokud je adresář prázdný, je to v pořádku. Pokud je plný dat, jde o známku poškození souborového systému.
Adresář lost+found nelze trvale smazat, protože fsck jej při příští kontrole vytvoří znovu.
/mnt a /media – připojení filesystémů
- /mnt: – dočasné přípojné body (mount points). Často ruční připojení diskových oddílů nebo sdílených síťových složek administrátorem.
- /media: vyměnitelná média (USB disky, CD/DVD, SD karty apod.). Zde systém automaticky vytváří podadresáře pro připojená zařízení (např. /media/jmeno_uzivatele/usb_disk).
Oba adresáře usnadňují přístup k datům mimo hlavní souborový systém.
/opt – software „mimo distribuci“
Adresář /opt v Linuxu slouží k instalaci dodatečného (nepovinného) softwaru třetích stran, který není součástí standardní linuxové distribuce., často v /opt/<balík>. Proměnná data k nim bývají ve /var/opt.
- Izolace aplikací: Hlavním účelem je udržet software třetích stran (např. Google Chrome, Zoom, Matlab, proprietární ovladače, různé vývojové nástroje) oddělený od hlavního souborového systému (jako /usr/bin nebo /usr/lib). /opt může obsahovat software, který si uživatel kompiluje sám a chce ho udržet oddělený od systému.
- Struktura: Software instalovaný v /opt má obvykle vlastní podadresář, např. /opt/nazev-aplikace, kde jsou uloženy všechny jeho soubory (binární soubory, knihovny, data).
- Snadná správa: Protože je aplikace celá v jednom adresáři, její aktualizace nebo odstranění (odinstalace) je jednodušší – často stačí smazat daný podadresář.
- Rozdíl oproti /usr/local: Zatímco /usr/local je určeno pro lokálně instalovaný software, který následuje standardní Unixovou strukturu (rozdělení do bin/lib/share) /opt je určeno pro tzv. "monolitické" aplikace, které si přinášejí vlastní strukturu souborů.
Příklady použití: /opt/google/chrome, /opt/zoom, /opt/intel
Podle standardu FHS (Filesystem Hierarchy Standard) by soubory v /opt neměly modifikovat součásti systému a měly by být na distribuci nezávislé.
/proc a /sys – virtuální pohled do jádra
- /proc: je pseudo-souborový systém (virtual FS) poskytovaný jádrem. Obsahuje informace o procesech a o stavu jádra. Nejde o skutečná data na disku, ale o data uložená v operační paměti (RAM), která jádro generuje dynamicky při čtení.
- /sys: je sysfs – strukturované rozhraní jádra pro zařízení, jejich vlastnosti a subsystémy (doplněk k /proc, který je více „procesový“).
Hlavní aspekty a význam adresáře /proc:
- Informace o procesech (PID): Každý běžící proces v systému má v /proc svůj podadresář pojmenovaný podle svého čísla procesu (PID), například /proc/1234. Uvnitř najdete soubory jako cmdline (příkaz, který proces spustil), status (využití paměti, stav procesu) nebo fd (otevřené soubory).
- Informace o systému a hardwaru: /proc obsahuje soubory poskytující podrobné informace o hardwaru a konfiguraci systému, které generuje jádro.
- /proc/cpuinfo: Informace o procesoru. - less /proc/cpuinfo
- /proc/meminfo: Statistika o využití paměti RAM. - less /proc/meminfo
- /proc/version: Verze běžícího jádra Linuxu. - less /proc/version
- /proc/mounts: Seznam připojených souborových systémů. - less /proc/mounts
- Konfigurace jádra za běhu: V adresáři /proc/sys lze číst a měnit parametry jádra za běhu systému (např. síťová nastavení), aniž by bylo nutné restartovat počítač.
- "Vše je soubor": Tento adresář naplňuje filozofii Unixu, že i informace o systému jsou dostupné jako soubory. Nástroje jako top, ps nebo free čtou data právě z tohoto umístění.
- Virtuální povaha: Soubory v /proc mají obvykle nulovou velikost, ale po jejich otevření se zobrazí aktuální informace. Po restartu se celý adresář vytvoří znovu.
Shrnutí: Adresář /proc je klíčové "informační centrum" pro administrátory a aplikace, které umožňuje monitorovat a řídit systém v reálném čase.
Hlavní významy a funkce adresáře /sys:
- Správa hardwaru (Device Model): Poskytuje hierarchický přehled o hardwaru připojeném k systému (např. CPU, disky, USB zařízení, síťové karty).
- Informace o ovladačích: Zobrazuje načtené ovladače a jejich parametry.
- Konfigurace systému: Umožňuje měnit nastavení jádra a hardwaru "za chodu" zápisem do virtuálních souborů (např. nastavení jasu displeje, napájení nebo chování sítě).
- Standardizace: Vytváří strukturovaný a jednotný způsob, jak přistupovat k informacím o zařízeních, což nahrazuje méně organizovaný adresář /proc.
Důležité podadresáře:
- /sys/block: Informace o blokových zařízeních (disky, SSD).
- /sys/bus: Zobrazení zařízení podle sběrnic (pci, usb, i2c).
- /sys/class: Třídění zařízení podle jejich funkce (např. síťové karty v /net, podsvícení v /backlight).
- /sys/kernel: Informace a konfigurace týkající se samotného jádra.
Adresář /sys je obvykle připojen při startu systému (mount) a jeho obsah je generován jádrem.
Do těchto adresářů se neinstaluje software. Jsou to rozhraní, přes která jádro zpřístupňuje informace a konfiguraci systému.
/run – runtime data systému od posledního bootu
Adresář /run v moderních Linuxových systémech slouží jako standardní umístění pro ukládání dočasných dat běžícího systému (runtime data), která vznikla od posledního spuštění (bootu) a nemusí přežít restart. Obsahuje soubory potřebné pro správný chod běžících aplikací a démonů, jako jsou PID soubory (identifikátory procesů), socket soubory či uzamčené soubory.
Hlavní funkce a vlastnosti /run
- Volatilní paměť (tmpfs): Adresář /run je připojen jako tmpfs, což znamená, že existuje pouze v operační paměti (RAM), nikoliv na disku. To zaručuje, že se po každém restartu automaticky vyčistí a nezanechává neplatná data. Typicky tmpfs, po rebootu zmizí.
- Early-boot dostupnost: /run je k dispozici velmi brzy při startu systému, ještě předtím, než se připojí /var. Díky tomu tam mohou démoni (systemd, udev) ukládat data hned od počátku.
- PID soubory: Ukládají se zde soubory s proces ID (.pid), které obsahují informace o spuštěných procesech a slouží k jejich identifikaci a řízení.
- Socket soubory: Zde se nacházejí sokety pro komunikaci mezi procesy.
- /run/user/$UID: Specifický podadresář pro běhová data jednotlivých uživatelů, která se smažou po jejich odhlášení.
- Obsah: Nacházejí se zde podadresáře pro konkrétní služby (např. /run/systemd/, /run/udev/, /run/user/<uid>/).
Proč se /run používá?
Před zavedením /run se data ukládala do /var/run nebo /var/lock. Pokud však /var bylo na samostatném disku, nemohly některé služby uložit své soubory při rané fázi startu. Adresář /run tento problém vyřešil – je to "bezpečné" místo pro dočasné soubory, které zmizí po restartu, a nezahlcují disk. Historické /var/run bývá symbolický odkaz na /run. Protože /run bývá umístěn na tmpfs (v RAM), nezaplňuje pevný disk a je rychlý, ale při extrémním množství runtime dat může spotřebovat část operační paměti.
Shrnutí: Pokud potřebujete zjistit, zda služba běží (např. pomocí .pid souboru), nebo potřebujete komunikovat přes socket, najdete tyto informace v /run.
Co jsou lock soubory v /run/lock
Lock soubory jsou jednoduchý mechanismus „značky“, že určitý zdroj už někdo používá – aby se do něj nepustily dva procesy současně a nedošlo k nekonzistenci nebo chybě.
K čemu slouží:
- prevence souběhu (např. aby neběžely dvě instance stejné úlohy),
- koordinace přístupu ke sdílenému zdroji (např. tisk, sériové zařízení, fronta, souborové úložiště apod.).
Program si lock soubor typicky vytvoří při startu/práci a po skončení jej odstraní.
Co bývá uvnitř:
Často obsahují pouze PID procesu, někdy i další metadata (např. čas nebo jméno hostitele).
Často obsahují pouze PID procesu, někdy i další metadata (např. čas nebo jméno hostitele).
Důležité:
Lock soubor je konvence; spolehlivější je kernelové zamykání (např. flock(2) / fcntl(2)), které je vázané na otevřený soubor a proces.
Lock soubor je konvence; spolehlivější je kernelové zamykání (např. flock(2) / fcntl(2)), které je vázané na otevřený soubor a proces.
/snap – v Linuxu (především v Ubuntu a jeho derivátech)
Snap je univerzální systém správy balíčků od společnosti Canonical, který umožňuje instalaci aplikací, jež obsahují všechny potřebné závislosti a běží v izolovaném prostředí (sandboxed).
A) K čemu /snap slouží?
- Připojení aplikací: Když si nainstalujete aplikaci přes Snap (např. VLC, Firefox), její soubory se nestahují přímo do /usr/bin nebo /opt, ale do komprimovaného obrazu souborového systému (SquashFS) ve složce /var/lib/snapd/snaps/. Adresář /snap pak slouží k "připojení" (mount) těchto obrazů, aby byly pro systém čitelné.
- Struktura: V adresáři /snap uvidíte jednotlivé podadresáře pro každou nainstalovanou aplikaci (např. /snap/vlc, /snap/core).
B) Struktura vnitřku /snap
Adresář obsahuje:
- /snap/bin: Obsahuje symbolické odkazy (symlinks) na spustitelné soubory nainstalovaných Snap aplikací.
- /snap/<název_aplikace>/current: Odkaz na aktuální verzi nainstalované aplikace.
C) Důležité rozdíly
Uživatelská data Snap aplikací jsou typicky v domovském adresáři uživatele pod:
- ~/snap/<název-snapu>/… (např. ~/snap/firefox/…)
Systémová data Snapu bývají obvykle pod:
- /var/snap/<název-snapu>/…
a stažené obrazy snap balíčků bývají v: - /var/lib/snapd/snaps/
D) Co byste měli vědět
- Velikost disku: I když se může zdát, že složka /snap zabírá hodně místa, často jde pouze o připojení souborového systému (loop devices) a skutečná spotřeba disku je efektivně spravována systémem.
- Odinstalace: K odstranění aplikací z tohoto adresáře nepoužívejte rm -rf /snap/..., ale příkaz sudo snap remove <nazev_balicku>.
/srv – data poskytovaná službami
Adresář /srv v Linuxu slouží k ukládání dat specifických pro služby provozované na daném systému (např. web/ftp obsah, data poskytovaná službou) podle standardu FHS. Např. /srv/www, /srv/ftp. Použití záleží na distribuci a správci. Je to místo pro soubory, které server nabízí uživatelům nebo na internet, např. HTML soubory pro web, zdrojové kódy webových aplikací, soubory pro FTP, cvs data nebo data pro rsync. Databázová data jsou obvykle v /var/lib.
Oddělení dat od konfigurace: Na rozdíl od /etc (konfigurace) nebo /var (proměnlivá systémová data), /srv je určen pro data, která jsou "živá" a sdílená, web/ftp obsah, data poskytovaná službou (nebo soubory pro SVN/Git - spíš konkrétní volba správce).
Organizace: Umožňuje administrátorům snadno najít data pro konkrétní službu, odděleně od systémových souborů.
Struktura v /srv často odpovídá protokolu nebo názvu projektu:
- /srv/www/ nebo /srv/http/: Data pro webové servery (např. Apache, Nginx).
- /srv/ftp/: Data pro FTP server.
- /srv/cvs/, /srv/svn/, /srv/git/: Data pro systémy správy verzí.
- /srv/app/ – Zdrojové kódy aplikací.
/srv vs. /var/www
FHS definuje /srv jako vhodné místo pro data poskytovaná službami (např. web/ftp). Některé distribuce však tradičně používají také /var/www. Konkrétní umístění záleží na konvencích distribuce a rozhodnutí správce.
/timeshift – úložiště pro systémové snímky (snapshots)
Zde jsou klíčové aspekty tohoto adresáře:
- Účel: Obsahuje zálohy operačního systému (soubory, nastavení, aplikace), které umožňují obnovit Linux do funkčního stavu v případě selhání po aktualizaci nebo špatné konfiguraci.
- Obsah: Ve složce /timeshift/snapshots najdete jednotlivé body obnovení, obvykle označené časovými značkami (např. 2026-02-14_09-00-01).
- Umístění: Záleží na tom, jaké cílové úložiště jste v Timeshiftu zvolil. Pokud ukládáte snapshoty na stejný oddíl, na kterém běží systém, můžete je mít i v kořenové cestě, např. v adresáři /timeshift. Timeshift si při běhu může cílové úložiště dočasně připojit pod /run/timeshift/.../backup/; snapshoty pak v tu chvíli uvidíte i pod touto cestou. Skutečné uložení je vždy na zvoleném cílovém disku/oddílu.
Příklad dočasné cesty (liší se podle běhu): /run/timeshift/<id>/backup/timeshift/snapshots/...
Můj příklad (id se mění):
/run/timeshift/48351/backup/timeshift/snapshots/2026-02-14_09-00-01/localhost - Hard links (rsync): Pokud používáte metodu rsync, Timeshift využívá tzv. „tvrdé odkazy“ (hard links). To znamená, že i když složky vypadají, že zabírají hodně místa, reálně se kopírují pouze změněné soubory, což šetří místo na disku.
- Vyloučení dat: Ve výchozím nastavení Timeshift nezálohuje uživatelská data (soubory v /home), zaměřuje se pouze na systémové soubory.
Důležité upozornění: Adresář by se neměl ručně mazat! Pokud potřebujete uvolnit místo, použijte k odstranění starých snímků samotnou aplikaci Timeshift.
/tmp a /var/tmp – dočasné soubory
- /tmp: dočasné soubory, často čištěné při bootu.
- /var/tmp: dočasné soubory s delší životností (obvykle se nemažou při každém bootu).
Hlavní funkce a vlastnosti /tmp
- Dočasné úložiště: Programy zde ukládají mezivýsledky, zámky (lock files), cache nebo konfigurační soubory pro spuštěné procesy.
- Automatické mazání: Obsah /tmp je obvykle promazáván při restartu systému (v mnoha distribucích je připojen jako tmpfs – v paměti RAM).
- Veřejný přístup: Adresář je přístupný pro zápis všem uživatelům (tzv. "world-writable"). To znamená, že jakýkoli uživatel může vytvořit soubor v /tmp. I když je /tmp zapisovatelný pro všechny, bývá nastaven sticky bit (např. drwxrwxrwt), takže mazat cizí soubory nemohou.
- Bezpečnostní oprávnění (Sticky bit): I když může do /tmp zapisovat každý, je nastaven tzv. sticky bit (1777 oprávnění). To zajišťuje, že uživatel může smazat nebo přejmenovat pouze své vlastní soubory, nikoliv soubory jiných uživatelů nebo systému.
Jak se /tmp používá v praxi
- Aplikace: Když otevíráte dokument v textovém editoru, program může vytvořit záložní soubor v /tmp.
- Systém: Při stahování aktualizací nebo kompilaci programů se zde často ukládají balíčky.
- Uživatel: Můžete jej použít pro rychlé, dočasné odložení souborů, které po vypnutí počítače nepotřebujete.
Varování a osvědčené postupy
- Neukládejte důležitá data do /tmp: Protože se obsah po restartu smaže, ukládání důležitých dat sem vede k jejich ztrátě.
- Pozor na zaplnění: Pokud je /tmp součástí kořenového oddílu (/) a zaplní se, může to způsobit nestabilitu celého systému. V moderních systémech je /tmp často v RAM (tmpfs), takže při zaplnění dojde paměť, nikoliv místo na disku.
- Neodmazávejte náhodně: Před smazáním obsahu byste měli vědět, zda spuštěné aplikace nepotřebují dané dočasné soubory k životu.
Rychlé srovnání: /tmp vs /var/tmp vs /run
- /tmp – dočasné soubory pro aplikace a uživatele. Často se čistí při startu (není garantováno, jak dlouho přežijí).
- /var/tmp – dočasné soubory s delší životností. Obvykle přežijí restart a čistí se méně agresivně. Používá se pro dočasné soubory, které musí přežít restart systému (jsou perzistentnější), např. velké soubory pro instalaci nebo dlouhotrvající procesy.
- /run – runtime data systému od posledního bootu (PID soubory, sockety, stav služeb). Je to typicky tmpfs a po restartu vždy zmizí. Nejde o „dočasné soubory aplikací“ jako v /tmp.
Praktické pravidlo:
- „Dočasný soubor aplikace“ → /tmp nebo /var/tmp (podle očekávané životnosti)
- „Stav běžící služby / socket“ → /run
/usr – „většina systému“ (programy a sdílená data)
/usr obsahuje převážně sdílitelná, často jen pro čtení určená data programů; historicky se oddělovalo od minimálního systému pro boot.
Důležité části:
- /usr/bin: hlavní spustitelné programy.
- /usr/sbin: administrační nástroje.
- /usr/lib a /usr/libexec: knihovny a pomocné programy volané jinými programy.
- /usr/include: hlavičkové soubory pro vývoj.
- /usr/share: architekturou nezávislá data (např. dokumentace, lokalizace, manuály v /usr/share/man/): manuálové stránky (sekce man1…man8).
- /usr/local/... – lokální instalace správcem systému (root/admin), které jsou prováděny mimo balíčkovací systém distribuce (např. mimo APT, DNF, Pacman) (např. /usr/local/bin/).
Poznámka: co opravdu znamenají /bin, /sbin a /usr
- /bin a /sbin jsou historicky adresáře pro „základní“ programy potřebné pro start systému, opravy a administraci.
Na mnoha moderních distribucích jsou dnes často jen symbolické odkazy na /usr/bin a /usr/sbin (usr-merge). - /usr neznamená „uživatelská data“. Je to většina uživatelského prostoru systému: programy, knihovny a sdílená data (např. /usr/bin, /usr/lib, /usr/share).
Uživatelská data a konfigurace jsou typicky v /home/<uživatel> (resp. podle XDG i v ~/.config, ~/.local/share).
Praktické pravidlo:
Když hledáte program, hledejte primárně v /usr/bin a /usr/sbin — cesty /bin a /sbin jsou často jen kompatibilita pro starší software a návody.
Když hledáte program, hledejte primárně v /usr/bin a /usr/sbin — cesty /bin a /sbin jsou často jen kompatibilita pro starší software a návody.
Důležitý praktický adresář: /usr/share/applications
Tady jsou .desktop soubory, ze kterých desktop prostředí skládá nabídku aplikací (typicky „menu aplikací“).
- systémové položky: /usr/share/applications/
- uživatelské položky: ~/.local/share/applications/
.desktop soubory se řídí Desktop Entry Specification (standardizovaný formát položek menu).
Praktický tip (spouštěč na ploše): obvykle si zkopírujete příslušný .desktop soubor do vhodného místa (záleží na prostředí a distribuci) a případně upravíte položky jako Exec= a Icon=.
FLATPAK: odkud se berou položky v menu
U Flatpaku se .desktop soubory často „exportují“ do:
- ~/.local/share/flatpak/exports/share/applications/ (uživatelská instalace)
- /var/lib/flatpak/exports/share/applications/ (systémová instalace)
/var – proměnná data
Sem patří vše, co se mění za běhu: logy, cache, databáze služeb, fronty (spool) a stav aplikací.
Typické části:
- /var/log: logy. Záznamy o činnosti systému, přihlášeních a službách (např. syslog, auth.log).
- /var/lock: historické místo pro lock soubory; na moderních systémech se často používá /run/lock/ (a /var/lock může být jen kompatibilní cesta).
- /var/cache: cache aplikací a služeb (data, která lze znovu vytvořit, ale urychlují běh).
- /var/lib: perzistentní stav a „datové adresáře“ aplikací (např. databáze služeb, metadata balíčků, interní storage, stavové soubory). Data, která se mění během běhu programu (databáze, stavy aplikací).
- /var/spool: fronty (spool) pro úlohy, které se mají zpracovat později (např. tisk, mail, plánované úlohy, např. at, cron).
- /var/mail: poštovní schránky (často odkaz na /var/spool/mail).
- /var/opt: proměnná data pro software instalovaný v /opt (pokud je používán).
- /var/run: je historická cesta; dnes je obvykle symbolický odkaz na /run .
- /var/tmp: dočasné soubory s delší životností (obvykle přežijí restart, čistí se méně agresivně než /tmp).
- /var/www: webový obsah. "Časté/běžné" nebo "typické pro Debian/Ubuntu" umístění pro soubory webových serverů (HTML, PHP skripty).
Proč je /var důležitý?
- Stabilita systému: Tím, že se proměnná data (logy, DB) oddělí do /var (často na samostatný diskový oddíl), se zabrání zaplnění kořenového disku (/) a následnému pádu systému.
- Standardizace (FHS): Filesystem Hierarchy Standard definuje /var jako místo pro data zapisovaná během provozu, což umožňuje připojit /usr jako read-only.
- Správa a zálohování: Umožňuje snadno zálohovat nebo promazávat logy a data, aniž by se zasahovalo do systémových binárních souborů.
Tip: Pokud máte v systému málo místa, adresář /var/log bývá prvním místem, které je vhodné zkontrolovat a vyčistit.
Moderní logování: systemd journal
Vedle textových logů v /var/log často běží systemd journal. Ten ukládá logy:
- perzistentně do /var/log/journal/, pokud adresář existuje (nebo je nastaveno persistent),
- jinak do /run/log/journal/ (volatile).
PODPOŘTE OTEVŘENÉ NÁVODY A DALŠÍ ROZVOJ WEBU LINUX PRO DOMÁCNOST:
Věřím v otevřené znalosti. Každý návod = rešerše, testování na reálném nebo virtuálním počítači a různých Linux distribucích (např.: Rocky / Debian / Zorin / a další), psaní krok za krokem a finální kontrola — typicky několik hodin až několik dnů práce. Web držím bez reklam i trackingu a chci, aby tak zůstal.
Pokud vám jakýkoli článek ušetří čas nebo nervy, budu rád za dobrovolnou podporu (částku si určíte sami). Prosím, do zprávy pro příjemce napište: NA KAFE / Linux-doma.cz, pomůže mi to přehledně zaúčtovat měsíční souhrn. Děkuji!
A pokud se Vám web líbí a chcete se stát pravidelným sponzorem, podívejte se prosím na stránku "SPONZOŘI".
BANKOVNÍ PŘEVOD /
QR PLATBA (bez částky)

- Číslo účtu (CZK): 2000197842 / 2010
- IBAN: CZ41 2010 0000 0020 0019 7842
- BIC/SWIFT: FIOBCZPPXXX
- Zpráva pro příjemce: NA KAFE / Linux-doma.cz
BITLIFI / QR PLATBA (bez částky)

- Uživatel: +420607271333@bitlifi.com
- Poznámka: NA KAFE / Linux-doma.cz