Kapitola 10. Speciální vlastnosti SUSE LINUXu

Obsah

10.1. Nápověda k některým zvláštním balíčkům
10.2. Virtuální konzole
10.3. Mapování klávesnice
10.4. Lokální přizpůsobení — I18N and L10N

Abstrakt

V kapitole probereme informace o detailně popíšeme některé balíčky softwaru a speciální vlastnosti, jakými je bootování z initrd, linuxrc a záchranný systém. Součástí je i část věnovaná lokalizaci systému a s ní souvisejícím specifickým nastavením (I18N a L10N).

10.1. Nápověda k některým zvláštním balíčkům

Zde najdete důležité informace o balíčcích jako je například bash či cron a příkazům ulimit a free.

10.1.1. Balíček bash a /etc/profile

  1. /etc/profile

  2. ~/.profile

  3. /etc/bash.bashrc

  4. ~/.bashrc

Osobní nastavení si každý uživatel může zapsat do souboru ~/.profile nebo do ~/.bashrc. Aby bylo nastavení těchto souborů správné, je nezbytné zkopírovat základní nastavení z /etc/skel/.profile nebo /etc/skel/.bashrc do domovského adresáře uživatele. Je doporučeno překopírovat /etc/skel ihned po updatu.Aby nedošlo k ztrátě osobních nastaveních, doporučuje se nejdříve provést následující příkazy:

mv ~/.bashrc ~/.bashrc.old
cp /etc/skel/.bashrc ~/.bashrc
mv ~/.profile ~/.profile.old
cp /etc/skel/.profile ~/.profile

Osobní nastavení je pak nutné překopírovat zpět z *.old.

10.1.2. Balíček cron

Tabulky programu cron se nyní nacházejí v /var/cron/tabs. /etc/crontab nyní slouží jako rozsáhlý konfigurační soubor systémové tabulky. Zde zadávejte jako uživatel root jméno počítače, který by měl v určitý čas spouštět některé příkazy podle časové tabulky. Tabulky specifické pro balíček, uložené v /etc/cron.d, mají stejný formát. Více v man cron.

Ukázka údajů v /etc/crontab uživatele root):

1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun

/etc/crontab nelze spustit příkazem crontab -e. Musíte jej nejdřív otevřít v editoru, pak změnit a uložit.

Mnoho balíčků instaluje skripty příkazového řádku do adresářů /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, a /etc/cron.monthly, instrukce jsou kontrolovány skriptem /usr/lib/cron/run-crons. /usr/lib/cron/run-crons je z hlavní systémové tabulky (/etc/crontab) spouštěn každých patnáct minut. To zajistí spuštění všech správných procesů včas.

