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 szakasz szól a nyelv- és országspecifikus beállításokról (I18N és L10N).
A bash
, a cron
, a logrotate
, a locate
, az ulimit
és a free
programok, illetve a resolv.conf
fájl nagyon fontosak a rendszergazdák és sok felhasználó számára. 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. A /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 19.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.
19.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, módosítani, majd 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 kerül futtatásra a fő táblázat (/etc/crontab
) alapján. Ez garantálja, hogy az esetleg elhanyagolt folyamatok is megfelelő időben le legyenek futtatva.
Az óránkénti
, napi
és egyéb periodikus rendszerkarbantartási feladatok futtatásához távolítsa el rendszeresen az időbélyegfájlokat az /etc/crontab
bejegyzéseivel (lásd: 19.2. példa - /etc/crontab: Az időbélyegfájlok eltávolítása, amely az hourly
-t, vagyis az óránkéntit távolítja el minden teljes óra előtt, daily
-t naponta egyszer, hajnal 2:14-kor stb).
19.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
Alternatív megoldásként állítsa be az /etc/sysconfig/cron
fájlban a DAILY_TIME
értékét arra az időre, amikor a cron.daily
induljon. 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ítik a rendszer állapotát és bizonyos eseményeken naplófájlokba. Ily módon a rendszergazda bármikor tudja ellenőrizni 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.
19.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ória korlátozásában. Így megakadályozható, hogy egy alkalmazás túlságosan sok memóriát használjon el, ami esetleg lefagyaszthatná a rendszert.
Az ulimit különféle paraméterekkel használható. A memóriahasználat korlátozására használja az 19.1. táblázat - ulimit: Felhasználói erőforrások korlátozása táblázatban bemutatott paramétereket.
19.1. táblázat - ulimit: Felhasználói erőforrások korlátozása
| a fizikai memória maximális mérete |
| a virtuális memória maximális mérete |
| a verem maximális mérete |
| a core fájlok maximális mérete |
| a beállított korlátozások megjelenítése |
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.
19.4. példa - ulimit: A ~/.bashrc beállításai
# Limits of physical memory: ulimit -m 98304 # Limits of virtual memory: ulimit -v 98304
A memória mennyiségét kilobájtban 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.
A tartománynevek feloldása az /etc/resolv.conf
fájlon keresztül történik.
Ezt a fájlt kizárólag az /sbin/modify_resolvconf
parancsfájl frissíti, és semmilyen más programnak nincs jogosultsága az /etc/resolv.conf
közvetlen módosítására. E szabály következetes betartásával garantálható csak, hogy a rendszer hálózati beállításai és az érintett fájlok konzisztens állapotban maradjanak.
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 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. Az .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
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.
SUSE® Linux Enterprise alatt az emacs
csomag a site-start.el
fájlt az /usr/share/emacs/site-lisp
A site-start.el
fájl az ~/.emacs
fájl előt 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 könyvtárfá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 sokminden más.