doc/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml
Gabor Kovesdan 74586f38c6 - Remove PSGML comments since they are not very useful after the XML
migration

Approved by:		doceng (implicit)
No objection from:	doc@, www@
2012-08-07 23:31:39 +00:00

3757 lines
162 KiB
XML

<?xml version="1.0" encoding="ISO8859-2" standalone="no"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/books/handbook/basics/chapter.sgml
%SRCID% 1.157
-->
<chapter id="basics" lang="hu">
<chapterinfo>
<authorgroup>
<author>
<firstname>Chris</firstname>
<surname>Shumway</surname>
<contrib>&Aacute;tdolgozta: </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>A UNIX alapjai</title>
<sect1 id="basics-synopsis">
<title>&Aacute;ttekint&eacute;s</title>
<para>Ez a fejezet a &os; oper&aacute;ci&oacute;s rendszer
alapvet&#245; funkci&oacute;it &eacute;s parancsait mutatja be.
Az itt t&aacute;rgyal&aacute;sra ker&uuml;l&#245; anyag nagy
r&eacute;sze &eacute;rv&eacute;nyes b&aacute;rmelyik m&aacute;s
&unix;-szer&#251; oper&aacute;ci&oacute;s rendszer eset&eacute;n
is. Ez&eacute;rt, ha m&aacute;r ismerj&uuml;k az
eml&iacute;t&eacute;sre ker&uuml;l&#245; ismereteket, minden
tov&aacute;bbi gond n&eacute;lk&uuml;l &aacute;tugorhatjuk ezt a
fejezetet. Azonban ha m&eacute;g teljesen ismeretlen
sz&aacute;munkra a &os;, minden bizonnyal ez lesz az, amit
alaposan &aacute;t kell majd olvasnunk.</para>
<para>A fejezet elolvas&aacute;sa sor&aacute;n
megismerj&uuml;k:</para>
<itemizedlist>
<listitem>
<para>az &uacute;n. <quote>virtu&aacute;lis konzolok</quote>
haszn&aacute;lat&aacute;t &os; alatt;</para>
</listitem>
<listitem>
<para>hogyan m&#251;k&ouml;dnek egy&uuml;tt a &unix;
&aacute;llom&aacute;nyokra vonatkoz&oacute; enged&eacute;lyei
a &os; saj&aacute;t
kieg&eacute;sz&iacute;t&eacute;seivel;</para>
</listitem>
<listitem>
<para>egy &os; &aacute;llom&aacute;nyrendszer
alap&eacute;rtelmezett
kialak&iacute;t&aacute;s&aacute;t;</para>
</listitem>
<listitem>
<para>a &os; lemezszervez&eacute;s&eacute;t;</para>
</listitem>
<listitem>
<para>hogyan csatlakoztassunk &eacute;s v&aacute;lasszunk le
&aacute;llom&aacute;nyrendszereket;</para>
</listitem>
<listitem>
<para>mik azok a folyamatok, d&eacute;monok &eacute;s
jelz&eacute;sek;</para>
</listitem>
<listitem>
<para>mik azok a parancs&eacute;rtelmez&#245;k, &eacute;s
mik&eacute;nt tudjuk megv&aacute;ltoztatni az
alap&eacute;rtelmezett bejelentkez&eacute;si
k&ouml;rnyezet&uuml;nket;</para>
</listitem>
<listitem>
<para>hogyan haszn&aacute;ljuk az alapvet&#245;
sz&ouml;vegszerkeszt&#245;ket;</para>
</listitem>
<listitem>
<para>mik az eszk&ouml;z&ouml;k &eacute;s az
eszk&ouml;zle&iacute;r&oacute;k;</para>
</listitem>
<listitem>
<para>&os; alatt milyen bin&aacute;ris form&aacute;tumokat
haszn&aacute;lhatunk;</para>
</listitem>
<listitem>
<para>sz&uuml;ks&eacute;g eset&eacute;n hogyan olvassuk el a
megfelel&#245; man oldalakat.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="consoles">
<title>Virtu&aacute;lis konzolok &eacute;s termin&aacute;lok</title>
<indexterm><primary>virtu&aacute;lis konzolok</primary></indexterm>
<indexterm><primary>termin&aacute;lok</primary></indexterm>
<para>A &os; sz&aacute;mos m&oacute;don haszn&aacute;lhat&oacute;.
Ezek k&ouml;z&uuml;l az egyik az, ha parancsokat
g&eacute;pel&uuml;nk be a sz&ouml;veges termin&aacute;lon.
&Iacute;gy &eacute;rhet&#245; el egyszer&#251;en a &unix;
oper&aacute;ci&oacute;s rendszer rugalmass&aacute;g&aacute;nak
&eacute;s erej&eacute;nek jelent&#245;s r&eacute;sze. Ebben a
szakaszban megtudhatjuk, mik azok a
<quote>termin&aacute;lok</quote> &eacute;s <quote>konzolok</quote>
&eacute;s mik&eacute;nt tudjuk ezeket &os; alatt
haszn&aacute;lni.</para>
<sect2 id="consoles-intro">
<title>A konzol</title>
<indexterm><primary>konzol</primary></indexterm>
<para>Ha nem &aacute;ll&iacute;tottuk volna be, hogy a &os;
indul&aacute;sa sor&aacute;n automatikusan induljon el a
grafikus fel&uuml;let is, akkor a rendszer egy bejelentkez&#245;
k&eacute;perny&#245;t fog mutatni k&ouml;zvetlen&uuml;l a
rendszerind&iacute;t&aacute;s befejez&#245;d&eacute;se
ut&aacute;n. Ekkor valami ilyesmit kell majd
l&aacute;tnunk:</para>
<screen>Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
FreeBSD/i386 (pc3.example.org) (ttyv0)
login:</screen>
<para>Egyes rendszereken ugyan n&eacute;mileg elt&eacute;rhetnek
az &uuml;zenetek, de hasonl&oacute;t kell l&aacute;tnunk.
Minket most az utols&oacute; k&eacute;t sor &eacute;rdekel. Az
utols&oacute; el&#245;tti sorban ez olvashat&oacute;:</para>
<programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
<para>Ez a sor arr&oacute;l &eacute;rtes&iacute;t minket, hogy a
rendszer&uuml;nk &eacute;ppen most indult el: egy
<quote>&os;</quote> konzolt l&aacute;tunk, amely egy &intel; x86
architekt&uacute;r&aacute;j&uacute; processzoron fut
<footnote>
<para>Erre utal pontosan az <literal>i386</literal>
jelz&eacute;s. M&eacute;g abban az esetben is az
<literal>i386</literal> ki&iacute;r&aacute;st fogjuk
l&aacute;tni, ha a &os;-t konkr&eacute;tan nem is az &intel;
386-os processzor&aacute;n futtatjuk. Itt ugyanis nem a
processzorunk t&iacute;pus&aacute;t, hanem annak
<quote>architekt&uacute;r&aacute;j&aacute;t</quote>
l&aacute;thatjuk.</para>
</footnote>. A g&eacute;p&uuml;nk neve (mivel minden &unix;-os
g&eacute;p rendelkezik egy n&eacute;vvel)
<hostid>pc3.example.org</hostid>, &eacute;s ennek a
rendszerkonzolj&aacute;t l&aacute;tjuk most &eacute;ppen
&mdash; a <devicename>ttyv0</devicename>
termin&aacute;lt.</para>
<para>V&eacute;gezet&uuml;l az utols&oacute; sor mindig:</para>
<programlisting>login:</programlisting>
<para>Ez az a r&eacute;sz, ahova a &os;-be
t&ouml;rt&eacute;n&#245; bejelentkez&eacute;shez meg kell adnunk
a <quote>felhaszn&aacute;l&oacute;i nev&uuml;nket</quote> (user
name). A k&ouml;vetkez&#245; szakaszban err&#245;l
olvashatunk.</para>
</sect2>
<sect2 id="consoles-login">
<title>Bejelentkez&eacute;s a &os;-be</title>
<para>A &os; egy t&ouml;bbfelhaszn&aacute;l&oacute;s,
t&ouml;bbfeladatos rendszer. &Iacute;gy h&iacute;vj&aacute;k
hivatalosan azokat a rendszereket, amelyeket t&ouml;bben tudnak
haszn&aacute;lni &eacute;s egyetlen
sz&aacute;m&iacute;t&oacute;g&eacute;pen egyszerre rengeteg
programot k&eacute;pesek futtatni.</para>
<para>Minden t&ouml;bbfelhaszn&aacute;l&oacute;s rendszernek
valamilyen m&oacute;don meg kell tudnia
k&uuml;l&ouml;nb&ouml;ztetnie egy
<quote>felhaszn&aacute;l&oacute;j&aacute;t</quote> a
t&ouml;bbit&#245;l. A &os;-ben (&eacute;s minden m&aacute;s
&unix;-szer&#251; oper&aacute;ci&oacute;s rendszerben) ezt
&uacute;gy &eacute;rik el, hogy a programok futtat&aacute;sa
el&#245;tt minden felhaszn&aacute;l&oacute;nak <quote>be kell
jelentkeznie</quote> a rendszerbe. Minden
felhaszn&aacute;l&oacute; rendelkezik egy egyedi n&eacute;vvel
(ez a <quote>felhaszn&aacute;l&oacute;i n&eacute;v</quote>)
&eacute;s ehhez egy titkos kulcssal (ez a
<quote>jelsz&oacute;</quote>). A &os; a programok
futtat&aacute;s&aacute;hoz ezt a kett&#245;t fogja
elk&eacute;rni a felhaszn&aacute;l&oacute;t&oacute;l.</para>
<indexterm><primary>rendszerind&iacute;t&oacute; szkriptek</primary></indexterm>
<para>Egyb&#245;l miut&aacute;n a &os; elindult &eacute;s
befejezte a rendszerind&iacute;t&aacute;shoz haszn&aacute;lt
szkriptjeinek lefuttat&aacute;s&aacute;t
<footnote>
<para>A rendszerind&iacute;t&oacute; szkriptek olyan
programok, amelyek a &os; indul&aacute;sa sor&aacute;n
magukt&oacute;l lefutnak. Legfontosabb feladatuk
elv&eacute;gezni a t&ouml;bbi program
futtat&aacute;s&aacute;hoz sz&uuml;ks&eacute;ges
be&aacute;ll&iacute;t&aacute;sokat, valamint
elind&iacute;tani a h&aacute;tt&eacute;rben
futtatand&oacute;, hasznos munk&aacute;t v&eacute;gz&#245;
szolg&aacute;ltat&aacute;sokat.</para>
</footnote>, ez a kijelz&eacute;s (vagy m&aacute;s n&eacute;ven
<quote>prompt</quote>) fog megjelenni &eacute;s k&eacute;r egy
&eacute;rv&eacute;nyes felhaszn&aacute;l&oacute;i
nevet:</para>
<screen>login:</screen>
<para>A p&eacute;lda kedv&eacute;&eacute;rt most tegy&uuml;k fel,
hogy a felhaszn&aacute;l&oacute;i nev&uuml;nk
<username>pgj</username>. Az im&eacute;nti prompthoz
&iacute;rjuk be, hogy <literal>pgj</literal> &eacute;s nyomjuk
le az <keycap>Enter</keycap> billenty&#251;t. Ezt
k&ouml;vet&#245;en meg kell jelennie egy m&aacute;sik promptnak
is, amely egy <quote>jelsz&oacute;t</quote> (password)
k&eacute;r:</para>
<screen>login: <userinput>pgj</userinput>
Password:</screen>
<para>Most pedig g&eacute;pelj&uuml;k be <username>pgj</username>
jelszav&aacute;t &eacute;s nyomjunk ut&aacute;na egy
<keycap>Enter</keycap> billenty&#251;t. Vigy&aacute;zzunk, hogy
a jelsz&oacute;t <emphasis>nem l&aacute;tjuk</emphasis> a
be&iacute;r&aacute;s sor&aacute;n! Emiatt most ne
agg&oacute;djunk. Ezzel kapcsolatban elegend&#245; csak annyit
tudni, hogy mindez biztons&aacute;gi
megfontol&aacute;sokb&oacute;l t&ouml;rt&eacute;nik.</para>
<para>Amennyiben j&oacute;l adtuk meg a jelszavunkat, sikeresen
bejelentkez&uuml;nk a &os; rendszer&eacute;be &eacute;s
k&eacute;szen &aacute;llunk az &ouml;sszes el&eacute;rhet&#245;
parancs kipr&oacute;b&aacute;l&aacute;s&aacute;ra.</para>
<para>Bejelentkez&eacute;s ut&aacute;n a <acronym>MOTD</acronym>
(message of the day) vagy m&aacute;s n&eacute;ven <quote>a nap
&uuml;zenete</quote> jelenik meg, amelyet a parancssor
k&ouml;vet (egy <literal>#</literal>, <literal>$</literal> vagy
<literal>%</literal> jel). Innen tudhatjuk meg, hogy
siker&uuml;lt bejelentkezn&uuml;nk.</para>
</sect2>
<sect2 id="consoles-virtual">
<title>T&ouml;bb konzol haszn&aacute;lata</title>
<para>A &unix; parancsokat egy konzolon is sz&eacute;pen ki tudjuk
adni, de a &os; egyszerre ugyeb&aacute;r t&ouml;bb programot is
tud futtatni. A parancsok megad&aacute;s&aacute;hoz viszont
egyetlen konzol haszn&aacute;lata el&eacute;g nagy
pazarl&aacute;s lenne, hiszen egy olyan oper&aacute;ci&oacute;s
rendszer mint a &os;, tucatnyi programot k&eacute;pes futtatni
egy id&#245;ben. Ebben az esetben jelenthetnek sz&aacute;munkra
seg&iacute;ts&eacute;get a <quote>virtu&aacute;lis
konzolok</quote>.</para>
<para>A &os; be&aacute;ll&iacute;that&oacute; &uacute;gy, hogy
sok-sok k&uuml;l&ouml;nf&eacute;le virtu&aacute;lis konzolt
aj&aacute;nljon fel sz&aacute;munkra. A virtu&aacute;lis
konzolok k&ouml;z&ouml;tt a billenty&#251;zeten a megfelel&#245;
gombok lenyom&aacute;s&aacute;val tudunk v&aacute;ltani.
Mindegyik konzolnak megvan a saj&aacute;t kimeneti
csatorn&aacute;ja, &eacute;s a virtu&aacute;lis konzolok
k&ouml;zti v&aacute;lt&aacute;s folyam&aacute;n a &os;
gondoskodik a billenty&#251;zetr&#245;l &eacute;rkez&#245;
bemenet, valamint a monitorra ir&aacute;ny&iacute;tott kimenet
megfelel&#245; kezel&eacute;s&eacute;r&#245;l.</para>
<para>A konzolok k&ouml;zti v&aacute;lt&aacute;sra a &os;
k&uuml;l&ouml;n billenty&#251;kombin&aacute;ci&oacute;kat tart
fenn
<footnote>
<para>A &os; konzol- &eacute;s
billenty&#251;zetmeghajt&oacute;inak teljes, puszt&aacute;n
m&#251;szaki &eacute;s prec&iacute;z le&iacute;r&aacute;sa a
&man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; &eacute;s
&man.kbdcontrol.1; man oldalakon olvashat&oacute;. Itt most
nem bocs&aacute;tkozunk r&eacute;szletekbe, azonban a
t&eacute;ma ir&aacute;nt &eacute;rdekl&#245;d&#245;
olvas&oacute;knak mindig &eacute;rdemes fellapozniuk a
kapcsol&oacute;d&oacute; man oldalakat, ahol
megtal&aacute;lhatj&aacute;k az eml&iacute;tett
eszk&ouml;z&ouml;k r&eacute;szletesebb &eacute;s b&#245;vebb
le&iacute;r&aacute;s&aacute;t.</para>
</footnote>. A &os;-ben a k&uuml;l&ouml;nb&ouml;z&#245;
virtu&aacute;lis konzolok k&ouml;zti v&aacute;lt&aacute;sra az
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
billenty&#251;ket, az
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>
billenty&#251;kombin&aacute;ci&oacute;val
bez&aacute;r&oacute;lag haszn&aacute;lhatjuk.</para>
<para>A konzolok k&ouml;zti v&aacute;ltogat&aacute;s sor&aacute;n
a &os; &uuml;gyel a k&eacute;perny&#245; tartalm&aacute;nak
elment&eacute;s&eacute;re &eacute;s
vissza&aacute;ll&iacute;t&aacute;s&aacute;ra. Ennek
eredm&eacute;nyek&eacute;ppen <quote>&uacute;gy
l&aacute;tszik</quote>, mintha t&ouml;bb
<quote>virtu&aacute;lis</quote> k&eacute;perny&#245;n &eacute;s
billenty&#251;zeten adn&aacute;nk parancsokat a &os;-nek.</para>
</sect2>
<sect2 id="consoles-ttys">
<title>Az <filename>/etc/ttys</filename>
&aacute;llom&aacute;ny</title>
<para>A &os; alap&eacute;rtelmez&eacute;s szerint nyolc
virtu&aacute;lis konzollal indul. Ez azonban nem egy el&#245;re
r&ouml;gz&iacute;tett &eacute;rt&eacute;k, hiszen
k&ouml;nnyed&eacute;n testreszabhatjuk &uacute;gy a
telep&iacute;tett rendszer&uuml;nket, hogy t&ouml;bb vagy
esetleg kevesebb virtu&aacute;lis konzollal induljon el. A
virtu&aacute;lis konzolok sz&aacute;ma &eacute;s azok pontos
be&aacute;ll&iacute;t&aacute;sa az
<filename>/etc/ttys</filename> &aacute;llom&aacute;nyon
kereszt&uuml;l adhat&oacute; meg.</para>
<para>A &os; virtu&aacute;lis konzoljait teh&aacute;t az
<filename>/etc/ttys</filename> &aacute;llom&aacute;ny
megfelel&#245; m&oacute;dos&iacute;t&aacute;s&aacute;val tudjuk
behangolni. Itt minden egyes olyan sor, amely nem
megjegyz&eacute;s (vagyis azok a sorok, amelyek nem a
<literal>#</literal> karakterrel kezd&#245;dnek), tartalmazza az
egyes termin&aacute;lok vagy virtu&aacute;lis konzolok
be&aacute;ll&iacute;t&aacute;sait. Az &aacute;llom&aacute;ny a
&os; telep&iacute;t&eacute;s&eacute;ben szerepl&#245;,
alap&eacute;rtelmezett v&aacute;ltozata kilenc virtu&aacute;lis
konzol konfigur&aacute;ci&oacute;j&aacute;t tartalmazza, amelyek
k&ouml;z&uuml;l nyolc akt&iacute;v. Ezek a
<literal>ttyv</literal> r&eacute;sszel kezd&#245;d&#245;
sorok:</para>
<programlisting># name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
<para>Az &aacute;llom&aacute;nyban tal&aacute;lhat&oacute;
oszlopok kimer&iacute;t&#245; magyar&aacute;zat&aacute;t,
illetve a virtu&aacute;lis konzolok
be&aacute;ll&iacute;t&aacute;s&aacute;hoz
haszn&aacute;lhat&oacute; kapcsol&oacute;kat a &man.ttys.5; man
oldalon olvashatjuk.</para>
</sect2>
<sect2 id="consoles-singleuser">
<title>Az egyfelhaszn&aacute;l&oacute;s m&oacute;d
konzolja</title>
<para>Az <quote>egyfelhaszn&aacute;l&oacute;s m&oacute;d</quote>
r&eacute;szletes le&iacute;r&aacute;sa a <xref
linkend="boot-singleuser"/>ban tal&aacute;lhat&oacute;. Fontos
tudni, hogy amikor a &os;-t egyfelhaszn&aacute;l&oacute;s
m&oacute;dban futtatjuk, csup&aacute;n egyetlen konzolunk van,
&eacute;s a virtu&aacute;lis konzolok nem &eacute;rhet&#245;ek
el. Egy&eacute;bk&eacute;nt az egyfelhaszn&aacute;l&oacute;s
m&oacute;d erre vonatkoz&oacute;
be&aacute;ll&iacute;t&aacute;sai is megtal&aacute;lhat&oacute;ak
az <filename>/etc/ttys</filename> &aacute;llom&aacute;nyban.
Ehhez keress&uuml;k meg a <literal>console</literal>
kezdet&#251; sort:</para>
<programlisting># name getty type status comments
#
# Ha a konzolt "insecure" (nem biztons&aacute;gos) t&iacute;pus&uacute;nak v&aacute;lasztjuk meg,
# akkor a haszn&aacute;lat&aacute;hoz az egyfelhaszn&aacute;l&oacute;s m&oacute;d aktivil&aacute;s&aacute; el&#245;tt a rendszer
# k&eacute;rni fogja a rendszeradminisztr&aacute;tori jelsz&oacute;t.
console none unknown off secure</programlisting>
<note>
<para>A <literal>console</literal> felett l&aacute;that&oacute;
megjegyz&eacute;s jelzi, hogy &aacute;t tudjuk &iacute;rni
ebben a sorban a <literal>secure</literal>
(biztons&aacute;gos) &eacute;rt&eacute;k&#251;
param&eacute;tert <literal>insecure</literal> (nem
biztons&aacute;gos) &eacute;rt&eacute;k&#251;re. Ilyenkor,
hogy ha a &os; egyfelhaszn&aacute;l&oacute;s m&oacute;dban
indul, k&eacute;rni fogja a <username>root</username>
felhaszn&aacute;l&oacute; (a rendszeradminisztr&aacute;tor)
jelszav&aacute;t.</para>
<para><emphasis>Vigy&aacute;zzunk, amikor ezt az
&eacute;rt&eacute;ket <literal>insecure</literal>-ra
&aacute;ll&iacute;tjuk!</emphasis> Ha ugyanis
v&eacute;letlen&uuml;l elfeledkezn&eacute;nk a
<username>root</username> jelszav&aacute;r&oacute;l, akkor
azzal az egyfelhaszn&aacute;l&oacute;s m&oacute;d
haszn&aacute;lata is vesz&eacute;lybe ker&uuml;lhet.
Hab&aacute;r ett&#245;l f&uuml;ggetlen&uuml;l is
lehets&eacute;ges, azokra sz&aacute;m&aacute;ra m&eacute;gis
neh&eacute;z helyzetnek bizonyulhat, akik nem mozognak
el&eacute;g otthonosan a &os; rendszerind&iacute;t&aacute;si
folyamat&aacute;nak &eacute;s a
hozz&aacute;kapcsol&oacute;d&oacute; programok
ismeret&eacute;ben.</para>
</note>
</sect2>
<sect2 id="consoles-vidcontrol">
<title>A videom&oacute;d v&aacute;lt&aacute;sa konzolban</title>
<para>A &os; konzol alap&eacute;rtelmezett videom&oacute;dja
&aacute;t&aacute;ll&iacute;that&oacute; 1024x768-ra,
1280x1024-re, vagy b&aacute;rmilyen olyan m&aacute;s
m&eacute;retre, amit a videok&aacute;rty&aacute;nk
&eacute;s monitorunk k&eacute;pes megjelen&iacute;teni. Az
elt&eacute;r&#245; videom&oacute;dok haszn&aacute;lat&aacute;hoz
el&#245;sz&ouml;r &uacute;jra kell ford&iacute;tanunk a
rendszermagunkat az al&aacute;bbi k&eacute;t
be&aacute;ll&iacute;t&aacute;s
hozz&aacute;ad&aacute;s&aacute;val:</para>
<programlisting>options VESA
options SC_PIXEL_MODE</programlisting>
<para>Miut&aacute;n a rendszermagot sikeresen
&uacute;jraford&iacute;tottuk a fenti
be&aacute;ll&iacute;t&aacute;sokkal, a &man.vidcontrol.1;
seg&eacute;dprogrammal tudjuk meg&aacute;llap&iacute;tani, hogy
a hardver&uuml;nk milyen videom&oacute;dokat enged
haszn&aacute;lni. Az &ouml;sszes t&aacute;mogatott
videom&oacute;dot a k&ouml;vetkez&#245;k&eacute;ppen tudjuk
lek&eacute;rdezni:</para>
<screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
<para>A parancs eredm&eacute;nyek&eacute;ppen teh&aacute;t
megkapjuk a hardver&uuml;nk &aacute;ltal ismert
videom&oacute;dokat. Ezek k&ouml;z&uuml;l tudjuk
kiv&aacute;lasztani valamelyik&#245;j&uuml;ket &eacute;s
<username>root</username> felhaszn&aacute;l&oacute;k&eacute;nt a
&man.vidcontrol.1; seg&iacute;ts&eacute;g&eacute;vel
be&aacute;ll&iacute;tani:</para>
<screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
<para>Ha az &uacute;j videom&oacute;d megfelel sz&aacute;munkra,
akkor ezt a be&aacute;ll&iacute;t&aacute;st az
<filename>/etc/rc.conf</filename> &aacute;llom&aacute;nyon
kereszt&uuml;l v&eacute;gleges&iacute;thetj&uuml;k is:</para>
<programlisting>allscreens_flags="MODE_279"</programlisting>
</sect2>
</sect1>
<sect1 id="permissions">
<title>Enged&eacute;lyek</title>
<indexterm><primary>UNIX</primary></indexterm>
<para>A &os;, mivel a BSD &unix; egyik k&ouml;zvetlen
lesz&aacute;rmazottja, sz&aacute;mos &unix;-os alap&ouml;tletre
&eacute;p&uuml;l. Ezek k&ouml;z&uuml;l az els&#245; &eacute;s
tal&aacute;n a legink&aacute;bb kihangs&uacute;lyozott, hogy a
&os; egy t&ouml;bbfelhaszn&aacute;l&oacute;s
oper&aacute;ci&oacute;s rendszer. Egy olyan rendszer, amely
egyszerre t&ouml;bb, egym&aacute;st&oacute;l f&uuml;ggetlen
feladattal foglalkoz&oacute; felhaszn&aacute;l&oacute;t
k&eacute;pes kiszolg&aacute;lni. A rendszer felel&#245;s a
hardveres eszk&ouml;z&ouml;k, a k&uuml;l&ouml;nf&eacute;le
perif&eacute;ri&aacute;k, a mem&oacute;ria &eacute;s a processzor
idej&eacute;nek minden egyes felhaszn&aacute;l&oacute;
sz&aacute;m&aacute;ra szab&aacute;lyos &eacute;s p&aacute;rtatlan
megoszt&aacute;s&aacute;&eacute;rt &eacute;s a fel&eacute;j&uuml;k
ir&aacute;nyul&oacute; k&eacute;r&eacute;sek
szervez&eacute;s&eacute;&eacute;rt.</para>
<para>Mivel a rendszer t&ouml;bb felhaszn&aacute;l&oacute;t is
k&eacute;pes t&aacute;mogatni, az &aacute;ltala kezelt
er&#245;forr&aacute;sok rendelkeznek enged&eacute;lyek egy adott
halmaz&aacute;val, amelyek eld&ouml;ntik, ki tudja ezeket olvasni,
&iacute;rni &eacute;s v&eacute;grehajtani. Az enged&eacute;lyek
h&aacute;romszor h&aacute;rom bit form&aacute;j&aacute;ban
jelennek meg, amelyek k&ouml;z&uuml;l az els&#245; bitcsoport az
&aacute;llom&aacute;ny tulajdonos&aacute;ra, a m&aacute;sodik az
&aacute;llom&aacute;ny csoportj&aacute;ra, v&eacute;g&uuml;l az
utols&oacute; pedig a mindenki m&aacute;sra vonatkoz&oacute;
enged&eacute;lyeket t&aacute;rolja.</para>
<indexterm><primary>enged&eacute;lyek</primary></indexterm>
<indexterm><primary>&aacute;llom&aacute;nyok
enged&eacute;lyei</primary></indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>&Eacute;rt&eacute;k</entry>
<entry>Enged&eacute;ly</entry>
<entry>K&ouml;nyvt&aacute;rlist&aacute;ban</entry>
</row>
</thead>
<tbody>
<row>
<entry>0</entry>
<entry>Nem olvashat&oacute;, nem &iacute;rhat&oacute;, nem
hajthat&oacute; v&eacute;gre</entry>
<entry><literal>---</literal></entry>
</row>
<row>
<entry>1</entry>
<entry>Nem olvashat&oacute;, nem &iacute;rhat&oacute;,
v&eacute;grehajthat&oacute;</entry>
<entry><literal>--x</literal></entry>
</row>
<row>
<entry>2</entry>
<entry>Nem olvashat&oacute;, &iacute;rhat&oacute;, nem
hajthat&oacute; v&eacute;gre</entry>
<entry><literal>-w-</literal></entry>
</row>
<row>
<entry>3</entry>
<entry>Nem olvashat&oacute;, &iacute;rhat&oacute;,
v&eacute;grehajthat&oacute;</entry>
<entry><literal>-wx</literal></entry>
</row>
<row>
<entry>4</entry>
<entry>Olvashat&oacute;, nem &iacute;rhat&oacute;, nem
hajthat&oacute; v&eacute;gre</entry>
<entry><literal>r--</literal></entry>
</row>
<row>
<entry>5</entry>
<entry>Olvashat&oacute;, nem &iacute;rhat&oacute;,
v&eacute;grehajthat&oacute;</entry>
<entry><literal>r-x</literal></entry>
</row>
<row>
<entry>6</entry>
<entry>Olvashat&oacute;, &iacute;rhat&oacute;, nem
hajthat&oacute; v&eacute;gre</entry>
<entry><literal>rw-</literal></entry>
</row>
<row>
<entry>7</entry>
<entry>Olvashat&oacute;, &iacute;rhat&oacute;,
v&eacute;grehajthat&oacute;</entry>
<entry><literal>rwx</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<indexterm><primary><command>ls</command></primary></indexterm>
<indexterm><primary>k&ouml;nyvt&aacute;rak</primary></indexterm>
<para>A &man.ls.1; <option>-l</option> kapcsol&oacute;j&aacute;nak
seg&iacute;ts&eacute;g&eacute;vel megn&eacute;zhetj&uuml;k a
k&ouml;nyvt&aacute;rak tartalm&aacute;nak r&eacute;szletes
list&aacute;j&aacute;t, amiben megjelennek az
&aacute;llom&aacute;nyok tulajdonosaira, csoportj&aacute;ra
&eacute;s a mindenki m&aacute;sra vonatkoz&oacute;
enged&eacute;lyek is. P&eacute;ld&aacute;ul ezt l&aacute;thatjuk,
ha kiadjuk az <command>ls -l</command> parancsot egy
tetsz&#245;leges k&ouml;nyvt&aacute;rban:</para>
<screen>&prompt.user; <userinput>ls -l</userinput>
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 egyik
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 masik
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 e-mail.txt
...</screen>
<para>A p&eacute;ldabeli <command>ls -l</command> parancs
kimenet&eacute;nek els&#245; oszlopa &iacute;gy bomlik fel:</para>
<screen>-rw-r--r--</screen>
<para>Az els&#245; (bal sz&eacute;ls&#245;) karakter mondja meg,
hogy ez egy hagyom&aacute;nyos &aacute;llom&aacute;ny,
k&ouml;nyvt&aacute;r, speci&aacute;lis karakteres eszk&ouml;z,
socket vagy b&aacute;rmilyen m&aacute;s k&uuml;l&ouml;nleges
pszeudo&aacute;llom&aacute;ny. Ebben az esetben a
<literal>-</literal> jelzi, hogy egy hagyom&aacute;nyos
&aacute;llom&aacute;nyr&oacute;l van sz&oacute;. A
k&ouml;vetkez&#245; h&aacute;rom karakter, ami ebben a
p&eacute;ld&aacute;ban az <literal>rw-</literal>, adja meg az
&aacute;llom&aacute;ny tulajdonos&aacute;nak enged&eacute;lyeit.
Az ezut&aacute;n k&ouml;vetkez&#245; h&aacute;rom karakter, az
<literal>r--</literal> mutatja az &aacute;llom&aacute;ny
csoportj&aacute;nak enged&eacute;lyeit. Az utols&oacute;
h&aacute;rom karakter, vagyis itt az <literal>r--</literal> adja
meg a t&ouml;bbiek enged&eacute;lyeit. A k&ouml;t&#245;jel arra
utal, hogy az adott enged&eacute;ly&#251;
tev&eacute;kenys&eacute;g nem enged&eacute;lyezett. Teh&aacute;t
enn&eacute;l az &aacute;llom&aacute;nyn&aacute;l az
enged&eacute;lyek a k&ouml;vetkez&#245;ek: a tulajdonosa tudja
olvasni &eacute;s &iacute;rni, a csoportja csak olvasni tudja,
ugyan&iacute;gy b&aacute;rki m&aacute;s. A fenti
t&aacute;bl&aacute;zatnak megfelel&#245;en az
&aacute;llom&aacute;ny enged&eacute;ly&eacute;nek k&oacute;dja
<literal>644</literal> lesz, ahol az egyes sz&aacute;mjegyek
jelentik az &aacute;llom&aacute;ny enged&eacute;lyeinek
h&aacute;rom elem&eacute;t.</para>
<para>Ez mind sz&eacute;p &eacute;s j&oacute;, de vajon a rendszer
milyen m&oacute;don kezeli az &aacute;llom&aacute;nyok
enged&eacute;lyeit? A &os; a legt&ouml;bb hardveres eszk&ouml;zt
&aacute;llom&aacute;nynak tekinti, amelyeket a programok meg
tudnak nyitni, tudnak r&oacute;luk olvasni &eacute;s adatokat
tudnak ki&iacute;rni r&aacute;juk pontosan &uacute;gy, mint
b&aacute;rmilyen m&aacute;s &aacute;llom&aacute;ny eset&eacute;n.
Ezeket a speci&aacute;lis &aacute;llom&aacute;nyokat a
<filename>/dev</filename> k&ouml;nyvt&aacute;rban
tal&aacute;ljuk.</para>
<para>A k&ouml;nyvt&aacute;rakat is
&aacute;llom&aacute;nyokk&eacute;nt kezeli, ez&eacute;rt azok is
rendelkeznek olvas&aacute;si, &iacute;r&aacute;si &eacute;s
v&eacute;grehajt&aacute;si enged&eacute;lyekkel. Azonban a
k&ouml;nyvt&aacute;rak v&eacute;grehajt&aacute;s&aacute;t
enged&eacute;lyez&#245; bit n&eacute;mileg m&aacute;s
jelent&eacute;ssel b&iacute;r, mint az &aacute;llom&aacute;nyok
eset&eacute;n. Amikor ugyanis egy k&ouml;nyvt&aacute;rat
v&eacute;grehajthat&oacute;nak jel&ouml;l&uuml;nk meg, az arra fog
utalni, hogy bele tudunk l&eacute;pni, vagyis hogy ki tudjuk
r&aacute; adni a
<quote>k&ouml;nyvt&aacute;rv&aacute;lt&aacute;s</quote> (cd,
change directory) parancs&aacute;t. Ez tov&aacute;bb&aacute; arra
is utal, hogy az ismert nev&#251; &aacute;llom&aacute;nyokhoz
hozz&aacute; tudunk f&eacute;rni (term&eacute;szetesen az egyes
&aacute;llom&aacute;nyok enged&eacute;lyeinek
megfelel&#245;en).</para>
<para>A k&ouml;nyvt&aacute;rak tartalm&aacute;t ennek
megfelel&#245;en viszont csak &uacute;gy l&aacute;thatjuk, ha
olvas&aacute;si enged&eacute;llyel rendelkez&uuml;nk a
k&ouml;nyvt&aacute;rra, m&iacute;g egy &aacute;ltalunk ismert
&aacute;llom&aacute;ny t&ouml;rl&eacute;s&eacute;hez a
tartalmaz&oacute; k&ouml;nyvt&aacute;rhoz kell &iacute;r&aacute;si
<emphasis>&eacute;s</emphasis> v&eacute;grehajt&aacute;si
enged&eacute;lyekkel rendelkezn&uuml;nk.</para>
<para>Ezeken k&iacute;v&uuml;l m&eacute;g l&eacute;teznek
tov&aacute;bbi enged&eacute;lyek is, de ezeket csak olyan
k&uuml;l&ouml;nleges esetekben haszn&aacute;lj&aacute;k, mint
p&eacute;ld&aacute;ul a
felhaszn&aacute;l&oacute;v&aacute;lt&oacute; programok (setuid
program) vagy a ragad&oacute;s k&ouml;nyvt&aacute;rak (sticky
directory) l&eacute;trehoz&aacute;sa. Az &aacute;llom&aacute;nyok
enged&eacute;lyeinek behat&oacute;bb megismer&eacute;s&eacute;hez
&eacute;s be&aacute;ll&iacute;t&aacute;s&aacute;hoz
mindenk&eacute;ppen n&eacute;zz&uuml;k &aacute;t a &man.chmod.1;
man oldalt.</para>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>&Iacute;rta: </contrib>
</author>
</authorgroup>
</sect2info>
<title>Szimbolikus enged&eacute;lyek</title>
<indexterm>
<primary>enged&eacute;lyek</primary>
<secondary>szimbolikus</secondary>
</indexterm>
<para>A szimbolikus enged&eacute;lyek (gyakran csak szimbolikus
kifejez&eacute;sek) az &aacute;llom&aacute;nyok &eacute;s
k&ouml;nyvt&aacute;rak enged&eacute;lyeinek megad&aacute;sa
sor&aacute;n a sz&aacute;mok helyett karaktereket
haszn&aacute;lnak. A szimbolikus kifejez&eacute;sek (ki)
(hogyan) (milyen enged&eacute;lyt) alak&uacute;ak, ahol az
al&aacute;bbi &eacute;rt&eacute;kek adhat&oacute;ak meg:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Elem</entry>
<entry>Bet&#251;</entry>
<entry>Jelent&eacute;se</entry>
</row>
</thead>
<tbody>
<row>
<entry>(ki)</entry>
<entry>u</entry>
<entry>tulajdonos</entry>
</row>
<row>
<entry>(ki)</entry>
<entry>g</entry>
<entry>csoport tulajdonos</entry>
</row>
<row>
<entry>(ki)</entry>
<entry>o</entry>
<entry>egy&eacute;b</entry>
</row>
<row>
<entry>(ki)</entry>
<entry>a</entry>
<entry>mindenki (a <quote>vil&aacute;g</quote>)</entry>
</row>
<row>
<entry>(hogyan)</entry>
<entry>+</entry>
<entry>enged&eacute;ly megad&aacute;sa</entry>
</row>
<row>
<entry>(hogyan)</entry>
<entry>-</entry>
<entry>enged&eacute;ly visszavon&aacute;sa</entry>
</row>
<row>
<entry>(hogyan)</entry>
<entry>=</entry>
<entry>enged&eacute;ly explicit
be&aacute;ll&iacute;t&aacute;sa</entry>
</row>
<row>
<entry>(milyen enged&eacute;ly)</entry>
<entry>r</entry>
<entry>olvas&aacute;s</entry>
</row>
<row>
<entry>(milyen enged&eacute;ly)</entry>
<entry>w</entry>
<entry>&iacute;r&aacute;s</entry>
</row>
<row>
<entry>(milyen enged&eacute;ly)</entry>
<entry>x</entry>
<entry>v&eacute;grehajt&aacute;s</entry>
</row>
<row>
<entry>(milyen enged&eacute;ly)</entry>
<entry>t</entry>
<entry>ragad&oacute;s (sticky bit)</entry>
</row>
<row>
<entry>(milyen enged&eacute;ly)</entry>
<entry>s</entry>
<entry>UID vagy GID &aacute;ll&iacute;t&aacute;sa</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Ezek az &eacute;rt&eacute;kek a &man.chmod.1; paranccsal az
eddigiekhez hasonl&oacute; m&oacute;don
haszn&aacute;lhat&oacute;ak, csak itt bet&#251;ket kell
megadnunk. P&eacute;ld&aacute;ul az al&aacute;bbi paranccsal
akad&aacute;lyozhatjuk meg, hogy a tulajdonos&aacute;n
k&iacute;v&uuml;l b&aacute;rki hozz&aacute;f&eacute;rhessen az
<replaceable>&Aacute;LLOM&Aacute;NY</replaceable> nev&#251;
&aacute;llom&aacute;nyhoz:</para>
<screen>&prompt.user; <userinput>chmod go= <replaceable>&Aacute;LLOM&Aacute;NY</replaceable></userinput></screen>
<para>Amennyiben egy &aacute;llom&aacute;nnyal kapcsolatban
t&ouml;bb v&aacute;ltoztat&aacute;st is el
k&iacute;v&aacute;nunk v&eacute;gezni, &ouml;ssze tudjuk ezeket
f&#251;zni egy vessz&#245;kkel elhat&aacute;rolt
felsorol&aacute;sban:</para>
<screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>&Aacute;LLOM&Aacute;NY</replaceable></userinput></screen>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>&Iacute;rta: </contrib>
</author>
</authorgroup>
</sect2info>
<title>A &os; &aacute;llom&aacute;nyjelz&#245;i</title>
<para>A kor&aacute;bban t&aacute;rgyalt enged&eacute;lyek mellett
m&eacute;g a &os; ismeri az &uacute;n.
<quote>&aacute;llom&aacute;nyjelz&#245;k</quote> (file flags)
be&aacute;ll&iacute;t&aacute;s&aacute;t is. Ezek a
jelz&#245;bitek egy tov&aacute;bbi biztons&aacute;gi &eacute;s
ir&aacute;ny&iacute;t&aacute;si szintet ny&uacute;jtanak az
&aacute;llom&aacute;nyok felett, viszont a
k&ouml;nyvt&aacute;rakra nem vonatkoznak.</para>
<para>Ezek az &aacute;llom&aacute;nyjelz&#245;k az
&aacute;llom&aacute;nyok felett tov&aacute;bbi
vez&eacute;rl&eacute;st adnak a kez&uuml;nkbe, aminek
r&eacute;v&eacute;n gondoskodhatunk r&oacute;la, hogy
ak&aacute;r m&eacute;g a <username>root</username>
felhaszn&aacute;l&oacute; (a rendszer adminisztr&aacute;tora) se
legyen k&eacute;pes &aacute;llom&aacute;nyokat
elt&aacute;vol&iacute;tani vagy m&oacute;dos&iacute;tani.</para>
<para>Az &aacute;llom&aacute;nyjelz&#245;k &eacute;rt&eacute;kei
egy egyszer&#251; fel&uuml;leten kereszt&uuml;l, a
&man.chflags.1; seg&eacute;dprogrammal
v&aacute;ltoztathat&oacute;ak meg. P&eacute;ld&aacute;ul a
k&ouml;vetkez&#245; paranccsal &aacute;ll&iacute;thatjuk a
rendszer t&ouml;r&ouml;lhetetlen (undeletable)
jelz&eacute;s&eacute;t az <filename>allomany1</filename>
&aacute;llom&aacute;nyon:</para>
<screen>&prompt.root; <userinput>chflags sunlink <filename>allomany1</filename></userinput></screen>
<para>A t&ouml;r&ouml;lhetetlen jelz&eacute;s
elt&aacute;vol&iacute;t&aacute;s&aacute;hoz egyszer&#251;en csak
&iacute;rjuk be az el&#245;z&#245; parancsot &uacute;gy, hogy a
<quote>sunlink</quote> param&eacute;ter elej&eacute;re
m&eacute;g besz&uacute;runk egy <quote>no</quote>
sz&ouml;vegr&eacute;szt. &Iacute;gy:</para>
<screen>&prompt.root; <userinput>chflags nosunlink <filename>allomany1</filename></userinput></screen>
<para>Az &aacute;llom&aacute;nyokra &eacute;ppen
&eacute;rv&eacute;nyes jelz&eacute;seket az &man.ls.1; parancs
<option>-lo</option> kapcsol&oacute;j&aacute;nak
seg&iacute;ts&eacute;g&eacute;vel jelen&iacute;thetj&uuml;k
meg:</para>
<screen>&prompt.root; <userinput>ls -lo <filename>file1</filename>
</userinput></screen>
<para>Ennek megfelel&#245;en az eredm&eacute;nynek valahogy
&iacute;gy kellene kin&eacute;znie:</para>
<programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 allomany1</programlisting>
<para>Sok jelz&eacute;s csak a <username>root</username>
felhaszn&aacute;l&oacute;n kereszt&uuml;l vehet&#245; fel vagy
t&aacute;vol&iacute;that&oacute; el. M&aacute;s esetekben
viszont az &aacute;llom&aacute;ny tulajdonosa
&aacute;ll&iacute;thatja ezeket. A rendszergazd&aacute;knak
javasoljuk, hogy ezzel kapcsolatban a &man.chflags.1; &eacute;s
&man.chflags.2; man oldalakat tanulm&aacute;nyozz&aacute;k
&aacute;t.</para>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>K&eacute;sz&iacute;tette: </contrib>
</author>
</authorgroup>
</sect2info>
<title>A setuid, setgid &eacute;s sticky enged&eacute;lyek</title>
<para>A kor&aacute;bban eml&iacute;tett enged&eacute;lyeken
k&iacute;v&uuml;l l&eacute;tezik m&eacute;g tov&aacute;bbi
h&aacute;rom, amelyekkel minden rendszergazd&aacute;nak illik
tiszt&aacute;ban lennie. Ezek n&eacute;v szerint a
<literal>setuid</literal>, <literal>setgid</literal> &eacute;s
<literal>sticky</literal> t&iacute;pus&uacute;
enged&eacute;lyek.</para>
<para>Ezek a be&aacute;ll&iacute;t&aacute;sok bizonyos &unix;
m&#251;veletek eset&eacute;n nagyon fontosak, mivel az
&aacute;tlagos felhaszn&aacute;l&oacute;k sz&aacute;m&aacute;ra
&aacute;ltal&aacute;ban el nem &eacute;rhet&#245;
funkci&oacute;k haszn&aacute;lat&aacute;t
t&aacute;mogatj&aacute;k. A
meg&eacute;rt&eacute;s&uuml;kh&ouml;z els&#245;k&eacute;nt a
felhaszn&aacute;l&oacute;k val&oacute;di &eacute;s
effekt&iacute;v azonos&iacute;t&oacute;ja k&ouml;zti
k&uuml;l&ouml;nbs&eacute;geket kell tiszt&aacute;znunk.</para>
<para>A val&oacute;di azonos&iacute;t&oacute;
tulajdonk&eacute;ppen az a felhaszn&aacute;l&oacute;i
azonos&iacute;t&oacute;, amellyel a programot ind&iacute;tjuk el
vagy fut&aacute;s el&#245;tt birtokoljuk. A program
fut&aacute;sa k&ouml;zben azonban az effekt&iacute;v
felhaszn&aacute;l&oacute;i azonos&iacute;t&oacute;val fut.
P&eacute;ld&aacute;ul a &man.passwd.1; seg&eacute;dprogram a
jelszav&aacute;t megv&aacute;ltoztatni
k&iacute;v&aacute;n&oacute; felhaszn&aacute;l&oacute;
val&oacute;di azonos&iacute;t&oacute;j&aacute;val indul,
mik&ouml;zben a jelszavakat t&aacute;rol&oacute;
adatb&aacute;zis el&eacute;r&eacute;s&eacute;kor m&aacute;r a
<username>root</username> felhaszn&aacute;l&oacute;
effekt&iacute;v azonos&iacute;t&oacute;j&aacute;val fut.
Ez&aacute;ltal a privil&eacute;giumokkal nem rendelkez&#245;
felhaszn&aacute;l&oacute;k is meg tudj&aacute;k
an&eacute;lk&uuml;l v&aacute;ltoztatni a jelszavaikat, hogy a
<errorname>Permission Denied</errorname> hiba&uuml;zenettel
tal&aacute;lkozn&aacute;nak.</para>
<note>
<para>A &man.mount.8; <literal>nosuid</literal>
be&aacute;ll&iacute;t&aacute;s&aacute;val azonban az ilyen
t&iacute;pus&uacute; bin&aacute;risok minden
k&uuml;l&ouml;n&ouml;sebb jel n&eacute;lk&uuml;l
cs&#245;d&ouml;t fognak mondani. Mellesleg a &man.mount.8;
man oldala szerint ez az opci&oacute; nem is teljesen
megb&iacute;zhat&oacute;, mivel <literal>nosuid</literal>
wrapperek seg&iacute;ts&eacute;g&eacute;vel meg lehet
ker&uuml;lni.</para>
</note>
<para>Ahogy azt az al&aacute;bbi p&eacute;lda is
szeml&eacute;lteti, a setuid enged&eacute;lyt a t&ouml;bbi
el&eacute; egy n&eacute;gyes (4)
besz&uacute;r&aacute;s&aacute;val tudjuk
be&aacute;ll&iacute;tani:</para>
<screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
<para>A
<filename><replaceable>suidexample.sh</replaceable></filename>
&aacute;llom&aacute;ny enged&eacute;lyei ezt k&ouml;vet&#245;en
m&aacute;r &iacute;gy fognak megjelenni:</para>
<screen>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</screen>
<para>Most m&aacute;r j&oacute;l l&aacute;that&oacute;, hogy az
&aacute;llom&aacute;ny tulajdonos&aacute;hoz tartoz&oacute;
enged&eacute;lyek k&ouml;z&ouml;tt a
v&eacute;grehajthat&oacute;s&aacute;got szab&aacute;lyoz&oacute;
bit lecser&eacute;l&#245;d&ouml;tt egy <literal>s</literal>
bitre. Ennek k&ouml;sz&ouml;nhet&#245;en a
<command>passwd</command> parancshoz hasonl&oacute; m&oacute;don
kib&#245;v&iacute;tett enged&eacute;lyekkel lesz&uuml;nk
k&eacute;pesek futtatni programokat.</para>
<para>K&eacute;t termin&aacute;l megnyit&aacute;s&aacute;val
mindezt val&oacute;s id&#245;ben is megvizsg&aacute;lhatjuk. Az
egyiken ind&iacute;tsuk el norm&aacute;l
felhaszn&aacute;l&oacute;k&eacute;nt a <command>passwd</command>
programot. Mik&ouml;zben a program v&aacute;rakozik az
&uacute;j jelsz&oacute; megad&aacute;s&aacute;ra, a m&aacute;sik
termin&aacute;lon k&eacute;rdezz&uuml;k le a programhoz
tartoz&oacute; felhaszn&aacute;l&oacute;i
inform&aacute;ci&oacute;kat.</para>
<para>Teh&aacute;t az egyik termin&aacute;lon a
k&ouml;vetkez&#245;t l&aacute;tjuk:</para>
<screen>&prompt.user; <userinput>passwd</userinput>
Changing local password for trhodes
Old Password:</screen>
<para>Ek&ouml;zben pedig a m&aacute;sikon:</para>
<screen>&prompt.root; <userinput>ps aux | grep passwd</userinput>
trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>A <command>passwd</command> parancsot egyszer&#251;
felhaszn&aacute;l&oacute;k&eacute;nt adtunk ki, azonban
j&oacute;l l&aacute;that&oacute;, hogy val&oacute;j&aacute;ban a
<username>root</username> felhaszn&aacute;l&oacute;
azonos&iacute;t&oacute;j&aacute;val fut.</para>
<para>A <literal>setgid</literal> a <literal>setuid</literal>
enged&eacute;lyhez hasonl&oacute;an m&#251;k&ouml;dik,
egyed&uuml;l annyiban t&eacute;r el, hogy a csoportra
vonatkoz&oacute; be&aacute;ll&iacute;t&aacute;sokat
m&oacute;dos&iacute;tja. Amikor egy alkalmaz&aacute;st vagy
seg&eacute;dprogramot ilyen enged&eacute;llyel futtatunk, akkor
az adott programot birtokl&oacute; csoport enged&eacute;lyeit
kapjuk meg.</para>
<para>&Uacute;gy tudjuk &aacute;llom&aacute;nyokon
be&aacute;ll&iacute;tani a <literal>setgid</literal>
t&iacute;pus&uacute; enged&eacute;lyt, ha az im&eacute;nti
p&eacute;ld&aacute;hoz hasonl&oacute;an a
<command>chmod</command> parancs h&iacute;v&aacute;sakor
m&eacute;g egy kettest (2) &iacute;runk az enged&eacute;lyek
el&eacute;:</para>
<screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
<para>Az &iacute;gy be&aacute;ll&iacute;tott enged&eacute;lyek az
el&#245;bbih&ouml;z hasonl&oacute; m&oacute;don
szeml&eacute;lhet&#245;ek meg, azonban ebben az esetben a
csoporthoz tartoz&oacute; enged&eacute;lyekn&eacute;l jelenik
meg az <literal>s</literal> bit:</para>
<screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh</screen>
<note>
<para>Az el&#245;bb t&aacute;rgyalt p&eacute;ld&aacute;kkal
kapcsolatban fontos megeml&iacute;ten&uuml;nk, hogy hab&aacute;r
a szkriptek is v&eacute;grehajthat&oacute;
&aacute;llom&aacute;nyok, nem fognak a val&oacute;dit&oacute;l
elt&eacute;r&#245; effekt&iacute;v felhaszn&aacute;l&oacute;i
azonos&iacute;t&oacute;val futni. Ennek oka abban
keresend&#245;, hogy a parancssori szkriptek nem
h&iacute;vhatj&aacute;k a &man.setuid.2;
rendszerh&iacute;v&aacute;st.</para>
</note>
<para>Ez a k&eacute;t speci&aacute;lis enged&eacute;ly (a
<literal>setuid</literal> &eacute;s a <literal>setgid</literal>) a
programhoz tartoz&oacute; enged&eacute;lyek
kiterjeszt&eacute;s&eacute;vel cs&ouml;kkentheti
rendszer&uuml;nk biztons&aacute;g&aacute;t. Ezzel szemben
viszont a harmadik bemutatand&oacute; speci&aacute;lis
enged&eacute;ly rendszer&uuml;nk v&eacute;delm&eacute;nek
er&#245;s&iacute;t&eacute;s&eacute;re szolg&aacute;l: ez az
&uacute;n. <literal>sticky</literal> bit.</para>
<para>Ha a <literal>sticky</literal> t&iacute;pus&uacute;
enged&eacute;lyt k&ouml;nyvt&aacute;rra adjuk meg, akkor a benne
lev&#245; &aacute;llom&aacute;nyok t&ouml;rl&eacute;s&eacute;t
kiz&aacute;r&oacute;lag azok tulajdonosainak engedi. Ezzel az
enged&eacute;llyel l&eacute;nyeg&eacute;ben a <filename
class="directory">/tmp</filename> k&ouml;nyvt&aacute;rhoz
hasonl&oacute; nyilv&aacute;nos, b&aacute;rki &aacute;ltal
el&eacute;rhet&#245; k&ouml;nyvt&aacute;rakban
akad&aacute;lyozhatjuk meg az &aacute;llom&aacute;nyok idegen
felhaszn&aacute;l&oacute;k &aacute;ltali
t&ouml;rl&eacute;s&eacute;t. Az enged&eacute;ly
be&aacute;ll&iacute;t&aacute;s&aacute;hoz egy egyest (1) kell a
t&ouml;bbi el&eacute; f&#251;zn&uuml;nk, mint
p&eacute;ld&aacute;ul:</para>
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
<para>Most m&aacute;r az <command>ls</command> parancs
seg&iacute;ts&eacute;g&eacute;vel l&aacute;thatjuk ennek a
hat&aacute;s&aacute;t:</para>
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput>
drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
<para>A <literal>sticky</literal> bit a
be&aacute;ll&iacute;t&aacute;sok v&eacute;g&eacute;n
felbukkan&oacute; <literal>t</literal> r&eacute;v&eacute;n
azonos&iacute;that&oacute; be.</para>
</sect2>
</sect1>
<sect1 id="dirstructure">
<title>A k&ouml;nyvt&aacute;rak elrendez&eacute;se</title>
<indexterm><primary>k&ouml;nyvt&aacute;rhierarchia</primary></indexterm>
<para>A &os; k&ouml;nyvt&aacute;rszerkezet&eacute;nek ismerete
alapvet&#245; jelent&#245;s&eacute;g&#251; a rendszer
eg&eacute;sz&eacute;nek meg&eacute;rt&eacute;se
szempontj&aacute;b&oacute;l. Ezen bel&uuml;l is a legfontosabb a
gy&ouml;k&eacute;rk&ouml;nyvt&aacute;r, a <quote>/</quote>. Ez az
els&#245; k&ouml;nyvt&aacute;r, amelyet a rendszer a
rendszerind&iacute;t&aacute;s sor&aacute;n csatlakoztat &eacute;s
a t&ouml;bbfelhaszn&aacute;l&oacute;s m&oacute;d
el&#245;k&eacute;sz&iacute;t&eacute;s&eacute;hez
elegendhetlen&uuml;l sz&uuml;ks&eacute;ges alaprendszert
tartalmazza. A gy&ouml;k&eacute;rk&ouml;nyvt&aacute;r emellett
csatlakoz&aacute;si pontokat szolg&aacute;ltat a
t&ouml;bbfelhaszn&aacute;l&oacute;s m&#251;k&ouml;d&eacute;sre
v&aacute;lt&aacute;s sor&aacute;n csatlakoztatand&oacute;
tov&aacute;bbi &aacute;llom&aacute;nyrendszerek
sz&aacute;m&aacute;ra.</para>
<para>A csatlakoz&aacute;si pont egy olyan k&ouml;nyvt&aacute;r,
ahov&aacute; a sz&uuml;l&#245; &aacute;llom&aacute;nyrendszeren
(ami gyakran maga a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer) bel&uuml;l
tov&aacute;bbi &aacute;llom&aacute;nyrendszereket tudunk beoltani.
Err&#245;l b&#245;vebben a <xref linkend="disk-organization"/>ban
olvashatunk. A szabv&aacute;nyos csatlakoz&aacute;si pontok:
<filename>/usr</filename>, <filename>/var</filename>,
<filename>/tmp</filename>, <filename>/mnt</filename> &eacute;s
<filename>/cdrom</filename>. Ezekre a k&ouml;nyvt&aacute;rakra
&aacute;ltal&aacute;ban az <filename>/etc/fstab</filename>
&aacute;llom&aacute;nyban tal&aacute;lunk hivatkoz&aacute;sokat.
Az <filename>/etc/fstab</filename> &aacute;llom&aacute;ny a
rendszer sz&aacute;m&aacute;ra a k&uuml;l&ouml;nb&ouml;z&#245;
&aacute;llom&aacute;nyrendszerek &eacute;s a hozz&aacute;juk
tartoz&oacute; csatlakoz&aacute;si pontok
t&aacute;bl&aacute;zat&aacute;t tartalmazza. Az
<filename>/etc/fstab</filename> &aacute;llom&aacute;nyban
szerepl&#245; legt&ouml;bb &aacute;llom&aacute;nyrendszer a
rendszerind&iacute;t&aacute;s sor&aacute;n automatikusan
csatlakoztat&aacute;sra ker&uuml;l az &man.rc.8; szkriptb&#245;l,
hacsak nem tartalmazz&aacute;k a <option>noauto</option>
be&aacute;ll&iacute;t&aacute;st. Ennek r&eacute;szleteit a <xref
linkend="disks-fstab"/>ban tal&aacute;lhatjuk meg.</para>
<para>Az &aacute;llom&aacute;nyrendszerek
hierarchi&aacute;j&aacute;nak teljes le&iacute;r&aacute;s&aacute;t
a &man.hier.7; man oldalon olvashatjuk. Mi egyel&#245;re most
megel&eacute;gsz&uuml;nk a leggyakrabban megjelen&#245;
k&ouml;nyvt&aacute;rak r&ouml;vid
&aacute;ttekint&eacute;s&eacute;vel.</para>
<para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>K&ouml;nyvt&aacute;r</entry>
<entry>Mi tal&aacute;lhat&oacute; itt</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry><filename class="directory">/</filename></entry>
<entry>Az &aacute;llom&aacute;nyrendszer
gy&ouml;kere.</entry>
</row>
<row>
<entry><filename class="directory">/bin/</filename></entry>
<entry>Az egy- &eacute;s
t&ouml;bbfelhaszn&aacute;l&oacute;s k&ouml;rnyezetekben
is egyar&aacute;nt alapvet&#245;
felhaszn&aacute;l&oacute;i
seg&eacute;dprogramok.</entry>
</row>
<row>
<entry><filename class="directory">/boot/</filename></entry>
<entry>Az oper&aacute;ci&oacute;s rendszer
ind&iacute;t&aacute;sa sor&aacute;n haszn&aacute;lt
programok &eacute;s konfigur&aacute;ci&oacute;s
&aacute;llom&aacute;nyok.</entry>
</row>
<row>
<entry><filename class="directory">/boot/defaults/</filename></entry>
<entry>A rendszerind&iacute;t&aacute;s
alap&eacute;rtelmezett konfigur&aacute;ci&oacute;s
&aacute;llom&aacute;nyai. L&aacute;sd
&man.loader.conf.5;</entry>
</row>
<row>
<entry><filename class="directory">/dev/</filename></entry>
<entry>Eszk&ouml;zle&iacute;r&oacute;k, l&aacute;sd
&man.intro.4;.</entry>
</row>
<row>
<entry><filename class="directory">/etc/</filename></entry>
<entry>Rendszerkonfigur&aacute;ci&oacute;s
&aacute;llom&aacute;nyok &eacute;s szkriptek.</entry>
</row>
<row>
<entry><filename class="directory">/etc/defaults/</filename></entry>
<entry>Az alap&eacute;rtelmezett
rendszerkonfigur&aacute;ci&oacute;s
&aacute;llom&aacute;nyok, l&aacute;sd
&man.rc.8;.</entry>
</row>
<row>
<entry><filename class="directory">/etc/mail/</filename></entry>
<entry>A &man.sendmail.8; programhoz hasonl&oacute;
lev&eacute;lk&uuml;ld&#245; rendszerek
konfigur&aacute;ci&oacute;s
&aacute;llom&aacute;nyai.</entry>
</row>
<row>
<entry><filename class="directory">/etc/namedb/</filename></entry>
<entry>A <command>named</command> program
konfigur&aacute;ci&oacute;s &aacute;llom&aacute;nyai,
l&aacute;sd &man.named.8;.</entry>
</row>
<row>
<entry><filename class="directory">/etc/periodic/</filename></entry>
<entry>A &man.cron.8; &aacute;ltal naponta, hetente
&eacute;s havonta lefuttatand&oacute; szkriptek,
l&aacute;sd &man.periodic.8;.</entry>
</row>
<row>
<entry><filename class="directory">/etc/ppp/</filename></entry>
<entry>A <command>ppp</command> program
konfigur&aacute;ci&oacute;s &aacute;llom&aacute;nyai,
l&aacute;sd &man.ppp.8;.</entry>
</row>
<row>
<entry><filename class="directory">/mnt/</filename></entry>
<entry>Egy &uuml;res k&ouml;nyvt&aacute;r, amelyet a
rendszergazd&aacute;k &aacute;ltal&aacute;ban ideiglenes
csatlakoz&aacute;si pontk&eacute;nt
haszn&aacute;lnak.</entry>
</row>
<row>
<entry><filename class="directory">/proc/</filename></entry>
<entry>A fut&oacute; programokat tartalmaz&oacute;
&aacute;llom&aacute;nyrendszer, l&aacute;sd
&man.procfs.5;, illetve &man.mount.procfs.8;.</entry>
</row>
<row>
<entry><filename class="directory">/rescue/</filename></entry>
<entry>Statikusan linkelt programok v&eacute;szhelyzet
eset&eacute;re, l&aacute;sd &man.rescue.8;.</entry>
</row>
<row>
<entry><filename class="directory">/root/</filename></entry>
<entry>A <username>root</username>
felhaszn&aacute;l&oacute; k&ouml;nyvt&aacute;ra.</entry>
</row>
<row>
<entry><filename class="directory">/sbin/</filename></entry>
<entry>Az egy- &eacute;s
t&ouml;bbfelhaszn&aacute;l&oacute;s k&ouml;rnyezetekben
fontos rendszerprogramok &eacute;s
rendszerfel&uuml;gyeleti eszk&ouml;z&ouml;k.</entry>
</row>
<row>
<entry><filename class="directory">/tmp/</filename></entry>
<entry>&Aacute;tmeneti &aacute;llom&aacute;nyok. A
<filename class="directory">/tmp</filename>
k&ouml;nyvt&aacute;r tartalma &aacute;ltal&aacute;ban
NEM marad meg az &uacute;jraind&iacute;t&aacute;s
ut&aacute;n. Erre a c&eacute;lra gyakran
mem&oacute;ri&aacute;ban l&eacute;trehozott
&aacute;llom&aacute;nyrendszert szoktak csatlakoztatni a
<filename class="directory">/tmp</filename>
k&ouml;nyvt&aacute;rba. Ez ut&oacute;bbit az
&man.rc.conf.5; tmpmfs-re vonatkoz&oacute;
v&aacute;ltoz&oacute;inak
be&aacute;ll&iacute;t&aacute;s&aacute;val lehet
automatikuss&aacute; tenni (vagy a
<filename>/etc/fstab</filename> megfelel&#245;
m&oacute;dos&iacute;t&aacute;s&aacute;val, l&aacute;sd
&man.mdmfs.8;).</entry>
</row>
<row>
<entry><filename class="directory">/usr/</filename></entry>
<entry>A felhaszn&aacute;l&oacute;i programok &eacute;s
alkalmaz&aacute;sok t&ouml;bbs&eacute;ge.</entry>
</row>
<row>
<entry><filename class="directory">/usr/bin/</filename></entry>
<entry>&Aacute;ltal&aacute;nos seg&eacute;dprogramok,
programoz&aacute;si eszk&ouml;z&ouml;k &eacute;s
alkalmaz&aacute;sok.</entry>
</row>
<row>
<entry><filename class="directory">/usr/include/</filename></entry>
<entry>Szabv&aacute;nyos C
include-&aacute;llom&aacute;nyok.</entry>
</row>
<row>
<entry><filename class="directory">/usr/lib/</filename></entry>
<entry>F&uuml;ggv&eacute;nyk&ouml;nyvt&aacute;rak.</entry>
</row>
<row>
<entry><filename class="directory">/usr/libdata/</filename></entry>
<entry>Egy&eacute;b hasznos
adat&aacute;llom&aacute;nyok.</entry>
</row>
<row>
<entry><filename class="directory">/usr/libexec/</filename></entry>
<entry>(M&aacute;s programok &aacute;ltal haszn&aacute;lt)
Rendszerd&eacute;monok &eacute;s
rendszereszk&ouml;z&ouml;k.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/local/</filename></entry>
<entry>A helyi rendszeren telep&iacute;tett programok,
f&uuml;ggv&eacute;nyk&ouml;nyvt&aacute;rak stb. A &os;
portrendszere is ezt haszn&aacute;lja
alap&eacute;rtelmez&eacute;s szerint. A
<filename>/usr/local</filename> k&ouml;nyvt&aacute;ron
bel&uuml;l a &man.hier.7; man oldalon
tal&aacute;lhat&oacute; <filename>/usr</filename>
k&ouml;nyvt&aacute;r &aacute;ltal&aacute;nos
fel&eacute;p&iacute;t&eacute;se haszn&aacute;latos. Ez
al&oacute;l kiv&eacute;telt k&eacute;pez a man
alk&ouml;nyvt&aacute;r, amely k&ouml;zvetlen&uuml;l a
<filename>/usr/local</filename> alatt
tal&aacute;lhat&oacute;, nem pedig a
<filename>/usr/local/share</filename>
k&ouml;nyvt&aacute;ron bel&uuml;l, valamint a portok
dokument&aacute;ci&oacute;ja a
<filename>share/doc/<replaceable>port</replaceable></filename>
k&ouml;nyvt&aacute;rban tal&aacute;lhat&oacute;.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/obj/</filename></entry>
<entry>A <filename>/usr/src</filename>
k&ouml;nyvt&aacute;rf&aacute;ban tal&aacute;lhat&oacute;
forr&aacute;sok ford&iacute;t&aacute;sa sor&aacute;n
keletkez&#245; architekt&uacute;raf&uuml;gg&#245;
objektumok.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/ports/</filename></entry>
<entry>A &os; Portgy&#251;jtem&eacute;ny
(v&aacute;laszthat&oacute;).</entry>
</row>
<row>
<entry><filename
class="directory">/usr/sbin/</filename></entry>
<entry>(A felhaszn&aacute;l&oacute;k &aacute;ltal
haszn&aacute;lt) Rendszerd&eacute;monok &eacute;s
rendszereszk&ouml;z&ouml;k.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/share/</filename></entry>
<entry>Architekt&uacute;raf&uuml;gg&#245;
&aacute;llom&aacute;nyok.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/src/</filename></entry>
<entry>BSD &eacute;s/vagy helyi forr&aacute;sok.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/X11R6/</filename></entry>
<entry>Az X11R6 rendszer programjai,
f&uuml;ggv&eacute;nyk&ouml;nyvt&aacute;rai stb.
(v&aacute;laszthat&oacute;)</entry>
</row>
<row>
<entry><filename
class="directory">/var/</filename></entry>
<entry>K&uuml;l&ouml;nf&eacute;le napl&oacute;,
&aacute;tmeneti, ideiglenes &eacute;s pufferben
t&aacute;rolt &aacute;llom&aacute;nyok. A
mem&oacute;ri&aacute;ban l&eacute;trehozott
&aacute;llom&aacute;nyrendszereket is olykor a <filename
class="directory">/var</filename>
k&ouml;nyvt&aacute;rban tal&aacute;ljuk. Ezt az
&man.rc.conf.5; &aacute;llom&aacute;nyban
tal&aacute;lhat&oacute; varmfs-v&aacute;ltoz&oacute;k
be&aacute;ll&iacute;t&aacute;s&aacute;val tehetj&uuml;k
automatikuss&aacute; (vagy a
<filename>/etc/fstab</filename> megfelel&#245;
m&oacute;dos&iacute;t&aacute;s&aacute;val, l&aacute;sd
&man.mdmfs.8;).</entry>
</row>
<row>
<entry><filename
class="directory">/var/log/</filename></entry>
<entry>Mindenf&eacute;le rendszernapl&oacute;k.</entry>
</row>
<row>
<entry><filename
class="directory">/var/mail/</filename></entry>
<entry>A felhaszn&aacute;l&oacute;k postafi&oacute;kjait
t&aacute;rol&oacute; &aacute;llom&aacute;nyok.</entry>
</row>
<row>
<entry><filename
class="directory">/var/spool/</filename></entry>
<entry>A nyomtat&oacute;k &eacute;s a levelez&eacute;s
pufferel&eacute;s&eacute;hez haszn&aacute;lt
k&ouml;nyvt&aacute;rak.</entry>
</row>
<row>
<entry><filename
class="directory">/var/tmp/</filename></entry>
<entry>&Aacute;tmeneti &aacute;llom&aacute;nyok. Az itt
tal&aacute;lhat&oacute; &aacute;llom&aacute;nyok
&aacute;ltal&aacute;ban megmaradnak a
k&ouml;vetkez&#245; rendszerind&iacute;t&aacute;s
alkalm&aacute;val is, hacsak a <filename
class="directory">/var</filename> nem egy
mem&oacute;ri&aacute;ban l&eacute;tez&#245;
&aacute;llom&aacute;nyrendszer.</entry>
</row>
<row>
<entry><filename class="directory">/var/yp</filename></entry>
<entry>A NIS &aacute;llom&aacute;nyai.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect1>
<sect1 id="disk-organization">
<title>A lemezek szervez&eacute;se</title>
<para>Az &aacute;llom&aacute;nyn&eacute;v a legkisebb
szervez&eacute;si egys&eacute;g, amin kereszt&uuml;l a &os;
k&eacute;pes megtal&aacute;lni az &aacute;llom&aacute;nyokat. Az
&aacute;llom&aacute;nyok neveiben a kis- &eacute;s nagybet&#251;t
megk&uuml;l&ouml;nb&ouml;ztetj&uuml;k, teh&aacute;t a
<filename>readme.txt</filename> &eacute;s a
<filename>README.TXT</filename> elnevez&eacute;s k&eacute;t
k&uuml;l&ouml;nb&ouml;z&#245; &aacute;llom&aacute;nyra utal. A
&os; nem az &aacute;llom&aacute;nyok kiterjeszt&eacute;se (ami a
konkr&eacute;t p&eacute;ld&aacute;nkban a
<filename>.txt</filename> volt) alapj&aacute;n d&ouml;nti el, hogy
az adott &aacute;llom&aacute;ny vajon program, dokumentum vagy
valamilyen m&aacute;s fajt&aacute;j&uacute; adat.</para>
<para>Az &aacute;llom&aacute;nyok k&ouml;nyvt&aacute;rakban
t&aacute;rol&oacute;dnak. Egy k&ouml;nyvt&aacute;r lehet
ak&aacute;r &uuml;res (nincs benne egyetlen &aacute;llom&aacute;ny
sem), vagy t&ouml;bbsz&aacute;z &aacute;llom&aacute;nyt is
tartalmazhat. Egy k&ouml;nyvt&aacute;r r&aacute;ad&aacute;sul
tov&aacute;bbi k&ouml;nyvt&aacute;rakat is t&aacute;rolhat,
&eacute;s &iacute;gy az egym&aacute;sban elhelyezked&#245;
k&ouml;nyvt&aacute;rak seg&iacute;ts&eacute;g&eacute;vel
k&ouml;nyvt&aacute;rak egy hierarchi&aacute;j&aacute;t tudjuk
fel&eacute;p&iacute;teni. Ezzel sokkalta k&ouml;nnyebben
szervezhet&#245;v&eacute; v&aacute;lnak az adataink.</para>
<para>Az &aacute;llom&aacute;nyokat &eacute;s
k&ouml;nyvt&aacute;rakat &uacute;gy tudjuk el&eacute;rni, ha
megadjuk az &aacute;llom&aacute;ny vagy a k&ouml;nyvt&aacute;rt
t&aacute;rol&oacute; k&ouml;nyvt&aacute;r nev&eacute;t, amit egy
perjel, a <literal>/</literal> k&ouml;vet, valamint &iacute;gy
&ouml;sszef&#251;zve az el&eacute;r&eacute;shez
sz&uuml;ks&eacute;ges tov&aacute;bbi k&ouml;nyvt&aacute;rak
felsorol&aacute;sa. Teh&aacute;t, ha van egy
<filename>ize</filename> nev&#251; k&ouml;nyvt&aacute;runk,
amelyben tal&aacute;lhat&oacute; egy <filename>mize</filename>
k&ouml;nyvt&aacute;r, amelyen bel&uuml;l pedig egy
<filename>readme.txt</filename>, akkor ennek az
&aacute;llom&aacute;nynak a teljes neve, vagy
m&aacute;sk&eacute;ppen sz&oacute;lva az
<firstterm>el&eacute;r&eacute;si &uacute;tja</firstterm>
<filename>ize/mize/readme.txt</filename> lesz.</para>
<para>A k&ouml;nyvt&aacute;rak &eacute;s az &aacute;llom&aacute;nyok
egy &aacute;llom&aacute;nyrendszerben t&aacute;rol&oacute;dnak.
Minden &aacute;llom&aacute;nyrendszer pontosan egy
k&ouml;nyvt&aacute;rat tartalmaz a legfels&#245; szintj&eacute;n,
amelyet az adott &aacute;llom&aacute;nyrendszer
<firstterm>gy&ouml;k&eacute;rk&ouml;nyvt&aacute;r&aacute;nak</firstterm>
nevez&uuml;nk. Ez a gy&ouml;k&eacute;rk&ouml;nyvt&aacute;r
tartalmazhat azt&aacute;n tov&aacute;bbi
k&ouml;nyvt&aacute;rakat.</para>
<para>Eddig m&eacute;g val&oacute;sz&iacute;n&#251;leg minden nagyon
hasonl&oacute; a m&aacute;s oper&aacute;ci&oacute;s rendszerekben
tapasztalhat&oacute; fogalmakhoz. Azonban ad&oacute;nak
k&uuml;l&ouml;nbs&eacute;gek: p&eacute;ld&aacute;ul az &ms-dos; a
<literal>\</literal> jellel v&aacute;lasztja el az
&aacute;llom&aacute;nyok &eacute;s k&ouml;nyvt&aacute;rak neveit,
mik&ouml;zben a &macos; erre a <literal>:</literal> jelet
haszn&aacute;lja.</para>
<para>A &os; az el&eacute;r&eacute;si utakban sem bet&#251;kkel, sem
pedig semmilyen m&aacute;s n&eacute;vvel nem jel&ouml;li meg a
meghajt&oacute;kat. Teh&aacute;t a &os;-ben nem &iacute;rhatjuk,
hogy a <filename>c:/ize/mize/readme.txt</filename>.</para>
<para>Helyette az egyik &aacute;llom&aacute;nyrendszert
kijel&ouml;lik
<firstterm>gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszernek</firstterm>.
A gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer
gy&ouml;k&eacute;rk&ouml;nyvt&aacute;r&aacute;ra hivatkoznak
k&eacute;s&#245;bb <literal>/</literal>
k&ouml;nyvt&aacute;rk&eacute;nt. Ezut&aacute;n minden m&aacute;s
&aacute;llom&aacute;nyrendszert a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszerhez
<firstterm>csatlakoztatunk</firstterm>. Ennek
&eacute;rtelm&eacute;ben nem sz&aacute;m&iacute;t, hogy mennyi
lemez&uuml;nk is van a &os; rendszer&uuml;nkben, hiszen minden
k&ouml;nyvt&aacute;r egyazon lemez r&eacute;szek&eacute;nt jelenik
meg.</para>
<para>Tegy&uuml;k fel, hogy van h&aacute;rom
&aacute;llom&aacute;nyrendszer&uuml;nk, h&iacute;vjuk ezeket
<literal>A</literal>-nak, <literal>B</literal>-nek &eacute;s
<literal>C</literal>-nek. Minden &aacute;llom&aacute;nyrendszer
rendelkezik egy gy&ouml;k&eacute;rk&ouml;nyvt&aacute;rral, amely
k&eacute;t tov&aacute;bbi k&ouml;nyvt&aacute;rat tartalmaz:
<literal>A1</literal>-et &eacute;s <literal>A2</literal>-t
(&eacute;s ennek megfelel&#245;en a t&ouml;bbi
<literal>B1</literal>-et &eacute;s <literal>B2</literal>-t,
valamint <literal>C1</literal> &eacute;s
<literal>C2</literal>-t).</para>
<para>Nevezz&uuml;k <literal>A</literal>-t a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszernek. Ha a
k&ouml;nyvt&aacute;r tartalm&aacute;nak
megjelen&iacute;t&eacute;s&eacute;hez most kiadn&aacute;nk az
<command>ls</command> parancsot, k&eacute;t
alk&ouml;nyvt&aacute;rat l&aacute;tn&aacute;nk, az
<literal>A1</literal>-et &eacute;s <literal>A2</literal>-t. A
l&eacute;trej&ouml;tt k&ouml;nyvt&aacute;rfa valahogy &iacute;gy
n&eacute;zne ki:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir1" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2</literallayout>
</textobject>
</mediaobject>
<para>Egy &aacute;llom&aacute;nyrendszert csak egy m&aacute;sik
&aacute;llom&aacute;nyrendszer valamelyik
k&ouml;nyvt&aacute;r&aacute;ba tudunk csatlakoztatni.
Ez&eacute;rt most t&eacute;telezz&uuml;k fel, hogy a
<literal>B</literal> &aacute;llom&aacute;nyrendszert az
<literal>A1</literal> k&ouml;nyvt&aacute;rba csatlakoztatjuk.
Ezut&aacute;n a <literal>B</literal>
gy&ouml;k&eacute;rk&ouml;nyvt&aacute;ra &aacute;tveszi a
<literal>A1</literal> hely&eacute;t az
&aacute;llom&aacute;nyrendszerben, &eacute;s ennek
megfelel&#245;en megjelennek a <literal>B</literal>
k&ouml;nyvt&aacute;rai is:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir2" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2</literallayout>
</textobject>
</mediaobject>
<para>A <literal>B1</literal> vagy <literal>B2</literal>
k&ouml;nyvt&aacute;rakban tal&aacute;lhat&oacute;
&aacute;llom&aacute;nyok b&aacute;rmelyike innent&#245;l kezdve a
<filename>/A1/B1</filename>, illetve a <filename>/A1/B2</filename>
el&eacute;r&eacute;si utakon &eacute;rhet&#245;ek el. Az
<filename>A1</filename> k&ouml;nyvt&aacute;rban
tal&aacute;lhat&oacute; &aacute;llom&aacute;nyok erre az
id&#245;re rejtve maradnak. Akkor fognak &uacute;jra felbukkanni,
ha a <literal>B</literal> &aacute;llom&aacute;nyrendszert
<firstterm>lev&aacute;lasztjuk</firstterm> az <literal>A</literal>
&aacute;llom&aacute;nyrendszerr&#245;l.</para>
<para>Ha a <literal>B</literal> &aacute;llom&aacute;nyrendszert az
<literal>A2</literal> k&ouml;nyvt&aacute;rba
csatlakoztatn&aacute;nk, az im&eacute;nti &aacute;bra
nagyj&aacute;b&oacute;l &iacute;gy n&eacute;zne ki:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir3" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>&eacute;s ennek megfelel&#245;en az el&#245;bb t&aacute;rgyalt
el&eacute;r&eacute;si utak <filename>/A2/B1</filename> &eacute;s
<filename>/A2/B2</filename> lenn&eacute;nek.</para>
<para>Az &aacute;llom&aacute;nyrendszerek egym&aacute;shoz is
csatlakoztathat&oacute;ak. A p&eacute;ld&aacute;t ennek
megfelel&#245;en &uacute;gy is folytathatjuk, hogy a
<literal>C</literal> &aacute;llom&aacute;nyrendszert
csatlakoztatjuk <literal>B</literal>
&aacute;llom&aacute;nyrendszerben tal&aacute;lhat&oacute;
<literal>B1</literal> k&ouml;nyvt&aacute;rhoz. Ennek
eredm&eacute;nye a k&ouml;vetkez&#245; elrendez&eacute;s
lesz:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir4" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>Vagy a <literal>C</literal> &aacute;llom&aacute;nyrendszer az
<literal>A1</literal> k&ouml;nyvt&aacute;ron kereszt&uuml;l
csatlakoztathat&oacute; ak&aacute;r k&ouml;zvetlen&uuml;l az
<literal>A</literal> &aacute;llom&aacute;nyrendszerhez is:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir5" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>Az &ms-dos; oper&aacute;ci&oacute;s rendszert ismer&#245;k
sz&aacute;m&aacute;ra ez hasonl&oacute; lehet a
<command>join</command> parancshoz (hab&aacute;r teljesen nem
egyezik meg vele).</para>
<para>&Aacute;ltal&aacute;ban azonban ezzel nem kell
t&ouml;r&#245;dn&uuml;nk, hiszen t&ouml;bbnyire csak a &os;
telep&iacute;t&eacute;se sor&aacute;n hozunk l&eacute;tre
&aacute;llom&aacute;nyrendszereket &eacute;s v&aacute;lasztjuk meg
a csatlakoz&aacute;si pontjukat. A k&eacute;s&#245;bbiekben
ez legfeljebb akkor ker&uuml;l el&#245; ism&eacute;t, amikor
&uacute;jabb lemezeket adunk hozz&aacute; a rendszerhez.</para>
<para>Teljess&eacute;ggel megengedhet&#245;, hogy elhagyjuk a
t&ouml;bbit &eacute;s csak egyetlen &oacute;ri&aacute;si
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszert
haszn&aacute;ljunk. Ennek viszont megvannak a maga
h&aacute;tr&aacute;nyai &eacute;s az egyetlen el&#245;nye.</para>
<itemizedlist>
<title>T&ouml;bb &aacute;llom&aacute;nyrendszer
haszn&aacute;lat&aacute;nak el&#245;nyei</title>
<listitem>
<para>A k&uuml;l&ouml;nb&ouml;z&#245;
&aacute;llom&aacute;nyrendszereknek
k&uuml;l&ouml;nb&ouml;z&#245;
<firstterm>csatlakoztat&aacute;si
be&aacute;ll&iacute;t&aacute;sai</firstterm> (mount options)
lehetnek. P&eacute;ld&aacute;ul, ha kell&#245;en
el&#245;vigy&aacute;zatosak akarunk lenni, a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer
&iacute;r&aacute;sv&eacute;dett m&oacute;don is
csatlakoztathat&oacute;, aminek k&ouml;sz&ouml;nhet&#245;en
lehetetlenn&eacute; v&aacute;lik a rendszer
sz&aacute;m&aacute;ra fontos &aacute;llom&aacute;nyok
v&eacute;letlen t&ouml;rl&eacute;se vagy
fel&uuml;l&iacute;r&aacute;sa. Ha
elk&uuml;l&ouml;n&iacute;tj&uuml;k a
felhaszn&aacute;l&oacute;k sz&aacute;m&aacute;ra
&iacute;rhat&oacute; &aacute;llom&aacute;nyrendszereket
(p&eacute;ld&aacute;ul a <filename>/home</filename>
k&ouml;nyvt&aacute;rakat) a t&ouml;bbi
&aacute;llom&aacute;nyrendszert&#245;l, lehet&#245;v&eacute;
v&aacute;lik sz&aacute;munkra, hogy
<firstterm>nosuid</firstterm>
be&aacute;ll&iacute;t&aacute;ssal csatlakoztassuk ezeket. Ez
a be&aacute;ll&iacute;t&aacute;s megakad&aacute;lyozza, hogy
ezekben a
<firstterm>suid</firstterm>/<firstterm>guid</firstterm>
bitekkel rendelkez&#245; v&eacute;grehajthat&oacute;
&aacute;llom&aacute;nyok haszn&aacute;lhat&oacute;ak legyenek,
ez&aacute;ltal n&ouml;veli a rendszer
biztons&aacute;goss&aacute;g&aacute;t.</para>
</listitem>
<listitem>
<para>A &os; az &aacute;llom&aacute;nyrendszer
haszn&aacute;lat&aacute;t&oacute;l f&uuml;gg&#245;en
mag&aacute;t&oacute;l hat&aacute;roz a benne
tal&aacute;lhat&oacute; &aacute;llom&aacute;nyok
optim&aacute;lis kioszt&aacute;s&aacute;t illet&#245;en.
&Iacute;gy teh&aacute;t a gyakorta m&oacute;dos&iacute;tott,
kisebb &aacute;llom&aacute;nyokat tartalmaz&oacute;
&aacute;llom&aacute;nyrendszerek eset&eacute;n teljesen
m&aacute;s technik&aacute;kat alkalmaz, mint
p&eacute;ld&aacute;ul a nagyobb, kev&eacute;sb&eacute;
v&aacute;ltoz&oacute; &aacute;llom&aacute;nyok eset&eacute;n.
Azonban egyetlen &aacute;llom&aacute;nyrendszer
haszn&aacute;lat&aacute;val ez a gyors&iacute;t&aacute;si
m&oacute;dszer odav&eacute;sz.</para>
</listitem>
<listitem>
<para>Noha a &os; &aacute;llom&aacute;nyrendszerei nagyon
j&oacute;l t&#251;rik a hirtelen
&aacute;ramkimarad&aacute;sokat, egy d&ouml;nt&#245; ponton
bek&ouml;vetkez&#245; v&aacute;ratlan le&aacute;ll&aacute;s
m&eacute;gis k&aacute;rt okozhat a szerkezet&uuml;kben. Ha
azonban t&ouml;bb &aacute;llom&aacute;nyrendszerre osztjuk a
t&aacute;roland&oacute; adatainkat, sokkal
val&oacute;sz&iacute;n&#251;bb&eacute; v&aacute;lik, hogy egy
ilyen eset ut&aacute;n a rendszer&uuml;nk talpra tud
&aacute;llni, &eacute;s sz&uuml;ks&eacute;g eset&eacute;n
nek&uuml;nk is k&ouml;nnyebb lesz a biztons&aacute;gi
ment&eacute;seinkb&#245;l helyre&aacute;ll&iacute;tani a
s&eacute;r&uuml;lt &aacute;llom&aacute;nyokat.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Egyetlen &aacute;llom&aacute;nyrendszer
haszn&aacute;lat&aacute;nak el&#245;nyei</title>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszerek m&eacute;rete
r&ouml;gz&iacute;tett. Miut&aacute;n a &os;
telep&iacute;t&eacute;se sor&aacute;n l&eacute;trehoztunk
egy adott m&eacute;ret&#251;
&aacute;llom&aacute;nyrendszert, el&#245;fordulhat, hogy
k&eacute;s&#245;bb sz&uuml;ks&eacute;g&uuml;nk lesz a
m&eacute;ret&eacute;nek n&ouml;vel&eacute;s&eacute;re.
Ilyenkor nehezen ker&uuml;lhetj&uuml;k el az ilyenkor
szok&aacute;sos teend&#245;ket: biztons&aacute;gi
ment&eacute;s k&eacute;sz&iacute;t&eacute;se, az &uacute;j
m&eacute;retnek megfelel&#245;
&aacute;llom&aacute;nyrendszer l&eacute;trehoz&aacute;sa,
majd ezut&aacute;n a lementett adataink
vissza&aacute;ll&iacute;t&aacute;sa.</para>
<important>
<para>A &os;-ben azonban megtal&aacute;lhat&oacute; a
&man.growfs.8; parancs, amelynek
seg&iacute;ts&eacute;g&eacute;vel az
&aacute;llom&aacute;nyrendszerek m&eacute;rete
haszn&aacute;lat k&ouml;zben n&ouml;velhet&#245;,
&eacute;s ezzel megsz&#251;nik a m&eacute;retre
vonatkoz&oacute; korl&aacute;toz&aacute;s.</para>
</important>
</listitem>
</itemizedlist>
<para>Az &aacute;llom&aacute;nyrendszerek part&iacute;ci&oacute;kban
t&aacute;rol&oacute;dnak. A &os; &unix;-os eredete miatt azonban
ez a kifejez&eacute;s nem a h&eacute;tk&ouml;znapi
<quote>part&iacute;ci&oacute;</quote> jelent&eacute;s&eacute;t
takarja (mint p&eacute;ld&aacute;ul egy &ms-dos;
part&iacute;ci&oacute;). Minden part&iacute;ci&oacute;t egy
bet&#251; azonos&iacute;t <literal>a</literal>-t&oacute;l
<literal>h</literal>-ig. Mindegyik part&iacute;ci&oacute; csak
egyetlen &aacute;llom&aacute;nyrendszert tartalmazhat, aminek
r&eacute;v&eacute;n az &aacute;llom&aacute;nyrendszereket vagy az
&aacute;llom&aacute;nyrendszerek hierarchi&aacute;j&aacute;ban
tal&aacute;lhat&oacute; csatlakoz&aacute;si pontjukkal vagy pedig
az ezeket tartalmaz&oacute; part&iacute;ci&oacute;
bet&#251;j&eacute;vel azonos&iacute;thatjuk.</para>
<para>A &os; ezeken fel&uuml;l k&uuml;l&ouml;n lemezter&uuml;len
t&aacute;rolja a
<firstterm>lapoz&oacute;&aacute;llom&aacute;ny</firstterm>t (swap
space). A lapoz&oacute;&aacute;llom&aacute;nyt haszn&aacute;lja a
&os; <firstterm>virtu&aacute;lis mem&oacute;ria</firstterm>
(virtual memory) megval&oacute;s&iacute;t&aacute;s&aacute;hoz.
Ennek k&ouml;sz&ouml;nhet&#245;en a
sz&aacute;m&iacute;t&oacute;g&eacute;p k&eacute;pes &uacute;gy
viselkedni, mintha j&oacute;val t&ouml;bb mem&oacute;ri&aacute;val
rendelkezne, mint val&oacute;j&aacute;ban. &Iacute;gy, amikor a
&os; kifogy a mem&oacute;ri&aacute;b&oacute;l, egyszer&#251;en
kirakja a mem&oacute;ri&aacute;b&oacute;l a
lapoz&oacute;&aacute;llom&aacute;nyba az &eacute;ppen nem
haszn&aacute;lt adatokat, majd amikor ism&eacute;t
sz&uuml;ks&eacute;ge lesz r&aacute;juk, visszat&ouml;lti ezeket
(&eacute;s ilyenkor megint kirak valami m&aacute;st).</para>
<para>N&eacute;mely part&iacute;ci&oacute;hoz k&ouml;t&#245;dnek
bizonyos megszok&aacute;sok.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>Part&iacute;ci&oacute;</entry>
<entry>Megszok&aacute;s</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry><literal>a</literal></entry>
<entry>&Aacute;ltal&aacute;ban ez tartalmazza a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszert.</entry>
</row>
<row>
<entry><literal>b</literal></entry>
<entry>&Aacute;ltal&aacute;ban ez tartalmazza a
lapoz&oacute;&aacute;llom&aacute;nyt.</entry>
</row>
<row>
<entry><literal>c</literal></entry>
<entry>M&eacute;rete &aacute;ltal&aacute;ban a
tartalmaz&oacute; slice m&eacute;ret&eacute;vel egyezik
meg. Ennek k&ouml;sz&ouml;nhet&#245;en a
seg&eacute;dprogramok (p&eacute;ld&aacute;ul egy
hib&aacute;s szektorokat keres&#245; program) a
<literal>c</literal> part&iacute;ci&oacute;n
kereszt&uuml;l k&eacute;pesek ak&aacute;r az eg&eacute;sz
slice-szal dolgozni. Norm&aacute;lis esetben ezen a
part&iacute;ci&oacute;n nem hozunk l&eacute;tre
&aacute;llom&aacute;nyrendszert.</entry>
</row>
<row>
<entry><literal>d</literal></entry>
<entry>A <literal>d</literal> part&iacute;ci&oacute;hoz
egykoron kapcsol&oacute;dott k&uuml;l&ouml;nleges
jelent&eacute;s, azonban mostanra ez m&aacute;r
megsz&#251;nt, &eacute;s a <literal>d</literal> egy
teljesen &aacute;tlagos part&iacute;ci&oacute;nak
tekinthet&#245;.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Minden &aacute;llom&aacute;nyrendszert tartalmaz&oacute;
part&iacute;ci&oacute;t a &os; egy &uacute;n.
<firstterm>slice</firstterm>-ban t&aacute;rol. A &os;
sz&aacute;m&aacute;ra a slice elnevez&eacute;s utal mindarra, amit
&aacute;ltal&aacute;ban part&iacute;ci&oacute;nak neveznek,
&eacute;s ism&eacute;t megeml&iacute;tj&uuml;k, mindez a &unix;-os
eredet miatt. A slice-okat 1-t&#245;l 4-ig
sorsz&aacute;mozz&aacute;k.</para>
<indexterm><primary>slice-ok</primary></indexterm>
<indexterm><primary>part&iacute;ci&oacute;k</primary></indexterm>
<indexterm><primary>vesz&eacute;lyesen dedik&aacute;lt</primary></indexterm>
<para>A slice-ok sorsz&aacute;ma 1-t&#245;l indulva az
eszk&ouml;z&ouml;k neve ut&aacute;n egy <literal>s</literal>
bet&#251;vel elv&aacute;lasztva k&ouml;vetkezik. &Iacute;gy
teh&aacute;t a <quote>da0<emphasis>s1</emphasis></quote>
jelent&eacute;se az els&#245; slice lesz az els&#245;
SCSI-meghajt&oacute;n. Lemezenk&eacute;nt n&eacute;gy fizikai
slice hozhat&oacute; l&eacute;tre, de ezeken bel&uuml;l
tetsz&#245;leges t&iacute;pus&uacute; logikai slice-ok
helyezhet&#245;ek el. Ezen tov&aacute;bbi slice-ok
sorsz&aacute;moz&aacute;sa 5-t&#245;l kezd&#245;dik, &iacute;gy
ennek megfelel&#245;en a <quote>ad0<emphasis>s5</emphasis></quote>
lesz az els&#245; IDE-lemezen tal&aacute;lhat&oacute; els&#245;
kiterjesztett slice. Ezeket az eszk&ouml;z&ouml;ket
foglalj&aacute;k el a k&uuml;l&ouml;nb&ouml;z&#245;
&aacute;llom&aacute;nyrendszerek.</para>
<para>A slice-ok, a <quote>vesz&eacute;lyesen
dedik&aacute;lt</quote> (Dangerously Dedicated) fizikai
meghajt&oacute;k, &eacute;s minden m&aacute;s olyan
meghajt&oacute;, amely
<firstterm>part&iacute;ci&oacute;kat</firstterm> tartalmaz,
<literal>a</literal>-t&oacute;l <literal>h</literal>-ig
jel&ouml;l&#245;dnek. Ez a bet&#251; az eszk&ouml;z neve
ut&aacute;n k&ouml;vetkezik, &iacute;gy ennek megfelel&#245;en a
<quote>da0<emphasis>a</emphasis></quote> lesz az els&#245;
<quote>da</quote> meghajt&oacute; <quote>a</quote>, vagyis a
<quote>vesz&eacute;lyesen dedik&aacute;lt</quote>
part&iacute;ci&oacute;ja. Az
<quote>ad1s3<emphasis>e</emphasis></quote> lesz a m&aacute;sodik
IDE-lemezmeghajt&oacute;n a harmadik slice-ban szerepl&#245;
&ouml;t&ouml;dik part&iacute;ci&oacute;.</para>
<para>V&eacute;gezet&uuml;l, a rendszerben minden lemezt
azonos&iacute;tunk. A lemez neve a t&iacute;pus&aacute;ra
utal&oacute; k&oacute;ddal kezd&#245;dik, amely ut&aacute;n
azt&aacute;n egy sorsz&aacute;m jelzi, hogy melyik lemezr&#245;l
is van sz&oacute;. Azonban elt&eacute;r&#245;en a
slice-ok&eacute;t&oacute;l, a lemezek sorsz&aacute;moz&aacute;sa
0-t&oacute;l indul. Az &aacute;ltal&aacute;nosan elterjedt
k&oacute;dol&aacute;sok a <xref linkend="basics-dev-codes"/>ban
tal&aacute;lhat&oacute;ak.</para>
<para>Amikor hivatkozunk egy part&iacute;ci&oacute;ra, a &os;
elv&aacute;rja t&#245;l&uuml;nk, hogy nevezz&uuml;k meg az adott
part&iacute;ci&oacute;t tartalmaz&oacute; slice-ot &eacute;s
lemezt is. Emiatt egy part&iacute;ci&oacute;ra mindig &uacute;gy
hivatkozunk, hogy el&#245;sz&ouml;r megadjuk a tartalmaz&oacute;
lemez nev&eacute;t, ett&#245;l <literal>s</literal>-sel
elv&aacute;lasztva a tartalmaz&oacute; slice
sorsz&aacute;m&aacute;t, majd ezt a part&iacute;ci&oacute;
bet&#251;jel&eacute;vel z&aacute;rjuk. Erre
p&eacute;ld&aacute;kat a <xref
linkend="basics-disk-slice-part"/>ban l&aacute;thatunk.</para>
<para>Az &eacute;rhet&#245;s&eacute;g kedv&eacute;&eacute;rt a <xref
linkend="basics-concept-disk-model"/> bemutatja egy lemez
kioszt&aacute;s&aacute;nak fogalmi sablonj&aacute;t.</para>
<para>A &os; telep&iacute;t&eacute;s&eacute;hez el&#245;sz&ouml;r be
kell &aacute;ll&iacute;tani a lemezen tal&aacute;lhat&oacute;
slice-okat, majd l&eacute;trehozni benne a &os;-hez
haszn&aacute;lni k&iacute;v&aacute;nt part&iacute;ci&oacute;kat,
kialak&iacute;tani rajtuk az &aacute;llom&aacute;nyrendszereket
(vagy a lapoz&oacute;&aacute;llom&aacute;nyt) &eacute;s
eld&ouml;nteni, melyik &aacute;llom&aacute;nyrendszert
k&iacute;v&aacute;njuk csatlakoztatni.</para>
<table frame="none" pgwide="1" id="basics-dev-codes">
<title>Lemezes eszk&ouml;z&ouml;k k&oacute;djai</title>
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>K&oacute;d</entry>
<entry>Jelent&eacute;s</entry>
</row>
</thead>
<tbody>
<row>
<entry><devicename>ad</devicename></entry>
<entry>ATAPI (IDE) lemez</entry>
</row>
<row>
<entry><devicename>da</devicename></entry>
<entry>k&ouml;zvetlen hozz&aacute;f&eacute;r&eacute;s&#251;
SCSI lemez</entry>
</row>
<row>
<entry><devicename>acd</devicename></entry>
<entry>ATAPI (IDE) CDROM</entry>
</row>
<row>
<entry><devicename>cd</devicename></entry>
<entry>SCSI CDROM</entry>
</row>
<row>
<entry><devicename>fd</devicename></entry>
<entry>Floppylemez</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="basics-disk-slice-part">
<title>P&eacute;ld&aacute;k lemezek, slice-ok &eacute;s
part&iacute;ci&oacute;k neveire</title>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>N&eacute;v</entry>
<entry>Jelent&eacute;s</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>ad0s1a</literal></entry>
<entry>Az els&#245; IDE lemezen (<literal>ad0</literal>)
lev&#245; els&#245; slice (<literal>s1</literal>)
els&#245; part&iacute;ci&oacute;ja
(<literal>a</literal>).</entry>
</row>
<row>
<entry><literal>da1s2e</literal></entry>
<entry>A m&aacute;sodik SCSI-lemzen
(<literal>da1</literal>) lev&#245; m&aacute;sodik slice
(<literal>s2</literal>) &ouml;t&ouml;dik
part&iacute;ci&oacute;ja (<literal>e</literal>).</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
<example id="basics-concept-disk-model">
<title>Egy lemez kialak&iacute;t&aacute;s&aacute;nak
sablonja</title>
<para>Az &aacute;br&aacute;n a rendszerhez csatlakoztatott els&#245;
IDE-lemez l&aacute;that&oacute; a &os;
szemsz&ouml;g&eacute;b&#245;l. Tegy&uuml;k fel, hogy ez a lemez
4&nbsp;GB m&eacute;ret&#251; &eacute;s k&eacute;t,
egyenk&eacute;nt 2&nbsp;GB m&eacute;ret&#251; slice-ot (avagy
&ms-dos; part&iacute;ci&oacute;t) tartalmaz. Az els&#245; slice
egy &ms-dos; form&aacute;tum&uacute; lemezt foglal
mag&aacute;ban, a <devicename>C:</devicename> meghajt&oacute;t,
illetve a m&aacute;sodik slice egy telep&iacute;tett &os;-t
tartalmaz. Ebben a p&eacute;ld&aacute;ban a &os; h&aacute;rom
adatot &eacute;s egy lapoz&oacute;&aacute;llom&aacute;nyt
t&aacute;rol&oacute; part&iacute;ci&oacute;val
rendelkezik.</para>
<para>A h&aacute;rom part&iacute;ci&oacute; mindegyik&eacute;n
tal&aacute;lhatunk egy-egy &aacute;llom&aacute;nyrendszert. Az
<literal>a</literal> part&iacute;ci&oacute; lesz a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer, az
<literal>e</literal> lesz a rendszer&uuml;nkben a
<filename>/var</filename> &eacute;s az <literal>f</literal>
pedig a <filename>/usr</filename> k&ouml;nyvt&aacute;r.</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/disk-layout" format="EPS"/>
</imageobject>
<textobject>
<literallayout class="monospaced">.-----------------. --.
| | |
| DOS / Windows | |
: : &gt; Els&#245; slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | a part&iacute;ci&oacute;, / |
| | &gt; ad0s2a n&eacute;ven hivatkozzuk |
| | | |
:-----------------: ==: |
| | | b part&iacute;ci&oacute;, lapoz&oacute;&aacute;llom&aacute;ny |
| | &gt; ad0s2b n&eacute;ven hivatkozzuk |
| | | |
:-----------------: ==: | c part&iacute;ci&oacute;, nincs
| | | e part&iacute;ci&oacute;, /var &gt; &aacute;llom&aacute;nyrendszer, az eg&eacute;sz
| | &gt; ad0s2e n&eacute;ven hivatkozzuk | &os; slice,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | f part&iacute;ci&oacute;, /usr |
: : &gt; ad0s2f n&eacute;ven hivatkozzuk |
: : | |
| | | |
| | --' |
`-----------------' --'</literallayout>
</textobject>
</mediaobject>
</example>
</sect1>
<sect1 id="mount-unmount">
<title>&Aacute;llom&aacute;nyrendszerek csatlakoztat&aacute;sa
&eacute;s lev&aacute;laszt&aacute;sa</title>
<para>Az &aacute;llom&aacute;nyrendszereket legk&ouml;nnyebben
egy-egy fak&eacute;nt tudjuk magunk el&#245;tt elk&eacute;pzelni,
amelyek a <filename>/</filename> k&ouml;nyvt&aacute;rb&oacute;l
n&#245;nek ki. A <filename>/dev</filename>,
<filename>/usr</filename> &eacute;s mellett&uuml;k szerepl&#245;,
hozz&aacute;juk hasonl&oacute; &ouml;sszes t&ouml;bbi
k&ouml;nyvt&aacute;r csup&aacute;n egy-egy &aacute;g, amelyeknek
saj&aacute;t &aacute;gaik is lehetnek, mint p&eacute;ld&aacute;ul
a <filename>/usr/local</filename> &eacute;s &iacute;gy
tov&aacute;bb.</para>
<indexterm><primary>gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer</primary></indexterm>
<para>K&uuml;l&ouml;nf&eacute;le okai vannak annak, hogy egyes
k&ouml;nyvt&aacute;rakat k&uuml;l&ouml;n&aacute;ll&oacute;
&aacute;llom&aacute;nyrendszereken t&aacute;rolunk. A
<filename>/var</filename> k&ouml;nyvt&aacute;r tartalmazza a
<filename>log/</filename>, <filename>spool/</filename>
k&ouml;nyvt&aacute;rakat &eacute;s k&uuml;l&ouml;nf&eacute;le
&aacute;tmeneti &aacute;llom&aacute;nyokat, azonban az ilyen
&aacute;llom&aacute;nyok k&ouml;nnyen megszaporodhatnak &eacute;s
megt&ouml;lthetik az &aacute;llom&aacute;nyrendszert. Mivel a
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszert nem
tan&aacute;csos el&aacute;rasztani mindenf&eacute;le
&aacute;llom&aacute;nnyal, ez&eacute;rt gyakran a hasznunkra
v&aacute;lhat, ha a <filename>/var</filename>
k&ouml;nyvt&aacute;rat lev&aacute;lasztjuk a
<filename>/</filename> k&ouml;nyvt&aacute;rb&oacute;l.</para>
<para>A m&aacute;sik gyakori ok, ami az im&eacute;nt eml&iacute;tett
fa egyes &aacute;gainak k&uuml;l&ouml;nb&ouml;z&#245;
&aacute;llom&aacute;nyrendszereken t&ouml;rt&eacute;n&#245;
t&aacute;rol&aacute;s&aacute;t indokolja, hogy ezek gyakran
m&aacute;s fizikai vagy virtu&aacute;lis lemezeken,
p&eacute;ld&aacute;ul a rendszerhez csatlakoztatott <link
linkend="network-nfs">H&aacute;l&oacute;zati
&aacute;llom&aacute;nyrendszer</link>eken vagy &eacute;ppen
CD-meghajt&oacute;kon tal&aacute;lhat&oacute;ak.</para>
<sect2 id="disks-fstab">
<title>Az <filename>fstab</filename>
&aacute;llom&aacute;ny</title>
<indexterm>
<primary>&aacute;llom&aacute;nyrendszerek</primary>
<secondary>csatlakoztat&aacute;s az fstab
&aacute;llom&aacute;nnyal</secondary>
</indexterm>
<para>A <link linkend="boot">rendszerind&iacute;t&aacute;s
folyamata</link> sor&aacute;n az <filename>/etc/fstab</filename>
&aacute;llom&aacute;nyban felsorolt
&aacute;llom&aacute;nyrendszerek magukt&oacute;l ker&uuml;lnek
csatlakoztat&aacute;sra (kiv&eacute;ve amikor a
<option>noauto</option> be&aacute;ll&iacute;t&aacute;ssal
szerepelnek).</para>
<para>Az <filename>/etc/fstab</filename> &aacute;llom&aacute;nyban
tal&aacute;lhat&oacute; sorok az al&aacute;bbi
szerkezet&#251;ek:</para>
<programlisting><replaceable>eszk&ouml;z</replaceable> <replaceable>/csatlakoz&aacute;si-pont</replaceable> <replaceable>t&iacute;pus</replaceable> <replaceable>be&aacute;ll&iacute;t&aacute;sok</replaceable> <replaceable>ment&eacute;sigyak</replaceable> <replaceable>ellsz&aacute;m</replaceable></programlisting>
<variablelist>
<varlistentry>
<term><literal>eszk&ouml;z</literal></term>
<listitem>
<para>A <xref linkend="disks-naming"/>ban le&iacute;rtak
szerint megnevezett (l&eacute;tez&#245;)
eszk&ouml;z.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>csatlakoz&aacute;si-pont</literal></term>
<listitem>
<para>Egy (l&eacute;tez&#245;) k&ouml;nyvt&aacute;r, ahova
az &aacute;llom&aacute;nyrendszer csatlakozik.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>t&iacute;pus</literal></term>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszer &man.mount.8;
parancs szerint ismert t&iacute;pusa. A &os;
alap&eacute;rtelmezett &aacute;llom&aacute;nyrendszere az
<literal>ufs</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>be&aacute;ll&iacute;t&aacute;sok</literal></term>
<listitem>
<para>Az &iacute;rhat&oacute;-olvashat&oacute;
&aacute;llom&aacute;nyrendszerek eset&eacute;n
<option>rw</option>, az &iacute;r&aacute;sv&eacute;dettek
eset&eacute;n pedig <option>ro</option>, amelyet
ig&eacute;ny szerint tov&aacute;bbi
be&aacute;ll&iacute;t&aacute;sok k&ouml;vethetnek. A
rendszerind&iacute;t&aacute;s sor&aacute;n automatikusan
nem csatlakoztatand&oacute;
&aacute;llom&aacute;nyrendszerek eset&eacute;n gyakran
alkalmazott be&aacute;ll&iacute;t&aacute;s itt m&eacute;g
a <option>noauto</option>. Egy&eacute;b
lehet&#245;s&eacute;geket a &man.mount.8; man oldalon
l&aacute;thatunk.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ment&eacute;sigyak</literal></term>
<listitem>
<para>Ezt &aacute;ltal&aacute;ban a &man.dump.8; parancs
haszn&aacute;lja a menteni sz&uuml;ks&eacute;ges
&aacute;llom&aacute;nyrendszerek
meg&aacute;llap&iacute;t&aacute;s&aacute;hoz. Amennyiben
hi&aacute;nyzik ez a mez&#245;, az automatikusan a nulla
&eacute;rt&eacute;ket jel&ouml;li.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ellsz&aacute;m</literal></term>
<listitem>
<para>Megadja, hogy mely &aacute;llom&aacute;nyrendszereket
kell ellen&#245;rizni. A null&aacute;s
<literal>pass</literal> &eacute;rt&eacute;kkel
rendelkez&#245; &aacute;llom&aacute;nyrendszerek nem
ker&uuml;lnek ellen&#245;rz&eacute;sre. A
gy&ouml;k&eacute;r-&aacute;llom&aacute;nyrendszer (melyet
minden m&aacute;s el&#245;tt kell ellen&#245;rizni)
<literal>passno</literal> &eacute;rt&eacute;ke egy,
m&iacute;g az &ouml;sszes t&ouml;bbi
&aacute;llom&aacute;nyrendszer <literal>passno</literal>
&eacute;rt&eacute;ke &aacute;ltal&aacute;ban egyt&#245;l
k&uuml;l&ouml;nb&ouml;z&#245;. Ha egyn&eacute;l t&ouml;bb
&aacute;llom&aacute;nyrendszer is ugyanazt a
<literal>passno</literal> &eacute;rt&eacute;ket kapta,
akkor az &man.fsck.8; a lehet&#245;s&eacute;gei szerint
megpr&oacute;b&aacute;lja ezeket egyszerre
ellen&#245;rizni.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Az <filename>/etc/fstab</filename>
fel&eacute;p&iacute;t&eacute;s&eacute;r&#245;l &eacute;s a benne
haszn&aacute;lhat&oacute;
be&aacute;ll&iacute;t&aacute;sokr&oacute;l b&#245;vebben a
&man.fstab.5; man oldalon olvashatunk.</para>
</sect2>
<sect2 id="disks-mount">
<title>A <command>mount</command> parancs</title>
<indexterm>
<primary>&aacute;llom&aacute;nyrendszerek</primary>
<secondary>csatlakoztat&aacute;s</secondary>
</indexterm>
<para>Az &aacute;llom&aacute;nyrendszerek t&eacute;nyleges
csatlakoztat&aacute;s&aacute;ra avagy
<quote>mountol&aacute;s&aacute;ra</quote> a &man.mount.8;
parancs haszn&aacute;lhat&oacute;.</para>
<para>Legegyszer&#251;bb form&aacute;ja:</para>
<informalexample>
<screen>&prompt.root; <userinput>mount <replaceable>eszk&ouml;z</replaceable> <replaceable>csatlakoz&aacute;si-pont</replaceable></userinput></screen>
</informalexample>
<para>Ahogy a &man.mount.8; man oldal&aacute;n is olvashatjuk, itt
rengeteg opci&oacute; is megadhat&oacute;, de ezek
k&ouml;z&uuml;l a leggyakoribbak:</para>
<variablelist>
<title>Csatlakoztat&aacute;si opci&oacute;k</title>
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>Csatlakoztatja az <filename>/etc/fstab</filename>
&aacute;llom&aacute;nyban felsorolt &ouml;sszes
&aacute;llom&aacute;nyrendszert, kiv&eacute;ve azokat,
amelyek a <quote>noauto</quote>
be&aacute;ll&iacute;t&aacute;st tartalmazz&aacute;k, vagy
kiz&aacute;rtuk a <option>-t</option> kapcsol&oacute;val,
esetleg kor&aacute;bban m&aacute;r csatlakoztattuk.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-d</option></term>
<listitem>
<para>A t&eacute;nyleges csatlakoztat&aacute;s
elv&eacute;gz&eacute;se n&eacute;lk&uuml;l
v&eacute;grehajt minden m&aacute;st. Ez az opci&oacute;
legink&aacute;bb <option>-v</option> opci&oacute;val
egy&uuml;tt haszn&aacute;lhat&oacute; annak
meg&aacute;llap&iacute;t&aacute;s&aacute;ra, hogy a
&man.mount.8; val&oacute;j&aacute;ban mit is akar
csin&aacute;lni.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-f</option></term>
<listitem>
<para>Egy nem tiszta &aacute;llom&aacute;nyrendszer
csatlakoztat&aacute;s&aacute;nak
k&eacute;nyszer&iacute;t&eacute;se (vesz&eacute;lyes!)
vagy egy kor&aacute;bban m&aacute;r csatlakoztatott
&aacute;llom&aacute;nyrendszer &iacute;rhat&oacute;
&aacute;llapot&aacute;nak
felf&uuml;ggeszt&eacute;se.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszer
&iacute;r&aacute;sv&eacute;dett csatlakoztat&aacute;sa.
Megegyezik a <option>-o</option> opci&oacute;n&aacute;l
megadhat&oacute; <option>ro</option> (vagy a &os;
5.2-n&eacute;l r&eacute;gebbi verzi&oacute;ja
eset&eacute;n a <option>rdonly</option>)
be&aacute;ll&iacute;t&aacute;s
haszn&aacute;lat&aacute;val.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-t</option>
<replaceable>t&iacute;pus</replaceable></term>
<listitem>
<para>Az adott &aacute;llom&aacute;nyrendszert az adott
t&iacute;pusnak megfelel&#245;en csatlakoztatja, vagy az
<option>-a</option> haszn&aacute;lata eset&eacute;n csak
az adott t&iacute;pus&uacute;
&aacute;llom&aacute;nyrendszereket.</para>
<para>Az <quote>ufs</quote> az
&aacute;llom&aacute;nyrendszerek alap&eacute;rtelmezett
t&iacute;pusa.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem>
<para>Friss&iacute;ti az &aacute;llom&aacute;nyrendszerre
vonatkoz&oacute; csatlakoztat&aacute;si
be&aacute;ll&iacute;t&aacute;sokat.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>R&eacute;szletesebb kijelz&eacute;s.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-w</option></term>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszer
csatlakoztat&aacute;sa &iacute;r&aacute;sra &eacute;s
olvas&aacute;sra.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Az <option>-o</option> opci&oacute; ut&aacute;n
vessz&#245;vel elv&aacute;lasztott
be&aacute;ll&iacute;t&aacute;sokat adhatunk meg, t&ouml;bbek
k&ouml;zt az al&aacute;bbiakat:</para>
<variablelist>
<varlistentry>
<term>noexec</term>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszeren
tal&aacute;lhat&oacute; &aacute;llom&aacute;nyok
v&eacute;grehajt&aacute;s&aacute;nak tilt&aacute;sa. Ez
egy nagyon hasznos biztons&aacute;gi
be&aacute;ll&iacute;t&aacute;s.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>nosuid</term>
<listitem>
<para>Az &aacute;llom&aacute;nyrendszeren nem
haszn&aacute;lhat&oacute;ak a felhaszn&aacute;l&oacute;-
(setuid) vagy csoportv&aacute;lt&aacute;sra (setgid)
vonatkoz&oacute; enged&eacute;lyek. Nagyon hasznos
biztons&aacute;gi be&aacute;ll&iacute;t&aacute;s.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="disks-umount">
<title>Az <command>umount</command> parancs</title>
<indexterm>
<primary>&aacute;llom&aacute;nyrendszerek</primary>
<secondary>lev&aacute;laszt&aacute;s</secondary>
</indexterm>
<para>Az &man.umount.8; parancs param&eacute;terk&eacute;nt egy
csatlakoz&aacute;si pontot, egy eszk&ouml;znevet vagy a
<option>-a</option>, illetve az <option>-A</option>
opci&oacute;kat v&aacute;rja.</para>
<para>A lev&aacute;laszt&aacute;s
k&eacute;nyszer&iacute;t&eacute;s&eacute;hez mindegyik alakban
szerepelhet az <option>-f</option> opci&oacute;, valamint a
r&eacute;szletesebb kijelz&eacute;st a <option>-v</option>
opci&oacute;val kapcsolhatjuk be. Azonban szeretn&eacute;nk
mindenkit figyelmeztetni, hogy a <option>-f</option>
haszn&aacute;lata alapvet&#245;en nem aj&aacute;nlott. Az
er&#245;szakkal lev&aacute;lasztott
&aacute;llom&aacute;nyrendszerek &ouml;sszeomlaszthatj&aacute;k
a sz&aacute;m&iacute;t&oacute;g&eacute;pet vagy k&aacute;rt
okozhatnak az &aacute;llom&aacute;nyrendszereken
tal&aacute;lhat&oacute; adatokban.</para>
<para>Az <option>-a</option> &eacute;s <option>-A</option>
opci&oacute;k haszn&aacute;latosak az &ouml;sszes
csatlakoztatott &aacute;llom&aacute;nyrendszer
lev&aacute;laszt&aacute;s&aacute;ra, amelyek t&iacute;pusait a
<option>-t</option> opci&oacute; megad&aacute;sa ut&aacute;n
sorolhatjuk fel. Fontos k&uuml;l&ouml;nbs&eacute;g azonban,
hogy az <option>-A</option> opci&oacute; a gy&ouml;k&eacute;r
&aacute;llom&aacute;nyrendszert nem pr&oacute;b&aacute;lja meg
lev&aacute;lasztani.</para>
</sect2>
</sect1>
<sect1 id="basics-processes">
<title>Folyamatok</title>
<para>A &os; egy t&ouml;bbfeladatos oper&aacute;ci&oacute;s
rendszer. Ez azt jelenti, hogy k&eacute;pes
l&aacute;tsz&oacute;lag egyszerre t&ouml;bb programot is futtatni.
Az &iacute;gy egyszerre fut&oacute; programokat egyenk&eacute;nt
<firstterm>folyamat</firstterm>oknak (process) nevezz&uuml;k.
Minden kiadott parancsunk elind&iacute;t legal&aacute;bb egy ilyen
folyamatot, &eacute;s a rendszer&uuml;nk mozg&aacute;sban
tart&aacute;s&aacute;hoz bizonyos rendszerszint&#251; folyamatok
&aacute;lland&oacute;an futnak a h&aacute;tt&eacute;rben.</para>
<para>Minden folyamatot egy
<firstterm>folyamatazonos&iacute;t&oacute;</firstterm>nak (process
ID vagy <firstterm>PID</firstterm>) nevezett sz&aacute;m
azonos&iacute;t egy&eacute;rtelm&#251;en, &eacute;s az
&aacute;llom&aacute;nyokhoz hasonl&oacute;an, minden folyamatnak
van tulajdonosa &eacute;s csoportja is. A tulajdonos &eacute;s a
csoport ismeret&eacute;ben &aacute;llap&iacute;tja meg a rendszer,
hogy az adott folyamat a kor&aacute;bban eml&iacute;tett
enged&eacute;lyek szerint milyen &aacute;llom&aacute;nyokhoz
&eacute;s eszk&ouml;z&ouml;kh&ouml;z f&eacute;rhet hozz&aacute;.
Ezenk&iacute;v&uuml;l a legt&ouml;bb folyamatnak van m&eacute;g
egy sz&uuml;l&#245;folyamata is. A sz&uuml;l&#245;folyamat az a
folyamat, amely az adott folyamatot elind&iacute;totta.
P&eacute;ld&aacute;ul amikor parancsokat adunk egy
parancs&eacute;rtelmez&#245;n kereszt&uuml;l, akkor maga a
parancs&eacute;rtelmez&#245; is egy ilyen folyamat lesz
ugyan&uacute;gy, ahogy a benne kiadott parancsok &aacute;ltal
elind&iacute;tott programok. Ennek megfelel&#245;en az &iacute;gy
l&eacute;trehozott &ouml;sszes folyamat sz&uuml;l&#245;je maga a
parancs&eacute;rtelmez&#245; folyamata lesz. Az eml&iacute;tettek
al&oacute;l egyik kiv&eacute;tel az &man.init.8; nev&#251;
speci&aacute;lis folyamat. Az <command>init</command> lesz a
rendszerben mindig az els&#245; folyamat, ez&eacute;rt a PID-je is
mindig 1. Az <command>init</command> programot a &os;
indul&aacute;sakor a rendszermag fogja automatikusan
elind&iacute;tani.</para>
<para>A rendszerben fut&oacute; programok
vizsg&aacute;lat&aacute;hoz k&eacute;t, k&uuml;l&ouml;n&ouml;sen
hasznos parancsot tal&aacute;lhatunk: ezek a &man.ps.1; &eacute;s
a &man.top.1;. A <command>ps</command> parancs haszn&aacute;latos
a pillanatnyilag fut&oacute; programok statikus
list&aacute;j&aacute;nak megjelen&iacute;t&eacute;s&eacute;re.
Ebben olvashatjuk a fut&oacute; programok
azonos&iacute;t&oacute;it, mennyi mem&oacute;ri&aacute;t
haszn&aacute;lnak &eacute;ppen, milyen paranccsal
ind&iacute;tott&aacute;k ezeket stb. A <command>top</command>
parancs mutatja az &ouml;sszes akt&iacute;van fut&oacute;
programot, majd n&eacute;h&aacute;ny m&aacute;sodpercenk&eacute;nt
automatikusan friss&iacute;ti ezt a list&aacute;t, aminek
r&eacute;v&eacute;n folyamatosan l&aacute;thatjuk, mik&eacute;nt
viselkednek a fut&oacute; programok.</para>
<para>A <command>ps</command> alap&eacute;rtelmez&eacute;s szerint
csup&aacute;n az &aacute;ltalunk futtatott programokat mutatja.
P&eacute;ld&aacute;ul:</para>
<screen>&prompt.user; <userinput>ps</userinput>
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen>
<para>Ahogy az a fenti p&eacute;ld&aacute;ban is l&aacute;tszik, a
&man.ps.1; kimenete oszlopokra tagolhat&oacute;. Ezek
k&ouml;z&uuml;l a <literal>PID</literal> tartalmazza a
kor&aacute;bban m&aacute;r ismertetett
folyamatazonos&iacute;t&oacute;kat. Az azonos&iacute;t&oacute;k
1-t&#245;l indulva eg&eacute;szen 99999-ig
sorsz&aacute;moz&oacute;dhatnak, illetve ha kifutn&aacute;nk
bel&#245;l&uuml;k, akkor a sz&aacute;moz&aacute;s kezd&#245;dik
el&ouml;lr&#245;l (azonban a haszn&aacute;latban lev&#245;
azonos&iacute;t&oacute;k sosem ker&uuml;lnek &uacute;jra
kioszt&aacute;sra). A <literal>TT</literal> oszlopban
l&aacute;thatjuk azt a termin&aacute;lt, amelyen az adott program
&eacute;ppen fut, de ezt pillanatnyilag ak&aacute;r nyugodtan
figyelmen k&iacute;v&uuml;l is hagyhatjuk. A
<literal>STAT</literal> oszlopban a program
&aacute;llapot&aacute;t kapjuk meg, de szint&eacute;n
&aacute;tugorhat&oacute;. A <literal>TIME</literal> a program
processzoron elt&ouml;lt&ouml;tt idej&eacute;t mutatja &mdash; ez
&aacute;ltal&aacute;ban nem arra utal, hogy mennyi ideje fut maga
a program, hiszen a legt&ouml;bb program sok id&#245;t t&ouml;lt
t&eacute;tlen&uuml;l, miel&#245;tt egy&aacute;ltal&aacute;n
sz&uuml;ks&eacute;ge lenne processzora. V&eacute;gezet&uuml;l a
<literal>COMMAND</literal> oszlopban olvashatjuk azt a parancsot,
amellyel a programot elind&iacute;tott&aacute;k.</para>
<para>A &man.ps.1; sz&aacute;mos k&uuml;l&ouml;nf&eacute;le
be&aacute;ll&iacute;t&aacute;st ismer az &aacute;ltala
megjelen&iacute;tett inform&aacute;ci&oacute;k
megv&aacute;laszt&aacute;s&aacute;hoz. Az egyik ilyen
leghasznosabb be&aacute;ll&iacute;t&aacute;s az
<literal>auxww</literal>: az <option>a</option>
seg&iacute;ts&eacute;g&eacute;vel az &ouml;sszes fut&oacute;
programot l&aacute;thatjuk, nem csak a saj&aacute;tjainkat; az
<option>u</option> megad&aacute;s&aacute;val
l&aacute;that&oacute;v&aacute; v&aacute;lik a folyamat
tulajdonos&aacute;nak a felhaszn&aacute;l&oacute;i neve, valamint
a mem&oacute;riahaszn&aacute;lata is; az <option>x</option>
megmutatja a d&eacute;mon (avagy h&aacute;tt&eacute;r)folyamatok
adatait is &eacute;s a <option>ww</option> hat&aacute;s&aacute;ra
pedig a &man.ps.1; az &ouml;sszes folyamathoz a teljes parancssort
ki&iacute;rja, m&eacute;g akkor is, ha nem f&eacute;rne ki a
k&eacute;perny&#245;re.</para>
<para>A &man.top.1; kimenete is hasonl&oacute;. Ha
elind&iacute;tjuk, &aacute;ltal&aacute;ban ezt
l&aacute;thatjuk:</para>
<screen>&prompt.user; <userinput>top</userinput>
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...</screen>
<para>A kimenet k&eacute;t r&eacute;szre oszthat&oacute;. A
fejl&eacute;cben (vagyis az els&#245; &ouml;t sorban)
l&aacute;that&oacute; az utolj&aacute;ra futtatott program
azonos&iacute;t&oacute;ja (PID), a rendszer &aacute;tlagos
terhel&eacute;se (load average, amellyel m&eacute;rj&uuml;k, hogy
a rendszer&uuml;nk mennyire lefoglalt), a rendszer
ind&iacute;t&aacute;sa &oacute;ta eltelt id&#245; (up mint uptime)
&eacute;s a jelenlegi id&#245;. A fejl&eacute;cben m&eacute;g
megtal&aacute;lhatjuk azt is, mennyi program fut (eset&uuml;nkben
ez most 47), mennyi mem&oacute;ri&aacute;t &eacute;s
lapoz&oacute;&aacute;llom&aacute;nyt haszn&aacute;lnak, &eacute;s
mennyi id&#245;t t&ouml;lt a rendszer a processzor
k&uuml;l&ouml;nb&ouml;z&#245; &aacute;llapotaiban.</para>
<para>A fejl&eacute;c alatt a &man.ps.1; kimenet&eacute;hez
hasonl&oacute; m&oacute;don oszlopokba rendezve tal&aacute;lhatjuk
meg a folyamatok adatait: az azonos&iacute;t&oacute;ikat, a
tulajdonosaik nev&eacute;t, a felhaszn&aacute;lt
processzorid&#245;t, a futtatott parancsot. A &man.top.1;
alap&eacute;rtelmez&eacute;s szerint mutatja a fut&oacute;
programok &aacute;ltal haszn&aacute;lt mem&oacute;ria
mennyis&eacute;g&eacute;t is: ez tov&aacute;bbi k&eacute;t
oszlopra oszlik, ahol az egyikben a teljes
mem&oacute;riafoglal&aacute;st (SIZE), a m&aacute;sikban pedig a
jelen pillanatban akt&iacute;van haszn&aacute;lt
mem&oacute;ri&aacute;t (RES) l&aacute;thatjuk. A
p&eacute;ld&aacute;ban l&aacute;that&oacute; is, hogy a
<application>&netscape;</application> (navigator-linu)
alkalmaz&aacute;snak majdnem 30&nbsp;MB-nyi
mem&oacute;ri&aacute;ra van sz&uuml;ks&eacute;ge, de ebb&#245;l
akt&iacute;van csak 9&nbsp;MB-ot haszn&aacute;l.</para>
<para>A &man.top.1; a kijelz&eacute;st minden m&aacute;sodik
m&aacute;sodpercben mag&aacute;t&oacute;l friss&iacute;ti, de ez
az <option>s</option> kapcsol&oacute;val
&aacute;ll&iacute;that&oacute;.</para>
</sect1>
<sect1 id="basics-daemons">
<title>D&eacute;monok, jelz&eacute;sek &eacute;s a fut&oacute;
programok le&aacute;ll&iacute;t&aacute;sa</title>
<para>Amikor elind&iacute;tunk egy sz&ouml;vegszerkeszt&#245;t, nem
sok gondunk akad az ir&aacute;ny&iacute;t&aacute;s&aacute;val,
k&ouml;nnyen utas&iacute;thatjuk az &aacute;llom&aacute;nyok
bet&ouml;lt&eacute;s&eacute;re &eacute;s &iacute;gy tov&aacute;bb.
Mindezt az&eacute;rt tehetj&uuml;k meg, mert a
sz&ouml;vegszerkeszt&#245; erre lehet&#245;s&eacute;get
biztos&iacute;t &eacute;s mivel a sz&ouml;vegszerkeszt&#245; egy
<firstterm>termin&aacute;l</firstterm>hoz kapcsol&oacute;dik.
Egyes programok azonban nem &uacute;gy lettek kialak&iacute;tva,
hogy &aacute;lland&oacute;an a felhaszn&aacute;l&oacute;
utas&iacute;t&aacute;saira t&aacute;maszkodjanak, ez&eacute;rt az
els&#245; adand&oacute; alkalommal lekapcsol&oacute;dnak a
termin&aacute;lr&oacute;l. P&eacute;ld&aacute;ul egy webszerver
eg&eacute;sz nap csak webes k&eacute;r&eacute;seket
v&aacute;laszol meg, &eacute;s &aacute;ltal&aacute;ban semmi
sz&uuml;ks&eacute;ge nincs a felhaszn&aacute;l&oacute;k
utas&iacute;t&aacute;saira. A szerverek k&ouml;z&ouml;tt
leveleket k&ouml;zvet&iacute;t&#245; programok is ugyanezen
oszt&aacute;lyba tartoznak.</para>
<para>Ezeket a programokat
<firstterm>d&eacute;mon</firstterm>onoknak h&iacute;vjuk. A
d&eacute;monok a g&ouml;r&ouml;g mitol&oacute;gi&aacute;ban
jelentek meg: sem a j&oacute;t, sem pedig a gonoszt nem
k&eacute;pviselt&eacute;k, egyszer&#251; apr&oacute;
szellemecsk&eacute;k voltak, akik az emberis&eacute;g jav&aacute;t
szolg&aacute;lt&aacute;k, pontosan &uacute;gy, ahogy ma teszik azt
a k&uuml;l&ouml;nf&eacute;le web- &eacute;s levelez&#245;
szerverek. Ez&eacute;rt is &aacute;br&aacute;zolt&aacute;k
sok&aacute;ig a BSD kabalafigur&aacute;j&aacute;t is egy
tornacip&#245;s, vasvill&aacute;s vid&aacute;m
d&eacute;monk&eacute;nt.</para>
<para>A d&eacute;monk&eacute;nt fut&oacute; programok nev&eacute;hez
a hagyom&aacute;nyok szerint hozz&aacute; szokt&aacute;k
f&#251;zni a <quote>d</quote> bet&#251;t. A
<application>BIND</application> a Berkeley Internet Name Domain
(n&eacute;vfelold&oacute;) szolg&aacute;ltat&aacute;sa, azonban a
hozz&aacute; tartoz&oacute; program neve <command>named</command>,
az <application>Apache</application> webszerver programj&aacute;t
<command>httpd</command>-nek nevezik, a sornyomtat&oacute;
kezel&eacute;s&eacute;&eacute;rt felel&#245;s d&eacute;mon pedig
az <command>lpd</command> &eacute;s &iacute;gy tov&aacute;bb. Ez
csup&aacute;n egy hagyom&aacute;ny, megszok&aacute;s, nem pedig
egy k&#245;be v&eacute;sett szab&aacute;ly: p&eacute;ld&aacute;ul
a <application>Sendmail</application> levelez&#245;
d&eacute;mon&aacute;nak neve <command>sendmail</command> &eacute;s
nem pedig <command>maild</command>.</para>
<para>N&eacute;ha az&eacute;rt sz&uuml;ks&eacute;g&uuml;nk lehet
arra, hogy felvegy&uuml;k valahogy a kapcsolatot a
d&eacute;monk&eacute;nt fut&oacute; programokkal is. Ennek egyik
lehets&eacute;ges m&oacute;dja a
<firstterm>jelz&eacute;s</firstterm>ek (signal)
k&uuml;ld&eacute;se (de alapvet&#245;en b&aacute;rmilyen
fut&oacute; programnak k&uuml;ldhet&uuml;nk). T&ouml;bb
k&uuml;l&ouml;nf&eacute;le jelz&eacute;s k&uuml;ldhet&#245;
&mdash; egyeseknek k&ouml;z&uuml;l&uuml;k
megk&uuml;l&ouml;nb&ouml;ztetett jelent&eacute;se van,
m&aacute;sokat magukat az alkalmaz&aacute;sok &eacute;rtelmeznek,
amelyr&#245;l a dokument&aacute;ci&oacute;jukban
t&aacute;j&eacute;koz&oacute;dhatunk. A &man.kill.1; vagy
&man.kill.2; paranccsal m&aacute;s tulajdon&aacute;ban lev&#245;
fut&oacute; programoknak nem tudunk jelz&eacute;seket
k&uuml;ldeni, ami al&oacute;l egyed&uuml;li kiv&eacute;tel a
<username>root</username> felhaszn&aacute;l&oacute;.</para>
<para>Bizonyos esetekben a &os; maga is k&uuml;ld n&eacute;ha
jelz&eacute;seket. Amikor egy alkalmaz&aacute;st rosszul
programoznak le &eacute;s megpr&oacute;b&aacute;l egy
sz&aacute;m&aacute;ra tiltott mem&oacute;riater&uuml;lethez
hozz&aacute;f&eacute;rni, a &os; k&uuml;ld neki egy
<firstterm>Segmentation Violation</firstterm>
(<literal>SIGSEGV</literal>, szegment&aacute;l&aacute;si hiba)
jelz&eacute;st. Ha egy alkalmaz&aacute;s az &man.alarm.3;
rendszerh&iacute;v&aacute;son kereszt&uuml;l k&eacute;r egy adott
id&#245; ut&aacute;ni bek&ouml;vetkez&#245;
&eacute;rtes&iacute;t&eacute;st, akkor kap err&#245;l egy Alarm
(<literal>SIGALRM</literal>) jelz&eacute;st &eacute;s &iacute;gy
tov&aacute;bb.</para>
<para>A folyamatok le&aacute;ll&iacute;t&aacute;s&aacute;ra
k&eacute;t jelz&eacute;s haszn&aacute;lhat&oacute;: a
<literal>SIGTERM</literal> (befejeztet&eacute;s) &eacute;s a
<literal>SIGKILL</literal> (le&aacute;ll&iacute;t&aacute;s). A
<literal>SIGTERM</literal> a folyamatok
le&aacute;ll&iacute;t&aacute;s&aacute;nak illedelmes m&oacute;dja,
mivel ekkor a fut&oacute; program k&eacute;pes
<emphasis>elkapni</emphasis> ezt a jelz&eacute;st &eacute;s
&eacute;szrevenni, hogy le akarjuk &aacute;ll&iacute;tani.
Ilyenkor a le&aacute;ll&iacute;t&aacute;s el&#245;tt
lehet&#245;s&eacute;ge van szab&aacute;lyosan lez&aacute;rni a
napl&oacute;it &eacute;s &aacute;ltal&aacute;noss&aacute;gban
v&eacute;ve befejezni mindent, amit &eacute;ppen csin&aacute;l.
El&#245;fordulhat azonban, hogy a folyamatok figyelmen
k&iacute;v&uuml;l hagyj&aacute;k a <literal>SIGTERM</literal>
jelz&eacute;st, ha p&eacute;ld&aacute;ul &eacute;ppen egy
f&eacute;lbeszak&iacute;thatatlan feladat k&ouml;zep&eacute;n
tartanak.</para>
<para>A <literal>SIGKILL</literal> jelz&eacute;st azonban egyetlen
fut&oacute; program sem hagyhatja figyelmen k&iacute;v&uuml;l. Ez
lenne a <quote>Nem &eacute;rdekel, mivel foglalkozol, azonnal
hagyd abba!</quote> jelz&eacute;s. Amikor
<literal>SIGKILL</literal> jelz&eacute;st k&uuml;ld&uuml;nk egy
folyamatnak, a &os; le&aacute;ll&iacute;tja a folyamatot ott
&eacute;s ahol tart
<footnote>
<para>Ez az&eacute;rt nem teljesen igaz. Van
n&eacute;h&aacute;ny olyan tev&eacute;kenys&eacute;g, ami nem
szak&iacute;that&oacute; meg. Ilyen p&eacute;ld&aacute;ul az,
amikor a program egy m&aacute;sik
sz&aacute;m&iacute;t&oacute;g&eacute;pen
tal&aacute;lhat&oacute; &aacute;llom&aacute;nyt
pr&oacute;b&aacute;l olvasni, mik&ouml;zben valamilyen ok
(kikapcsol&aacute;s, h&aacute;l&oacute;zati hiba)
folyt&aacute;n elveszti vele a kapcsolatot. Ekkor a program
fut&aacute;sa <quote>megszak&iacute;thatatlan</quote>. Majd
amikor a program feladja a pr&oacute;b&aacute;lkoz&aacute;st
(&aacute;ltal&aacute;ban k&eacute;t perc ut&aacute;n), akkor
k&ouml;vetkezik be a t&eacute;nyleges
le&aacute;ll&iacute;t&aacute;sa.</para>
</footnote>.</para>
<para>Tov&aacute;bbi haszn&aacute;lhat&oacute; jelz&eacute;sek:
<literal>SIGHUP</literal>, <literal>SIGUSR1</literal> &eacute;s
<literal>SIGUSR2</literal>. Ezek &aacute;ltal&aacute;nos
c&eacute;l&uacute; jelz&eacute;sek, amelyeket az
alkalmaz&aacute;sok elt&eacute;r&#245; m&oacute;dokon
kezelnek.</para>
<para>Tegy&uuml;k fel, hogy megv&aacute;ltoztattuk a
webszerver&uuml;nk be&aacute;ll&iacute;t&aacute;sait
tartalmaz&oacute; &aacute;llom&aacute;nyt &mdash; valamilyen
m&oacute;don szeretn&eacute;nk tudatni a szerverrel, hogy olvassa
be &uacute;jra a be&aacute;ll&iacute;t&aacute;sait. Ezt
megtehetj&uuml;k &uacute;gy, hogy le&aacute;ll&iacute;tjuk
&eacute;s &uacute;jraind&iacute;tjuk a <command>httpd</command>
d&eacute;mont, de ezzel kies&eacute;st okozhatunk a szerver
m&#251;k&ouml;d&eacute;s&eacute;ben, amit viszont nem
engedhet&uuml;nk meg. A legt&ouml;bb d&eacute;mont &uacute;gy
k&eacute;sz&iacute;tett&eacute;k el, hogy a
<literal>SIGHUP</literal> jelz&eacute;s hat&aacute;s&aacute;ra
olvassa be &uacute;jra a be&aacute;ll&iacute;t&aacute;sait
tartalmaz&oacute; &aacute;llom&aacute;nyt. &Iacute;gy a
<command>httpd</command> le&aacute;ll&iacute;t&aacute;sa &eacute;s
&uacute;jraind&iacute;t&aacute;sa helyett egyszer&#251;en
elegend&#245; egy <literal>SIGHUP</literal> jelz&eacute;s
k&uuml;ld&eacute;se. Mivel azonban ez nem
szabv&aacute;nyos&iacute;tott, a k&uuml;l&ouml;nb&ouml;z&#245;
d&eacute;monok ezt a jelz&eacute;st
t&ouml;bbf&eacute;lek&eacute;ppen is &eacute;rtelmezhetik.
Ez&eacute;rt a haszn&aacute;lata el&#245;tt ennek
mindenk&eacute;ppen j&aacute;rjunk ut&aacute;na a
k&eacute;rd&eacute;ses d&eacute;mon
dokument&aacute;ci&oacute;j&aacute;ban.</para>
<para>A jelz&eacute;seket a &man.kill.1; paranccsal tudjuk
elk&uuml;ldeni, ahogy ezt a k&ouml;vetkez&#245;
p&eacute;ld&aacute;ban is l&aacute;thatjuk.</para>
<procedure>
<title>Jelz&eacute;s k&uuml;ld&eacute;se egy fut&oacute;
programnak</title>
<para>Ebben a p&eacute;ld&aacute;ban megmutatjuk, hogyan lehet
jelz&eacute;st k&uuml;ldeni az &man.inetd.8; d&eacute;monnak.
Az <command>inetd</command> a be&aacute;ll&iacute;t&aacute;sait
az <filename>/etc/inetd.conf</filename>
&aacute;llom&aacute;nyban t&aacute;rolja, &eacute;s az
<command>inetd</command> a <literal>SIGHUP</literal>
jelz&eacute;s hat&aacute;s&aacute;ra k&eacute;pes
&uacute;jraolvasni ezt.</para>
<step>
<para>Keress&uuml;k meg annak a folyamatnak az
azonos&iacute;t&oacute;j&aacute;t, amelynek a jelz&eacute;st
k&iacute;v&aacute;njuk k&uuml;ldeni. Ezt a &man.ps.1;
&eacute;s a &man.grep.1; haszn&aacute;lat&aacute;val
tehetj&uuml;k meg. A &man.grep.1; parancs
seg&iacute;ts&eacute;g&eacute;vel m&aacute;s parancsok
kimenet&eacute;ben tudunk megkeresni egy &aacute;ltalunk
megadott sz&ouml;veget. Ezt a parancsot &aacute;tlagos
felhaszn&aacute;l&oacute;k&eacute;nt futtatjuk, azonban az
&man.inetd.8; d&eacute;mont a <username>root</username>
birtokolja, ez&eacute;rt az &man.ps.1; haszn&aacute;lata
sor&aacute;n meg kell adnunk az <option>ax</option>
kapcsol&oacute;kat is.</para>
<screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput>
198 ?? IWs 0:00.00 inetd -wW</screen>
<para>Innen kider&uuml;l, hogy az &man.inetd.8;
azonos&iacute;t&oacute;ja 198. El&#245;fordulhat, hogy az
eredm&eacute;nyben maga a <literal>grep inetd</literal>
parancs is megjelenik. Ez a &man.ps.1;
list&aacute;z&aacute;si m&oacute;dszere miatt k&ouml;vetkezhet
be.</para>
</step>
<step>
<para>A jelz&eacute;s elk&uuml;ld&eacute;s&eacute;re
haszn&aacute;ljuk a &man.kill.1; parancsot. Mivel az
&man.inetd.8; d&eacute;mont a <username>root</username>
felhaszn&aacute;l&oacute; futtatja, ehhez el&#245;sz&ouml;r a
&man.su.1; parancs kiad&aacute;s&aacute;val nek&uuml;nk is
<username>root</username> felhaszn&aacute;l&oacute;v&aacute;
(rendszeradminisztr&aacute;torr&aacute;) kell
v&aacute;lnunk.</para>
<screen>&prompt.user; <userinput>su</userinput>
<prompt>Password:</prompt>
&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
<para>Ahogy az a legt&ouml;bb &unix; eset&eacute;n elfogadott, a
sikeres v&eacute;grehajt&aacute;s eset&eacute;n a &man.kill.1;
sem v&aacute;laszol semmit. Amikor viszont nem egy
saj&aacute;t programunknak akarunk jelz&eacute;st
k&uuml;ldeni, akkor a <errorname>kill:
<replaceable>PID</replaceable>: Operation not
permitted</errorname> (a m&#251;velet nem
enged&eacute;lyezett) hiba&uuml;zenetet l&aacute;tunk. Ha
v&eacute;letlen&uuml;l elg&eacute;pelt&uuml;k volna a
fut&oacute; program azonos&iacute;t&oacute;j&aacute;t, akkor a
k&uuml;ldend&#245; jelz&eacute;s nem a megfelel&#245;
folyamatn&aacute;l fog kik&ouml;tni (ami nem &eacute;ppen
j&oacute;), vagy ha szerencs&eacute;nk van, akkor a
jelz&eacute;st egy &eacute;ppen haszn&aacute;laton
k&iacute;v&uuml;li azonos&iacute;t&oacute;ra
k&uuml;ldt&uuml;k. Az ut&oacute;bbi esetben a
k&ouml;vetkez&#245; l&aacute;thatjuk: <errorname>kill:
<replaceable>PID</replaceable>: No such process</errorname>
(nincs ilyen folyamat).</para>
<note>
<title>Mi&eacute;rt <command>/bin/kill</command>?</title>
<para>A legt&ouml;bb parancs&eacute;rtelmez&#245;
be&eacute;p&iacute;tetten tartalmazza a saj&aacute;t
<command>kill</command> parancs&aacute;t, teh&aacute;t
ilyenkor k&ouml;zvetlen&uuml;l maga a
parancs&eacute;rtelmez&#245; k&uuml;ldi a jelz&eacute;st,
nem pedig a <filename>/bin/kill</filename> programon
kereszt&uuml;l. Ez gyakran a javunkra v&aacute;lhat,
azonban a k&uuml;ldhet&#245; jelz&eacute;sek megad&aacute;sa
parancs&eacute;rtelmez&#245;nk&eacute;nt elt&eacute;rhet.
&Iacute;gy, ahelyett, hogy egyenk&eacute;nt ismern&uuml;nk
kellene mindegyiket, sokkal egyszer&#251;bb
k&ouml;zvetlen&uuml;l a <command>/bin/kill
<replaceable>...</replaceable></command> parancsot
haszn&aacute;lni.</para>
</note>
</step>
</procedure>
<para>A t&ouml;bbi jelz&eacute;s k&uuml;ld&eacute;se is nagyon
hasonl&oacute; m&oacute;don t&ouml;rt&eacute;nik, hiszen
elegend&#245; csup&aacute;n a <literal>TERM</literal> vagy a
<literal>KILL</literal> behelyettes&iacute;t&eacute;se a parancs
megfelel&#245; hely&eacute;re.</para>
<important>
<para>A rendszer&uuml;nkben &oacute;vatosan b&aacute;njunk a
fut&oacute; programok
le&aacute;ll&iacute;tgat&aacute;s&aacute;val, &eacute;s
legy&uuml;nk k&uuml;l&ouml;n&ouml;s tekintettel az 1-es
azonos&iacute;t&oacute;val rendelkez&#245;, speci&aacute;lis
feladattal b&iacute;r&oacute; &man.init.8; folyamatra. A
<command>/bin/kill -s KILL 1</command> parancs
kiad&aacute;s&aacute;val ugyanis gyorsan le tudjuk
&aacute;ll&iacute;tani a rendszer&uuml;nket.
<emphasis>Miel&#245;tt</emphasis> egy &man.kill.1; parancsot
lez&aacute;rn&aacute;nk az <keycap>Enter</keycap>
billenty&#251;vel, <emphasis>mindig</emphasis>
gy&#245;z&#245;dj&uuml;nk meg r&oacute;la, hogy val&oacute;ban
t&eacute;nyleg a j&oacute; param&eacute;tereket adtuk
meg.</para>
</important>
</sect1>
<sect1 id="shells">
<title>Parancs&eacute;rtelmez&#245;k</title>
<indexterm><primary>parancs&eacute;rtelmez&#245;k</primary></indexterm>
<indexterm><primary>parancssor</primary></indexterm>
<para>A &os;-ben h&eacute;tk&ouml;znapi munk&aacute;nk legnagyobb
r&eacute;sz&eacute;t a parancs&eacute;rtelmez&#245;knek (shell)
nevezett parancssoros fel&uuml;leten tudjuk elv&eacute;gezni. A
parancs&eacute;rtelmez&#245; f&#245; feladata a
be&eacute;rkez&#245; parancsok elfogad&aacute;sa &eacute;s
v&eacute;grehajtat&aacute;sa. Sok parancs&eacute;rtelmez&#245;
ezenfel&uuml;l rendelkezik be&eacute;p&iacute;tett
funkci&oacute;kkal is, amelyek olyan h&eacute;tk&ouml;znapi
feladatokban igyekeznek seg&iacute;teni, mint
p&eacute;ld&aacute;ul az &aacute;llom&aacute;nyok kezel&eacute;se
&eacute;s t&ouml;meges el&eacute;r&eacute;se regul&aacute;ris
kifejez&eacute;sek haszn&aacute;lat&aacute;val, a parancssor
szerkeszt&eacute;se, parancsok makr&oacute;z&aacute;sa &eacute;s a
k&ouml;rnyezeti v&aacute;ltoz&oacute;k haszn&aacute;lata. A &os;
alapb&oacute;l tartalmaz n&eacute;h&aacute;ny
parancs&eacute;rtelmez&#245;t, ilyen p&eacute;ld&aacute;ul az
<command>sh</command>, a Bourne Shell, &eacute;s a
<command>tcsh</command>, a tov&aacute;bbfejlesztett C-shell. Sok
m&aacute;s parancs&eacute;rtelmez&#245;, mint
p&eacute;ld&aacute;ul a <command>zsh</command> &eacute;s
<command>bash</command> is el&eacute;rhet&#245; a &os;
Portgy&#251;jtem&eacute;ny&eacute;b&#245;l.</para>
<para>De melyik parancs&eacute;rtelmez&#245;t is v&aacute;lasszuk?
Ez igaz&aacute;b&oacute;l &iacute;zl&eacute;s k&eacute;rd&eacute;se.
Ha ink&aacute;bb C programoz&oacute;k vagyunk, akkor
val&oacute;sz&iacute;n&#251;leg egy olyan C-szer&#251; shelllel
tudunk k&eacute;nyelmesen dolgozni, amilyen p&eacute;ld&aacute;ul
a <command>tcsh</command>. Ha viszont egy linuxos rendszert
haszn&aacute;ltunk kor&aacute;bban vagy &eacute;ppen m&eacute;g
soha nem haszn&aacute;ltunk volna a &unix; parancssor&aacute;t,
&eacute;rdemes a <command>bash</command>-sel
megpr&oacute;b&aacute;lkoznunk. A l&eacute;nyeg az, hogy minden
parancs&eacute;rtelmez&#245;nek vannak olyan egyedi
jellemez&#245;i, ami&eacute;rt haszn&aacute;lat&oacute;ak vagy
&eacute;ppen nem haszn&aacute;lat&oacute;ak a munk&aacute;nkban,
ez&eacute;rt magunknak kell kiv&aacute;lasztani a nek&uuml;nk
megfelel&#245;t.</para>
<para>A shellek egyik leg&aacute;ltal&aacute;nosabb jellemz&#245;je
az &aacute;llom&aacute;nyok neveinek
kieg&eacute;sz&iacute;t&eacute;se. Miut&aacute;n
beg&eacute;pelj&uuml;k egy parancs vagy
&aacute;llom&aacute;nyn&eacute;v els&#245; n&eacute;h&aacute;ny
karakter&eacute;t, a <keycap>Tab</keycap> billenty&#251;
lenyom&aacute;s&aacute;val megk&eacute;rhetj&uuml;k a
parancs&eacute;rtelmez&#245;t, hogy mag&aacute;t&oacute;l
eg&eacute;sz&iacute;tse ki (<quote>tal&aacute;lja ki</quote>) a
fennmarad&oacute; r&eacute;szt. N&eacute;zz&uuml;k erre egy
p&eacute;ld&aacute;t. Tegy&uuml;k fel, hogy van k&eacute;t
&aacute;llom&aacute;nyunk, <filename>izemize</filename> &eacute;s
<filename>ize.mize</filename>, &eacute;s szeretn&eacute;nk
let&ouml;r&ouml;lni az <filename>ize.mize</filename> nev&#251;t.
Ehhez a k&ouml;vetkez&#245;t kell beg&eacute;peln&uuml;nk:
<command>rm
iz[<keycap>Tab</keycap>].[<keycap>Tab</keycap>]</command>.</para>
<para>Erre a parancs&eacute;rtelmez&#245; a k&ouml;vetkez&#245;
parancsot &iacute;rja ki: <command>rm
ize[SIPOL&Aacute;S].mize</command>.</para>
<para>A [SIPOL&Aacute;S] itt a konzol s&iacute;pj&aacute;ra
vonatkozik, amellyel jelzi, hogy nem tudta teljesen
kieg&eacute;sz&iacute;teni az &aacute;llom&aacute;ny nev&eacute;t,
mivel egyn&eacute;l t&ouml;bb is megfelel a megadott alaknak. Az
<filename>izemize</filename> &eacute;s az
<filename>ize.mize</filename> is egyar&aacute;nt az
<literal>iz</literal> el&#245;taggal kezd&#245;dik, azonban
ebb&#245;l a parancs&eacute;rtelmez&#245; csak az
<literal>ize</literal> el&#245;tagot tudta kik&ouml;vetkeztetni.
Ha most beg&eacute;pel&uuml;nk m&eacute;g egy <literal>.</literal>
karaktert &eacute;s &uacute;jra megnyomjuk a <keycap>Tab</keycap>
billenty&#251;t, a parancs&eacute;rtelmez&#245; ez&uacute;ttal
k&eacute;pes lesz az &aacute;llom&aacute;ny teljes nev&eacute;t
meg&aacute;llap&iacute;tani.</para>
<indexterm><primary>k&ouml;rnyezeti
v&aacute;ltoz&oacute;k</primary></indexterm>
<para>A parancs&eacute;rtelmez&#245;k m&aacute;sik
&aacute;ltal&aacute;nos jellemz&#245;je a k&ouml;rnyezeti
v&aacute;ltoz&oacute;k haszn&aacute;lata. A k&ouml;rnyezeti
v&aacute;ltoz&oacute;k l&eacute;nyeg&eacute;ben a
parancs&eacute;rtelmez&#245; k&ouml;rnyezet&eacute;hez
t&aacute;rolt n&eacute;v-&eacute;rt&eacute;k p&aacute;rok. Ezt a
k&ouml;rnyezetet l&aacute;tja minden olyan program, amit a
parancs&eacute;rtelmez&#245;b&#245;l megh&iacute;vunk, &eacute;s
ez&eacute;rt tartalmazni is szokott sok ilyen
be&aacute;ll&iacute;t&aacute;st. &Iacute;me a leggyakoribb
k&ouml;rnyezeti v&aacute;ltoz&oacute;k felsorol&aacute;sa
&eacute;s r&ouml;vid le&iacute;r&aacute;sa:</para>
<indexterm><primary>k&ouml;rnyezeti
v&aacute;ltoz&oacute;k</primary></indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>V&aacute;ltoz&oacute;</entry>
<entry>Le&iacute;r&aacute;s</entry>
</row>
</thead>
<tbody>
<row>
<entry><envar>USER</envar></entry>
<entry>A bejelentkezett felhaszn&aacute;l&oacute;
neve.</entry>
</row>
<row>
<entry><envar>PATH</envar></entry>
<entry>Vessz&#245;vel elv&aacute;lasztott
k&ouml;nyvt&aacute;rak, ahol a parancs&eacute;rtelmez&#245;
a v&eacute;grehajthat&oacute; &aacute;llom&aacute;nyokat
keresi.</entry>
</row>
<row>
<entry><envar>DISPLAY</envar></entry>
<entry>Az aktu&aacute;lisan haszn&aacute;lt X11
megjelen&iacute;t&#245; h&aacute;l&oacute;zati neve,
amennyiben l&eacute;tezik ilyen.</entry>
</row>
<row>
<entry><envar>SHELL</envar></entry>
<entry>A haszn&aacute;lt
parancs&eacute;rtelmez&#245;.</entry>
</row>
<row>
<entry><envar>TERM</envar></entry>
<entry>A felhaszn&aacute;l&oacute; &aacute;ltal
haszn&aacute;lt termin&aacute;l t&iacute;pusa. Ebb&#245;l
a termin&aacute;l k&eacute;pess&eacute;geit lehet
meg&aacute;llap&iacute;tani.</entry>
</row>
<row>
<entry><envar>TERMCAP</envar></entry>
<entry>A termin&aacute;lok
adatb&aacute;zis&aacute;b&oacute;l sz&aacute;rmaz&oacute;,
k&uuml;l&ouml;nb&ouml;z&#245;
termin&aacute;lfunkci&oacute;khoz tartoz&oacute;
helyettes&iacute;t&#245; (escape) k&oacute;dok.</entry>
</row>
<row>
<entry><envar>OSTYPE</envar></entry>
<entry>Az oper&aacute;ci&oacute;s rendszer t&iacute;pusa,
p&eacute;ld&aacute;ul &os;.</entry>
</row>
<row>
<entry><envar>MACHTYPE</envar></entry>
<entry>A rendszer alatt fut&oacute; g&eacute;p
architekt&uacute;r&aacute;ja.</entry>
</row>
<row>
<entry><envar>EDITOR</envar></entry>
<entry>A felhaszn&aacute;l&oacute; &aacute;ltal
haszn&aacute;lt sz&ouml;vegszerkeszt&#245;.</entry>
</row>
<row>
<entry><envar>PAGER</envar></entry>
<entry>A felhaszn&aacute;l&oacute; &aacute;ltal
lapoz&aacute;sra haszn&aacute;lt program.</entry>
</row>
<row>
<entry><envar>MANPATH</envar></entry>
<entry>Vessz&#245;vel elv&aacute;lasztott k&ouml;nyvt&aacute;rak,
ahol a parancs&eacute;rtelmez&#245; a man
oldalakat keresi.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<indexterm><primary>Bourne-f&eacute;le
parancs&eacute;rtelmez&#245;k</primary></indexterm>
<para>A k&ouml;rnyezeti v&aacute;ltoz&oacute;k
be&aacute;ll&iacute;t&aacute;sa
parancs&eacute;rtelmez&#245;nk&eacute;nt valamennyire elt&eacute;r.
P&eacute;ld&aacute;ul egy C st&iacute;lus&uacute;
parancs&eacute;rtelmez&#245;, mint p&eacute;ld&aacute;ul a
<command>tcsh</command> vagy a <command>csh</command>, a
<command>setenv</command> paranccsal &aacute;ll&iacute;tja a
k&ouml;rnyezeti v&aacute;ltoz&oacute;kat. A Bourne-f&eacute;le
parancs&eacute;rtelmez&#245;k, mint p&eacute;ld&aacute;ul az
<command>sh</command> vagy a <command>bash</command>, az
<command>export</command> parancsot haszn&aacute;lj&aacute;k a
k&ouml;rnyezeti v&aacute;ltoz&oacute;k
be&aacute;ll&iacute;t&aacute;s&aacute;ra. P&eacute;ld&aacute;ul a
<command>csh</command> vagy a <command>tcsh</command>
haszn&aacute;lata sor&aacute;n a k&ouml;vetkez&#245;k&eacute;ppen
tudjuk be- vagy &aacute;t&aacute;ll&iacute;tani az
<envar>EDITOR</envar> k&ouml;rnyezeti v&aacute;ltoz&oacute;
&eacute;rt&eacute;k&eacute;t
<filename>/usr/local/bin/emacs</filename>-re:</para>
<screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
<para>Ugyanez a Bourne-f&eacute;le
parancs&eacute;rtelmez&#245;kben:</para>
<screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen>
<para>A legt&ouml;bb parancs&eacute;rtelmez&#245;ben a nev&uuml;k
el&#245;tt szerepeltetett <literal>$</literal> jel
seg&iacute;ts&eacute;g&eacute;vel k&eacute;rhetj&uuml;k a
k&ouml;rnyezeti v&aacute;ltoz&oacute;k
&eacute;rt&eacute;k&eacute;nek
behelyettes&iacute;t&eacute;s&eacute;t a parancssorba. Ennek
megfelel&#245;en az <command>echo $TERM</command> parancs
ki&iacute;ratja a <envar>TERM</envar> v&aacute;ltoz&oacute;
aktu&aacute;lis &eacute;rt&eacute;k&eacute;t, mivel ebbe a
parancs&eacute;rtelmez&#245; m&aacute;r az <command>echo</command>
megh&iacute;v&aacute;sa el&#245;tt behelyettes&iacute;ti a
<envar>TERM</envar> &eacute;rt&eacute;k&eacute;t.</para>
<para>A parancs&eacute;rtelmez&#245;k sz&aacute;mos speci&aacute;lis
karaktert, &uacute;n. metakaraktert az adatok k&uuml;l&ouml;nleges
reprezent&aacute;ci&oacute;jak&eacute;nt kezelnek.
K&ouml;zt&uuml;k a leggyakrabban haszn&aacute;lt a
<literal>*</literal>, amely tetsz&#245;leges sz&aacute;m&uacute;
karaktert helyettes&iacute;t egy &aacute;llom&aacute;ny
nev&eacute;ben. Az ilyen metakarakterek
seg&iacute;ts&eacute;g&eacute;vel tudunk egyszerre t&ouml;bb
&aacute;llom&aacute;nyt is megnevezni. P&eacute;ld&aacute;ul ha
beg&eacute;pelj&uuml;k az <command>echo *</command> parancsot,
akkor majdnem ugyanazt kapjuk eredm&eacute;ny&uuml;l, mintha az
<command>ls</command> parancsot adtuk volna ki, hiszen a
parancs&eacute;rtelmez&#245; ilyenkor veszi az &ouml;sszes
<literal>*</literal> metakarakterre illeszked&#245;
&aacute;llom&aacute;nyt, &eacute;s a ki&iacute;rat&aacute;sukhoz
pedig rendre behelyettes&iacute;ti ezeket a parancssorba az
<command>echo</command> param&eacute;terek&eacute;nt.</para>
<para>Ha nem szeretn&eacute;nk, hogy a parancs&eacute;rtelmez&#245;
&eacute;rtelmezze a speci&aacute;lis karaktereket, akkor egy
<quote>backslash</quote> (visszaper) (<literal>\</literal>)
karaktert el&eacute;j&uuml;k t&eacute;ve mindezt
megakad&aacute;lyozhatjuk. Az <command>echo $TERM</command>
parancs ugyeb&aacute;r ki&iacute;ratja a termin&aacute;lra
vonatkoz&oacute; k&ouml;rnyezeti v&aacute;ltoz&oacute;
be&aacute;ll&iacute;t&aacute;s&aacute;t, azonban a <command>echo
\$TERM</command> v&aacute;ltozatlanul ki&iacute;rja a
<envar>$TERM</envar> sz&ouml;veget.</para>
<sect2 id="changing-shells">
<title>A parancs&eacute;rtelmez&#245;nk
megv&aacute;ltoztat&aacute;sa</title>
<para>A parancs&eacute;rtelmez&#245;nk legegyszer&#251;bben a
<command>chsh</command> parancs haszn&aacute;lat&aacute;val
v&aacute;ltoztathat&oacute; meg. A <command>chsh</command>
kiad&aacute;sa ut&aacute;n elind&iacute;tja az
<envar>EDITOR</envar> k&ouml;rnyezeti v&aacute;ltoz&oacute;nak
megfelel&#245; sz&ouml;vegszerkeszt&#245;t, ha nem lenne ilyen,
akkor alap&eacute;rtelmez&eacute;s szerint a
<command>vi</command> h&iacute;v&oacute;dik meg. Az &iacute;gy
megnyitott &aacute;llom&aacute;nyban v&aacute;ltoztassuk meg
kedv&uuml;nk szerint a <quote>Shell: </quote> kezdet&#251;
sort.</para>
<para>A <command>chsh</command> parancsnak megadhatjuk az
<option>-s</option> opci&oacute;t is, amin kereszt&uuml;l
sz&ouml;vegszerkeszt&#245; haszn&aacute;lata n&eacute;lk&uuml;l
be tudjuk &aacute;ll&iacute;tani a
parancs&eacute;rtelmez&#245;t. P&eacute;ld&aacute;ul ha a
parancs&eacute;rtelmez&#245;nket a <command>bash</command>-re
akarjuk lecser&eacute;lni, akkor ezt &iacute;rjuk be:</para>
<screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
<note>
<para>A haszn&aacute;lni k&iacute;v&aacute;nt
parancs&eacute;rtelmez&#245;nek szerepelnie
<emphasis>kell</emphasis> az <filename>/etc/shells</filename>
&aacute;llom&aacute;nyban. Ha a kiv&aacute;lasztott
parancs&eacute;rtelmez&#245;t a <link
linkend="ports">Portgy&#251;jtem&eacute;ny</link>b&#245;l
telep&iacute;tett&uuml;k fel, akkor az m&aacute;r minden
bizonnyal beker&uuml;lt oda. Ha viszont saj&aacute;t magunk
raktuk volna fel, akkor ide is fel kell venn&uuml;nk.</para>
<para>P&eacute;ld&aacute;ul ha a <command>bash</command>-t
manu&aacute;lisan telep&iacute;tett&uuml;k &eacute;s
m&aacute;soltuk a <filename>/usr/local/bin</filename>
k&ouml;nyvt&aacute;rba, akkor &iacute;gy kell
elj&aacute;rnunk:</para>
<screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen>
<para>Majd pr&oacute;b&aacute;lkozzunk &uacute;jra a
<command>chsh</command> paranccsal.</para>
</note>
</sect2>
</sect1>
<sect1 id="editors">
<title>Sz&ouml;vegszerkeszt&#245;k</title>
<indexterm><primary>sz&ouml;vegszerkeszt&#245;k</primary></indexterm>
<indexterm><primary>szerkeszt&#245;k</primary></indexterm>
<para>A &os; be&aacute;ll&iacute;t&aacute;s&aacute;nak nagy
r&eacute;sze sz&ouml;veges &aacute;llom&aacute;nyok
szerkeszt&eacute;s&eacute;vel t&ouml;rt&eacute;nik. Emiatt sosem
&aacute;rt legal&aacute;bb egy sz&ouml;vegszerkeszt&#245;t
ismern&uuml;nk. A &os; alaprendszer&eacute;ben, valamint a
Portgy&#251;jtem&eacute;nyben is tal&aacute;lhatunk
n&eacute;h&aacute;nyat bel&#245;l&uuml;k.</para>
<indexterm><primary><command>ee</command></primary></indexterm>
<indexterm>
<primary>szerkeszt&#245;k</primary>
<secondary><command>ee</command></secondary>
</indexterm>
<para>A legegyszer&#251;bben megtanulhat&oacute; &eacute;s
legk&ouml;nnyedebb sz&ouml;vegszerkeszt&#245;t
<application>ee</application>-nek, avagy <quote>easy
editornak</quote> h&iacute;vj&aacute;k. Az
<application>ee</application> ind&iacute;t&aacute;s&aacute;hoz
&iacute;rjuk be az <command>ee
<replaceable>&aacute;llom&aacute;nyn&eacute;v</replaceable></command>
parancsot, ahol az
<replaceable>&aacute;llom&aacute;nyn&eacute;v</replaceable> lesz a
szerkesztend&#245; &aacute;llom&aacute;ny neve. &Iacute;gy
p&eacute;ld&aacute;ul az <filename>/etc/rc.conf</filename>
&aacute;llom&aacute;ny szerkeszt&eacute;s&eacute;hez
g&eacute;pelj&uuml;k be az <command>ee /etc/rc.conf</command>
parancsot. Miut&aacute;n elindult az <command>ee</command>, az
&ouml;sszes szerkeszt&eacute;shez haszn&aacute;lhat&oacute;
parancsa megjelenik a k&eacute;perny&#245; fels&#245;
r&eacute;sz&eacute;ben. Itt a <quote>kalap</quote>
(<literal>^</literal>) karakter a <keycap>Ctrl</keycap>
billenty&#251; lenyom&aacute;s&aacute;ra utal, &iacute;gy
teh&aacute;t a <literal>^e</literal> jel&ouml;l&eacute;s a
<keycombo
action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>
billenty&#251;kombin&aacute;ci&oacute;t jelenti. Ha ki akarunk
l&eacute;pni az <application>ee</application>-b&#245;l, nyomjuk le
az <keycap>Esc</keycap> billenty&#251;t, majd a felbukkan&oacute;
men&uuml;b&#245;l v&aacute;lasszuk a szerkeszt&#245;
elhagy&aacute;s&aacute;t (leave editor). Ha az
&aacute;llom&aacute;nyt m&oacute;dos&iacute;tottuk,
kil&eacute;p&eacute;s el&#245;tt m&eacute;g a
sz&ouml;vegszerkeszt&#245; r&aacute;k&eacute;rdez, hogy mentse-e a
v&aacute;ltoztat&aacute;sainkat.</para>
<indexterm><primary><command>vi</command></primary></indexterm>
<indexterm>
<primary>szerkeszt&#245;k</primary>
<secondary><command>vi</command></secondary>
</indexterm>
<indexterm><primary><command>emacs</command></primary></indexterm>
<indexterm>
<primary>szerkeszt&#245;k</primary>
<secondary><command>emacs</command></secondary>
</indexterm>
<para>A &os; nagyobb tud&aacute;s&uacute;
sz&ouml;vegszerkeszt&#245;ket, mint p&eacute;ld&aacute;ul a
<application>vi</application>-t, is tartalmaz az alaprendszer
r&eacute;szek&eacute;nt, mik&ouml;zben a t&ouml;bbi, mint
p&eacute;ld&aacute;ul az <application>Emacs</application> vagy a
<application>vim</application> a Portgy&#251;jtem&eacute;ny
r&eacute;szek&eacute;nt (<filename
role="package">editors/emacs</filename> &eacute;s <filename
role="package">editors/vim</filename>) &eacute;rhet&#245; el.
Ezek a szerkeszt&#245;k sokkal t&ouml;bb lehet&#245;s&eacute;get
&eacute;s er&#245;t k&eacute;pviselnek, ami&eacute;rt
cser&eacute;be viszont valamivel nehezebb megtanulni a
haszn&aacute;latukat. Ha viszont rengeteg sz&ouml;veget akarunk
majd szerkeszteni, akkor egy <application>vim</application> vagy
<application>Emacs</application> haszn&aacute;lat&aacute;nak
megismer&eacute;s&eacute;vel sok id&#245;t
megsp&oacute;rolhatunk.</para>
<para>Sz&aacute;mos alkalmaz&aacute;s, amely
&aacute;llom&aacute;nyokat akar m&oacute;dos&iacute;tani vagy
sz&ouml;veges bemenetre van sz&uuml;ks&eacute;ge, automatikusan
sz&ouml;vegszerkeszt&#245;t nyit meg. Ezt az
<envar>EDITOR</envar> k&ouml;rnyezeti v&aacute;ltoz&oacute;
be&aacute;ll&iacute;t&aacute;s&aacute;val tudjuk
meghat&aacute;rozni. Err&#245;l r&eacute;szletesebben a <link
linkend="shells">parancs&eacute;rtelmez&#245;kn&eacute;l</link>
olvashatunk.</para>
</sect1>
<sect1 id="basics-devices">
<title>Eszk&ouml;z&ouml;k &eacute;s
eszk&ouml;zle&iacute;r&oacute;k</title>
<para>Az eszk&ouml;z elnevez&eacute;st legink&aacute;bb a
rendszerben foly&oacute;, hardverrel kapcsolatos
tev&eacute;kenys&eacute;gek kapcs&aacute;n
haszn&aacute;lj&aacute;k lemezekre, nyomtat&oacute;kra, grafikus
k&aacute;rty&aacute;kra &eacute;s billenty&#251;zetekre. A &os;
indul&aacute;sa sor&aacute;n t&ouml;bbnyire azt l&aacute;thatjuk,
hogy milyen eszk&ouml;z&ouml;ket siker&uuml;lt felismernie.
Ezeket a rendszerind&iacute;t&aacute;skor megjelen&#245;
&uuml;zeneteket a <filename>/var/run/dmesg.boot</filename>
&aacute;llom&aacute;nyban n&eacute;zhetj&uuml;k meg
&uacute;jra.</para>
<para>P&eacute;ld&aacute;ul az <devicename>acd0</devicename> az
els&#245; IDE CD-meghajt&oacute;t, m&iacute;g a
<devicename>kbd0</devicename> a billenty&#251;zetet
k&eacute;pviseli.</para>
<para>A &unix; oper&aacute;ci&oacute;s rendszerben a legt&ouml;bb
eszk&ouml;zt a <filename>/dev</filename> k&ouml;nyvt&aacute;rban
tal&aacute;lhat&oacute;, eszk&ouml;zle&iacute;r&oacute;knak
(device node) nevezett speci&aacute;lis &aacute;llom&aacute;nyokon
kereszt&uuml;l &eacute;rhetj&uuml;k el.</para>
<sect2>
<title>Eszk&ouml;zle&iacute;r&oacute;k
l&eacute;trehoz&aacute;sa</title>
<para>Amikor egy &uacute;jfajta eszk&ouml;zt adunk hozz&aacute; a
rendszerhez vagy csak annak egy &uacute;j
p&eacute;ld&aacute;ny&aacute;t, mindig l&eacute;tre kell hoznunk
hozz&aacute; egy &uacute;j
eszk&ouml;zle&iacute;r&oacute;t.</para>
<sect3>
<title><literal>DEVFS</literal> (DEVice File System,
Eszk&ouml;z-&aacute;llom&aacute;nyrendszer)</title>
<para>Az eszk&ouml;z&ouml;ket tartalmaz&oacute;
&aacute;llom&aacute;nyrendszer, avagy
<literal>DEVFS</literal>, ad hozz&aacute;f&eacute;r&eacute;st
a rendszermag &aacute;ltal ismert eszk&ouml;z&ouml;k neveihez
a glob&aacute;lis &aacute;llom&aacute;nyrendszer nevein
kereszt&uuml;l. &Iacute;gy ahelyett, hogy magunknak kellene
l&eacute;trehoznunk &eacute;s m&oacute;dos&iacute;tanunk az
eszk&ouml;zle&iacute;r&oacute;kat, a <literal>DEVFS</literal>
erre a c&eacute;lra fenntart egy k&uuml;l&ouml;n
&aacute;llom&aacute;nyrendszert.</para>
<para>A &man.devfs.5; man oldalon olvashatunk b&#245;vebben
err&#245;l.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="binary-formats">
<title>Bin&aacute;ris form&aacute;tumok</title>
<para>Annak meg&eacute;rt&eacute;s&eacute;hez, hogy a &os;
mi&eacute;rt az &man.elf.5; form&aacute;tumot haszn&aacute;lja,
el&#245;sz&ouml;r is tiszt&aacute;ban kell lenn&uuml;nk a &unix;
t&iacute;pus&uacute; rendszerekben haszn&aacute;lt
v&eacute;grehajthat&oacute; &aacute;llom&aacute;nyok h&aacute;rom
<quote>uralkod&oacute;</quote> form&aacute;tum&aacute;val:</para>
<itemizedlist>
<listitem>
<para>&man.a.out.5;</para>
<para>A leg&#245;sibb &eacute;s egyben a
<quote>klasszikus</quote> &unix;-os
t&aacute;rgyk&oacute;dform&aacute;tum. Egy t&ouml;m&ouml;r
&eacute;s r&ouml;vidke fejl&eacute;cet haszn&aacute;l, aminek
az elej&eacute;n a form&aacute;tum
le&iacute;r&aacute;s&aacute;ra szolg&aacute;l&oacute;
<quote>b&#251;v&ouml;s sz&aacute;m</quote>
tal&aacute;lhat&oacute; (err&#245;l b&#245;vebben l&aacute;sd
&man.a.out.5;). H&aacute;rom bet&ouml;lt&ouml;tt szegmenst
tartalmaz: .text, .data &eacute;s .bss, valamint egy
szimb&oacute;lumokat &eacute;s karakterl&aacute;ncokat
t&aacute;rol&oacute; t&aacute;bl&aacute;t.</para>
</listitem>
<listitem>
<para><acronym>COFF</acronym></para>
<para>Az SVR3 t&aacute;rgyk&oacute;dform&aacute;tuma. A
fejl&eacute;c itt m&aacute;r tartalmaz egy table nev&#251;
szegmenst is, teh&aacute;t a .text, .data &eacute;s .bss
szegmensekhez hasonl&oacute;an ebb&#245;l is t&ouml;bbet tud
t&aacute;rolni.</para>
</listitem>
<listitem>
<para>&man.elf.5;</para>
<para>A <acronym>COFF</acronym> ut&aacute;n k&ouml;vetkez&#245;
form&aacute;tum, amelyben t&ouml;bb szegmens is
megtal&aacute;lhat&oacute;, valamint l&eacute;tezik 32 bites
&eacute;s 64 bites v&aacute;ltozatban is. Egyetlen
h&aacute;tr&aacute;nya van: az <acronym>ELF</acronym>
tervez&eacute;se sor&aacute;n
rendszerarchitekt&uacute;r&aacute;nk&eacute;nt csup&aacute;n
egyetlen ABI-t (bin&aacute;ris alkalmaz&oacute;i
fel&uuml;letet) felt&eacute;teleztek. Ez azonban
meglehet&#245;sen helytelen, mivel m&eacute;g a kereskedelmi
SYSV vil&aacute;g&aacute;ban (ahol m&aacute;r legal&aacute;bb
h&aacute;rom ABI tal&aacute;lhat&oacute;: SVR4, Solaris
&eacute;s SCO) sem &aacute;llja meg a hely&eacute;t.</para>
<para>A &os; ezt a probl&eacute;m&aacute;t a
<emphasis>megb&eacute;lyegz&eacute;s</emphasis> (branding)
seg&iacute;ts&eacute;g&eacute;vel pr&oacute;b&aacute;lja
megoldani, aminek r&eacute;v&eacute;n el tudunk l&aacute;tni
egy ismert <acronym>ELF</acronym> &aacute;llom&aacute;nyt a
futtat&aacute;s&aacute;hoz megfelel&#245; ABI-ra
vonatkoz&oacute; inform&aacute;ci&oacute;kkal. Err&#245;l
r&eacute;szletesebben a &man.brandelf.1; oldal&aacute;n
t&aacute;j&eacute;koz&oacute;dhatunk.</para>
</listitem>
</itemizedlist>
<para>A &os; a <quote>klasszikusok</quote>
t&aacute;bor&aacute;b&oacute;l indult, ez&eacute;rt kezdetben az
&man.a.out.5; form&aacute;tumot haszn&aacute;lta, mivel ez a
technol&oacute;gia a BSD kiad&aacute;sok sz&aacute;mos
gener&aacute;ci&oacute;j&aacute;ban megm&eacute;rettetett
&eacute;s bev&aacute;lt, eg&eacute;szen a 3.X &aacute;g
elindul&aacute;s&aacute;ig. Hab&aacute;r m&aacute;r j&oacute;val
el&#245;tte lehetett ford&iacute;tani &eacute;s futtatni
nat&iacute;v <acronym>ELF</acronym> bin&aacute;risokat (&eacute;s
rendszermagokat) a &os; rendszereken, a &os; kezdetben
&oacute;dzkodott v&aacute;ltani az alap&eacute;rtelmez&eacute;s
szerinti <acronym>ELF</acronym> form&aacute;tumra. De vajon
mi&eacute;rt? Nos, amikor a Linux-t&aacute;bor megtette a maga
f&aacute;jdalmas v&aacute;lt&aacute;s&aacute;t az
<acronym>ELF</acronym>-re, az nem annyira az&eacute;rt volt, hogy
megszabaduljanak az <filename>a.out</filename>
v&eacute;grehajthat&oacute; form&aacute;tumt&oacute;l, hanem mert
a rugalmatlan, ugr&oacute;t&aacute;bl&aacute;kon alapul&oacute;
oszottk&ouml;nyvt&aacute;r-kezel&eacute;si mechanizmusaik nagyon
megnehez&iacute;tett&eacute;k a gy&aacute;rt&oacute;k &eacute;s
fejleszt&#245;k sz&aacute;m&aacute;ra az osztott
f&uuml;ggv&eacute;nyk&ouml;nyvt&aacute;rak
l&eacute;trehoz&aacute;s&aacute;t. Mivel az
<acronym>ELF</acronym> form&aacute;tumhoz rendelkez&eacute;sre
&aacute;ll&oacute; eszk&ouml;z&ouml;k megold&aacute;st
k&iacute;n&aacute;ltak az osztott k&ouml;nyvt&aacute;rak
gondjaira, &eacute;s mivel &aacute;ltal&aacute;nosan
elfogadt&aacute;k <quote>a j&ouml;v&#245;be vezet&#245;
&uacute;tk&eacute;nt</quote>, a &os; is felv&aacute;llalta az
&aacute;t&aacute;ll&aacute;ssal kapcsolatos
k&ouml;lts&eacute;geket &eacute;s v&eacute;grehajtotta azt. A
&os; az osztott k&ouml;nyvt&aacute;rakat legink&aacute;bb a Sun
&sunos; rendszer&eacute;hez hasonl&oacute;an kezeli, ami egy
nagyon k&ouml;nnyen haszn&aacute;lhat&oacute;
megold&aacute;s.</para>
<para>De mi&eacute;rt van ilyen sok k&uuml;l&ouml;nb&ouml;z&#245;
form&aacute;tum?</para>
<para>A k&ouml;d&ouml;s &eacute;s s&ouml;t&eacute;t m&uacute;ltban
egyszer&#251;bb hardverek voltak. Ezek az egyszer&#251; hardverek
egyszer&#251;, kicsi rendszereket t&aacute;mogattak. Az
<filename>a.out</filename> t&ouml;k&eacute;letesen megfelel&#245;
volt egy ilyen egyszer&#251; rendszer (egy PDP-11)
bin&aacute;risainak t&aacute;rol&aacute;s&aacute;ra. Ahogy az
emberek nekil&aacute;ttak &aacute;t&uuml;ltetni err&#245;l az
egyszer&#251; rendszerr&#245;l a &unix;-ot m&aacute;s
rendszerekre, az <filename>a.out</filename> form&aacute;tumot
tov&aacute;bbra is megtartott&aacute;k, mivel a &unix; kezdeti,
Motorola&nbsp;68k-ra, VAXenre k&eacute;sz&iacute;tett
&aacute;t&iacute;rataihoz is elegend&#245; volt.</para>
<para>Ezut&aacute;n n&eacute;h&aacute;ny &eacute;les
elm&eacute;j&#251; hardverm&eacute;rn&ouml;k kital&aacute;lta,
ha r&aacute; tudn&aacute;k k&eacute;nyszer&iacute;teni a
programokat egy-k&eacute;t &uuml;gyetlen tr&uuml;kkre, akkor a
terveken meg tudn&aacute;nak sp&oacute;rolni n&eacute;h&aacute;ny
logikai kaput &eacute;s ezzel a processzor is gyorsabban tudna
futni. Mik&ouml;zben az <filename>a.out</filename>
form&aacute;tumot ilyen hardverre (amit manaps&aacute;g
<acronym>RISC</acronym>-nek h&iacute;vnak) is szerett&eacute;k
volna &aacute;thozni, kider&uuml;lt, hogy ebben az esetben szinte
haszn&aacute;lhatatlan. Ez&eacute;rt az
<filename>a.out</filename> form&aacute;tum &aacute;ltal
felk&iacute;n&aacute;ltn&aacute;l nagyobb
teljes&iacute;tm&eacute;ny el&eacute;r&eacute;se
&eacute;rdek&eacute;ben nekil&aacute;ttak sz&aacute;mos m&aacute;s
form&aacute;tumot is kidolgozni. Ekkor j&ouml;ttek l&eacute;tre a
<acronym>COFF</acronym>, <acronym>ECOFF</acronym> &eacute;s
m&aacute;s hasonl&oacute; form&aacute;tumok, amelyek
el&#245;bb-ut&oacute;bb korl&aacute;tokba &uuml;tk&ouml;ztek,
m&eacute;g miel&#245;tt a t&ouml;rt&eacute;nelem
meg&aacute;llapodott volna az <acronym>ELF</acronym>
form&aacute;tumn&aacute;l.</para>
<para>R&aacute;ad&aacute;sul a programok m&eacute;retei egyre
ink&aacute;bb kezdtek n&#245;ni, mik&ouml;zben a lemezek (valamint
a fizikai mem&oacute;ria) tov&aacute;bbra is viszonylag kicsik
maradtak, ez&eacute;rt megsz&uuml;letett az osztott
k&ouml;nyvt&aacute;r &ouml;tlete, &eacute;s a virtu&aacute;lis
mem&oacute;ri&aacute;t kezel&#245; alrendszer is sokat finomodott.
Mivel ezek a k&uuml;l&ouml;nb&ouml;z&#245; fejleszt&eacute;sek az
<filename>a.out</filename> form&aacute;tumra &eacute;p&uuml;ltek,
annak haszn&aacute;lat&oacute;s&aacute;ga a belet&ouml;m&ouml;tt
m&oacute;dos&iacute;t&aacute;sok sz&aacute;m&aacute;val
egy&uuml;tt romlott. Emellett az emberek m&eacute;g szerettek
volna bet&ouml;lteni k&uuml;l&ouml;nf&eacute;le dolgokat
fut&aacute;si id&#245;ben dinamikusan, vagy &eacute;ppen a
mem&oacute;ria &eacute;s a lapoz&oacute;&aacute;llom&aacute;ny
megsp&oacute;rol&aacute;s&aacute;hoz kipucolni a programjaik egyes
r&eacute;szeit az inicializ&aacute;l&oacute;
k&oacute;dr&eacute;szletek lefut&aacute;sa ut&aacute;n. A
programoz&aacute;si nyelvek is fejl&#245;dtek, &eacute;s az
emberek a f&#245;program fut&aacute;sa el&#245;tt is akartak
k&oacute;dot futtatni. Az <filename>a.out</filename>
form&aacute;tum rengeteg apr&oacute; foltoz&aacute;son esett
kereszt&uuml;l, amelyek egy ideig m&eacute;g tudt&aacute;k is
tartani magukat. Azonban egy id&#245; ut&aacute;n m&aacute;r az
<filename>a.out</filename> form&aacute;tum egyre n&ouml;vekv&#245;
teljes&iacute;tm&eacute;nycs&ouml;kken&eacute;s n&eacute;lk&uuml;l
m&aacute;r nem volt k&eacute;pes &aacute;llni a sarat.
Hab&aacute;r az <acronym>ELF</acronym> megsz&uuml;ntette a
fenn&aacute;ll&oacute; probl&eacute;m&aacute;k jelent&#245;s
r&eacute;sz&eacute;t, egy&uacute;ttal megnehez&iacute;tette egy
alapvet&#245;en m&#251;k&ouml;d&#245; rendszer
lev&aacute;lt&aacute;s&aacute;t. Ez&eacute;rt az
<acronym>ELF</acronym> form&aacute;tumnak meg kellett
v&aacute;rnia azt a pillanatot, amikorra az
<filename>a.out</filename> haszn&aacute;lata m&aacute;r
k&eacute;nyelmetlenn&eacute; v&aacute;lt.</para>
<para>Azonban ahogy m&uacute;lt az id&#245;, az
eszk&ouml;z&ouml;kb&#245;l, amelyekb&#245;l a &os; a
ford&iacute;t&aacute;s&aacute;hoz sz&uuml;ks&eacute;ges
eszk&ouml;z&ouml;ket sz&aacute;rmaztatta (k&uuml;l&ouml;n&ouml;sen
az assembler &eacute;s a bet&ouml;lt&#245;),l&eacute;trej&ouml;tt
k&eacute;t p&aacute;rhuzamos fejleszt&eacute;si fa. A &os;-fa
kieg&eacute;sz&uuml;lt az osztott k&ouml;nyvt&aacute;rak
t&aacute;mogat&aacute;s&aacute;val &eacute;s hib&aacute;kat
jav&iacute;tott, mik&ouml;zben a GNU-fa alkot&oacute;i, akik
eredetileg k&eacute;sz&iacute;tett&eacute;k ezeket a programokat,
&uacute;jra&iacute;rt&aacute;k az eszk&ouml;zeiket &eacute;s a
keresztford&iacute;t&aacute;shoz egyszer&#251;bb
t&aacute;mogat&aacute;st k&eacute;sz&iacute;tettek,
cser&eacute;lhet&#245;v&eacute; tett&eacute;k a
k&uuml;l&ouml;nb&ouml;z&#245; form&aacute;tumokat &eacute;s
&iacute;gy tov&aacute;bb. Sokan akartak &os;-re
keresztford&iacute;tani, azonban nem volt
szerencs&eacute;j&uuml;k, mert a &os; r&eacute;gebbi
forr&aacute;sait az <application>as</application> &eacute;s
<application>ld</application> m&aacute;r nem em&eacute;sztette
meg. Az &uacute;j GNU eszk&ouml;zt&aacute;r (a
<application>binutils</application>) viszont ismeri m&aacute;r a
keresztford&iacute;t&aacute;st, az <acronym>ELF</acronym>
form&aacute;tumot, az osztott k&ouml;nyvt&aacute;rakat, a C++
kiterjeszt&eacute;seit stb. Id&#245;k&ouml;zben egyre t&ouml;bb
gy&aacute;rt&oacute; <acronym>ELF</acronym>
form&aacute;tum&uacute; bin&aacute;risokat adott ki, &eacute;s
j&oacute; &eacute;rz&eacute;s volt ezeket &os;-n is
futtatni.</para>
<para>Az <acronym>ELF</acronym> sokkal kifejez&#245;bb az
<filename>a.out</filename> form&aacute;tumn&aacute;l, &eacute;s
j&oacute;val t&ouml;bb b&#245;v&iacute;t&eacute;si
lehet&#245;s&eacute;get enged az alaprendszerben. Az
<acronym>ELF</acronym> form&aacute;tumhoz tartoz&oacute;
eszk&ouml;z&ouml;ket jobban karbantartj&aacute;k &eacute;s
t&aacute;mogatja a keresztford&iacute;t&aacute;st, ami viszont
sokaknak fontos. Az <acronym>ELF</acronym> tal&aacute;n
n&eacute;mileg lassabb, mint az <filename>a.out</filename>,
azonban ez nehezen m&eacute;rhet&#245; le. Sz&aacute;mos
r&eacute;szletben elt&eacute;rnek ugyan, p&eacute;ld&aacute;ul
hogyan k&eacute;peznek le lapokat, hogyan kezelik az
inicializ&aacute;l&oacute; k&oacute;dot stb., de ezek egyike sem
igaz&aacute;n fontos. Id&#245;vel az <filename>a.out</filename>
t&aacute;mogat&aacute;sa ki fog ker&uuml;lni a
<filename>GENERIC</filename> rendszermagb&oacute;l, &eacute;s
v&eacute;g&uuml;l majd teljesen elt&aacute;vol&iacute;t&aacute;sra
ker&uuml;l, ahogy a r&eacute;gi <filename>a.out</filename>
form&aacute;tum&uacute; programok sz&eacute;pen lassan
kifutnak.</para>
</sect1>
<sect1 id="basics-more-information">
<title>B&#245;vebben olvashatunk...</title>
<sect2 id="basics-man">
<title>Man oldalak</title>
<indexterm><primary>man oldalak</primary></indexterm>
<para>A &os; leg&aacute;tfog&oacute;bb
dokument&aacute;ci&oacute;ja a benne tal&aacute;lhat&oacute; man
oldalak &ouml;sszess&eacute;ge. A rendszerben
tal&aacute;lhat&oacute; szinte majdnem mindegyik programhoz
l&eacute;tezik egy r&ouml;vid haszn&aacute;lati
&uacute;tmutat&oacute;, amely bemutatja az adott program
alapvet&#245; m&#251;k&ouml;d&eacute;s&eacute;t &eacute;s a
k&uuml;l&ouml;nb&ouml;z&#245; be&aacute;ll&iacute;t&aacute;sait.
Ezek a le&iacute;r&aacute;sok a <command>man</command> parancs
seg&iacute;ts&eacute;g&eacute;vel jelen&iacute;thet&#245;ek meg.
A <command>man</command> parancs haszn&aacute;lata
egyszer&#251;:</para>
<screen>&prompt.user; <userinput>man <replaceable>parancs</replaceable></userinput></screen>
<para>ahol a <literal>parancs</literal> a megismerni
k&iacute;v&aacute;nt parancsra utal. P&eacute;ld&aacute;ul ha
az <command>ls</command> parancsr&oacute;l szeretn&eacute;nk
t&ouml;bbet megtudni, &iacute;rjuk be:</para>
<screen>&prompt.user; <userinput>man ls</userinput></screen>
<para>Az el&eacute;rhet&#245; haszn&aacute;lati
&uacute;tmutat&oacute;kat a k&ouml;vetkez&#245; sz&aacute;mozott
szakaszokra osztott&aacute;k:</para>
<orderedlist>
<listitem>
<para>Felhaszn&aacute;l&oacute;i parancsok</para>
</listitem>
<listitem>
<para>Rendszerh&iacute;v&aacute;sok &eacute;s
hibak&oacute;dok</para>
</listitem>
<listitem>
<para>A C f&uuml;ggv&eacute;nyk&ouml;nyvt&aacute;r
f&uuml;ggv&eacute;nyei</para>
</listitem>
<listitem>
<para>Eszk&ouml;zmeghajt&oacute;k</para>
</listitem>
<listitem>
<para>&Aacute;llom&aacute;nyform&aacute;tumok</para>
</listitem>
<listitem>
<para>J&aacute;t&eacute;kok &eacute;s egy&eacute;b
sz&oacute;rakoztat&oacute; alkalmaz&aacute;sok</para>
</listitem>
<listitem>
<para>Egy&eacute;b inform&aacute;ci&oacute;k</para>
</listitem>
<listitem>
<para>Rendszerkarbantart&aacute;si &eacute;s
-m&#251;k&ouml;dtet&eacute;si parancsok</para>
</listitem>
<listitem>
<para>Rendszermagfejleszt&#245;k sz&aacute;m&aacute;ra</para>
</listitem>
</orderedlist>
<para>Bizonyos esetekben ugyanaz a t&eacute;ma az
&uacute;tmutat&oacute;k t&ouml;bb szakasz&aacute;ban is
el&eacute;rhet&#245;. P&eacute;ld&aacute;ul l&eacute;tezik
<command>chmod</command> felhaszn&aacute;l&oacute;i parancs
&eacute;s a <function>chmod()</function>
rendszerh&iacute;v&aacute;s. Ilyenkor a <command>man</command>
parancsnak meg tudjuk adni pontosan, melyik szakaszra is vagyunk
k&iacute;v&aacute;ncsiak:</para>
<screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
<para>Ennek hat&aacute;s&aacute;ra a <command>chmod</command>
felhaszn&aacute;l&oacute;i parancshoz tartoz&oacute; oldal
jelenik meg. &Iacute;rott form&aacute;ban a haszn&aacute;lati
&uacute;tmutat&oacute;k k&uuml;l&ouml;nb&ouml;z&#245;
szakaszaira hagyom&aacute;nyosan a n&eacute;v ut&aacute;n
z&aacute;r&oacute;jelbe tett sz&aacute;mmal hivatkoznak,
&iacute;gy a &man.chmod.1; a <command>chmod</command>
felhaszn&aacute;l&oacute;i parancs &eacute;s a &man.chmod.2; a
rendszerh&iacute;v&aacute;s.</para>
<para>Ez a m&oacute;dszer remek&uuml;l m&#251;k&ouml;dik abban az
esetben, amikor ismerj&uuml;k a parancs nev&eacute;t, azonban
mit tegy&uuml;nk akkor, ha nem is eml&eacute;ksz&uuml;nk a
nev&eacute;re? A <command>man</command> parancs a
<option>-k</option> seg&iacute;ts&eacute;g&eacute;vel
param&eacute;terezhet&#245; &uacute;gy is, hogy a parancsok
le&iacute;r&aacute;sai k&ouml;z&ouml;tt keressen valamilyen
kulcssz&oacute; ment&eacute;n:</para>
<screen>&prompt.user; <userinput>man -k mail</userinput></screen>
<para>Ezzel a paranccsal megkapjuk azon parancsok
list&aacute;j&aacute;t, amelyek le&iacute;r&aacute;s&aacute;ban
szerepel a <quote>mail</quote> kulcssz&oacute;. Ez
egy&eacute;bk&eacute;nt m&#251;k&ouml;d&eacute;s&eacute;ben
teljesen megegyezik a <command>apropos</command>
paranccsal.</para>
<para>Sz&oacute;val szeretn&eacute;nk megtudni, hogy a
<filename>/usr/bin</filename> k&ouml;nyvt&aacute;rban lev&#245;
parancsok pontosan mit is csin&aacute;lnak? Ehhez &iacute;rjuk
be:</para>
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
&prompt.user; <userinput>man -f *</userinput></screen>
<para>vagy</para>
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
&prompt.user; <userinput>whatis *</userinput></screen>
<para>ami ugyanezt teszi.</para>
</sect2>
<sect2 id="basics-info">
<title>A GNU info &aacute;llom&aacute;nyok</title>
<indexterm><primary>Szabad Szoftver
Alap&iacute;tv&aacute;ny</primary></indexterm>
<para>A &os;-ben megtal&aacute;lhat&oacute; a Szabad Szoftver
Alap&iacute;tv&aacute;ny (Free Software Foundation, FSF)
&aacute;ltal k&eacute;sz&iacute;tett sz&aacute;mos
alkalmaz&aacute;s. Ezek a programok a szokv&aacute;nyos man
oldalakon k&iacute;v&uuml;l m&eacute;g &aacute;ltal&aacute;ban
tartalmaznak egy <literal>info</literal>nak nevezett, sokkal
r&eacute;szletesebb hipertext alap&uacute; le&iacute;r&aacute;st
is, amelyeket az <command>info</command> paranccsal, vagy ha van
fenn <application>emacs</application>, akkor annak az info
m&oacute;dj&aacute;ban tudjuk megjelen&iacute;teni.</para>
<para>Az &man.info.1; parancs haszn&aacute;lat&aacute;hoz ennyit
kell be&iacute;rnunk:</para>
<screen>&prompt.user; <userinput>info</userinput></screen>
<para>Itt a <literal>h</literal> lenyom&aacute;s&aacute;val kapunk
egy r&ouml;vid bemutatkoz&aacute;st. A parancsok r&ouml;vid
list&aacute;j&aacute;t a <literal>?</literal> billenty&#251;
hozza el&#245;.</para>
</sect2>
</sect1>
</chapter>