Rozdelenie domáceho disku
Keď som začínal s Linuxom mal som jeden problém s inštaláciou, a to rozdelenie disku. Netušil som čo je to adresárová štruktúra a nevedel som koľko miesta je pre jednotlivé partície treba. A v príručkách a rôznych „zasvätených” článkoch na internete som sa vždy dočítal len „podľa svojej potreby”. Aká je teda tá potreba?
Obsah článku
Vlastne dodnes neviem, koľko to miesta vlastne potrebujem. Aj preto som sa rozhodol napísať tento článok, kde zhrniem moje skúsenosti s obsadením partícií v rôznych inštaláciách.
Počet partícií
Pri inštalácii Debianu ponúka sprievodca na výber niekoľko predvolených možností. Tu sa chcem zastaviť pri poznámke, že riešenie „všetko na jednej partícii“ je pre začiatočníkov. Považujem túto poznámku za nevhodnú, respektíve za prežitok nedesktopovej éry Linuxu. Samozrejme, mať celú inštaláciu servera na jednej partícii je nevhodné. Zaplnenie jednej partície ľahko zablokuje niektoré služby servera (ak nie server celý).
Ale mať domáci Debian na jednej partícii - prečo nie? Ja viem, z rovnakého dôvodu, nenažratý (alebo nepozorný) používateľ dokáže zapratať disk aj doma. Ale týmto spôsobom sa vyhnete problému, s ktorým som sa ja potýkal nie raz. Jedna partícia plná na prasknutie a druhá zaplnená na tri percentá. Myslím si, že ani najskúsenejší používateľ nedokáže vedieť dopredu, koľko miesta nakoniec zaberú používané programy.
Riešenie, ktoré sa pre bežného domáceho používateľa (User Domesticus)
ponúka, je použitie samostatnej partície /home
. To síce zaistí,
že zaplnenie domovských priečinkov nezablokuje systém, ale nerieši
problém s vhodným rozdelením disku. Odpoveď na otázku koľko pre ten
systém vlastne treba sa pokúsim nájsť neskôr.
Riešenie so samostatnými partíciami pre /usr
, /var
,
/home
atď, je podľa mňa vhodné pre tých, ktorí vedia čo v systéme
budú mať. Nároky takého webového servera sú v podstate jednoznačné (samozrejme
nemám na mysli webové stránky, databázy a podobne). Takže toto
riešenie je naozaj vhodné pre skúsenejších používateľov.
Hierarchický systém súborov
Hierarchia adresárov v Linuxe je relatívne pevná a nazýva sa “
hierarchický systém súborov“. Píšem relatívne, pretože už som sa
stretol aj s programmi, ktoré je ignorujú, možno z nevedomosti.
Nepôjdem do detailov, ale krátko zhrniem určenie jednotlivých
adresárov, ktoré majú jeden spoločný začiatok - jeden koreň -
označovaný /
. V tom je rozdiel oproti Windows, kde má koreň každá
disková partícia (C:, D:, …). Štandardný hierarchický
systém súborov Linuxu vyzerá takto:
/bin
– obsahuje základné príkazy a nástroje, potrebné pri zavádzaní systému a dostupné aj bežných používateľov,/boot
– obsahuje obrazy jadier, mapy systému, počiatočné RAM disky, zavádzač apod./dev
– obsahuje súbory zariadení (špeciálne súbory),/etc
– obsahuje konfiguračné súbory systému i jednotlivých aplikácií,/home
– obsahuje domovské adresáre bežných používateľov,/lib
– obsahuje základné zdieľané knižnice a moduly jadra,/media
– prípojný bod pre média (disketa, CD, DVD, USB, …),/mnt
– ďalší (alebo skôr pôvodný) prípojný bod, určený pre pripojenie súborových systémov,/opt
– obsahuje programy určené pre väčší počet rôznych distribúcií a aj aplikácie pridané k systému (často binárne), ktoré nie sú súčasťou distribúcie,/proc
– virtuálany súborový systém jadra, obsahuje informácie o nastavení a stave systému,/root
– domovský adresár superužívateľa,/sbin
– systémové nástroje, používané pri zavádzaní či konfigurácii systému, na rozdiel od nástrojov v /bin, nie sú určené pre používanie obyčajnými používateľmi,/sys
– virtuálany súborový systém, obsahuje informácie o nastavení a stave systému,/tmp
– adresár pre dočasné súbory,/usr
– obsahuje nainštalované programy, knižnice a súvisiace dáta,/var
– obsahuje rôzne dáta celosystémového charakteru protokoly (logy), poštové správy, databázy, súbory tlačových úloh, súbory zámkov, stiahnuté balíčky programov atď.
Využitie miesta na disku
Aby ste získali predstavu koľko miesta taký linux zaberá, pripravil som prehľadnú tabuľku obsadenosti súborového systému (zabraných dát) po inštalácii Debianu. Údaje v tabuľke ukazujú Debian bez grafického rozhrania, čerstvú inštaláciu s Xfce, Gnome i KDE. V poslednom stĺpci je využitie s mixom rôznych programov:
súb. sys | bez X | Xfce | Gnome | KDE | Mix |
---|---|---|---|---|---|
/usr | 226 MB | 1,2 GB | 1,7 GB | 5,1 GB | |
/var | 183 MB | 398 MB | 334 MB | 271 MB | |
ostatné | < 90 MB | < 90 MB | < 90 MB | 140 MB |
Informácie o veľkosti inštalácie s KDE nemám teraz k dispozícii.
Veľkosť adresára /var
je trochu zavádzajúca, pretože do toho
vstupuje veľkosť chache s balíčkami, ktorú som niekde mal vymazanú,
inde nie…
Čo z toho vyplýva? Jednoducho, že pre systém bohato stačí jedna 10 GB
partícia. Ak však chcete mať systém rozdelený na viacerých partíciách,
urobte si aspoň 10 GB len pre /usr
, prípadne aj viac. 1 GB pre
koreňový systém postačí, ale v tom prípade vrelo odporúčam vytvoriť aj
samostatnú partíciu /var
s veľkosťou okolo 2 GB. Ono to je s tou
partíciou pre /var
trochu zložitejšie.
V tomto adresári sú totiž predvolene ukladané aj poštové správy (emaily), doručované poštovým serverom, ukladajú sa tu aj databázy (MySQL určite) a predvolene aj webové stránky. V neposlednom rade všetky systémové aj nesystémové záznamy (logy), či vyrovnávacia pamäť squid a už spomínaná vyrovnávacia pamäť balíčkovacieho systému.
Asi Vás napadá otázka ako to mám ja? Takto:
Súborový systém Veľk Použ Dost Pou% Namontovaný na
/dev/hda1 183M 20M 154M 12% /boot
/dev/hda5 2,0G 265M 1,7G 14% /
/dev/hda6 4,0G 475M 3,4G 13% /var
/dev/hda7 11G 4,2G 6,3G 40% /usr
/dev/hda8 5,5G 1,2G 4,1G 23% /usr/src
/dev/hda11 4,7G 3,6G 1,1G 78% /mnt/winfat
/dev/hda12 29G 6,0G 22G 22% /home
/dev/hda13 2,0G 136M 1,8G 7% /tmp
Ako sa mi vidíte, mám samostatné partície pre koreň, /boot
,
/var
, /usr
, /tmp
aj /home
. Ich veľkosť je číslo
v prvom stĺpci, skutočná obsadenosť je v stĺpci druhom. Okrem toho mám
ešte samostatnú partíciu pre /usr/src
a jednu FAT32 partíciu, ako
pozostatok Windows. Nie toto nie je návod, ako to má vyzerať. Toto
rozdelenie vzniklo kedysi dávno a dnes by som to urobil inak. Samostatná
partícia /boot
je zbytočná, /tmp
tiež. Aj by som ich zrušil,
ale dalo by trochu práce potom znova rozchodiť systém, tak to nechávam tak
ako to je.
Ako to zmeniť
Takže vytvoriť partície pri inštalácii by ste už možno vedeli, ale čo ak máte systém nainštalovaný a zisťujete, že sa niekde stala chyba a miesto niekde chýba a inde zvyšuje? Existuje na to riešenie, volá sa parted (a nie je jediné). Má však jednu chybu, nie je dobré meniť partície (najmä systémovú) za behu systému. Preto je výborným riešením LiveCD, napríklad SystemRescue, GParted alebo PartedMagic. Všetky tri ponúkajú grafické rozhranie pre parted, kde si môžete veľkosti partícií meniť podľa potreby.
Aký súborový systém
Tu je jasná len jedna voľba, určite nie ext2, pretože nemá žurnálovanie, čiže nie je odolný voči výpadkom napätia či náhlym reštartom. Na zváženie ostáva voľba ext3, ale skúsiť môžete aj výkonnejšie súborové systémy ako ReiserFS, JFS, či XFS. Ja používam ext4 a ReiserFS. Do budúcnosti zvažujem používanie iného systému, ale ešte v tom nemám jasno. Nejaké porovnania výkonov jednotlivých súborových systémov môžete nájsť v staršom, ale pekne graficky spracovanom článku, alebo v inom, menej pekne spracovanom článku.
Takže ešte používam aj XFS.
swap
Na základe otázky môjho študenta som sa rozhodol doplniť ešte túto časť o swap. Čo to je? No, swap je miesto na disku, ktoré slúži ako odkladacie miesto v prípade že veľkosť RAM počítača bežiacim programom nestačí. Taký swap je vlastne špeciálna partícia, hoci to môže byť aj súbor na disku. Použitie partície však ponúka základnú výhodu v rýchlejšej práci. Použitie súboru zase prináša väčšiu voľnosť v zmene jeho veľkosti…
Veľkosť tohoto odkladacieho miesta na disku je predmetom mnohých debát. Existuje skupina, ktorá tvrdí, že by to mal byť dvojnásobok veľkosti RAM. Iná skupina zase tvrdí, že pri dnešných veľkostiach RAM je swap zbytočný. Každopádne, ak chcete využívať možnosť uspávania počítača na disk, mali by ste vytvoriť swap partíciu s veľkosťou aspoň rovnakou ako je veľkosť RAM, pretože práve na túto partíciu sa jej obsah ukladá. Hoci ani to nie je podmienka, pretože málokedy máte plnú RAM…
Hoci mnohé inštalátory nedovolia Linux bez pripravenej partície swap ani nainštalovať, dokáže systém Linux bežať aj bez nej… A dokonca existujú techniky, ktoré umožňujú použiť ako swap časť pamäte RAM (komprimácia je to správne heslo)..