Kapitola 10. Zvláštní funkce systému SUSE Linux

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

Tato kapitola nabízí informace o různých balíčcích, virtuálních konzolích a rozložení klávesnice. Budeme zde probírat programy měnící se mezi jednotlivými verzemi jako bash, cron a logrotate. Kapitolu ukončíme krátkým pojednáním o jazycích a jazykově specifických nastaveních (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, logrotate, locate 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. Změny v logrotate

Tato stará nastavení budou změněna při updatu z verze starší než SUSE Linux 8.0:

  • Položky /etc/logfile neasociované s některým balíčkem jsou přesunuty do /etc/logrotate.d/aaa_base.

  • Proměnná MAX_DAYS_FOR_LOG_FILES ze souboru jako je rc.config je mapována v konfiguračním souboru jako dateext a maxage. Více v man logrotate.

10.1.3.2. 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. Příkaz locate

locate, příkaz pro rychlé vyhledávání souborů, není součástí standardní instalace. Pokud jej chcete používat, nainstalujte si balíček find-locate. Příkaz pro vytváření databáze updatedb se spouští automaticky každý den v noci nebo zhruba 10 minut po spuštění systému.

10.1.5. 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.6. 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.7. 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.8. Soubor /etc/resolv.conf

Rozpoznávání doménových jmen je řešeno souborem /etc/resolv.conf. Více najdete v kapitole 20 – „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.9. 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ší.