úlohy, které jsou vykonávány denně, jsou z důvodů přehlednosti rozděleny do několika samostatných skriptů (aaa_base, /etc/cron.daily obsahují komponenty backup-rpmdb, clean-tmp, či clean-vi.

10.1.3. Soubory logů: logrotate a balíčky

V systému je spuštěno mnoho služeb (démonů), které pravidelně zaznamenávají stav systému a určitých událostí do záznamů (logovacích souborů). Tímto způsobem může administrátor pravidelně zkontrolovat stav systému v určitém časovém okamžiku, najít problémy a chyby funkcí, řešit a ladit je s velkou precizností. Záznamy - logy jsou uloženy v adresáři /var/log, přesně dle specifikace FHS a denně nabírají nové a nové záznamy. Balíček logrotate umožňuje zvýšení počtu těchto souborů a lepší kontrolu systému.

10.1.3.1. Nastavení

Nastavení logrotate je uloženo v souboru /etc/logrotate.conf. Položka include specifikuje další soubory pro čtení. SUSE LINUX zajišťuje instalování jednotlivých balíčků do /etc/logrotate.d např. apache2 (/etc/logrotate.d/apache2) syslog(/etc/logrotate.d/syslog).

Příklad z /etc/logrotate.conf:

# podívejte se na "man logrotate" pro další detaily
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own lastlog or wtmp - we'll rotate them here
#/var/log/wtmp {
#    monthly
#    create 0664 root utmp
#    rotate 1
#}

# system-specific logs may be also be configured here.

logrotate je kontrolován programem cron a bývá volán denně. /etc/cron.daily/logrotate.

[Important]Důležité

Volba create umožňuje načíst veškerá nastavení vytvořená administrátorem v souboru /etc/permissions*. Zajišťuje, že nedojde ke konfliktu žádných nastavení.

10.1.4. Manuálové stránky

Manuálové stránky GNU aplikací (jako je např. tar) již nejsou delší dobu spravovány a aktualizovány. Byly nahrazeny info stránkami. Pro zjištění základních příkazů programů, použijte parametr --help, který poskytuje rychlý přehled info stránek. Ty ovšem poskytují mnohem hlubší pohled na jednotlivé možnosti programů a vysvětlují příkazové instrukce. info je hypertextový systém vyvíjený v rámci projektu GNU. Úvod do info stránek zobrazíte jednoduchým vypsáním info info na příkazovou řádku. Info stránky lze prohlížet editorem Emacs, i přímo při jeho spuštění pomocí emacs -f info, nebo přímo v konzolí příkazem info. Programy jako tkinfo, xinfo, lze jednoduše prohlížet pomocí nápovědy SUSE.

10.1.5. Příkaz ulimit

Díky příkazu ulimit (user limits) je možné nastavit využívání zdrojů systému a zároveň si je nechat zobrazit. ulimit je užitečný zvláště pro omezení paměti využívané aplikacemi. Můžete zabránit aplikaci v nadměrném čerpání zdrojů, aby nemohlo dojít k zamrznutí systému.

ulimit může být používán s mnoha volbami. Využívání paměti omezíte některou z voleb z tabulky 10.1 – „ulimit: Přidělení zdrojů uživateli“.

Tabulka 10.1. ulimit: Přidělení zdrojů uživateli

-m

maximální velikost fyzické paměti

-v

maximální velikost virtuální paměti

-s

maximální velikost zásobníku

-c

maximální velikost core souborů

-a

zobrazení limitů

Nastavní platná pro celý systém zapisujte do /etc/profile. Zde musíte povolit vytváření core souborů, které jsou potřebné při ladění. Normální uživatelé hodnoty uvedené v /etc/profile měnit nemohou, mohou si ovšem vytvořit speciální nastavení ve vlastním ~/.bashrc.

Příklad omezení paměti v ~/.bashrc:

# Omezení fyzické paměti:
ulimit -m 98304

# Omezení virtuální paměti:
ulimit -v 98304

Velikost paměti musí být zadána v KB. Více informací najdete v man bash.

[Important]Důležité

Některé shelly příkaz ulimit nepodporují. V tom případě využijte PAM pam_limits, který nabízí podobné možnosti pro omezování přidělených prostředků.

10.1.6. Příkaz free

Pokud chcete zjistit, kolik paměti RAM je momentálně používáno, může být výstup programu free trochu matoucí. Podstatné informace naleznete v souboru /proc/meminfo. V moderních operačních systémech jako je Linux, se již uživatelé nedostatku paměti nemusí obávat. Koncepce dostupné RAM zdědil Linux z období řízení unifikovaného přístupu k paměti. Slogan volná paměť je špatná paměť padne Linuxu jako ulitý. Výsledkem je vlastnost systému, kdy je nesmyslné byť i jen mluvit o volné či nepoužívané paměti.

Jádro v podstatě nemá přímé informace o aplikačních či uživatelských datech. Místo toho obsluhuje aplikace a uživatelská data pomocí stránkování. V případě nedostatku paměti budou načítány na odkládací oddíl nebo do souborů, ze kterých je možné je číst příkazem mmap. (viz man mmap).

Jádro obsahuje také jiné cache, např. slab cache, používanou pro uložení síťového přístupu. To může vést k situaci, kdy jsou informace v souboru /proc/meminfo odlišné od reality. K většině, ale ne ke všem, lze přistupovat přes /proc/slabinfo.

10.1.7. Soubor /etc/resolv.conf

Rozpoznávání doménových jmen je řešeno souborem /etc/resolv.conf. Více najdete v kapitole 24 – „DNS — Domain Name System.

Soubor je aktualizován výlučně skriptem /sbin/modify_resolvconf, což znamená, že žádný jiný program nesmí soubor/etc/resolv.conf upravovat přímo. Přísnost tohoto pravidla zaručuje konzistentní stav konfigurace sítě.

10.1.8. Nastavení programu GNU Emacs

GNU Emacs je komplexním pracovním prostředím. Více informací je k dispozici na http://www.gnu.org/software/emacs/. Následující sekce popisují konfigurační soubory načítané při startu GNU Emacs.

Během startu načítá Emacs množství souborů s nastaveními uživatele, administrátora systému a distributora lokalizace a předkonfigurovaných vlastností. Inicializační soubor ~/.emacs se nainstaluje do home adresářů uživatelů z adresáře /etc/skel. .emacs posléze čte ze souboru /etc/skel/.gnu-emacs. Pro vlastní úpravy programu by si měl uživatel zkopírovat .gnu-emacs do svého domovského adresáře. Požadované změny by měl provést zde:

cp /etc/skel/.gnu-emacs ~/.gnu-emacs

.gnu-emacs definuje soubor ~/.gnu-emacs-custom jako custom-file. V případě, že uživatel dělá změny nastavení pomocí customize nastavení,ukládají se pak tyto změny do ~/.gnu-emacs-custom.

V systému SUSE LINUX, emacs balíček instaluje soubor site-start.el do adresáře /usr/share/emacs/site-lisp. Soubor site-start.el je načítán ještě předtím, než je načten konfigurační soubor ~/.emacs. Mezi mnoha službami, které soubor site-start.el zajišťuje, je také automatické nahrávání speciálních konfiguračních souborů obsažených v přídavných balíčcích programu Emacs (to jsou balíčky jako např. psgml). Konfigurační soubory tohoto typu jsou také umístěny v /usr/share/emacs/site-lisp, a vždy začínají suse-start-. Místní administrátor může specifikovat nastavení velmi široce v souboru default.el.

Více informací o těchto souborech najdete v info souboru pod Emacs Inicializačním souborem: info:/emacs/InitFile. Na druhou stranu zde najdete taktéž informace o tom, jak v případě potřeby tyto soubory vypnout.

Komponenty programu Emacs jsou rozděleny do několika balíčků:

  • Základní balík emacs.

  • Obvykle by měl být instalován emacs-x11. Balíček obsahuje program s podporou X11 .

  • emacs-nox naopak podporu X11 neobsahuje.

  • emacs-info: Jde o online dokumentaci v info formátu.

  • emacs-el obsahuje nekompilovanou knihovnu souborů v jazyce Emacs Lisp. Vyžadovány pro běh programu nejsou tyto soubory nejsou.

  • Množství přídavných balíčků, které instalujte v případě potřeby:

    emacs-auctex (pro LaTeX)

    psgml (pro SGML a XML)

    gnuserv (pro fungování jako klient a server) a další.

10.1.9. Krátký úvod do editoru vi

Editor vi je v unixovém světě považován za velmi komfortní a výkonný editor, jehož ovládání je mnohem ergonomičtější, než ovládání většiny textových editorů s grafickým rozhraním a podporou myši.

10.1.9.1. Režimy práce

Editor vi používá tři hlavní režimy práce: vkládací (insert) režim, příkazový (normální, command) režim a řádkový (ex) režim. Klávesy mají v různých režimech práce různé funkce. Za běžných okolností se vi po startu nachází v příkazovém režimu. První věc, kterou se uživatel musí naučit, je přepínat mezi jednotlivými pracovními režimy:

Přechod z příkazového do vkládacího režimu

Možností je několik, patří mezi ně zápis A (z anglického append, text bude vložen za aktuální pozici kurzoru), I (z anglického insert, text bude vložen na aktuální pozici kurzoru) nebo O (text bude vložen na začátek nové řádky vytvořené za aktuální řádkou).

Přechod z vkládacího do příkazového režimu

Stisknutí klávesy Esc ukončí vkládací režim a způsobí přechod do příkazového režimu. Pokud se editor vi nachází ve vkládacím režimu, nelze ukončit, a proto je důležité zapamatovat si klávesu Esc pro jeho opuštění.

Přechod z příkazového režimu do řádkového režimu

Řádkový režim editoru vi lze aktivovat zápisem dvojtečky (:) během práce v příkazovém režimu. Řádkový režim je obdobou nezávislého řádkově orientovaného textového editoru využitelného k řadě jednoduchých i složitých úkolů.

Přechod z řádkového režimu do příkazového režimu

Po vykonání příkazu v řádkovém režimu se editor automaticky vrátí do příkazového režimu. Pokud nechcete vykonat žádný příkaz, smažte dvojtečku v příkazovém řádku pomocí klávesy . Editor se tak vrátí do příkazového režimu.

Přepnout vi z vkládacího do řádkového režimu přímo, aniž by se nejdříve přepnulo do příkazového režimu, nelze.

Editor vi má vlastní způsob ukončení. Nemůže být ukončen během práce ve vkládacím režimu. Nejprve je nutno vkládací režim ukončit stiskem klávesy Esc. Dále jsou dvě možnosti:

  1. Ukončení bez uložení změn: aby byl editor ukončen bez uložení jakýchkoliv změn v souborech, zapište v příkazovém režimu sekvenci : Q !. Vykřičník (!) způsobí, že bude vi ukončen bez ohledu na jakékoliv změny v editovaných souborech.

  2. Uložit změny a ukončit editor: Možností, jak uložit změny a ukončit editor, je několik. V příkazovém režimu zapište sekvenci Z Z. V řádkovém režimu zapište sekvenci : W Q. Příkaz W v řádkovém režimu znamená zapsat do souboru, Q znamená ukončit editor.

10.1.9.2. Editor vi v akci

Editor vi je možno používat jako jakýkoliv běžný editor. Ve vkládacím režimu, lze vkládat text nebo text pomocí kláves a mazat. Kurzorem lze pohybovat pomocí kurzorových kláves.

Tento způsob ovládání může nicméně způsobit v určitých situacích problémy, neboť některé terminály používají speciální klávesové kódy. Tehdy se hodí příkazový režim. Přejděte z vkládacího do příkazového režimu stiskem klávesy Esc. V příkazovém režimu lze pohybovat kurzorem pomocí kláves H, J, K a L. Klávesy mají následující funkce:

H

přesunout kurzor o jeden znak doleva

J

přesunout kurzor o jeden řádek dolů

K

přesunout kurzor o jeden řádek nahoru

L

přesunout kurzor o jeden řádek doprava

Příkazy lze v příkazovém režimu různě modifikovat. Chcete-li příkaz vykonat několikrát, jednoduše vložte množství opakování před vlastní příkaz. Chcete-li například, aby se kurzor posunul o pět znaků doprava, stiskněte 5 L.

10.1.9.3. Další informace

Editor vi podporuje širokou paletu funkcí a příkazů. Umožňuje používat makra, uživatelem definované klávesové zkratky, pojmenované buffery a další užitečné vlastnosti. Podrobný popis přesahuje možnosti tohoto krátkého manuálu. SUSE LINUX obsahuje vim (vi improved), zdokonalenou verzi editoru vi. Podrobnější informace o tomto editoru najdete na mnoha místech:

[Important]Licence editoru VIM

Editor VIM je šířen jako tzv. charityware, což znamená, že autoři za něj pro sebe nežádají žádné peníze, nicméně vyzývají uživatele k finanční podpoře dobročinného projektu na pomoc chudým dětem z Ugandy. Více informací lze získat na webových stránkách http://iccf-holland.org/index.html, http://www.vim.org/iccf/ a http://www.iccf.nl/.


SUSE LINUX Příručka správce systému 9.3