Cvičení v 5. týdnu

Diskové quoty, instalace software.


Diskové kvóty
Diskové kvóty jsou maximální limity celkové velikosti souborů pro konkrétního uživatele nebo skupinu. Limity počítá (za běhu systému) jádro, resp. jeho část - filesystem driver. Proto ne každý filesystém umožňuje zavést diskové kvóty. Nutnou podmínkou je podpora vlastnictví souborů uživateli filesystémem, protože pokud soubory nejsou nikým vlastněny (DOS, VFAT), nemá smysl zavádět limity. Při vytvoření filesystému (mkfs) nejsou kvóty aktivní, uživatelé mohou využít téměř veškerou kapacitu disku až do minimální rezervy určené pro uživatele s UID=0 (root). Před vlastní aktivací je nutné spočítat již alokovanou velikost souborů jednotlivých uživatelů/skupin a pak tuto databázi aktualizovat.
Každý uživatel/skupina má stanoveny dva limity - soft a hard. Soft limit smí překročit, ale jen na stanovenou dobu. Hard limit nesmí překročit ani dočasně.

Postup zavedení diskových kvót do systému (Linux):

  1. Nejprve je třeba připojit filesystém s volbou (option) usrquota, resp. grpquota. To lze v principu udělat buď jednorázově příkazem mount -o usrquota /dev/zarizeni /adresar, nebo option zapsat do souboru /etc/fstab pro příslušné filesystémy a připojit filesystém zkráceným příkazem mount /adresar . Varianta úpravy fstab je lepší, neboť bude fungovat i po rebootu. Pokud je již daný FS připojen, lze aktualizovat option příkazem mount -o remount,usrquota /adresar.
  2. Dále spustíme příkaz quotacheck s přepínačem -a a buď -u nebo -g nebo obojí (viz man) podle toho, zda chceme aktivovat skupinové či uživatelské kvóty. Příkaz quotacheck postupně prohlédne všechny adresáře filesystému a sečte celkové velikosti všech souborů všech uživatelů resp. skupin. Výslednou tabulku uloží do souborů /quota.user resp. /quota.group v kořenovém adresáři daného filesystému.
  3. Aktivujeme počítání kvót v jádře příkazem quotaon se stejnými parametry jako quotacheck. Od této chvíle se bude každý zápis kontrolovat a soubor /quota.user se bude automaticky aktualizovat. Příkazem quotaoff lze kontrolu a aktualizaci /quota.user pozastavit. Pokud však během pozastavení kontroly uživatel zapsal na disk, nemusí být informace v /quota.user aktuální a před aktivací kontroly by měl být spuštěn program quotacheck.
  4. Zbývá jen stanovit konkrétní limity. Příkazem edquota lze editovat oba limity (soft, hard) pro jednotlivé uživatele. Příkaz edquota pro nastavení spustí "váš oblíbený" textový editor. Který je "ten oblíbený" se dá nastavit v shellu proměnnou EDITOR. Např.: export EDITOR=/usr/bin/kedit.
  5. Informace o kvótě pro uživatele či skupinu získáte příkazem quota. Souhrné informace příkazem repquota.

Úkol 1: Aktivujte systém kvót na kořenovém filesystému. Stanovte kvótu pro uživatele guest a vyzkoušejte ji kopírováním souborů. Vyzkoušejte chování po příkazu quotaoff a následně pak quotaon.


Instalace balíků software
Nový software, který chcete nainstalovat do systému je většinou tvořen více soubory a mnohdy je třeba vykonat krom nakopírování souborů na správná místa ještě další činnosti - např. upravit inicializační script, nakonfigurovat cosi. Software se proto instaluje po balíčkách. Každý balíček obsahuje nejen nové soubory, ale i instalační scripty. Různé OS používají různé formáty balíčků a tím i možnosti instalace či opětného odinstalování. Některé UNIXy používají instalační balíčky *.tar.gz, které samozřejmě umí jen rozbalit soubory. Náš Linux - distribuce RedHat/Fedora - i mnohé další používají balíčky formátu RPM, který se už stal standardem, nejen pro Linux.

RPM obsahuje preinstalační a postinstalační scripty, informace o názvu balíčku, detailní popis funkce, verzi, informace o autorovi, datum vytvoření, název balíčku se zdrojovým kódem, atd. Významnou informací je seznam identifikátorů rozhraní, které balíček nabízí, a dále seznam identifikátorů rozhraní, které pro svou práci potřebuje. Tak lze zcela automaticky kontrolovat závislosti mezi balíčky a upozorňovat na případnou nefunkčnost z důvodů používaného programu, který však není nainstalován. Lze dokonce automaticky najít na Internetu potřebný balíček a doinstalovat ho.

Správu balíčků RPM provádíme příkazem rpm. Program rpm pracuje v několika módech:
Instalacerpm -i balik.rpm Nainstaluje přískušný balík.rpm
Deinstalacerpm -e balik Odinstaluje nainstalovaný balík
Dotaz rpm -q -aZobrazí seznam nainstalovaných balíků
rpm -q balik -i Informace o nainstalovaném balíku balik
rpm -q -p balik.rpm -i Informace o nenainstalovaném balíku balik.rpm
rpm -q -f /dir/fileKe kterému balíku patří soubor /dir/file
rpm -q --provides balik Které vlastnosti implementuje (nabízí) balík balik
rpm -q --requires balik Které vlastnosti ke své činnosti potřebuje balík balik
rpm -q --whatprovides C Vypíše balíky, které implementují (nabízí) vlastnost C
rpm -q --whatrequires C Vypíše balíky, které potřebují ke své činnosti vlastnost C
Na internetu existují rozsáhlé archivy RPM balíčků, které lze stáhnout a okamžitě nainstalovat.

Úkol 2: Zjistěte jaké balíčky ke své činnosti potřebují balík bash.

Další významnou pomocí administrátora je systém automatizovaného získávání balíčků a udržování jejich aktuálních verzí. Distribuce Fedora používá systém YUM. YUM pracuje s RPM balíčky. Umí stáhnout potřebný balíček, v případě potřeby i včetně závislých balíčků, nebo umí zkontrolovat, zda některý z balíčků není dostupný v novější verzi a pokud ano, umí balíček aktualizovat. Informace o dostupných balíčkách získává z tzv. repository, coz je specializovaný server se sadou RPM balíčků. Seznam dotazovaných repository naleznete v adresáři /etc/yum.repos.d/.

Příklady:
yum install balikstáhne a nainstaluje balik.rpm
yum updatezjistí aktuální dostupné verze všech nainstalovaných balíků a v případě potřeby provede aktualizaci

Úkol 3: Nainstalujte analyzator sitove komunikace ethereal a aktuaizujte balíček bzip2.