Tartalomjegyzék
Kivonat
Ez a fejezet a különféle szoftvercsomagokról, a virtuális konzolokról, valamint a billentyűzetkiosztásról tartalmaz információt. Szó lesz olyan szoftverkomponensekről, mint a bash, a cron és a logrotate, mivel ezek megváltoztak vagy bővültek a legutóbbi kiadási ciklusokban. Még akkor is, ha kicsik, vagy csekély fontosságúak, előfordulhat, hogy a felhasználók meg kívánják változtatni az alapértelmezett viselkedésüket, mivel ezek az összetevők jellemzően igen szorosan vannak csatolva a rendszerhez. A fejezet végén egy külön rész szól a nyelv- és országspecifikus beállításokról (I18N és L10N).
A bash, cron, logrotate, locate, ulimit és free programok rendkívül fontosak a rendszergazdák és a felhasználók számára egyaránt. A kézikönyvoldalak és az info oldalak hasznos forrás a parancsokkal kapcsolatban, de nem mindig érhető el mind a kettő. A GNU Emacs egy népszerű, nagyon jól konfigurálható szövegszerkesztő.
A bash az alapértelmezett parancsértelmező. Bejelentkezési parancsértelmezőként használva különféle inicializáló fájlokat olvas be. A bash az itt látható sorrendben dolgozza fel őket.
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bashrc
A felhasználók saját bejegyzéseket készíthetnek a ~/.profile és ~/.bashrc fájlokban. E fájlok helyes feldolgozásának biztosításához át kell másolni az /etc/skel/.profile vagy /etc/skel/.bashrc alapbeállításokat a felhasználó saját könyvtárába. Célszerű a beállításokat egy frissítés után átmásolni az /etc/skel könyvtárból. Hajtsa végre az alábbi parancsokat a személyes beállítások elvesztésének megakadályozására:
mv ~/.bashrc ~/.bashrc.old cp /etc/skel/.bashrc ~/.bashrc mv ~/.profile ~/.profile.old cp /etc/skel/.profile ~/.profile
A személyes beállításokat ezután vissza kell másolni a *.old fájlokból.
A parancsok időzített, rendszeres futtatásához a háttérben a cron nevű eszköz használható. A cron speciálisan formázott időzítő táblázatokat használ. Egy részüket a rendszer tartalmazza, de a felhasználók maguk is készíthetnek táblázatokat, ha szükséges.
A cron-táblázatok a /var/spool/cron/tabs könyvtárban találhatók. Az /etc/crontab egy rendszerszintű cron- (időzítési) táblázat. A parancsot futtató felhasználó nevét közvetlenül az időzítés megadása után kell beírni. A 18.1. példa - Példa az /etc/crontab egy bejegyzésére esetében ez a root. Az /etc/cron.d könyvtárban található csomagspecifikus táblázatok ugyanezt a formátumot használják. További információk a cron kézikönyvoldalán (man cron) olvashatók.
18.1. példa - Példa az /etc/crontab egy bejegyzésére¶
1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun
Az /etc/crontab nem dolgozható fel a crontab -e paranccsal. Közvetlenül egy szerkesztőbe kell betölteni, majd módosítani és elmenteni.
Néhány csomag parancsfájlokat telepít az /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly és /etc/cron.monthly könyvtárakba, amelyek végrehajtását az /usr/lib/cron/run-crons szabályozza. Az /usr/lib/cron/run-crons tizenöt percenként fut le a fő táblázat (/etc/crontab) alapján. Ez garantálja, hogy az esetleg elhanyagolt folyamatok is megfelelő időben le legyenek futtatva.
A hourly (óránkénti), daily (napi) és egyéb rendszeres karbantartási feladatok egyéni időben történő futtatásához távolítsa el az időbélyegfájlokat az /etc/crontab fájlban megadott bejegyzéssel (lásd: 18.2. példa - /etc/crontab: Az időbélyegfájlok eltávolítása. Ez a hourly, vagyis az óránkénti bejegyzéseket távolítja el minden egész óra előtt, a daily bejegyzéseket pedig naponta egyszer, hajnal 2:14-kor stb).
18.2. példa - /etc/crontab: Az időbélyegfájlok eltávolítása¶
59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 14 2 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 2 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 2 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly
Vagy beállítható az /etc/sysconfig/cron fájlban a DAILY_TIME értéke a cron.daily indításának idejére. A MAX_NOT_RUN beállítás garantálja, hogy a napi feladatok meg legyenek jelölve futásra, még akkor is, ha a felhasználó hosszabb ideig nem kapcsolta be a számítógépét a meghatározott DAILY_TIME időpontban. A MAX_NOT_RUN változó maximális értéke 14 nap.
A napi rendszerkarbantartási feladatok az átláthatóság kedvéért több parancsfájlba lettek szétosztva. Ezeket az aaa_base csomag tartalmazza. Az /etc/cron.daily fájlban található például a suse.de-backup-rpmdb, suse.de-clean-tmp és a suse.de-cron-local.
A kernel és egy sor rendszerszolgáltatás (démon) rendszeresen rögzíti a rendszer állapotát és bizonyos eseményeket a naplófájlokba. Ily módon a rendszergazda bármikor ellenőrizni tudja a rendszer állapotát, könnyebben felismerheti a hibákat vagy hibás működést és precízen azonosítani tudja a problémákat. Ezek a naplófájlok jellemzően a /var/log könyvtárban tárolódnak és napról napra több helyet foglalnak el. A logrotate csomag segít e fájlok méretének kézben tartásában.
A logrotate beállítása az /etc/logrotate.conf fájlban történik. Az include utasítás adja meg elsősorban a további beolvasandó fájlokat. A naplófájlokat előállító programok saját konfigurációs fájlokat telepítenek az /etc/logrotate.d könyvtárba. Például ilyen programok részei az apache2 (/etc/logrotate.d/apache2) és a syslogd (/etc/logrotate.d/syslog) csomagoknak.
18.3. példa - Példa az /etc/logrotate.conf fájlra¶
# see "man logrotate" for details
# 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.
A működését a cron szabályozza és naponta az /etc/cron.daily/logrotate hívja meg.
A locate parancs, amellyel a fájlok gyorsan megkereshetők, nincsen benne a szokásosan telepített szoftverek listájában. Ha hiányozna, telepítse a findutils-locate csomagot. Az updatedb folyamat automatikusan elindul minden éjszaka vagy mintegy 15 perccel a rendszer elindítása után.
Az ulimit (user limits, azaz felhasználói korlátozások) paranccsal lehet beállítani és megjeleníteni a rendszererőforrásokra vonatkozó korlátozásokat. Az ulimit parancs különösen hasznos az alkalmazások rendelkezésére álló memóriájának korlátozásában. Ennek segítségével megelőzhető, hogy egy alkalmazás túl sokszor forduljon a rendszer erőforrásokhoz és lelassítsa vagy lefagyassza az operációs rendszert.
Az ulimit különféle paraméterekkel használható. A memóriahasználat korlátozására használja az 18.1. táblázat - ulimit: Felhasználói erőforrások korlátozása táblázatban bemutatott paramétereket.
18.1. táblázat - ulimit: Felhasználói erőforrások korlátozása¶
|
|
a maximális rezidens méret |
|
|
a parancsértelmező számára rendelkezésre álló maximális virtuális memória |
|
|
a verem maximális mérete |
|
|
a létrehozott core fájlok maximális mérete |
|
|
minden aktuális korlát jelentésre kerül |
A rendszerszintű beállítások az /etc/profile fájlban adhatók meg. Itt lehet engedélyezni a core fájlok létrehozását, amelyekre a programozóknak van szükségük a hibakereséshez. A normál felhasználók nem növelhetik meg a rendszergazda által az /etc/profile fájlban megadott értékeket, de készíthetnek bejegyzéseket a saját ~/.bashrc fájljukban.
18.4. példa - ulimit: A ~/.bashrc beállításai¶
# Limits maximum resident set size (physical memory): ulimit -m 98304 # Limits of virtual memory: ulimit -v 98304
A memóriafoglalást kilobyte-ban kell megadni. Részletesebb információ a man bash kézikönyvoldalon található.
![]() | |
Nem minden parancsértelmező támogatja az ulimit direktíváit. A PAM (például a | |
A free parancs egy kicsit félrevezető lehet, ha azt kell kideríteni, hogy mennyi RAM-ot is használ éppen a rendszer. A kérdéses információ egyébként a /proc/meminfo fájlban található. Manapság, egy olyan modern operációs rendszert használva, mint a Linux, igazából nem kell a rendelkezésre álló memória mennyiségével foglalkozni. A rendelkezésre álló memória fogalma még az egyesített memóriakezelés előtti időkből származik. Valójában a Linux esetén is igaz a szabad memória rossz memória szabály. A Linux mindig is arra törekedett, hogy kiegyensúlyozza a különböző átmeneti és gyorsítótárakat anélkül, hogy valójában hagyna memóriát parlagon heverni.
A kernel tulajdonképpen semmilyen közvetlen információval nem rendelkezik az egyes alkalmazásokról vagy felhasználói adatokról. Az alkalmazásokat és a felhasználói adatokat egy lapozási gyorsítótáron (page cache) keresztül kezeli. Ha kezd fogyni a memória, akkor annak egyes részei a cserepartícióra vagy fájlokba íródnak, ahonnan az mmap parancs segítségével olvashatók be (lásd man mmap).
A kernel más gyorsítótárakat is tartalmaz. llyen például a slab cache, amelyben a hálózati hozzáféréshez szükséges tárolók találhatók. Mindez talán megmagyarázza a /proc/meminfo fájl számlálói közötti eltéréseket. A legtöbb, bár nem az összes, elérhető a /proc/slabinfo-n keresztül.
Egyes GNU-alkalmazások (például a tar) esetében a kézikönyvoldalakat már nem tartja karban senki. E parancsok esetében a --help paraméterrel lehet gyors áttekintést kapni, illetve az info oldalak tartalmaznak részletesebb magyarázatot. Az info a GNU hiperszöveg-kezelő rendszere. A rendszerről bemutatkozó szöveget az info info parancs beírásával kaphat. Az info oldalak az Emacs segítségével is megtekinthetők az emacs -f info parancs beírásával, vagy a konzolban közvetlenül beírt info paranccsal. Az info oldalak megtekintéséhez használható még a tkinfo, az xinfo, valamint a súgórendszer.
A man man_oldal paranccsal azonnal megnyílik és olvasható az adott oldal. Amennyiben, különböző részekben ugyanolyan nevű man oldalak találhatók, akkor a man parancs lehetővé teszi az ezek közötti választást.
Ha a korábbi viselkedést szeretné visszaállítani, akkor állítsa be MAN_POSIXLY_CORRECT=1 paramétert a parancsértelmező előkészítő fájljában, például a ~/.bashrc fájlban.
A GNU Emacs egy összetett munkakörnyezet. Az alábbi részben áttekintjük, hogyan kerülnek feldolgozásra a konfigurációs fájlok a GNU Emacs indításakor. További információ a http://www.gnu.org/software/emacs/ oldalon található.
Indításkor az Emacs számos fájlt beolvas, amelyek a felhasználó, a rendszergazda, valamint a testreszabó vagy előzetesen beállító disztribútor beállításait tartalmazzák. A ~/.emacs fájl az egyes felhasználók saját könyvtáraiban kerül telepítésre, az /etc/skel sablon alapján. A .emacs az /etc/skel/.gnu-emacs fájlt olvassa be. A program testreszabásához másolja át a .gnu-emacs fájlt a saját könyvtárába (a cp /etc/skel/.gnu-emacs ~/.gnu-emacs paranccsal) és ott végezze el a kívánt beállításokat.
A .gnu-emacs a ~/.gnu-emacs-custom fájlt mint custom-file adja meg. Ha a felhasználók módosítják a beállításokat az Emacs customize utasításaival, akkor ezek a ~/.gnu-emacs-custom fájlba mentődnek el.
openSUSE alatt az emacs csomag telepíti a site-start.el fájlt az /usr/share/emacs/site-lisp könyvtárban. A site-start.el fájl az ~/.emacs fájl előtt töltődik be. A site-start.el több más dolog mellett arról gondoskodik, hogy az Emacs kiegészítő csomagjaival, például a psgml csomaggal együtt kapott speciális konfigurációs fájlok automatikusan betöltődjenek. Az ilyen típusú konfigurációs fájlok szintén az /usr/share/emacs/site-lisp könyvtárban találhatók és a nevük mindig úgy kezdődik, hogy suse-start-. A helyi rendszergazda a default.el fájlban adhat meg az egész rendszerre érvényes beállításokat.
Ezekről a fájlokról további információ az Emacs info fájljában, az Init File részben található: info:/emacs/InitFile. Itt arról is olvashat, hogyan lehet letiltani ezeknek a fájloknak a betöltését (ha szükséges).
Az Emacs komponensei több csomagba vannak osztva:
Az alapcsomag az emacs.
emacs-x11 (általában telepítésre kerül): a program X11-támogatással.
emacs-nox: a program X11-támogatás nélkül.
emacs-info: online dokumentáció info formátumban.
emacs-el: a lefordítatlan programkönyvtár-fájlok Emacs Lispben. Ezek nem szükségesek a futtatáshoz.
Igény esetén számos kiegészítő csomag is telepíthető: emacs-auctex (LaTeX-hez), psgml (SGML-hez és XML-hez), gnuserv (kliens- és kiszolgálóműveletekhez) és még sok minden más.
A Linux egy többfeladatos és többfelhasználós operációs rendszer. Ennek előnyeit előbb-utóbb értékelni fogjuk, még akkor is, ha számítógépünket csak egyedül használjuk. Szöveges módban hat virtuális konzol áll rendelkezésre. Ezek között az Alt+F1 – Alt+F6 billentyűkombinációkkal lehet váltani. A hetedik konzol az X, a grafikus felület számára van lefoglalva, a tizedik pedig a kernel üzeneteit jeleníti meg. Az /etc/inittab fájl módosításával több vagy kevesebb konzol is beállítható.
Ha a grafikus felületről kíván átkapcsolni egy szöveges konzolra az X leállítása nélkül, használja a Ctrl+Alt+F1 – Ctrl+Alt+F6 billentyűkombinációkat. A szöveges képernyőről az Alt+F7 lenyomásával lehet visszatérni az X környezet alá.
A programok billentyűzet-leképezésének szabványosítása érdekében az alábbi fájlok módosításra kerültek:
/etc/inputrc
/etc/X11/Xmodmap
/etc/skel/.emacs
/etc/skel/.gnu-emacs
/etc/skel/.vimrc
/etc/csh.cshrc
/etc/termcap
/usr/share/terminfo/x/xterm
/usr/share/X11/app-defaults/XTerm
/usr/share/emacs/VERSION/site-lisp/term/*.elEzek a változások csak azokat az alkalmazásokat érintik, amelyek a terminfo bejegyzéseit használják vagy amelyek konfigurációs fájljai közvetlenül kerülnek módosításra (vi, emacs stb). A szállított rendszer részét nem képező alkalmazásokban ezekhez az alapértelmezésekhez kell igazodni.
Grafikus felület használatakor (X alatt) a leképezésbillentyű (multikey) az /etc/X11/Xmodmap fájlban leírt módon engedélyezhető.
További beállítások az X Keyboard Extension (XKB) segítségével lehetségesek. Ezt a kiterjesztést használja a GNOME (gswitchit) és KDE (kxkb) asztali környezet is.
![]() | További információk |
|---|---|
Az XKB-vel kapcsolatos dokumentációk listája a | |
A rendszer igen nagy mértékben lokalizálható és igen rugalmasan igazítható a helyi igényekhez. Más szavakkal, a nemzetközi igényekhez alakítás (internationalization, I18N) lehetővé teszi az egyedi honosítást (localization, L10N). Az I18N és L10N rövidítések az angol szavak első és utolsó betűjéből, illetve a kihagyott betűk számából származnak.
A beállításokat az /etc/sysconfig/language fájlban található LC_ változókkal lehet megadni. Ezek nemcsak a nemzeti nyelv támogatására vonatkoznak, hanem az Üzenetek (nyelv), Karakterkészlet, Rendezési sorrend, Dátum és idő, Számok és a Pénznem beállítására is. A kategóriák mindegyike megadható közvetlenül a saját változójával, vagy közvetve, a language fájl egy fő változójával (lásd a man locale kézikönyvoldalt).
RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY
Ezek a változók az RC_ előtag nélkül kerülnek átadásra a parancsértelmezőnek, és ezek szabályozzák a fenti kategóriákat. Az érintett parancsértelmező-profilok listája alább látható. Az aktuális beállítások a locale paranccsal jeleníthetők meg.
RC_LC_ALL
Ez a változó (ha be van állítva) felülírja a fent említett összes változó értékét.
RC_LANG
Ha a fenti változók egyike sincs beállítva, a rendszer ezt használja maradék lehetőségként. Alapértelmezésben csak az RC_LANG változó van beállítva. Így egyszerűbb a felhasználóknak beírniuk a saját értékeiket.
ROOT_USES_LANG
Egy yes vagy no értékű változó. Ha az értéke no, akkor a root mindig a POSIX környezetben dolgozik.
A többi változó a YaST sysconfig-szerkesztőjével állítható be (lásd: 16.3.1. - A rendszerkonfiguráció módosítása a YaST sysconfig-szerkesztőjével). Az ilyen változók értéke egy nyelvkódból, egy országkódból, egy kódolásból és egy módosítóból áll. Az egyes elemeket speciális karakterek kötik össze:
LANG=<language>[[_<COUNTRY>].<Encoding>[@<Modifier>]]
A nyelv és az ország kódját mindig egyszerre kell állítani. A nyelv megadása az ISO 639-es szabványt követi (http://www.evertype.com/standards/iso639/iso639-en.html és http://www.loc.gov/standards/iso639-2/). Az országkódokat az ISO 3166 sorolja fel (http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html).
Csak olyan értékeket célszerű megadni, amelyhez használható leírófájlok találhatók az /usr/lib/locale könyvtárban. További leírófájlok létrehozhatók az /usr/share/i18n könyvtár fájljaiból a localedef paranccsal. A leírófájlok a glibc-i18ndata csomag részei. Az en_US.UTF-8 (angol nyelvű, Egyesült Államok) UTF-8 kódolású leírófájlja például a következő paranccsal hozható létre:
localedef -i en_US -f UTF-8 en_US.UTF-8
LANG=en_US.UTF-8
Ez az alapértelmezett beállítás, ha a telepítés során az amerikai angol a kiválasztott nyelv. Ha más nyelvet választott, az a nyelv kerül bekapcsolásra, de a karakterkódolás továbbra is UTF-8.
LANG=en_US.ISO-8859-1
Ez angol nyelvet állít be, az ország az Egyesült Államok, a karakterkódolás pedig ISO-8859-1. Ez a karakterkészlet nem támogatja az euró pénznem jelét, de hasznos lehet olyan programok esetében, amelyek még nincsenek felkészítve az UTF-8 kódolás használatára. A karakterkészletet megadó karaktersorozatot (ami a jelen esetben az ISO-8859-1) ezután a programok, például az Emacs értékeli ki.
LANG=en_IE@euro
A fenti példa kifejezetten tartalmazza az euró karaktert egy nyelvi beállításban. Ez a beállítás alapvetően elavult, mivel már az UTF-8 is tartalmazza az euró jelet. Ez csak akkor hasznos, ha egy alkalmazás az ISO-8859-15 kódolást támogatja és az UTF-8-at nem.
A SuSEconfig beolvassa az /etc/sysconfig/language könyvtárban található fájlokat és az /etc/SuSEconfig/profile, valamint az /etc/SuSEconfig/csh.cshrc helyekre írja ki a szükséges módosításokat. Az /etc/SuSEconfig/profile az /etc/profile-t olvassa vagy használja forrásul. Az /etc/SuSEconfig/csh.cshrc-t az /etc/csh.cshrc használja forrásul. Ennek hatására a beállítások az egész rendszerre kiterjedően elérhetővé válnak.
A felhasználók felülbírálhatják a rendszer alapértelmezett értékeit, ha módosítják saját ~/.bashrc fájljaikat. Ha például a rendszerszintű en_US beállítás helyett a programok üzeneteit magyarul akarják látni, akkor az LC_MESSAGES=hu_HU beállítást kell megadni.
~/.i18n fájlokban¶
Ha nincs megelégedve a rendszer területi beállításaival, akkor módosítsa az ~/.i18n fájl beállításait a Bash parancsnyelvi szintaxisának megfelelően. A ~/.i18n bejegyzései felülírják a rendszer /etc/sysconfig/language helyen lévő alapértelmezett beállításait. Használja ugyanazokat a változóneveket, csak az RC_ név prefixumot hagyja el (például az RC_LANG helyett használja a LANG változót:
LANG=cs_CZ.UTF-8 LC_COLLATE=C
Az alapszabály az, hogy az Üzenetek kategóriába eső fájlok csak a megfelelő nyelvi könyvtárban (például en) tárolódnak, hogy legyen mire visszalépni. Ha a LANG változót az en_US értékre állítja, viszont nem létezik az /usr/share/locale/en_US/LC_MESSAGES könyvtárban a nyelvi fájl, akkor a rendszer az /usr/share/locale/en/LC_MESSAGES alatti fájlhoz tér vissza.
Visszalépési lánc is megadható, például bretonról franciára, vagy galíciairól spanyolra, és onnan portugálra:
LANGUAGE="br_FR:fr_FR"
LANGUAGE="gl_ES:es_ES:pt_PT"
Így állíthatók be a norvég variánsok (a Nynorsk és a Bokmĺl, további visszalépéssel a sima no beállításra):
LANG="nn_NO"
LANGUAGE="nn_NO:nb_NO:no"
vagy
LANG="nb_NO"
LANGUAGE="nb_NO:nn_NO:no"
Ügyeljünk arra, hogy a norvég nyelv használata esetén az LC_TIME kezelése is eltér.
Egy lehetséges probléma, ha az ezres elválasztó karaktert nem helyesen ismeri fel a rendszer. Ez akkor fordul elő, ha a LANG értéke csak egy kétbetűs nyelvi kódra van állítva (pl. hu), de a glibc által használt leírás az /usr/share/lib/hu_HU/LC_NUMERIC helyen található. Ilyenkor az LC_NUMERIC változót hu_HU értékre kell állítani, hogy az elválasztási beállítást helyesen lássa a rendszer.
A GNU C Library referencia-kézikönyv „Területi beállítások és lokalizálás” c. fejezete. A glibc-info része.
A Markus Kuhn által írt UTF-8 and Unicode FAQ for Unix/Linux jelenleg a http://www.cl.cam.ac.uk/~mgk25/unicode.html címen található.
Bruno Haible: Unicode-Howto: /usr/share/doc/howto/en/txt/Unicode-HOWTO.gz (howto csomag).