<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook  V4.1//EN"[]>
<article id="Multi-Distro-Development" lang="hu">
  <articleinfo>
    <title>Programfejlesztés több Linux terjesztésre mini-HOGYAN</title>
    <author>
      <firstname>Ed</firstname>
      <surname>Hill</surname>
      <affiliation><address><email>&lt;ed@eh3.com&gt;</email></address></affiliation>
    </author>
    <abstract>
      <para>Ez a dokumentum leírja, hogyan lehet
      alkalmazásokat fejleszteni és tesztelni több Linux
      terjesztésre.</para>
    </abstract>
    <pubdate>2001.03.01</pubdate>
    <revhistory>
      <revision>
	<revnumber>0.9.1</revnumber>
	<date>2002.08.14</date>
	<authorinitials>EH3</authorinitials>
	<revremark>Egy kis frissítés az X11 (socketek) használatához.</revremark>
      </revision>
      <revision>
	<revnumber>0.9</revnumber>
	<date>2001.12.03</date>
	<authorinitials>EH3</authorinitials>
	<revremark>Első kiadás.</revremark>
      </revision>
    </revhistory>
  </articleinfo>

  <sect1 id="Introduction"> <title>Bevezetés</title>

    <para>Fejlesztőként néha szükség van a programok írására és/vagy
    tesztelésére többféle Linux terjesztésen. Ez a mini-HOGYAN leír
    egy csinos <application>chroot</application> trükköt, amivel sok
    esetben elkerülhető a különböző Linux terjesztéseken történő tesztelés
    vagy fejlesztéskor a rendszer újraindítása. </para>

    <para>Dióhéjban, a "trükk" az, hogy a különböző Linux terjesztések
    fájljait külön könyvtárba rakjuk, aztán <application>chroot</application>-olunk abba
    a könyvtárba, hogy fejleszthessük/tesztelhessük/nyomkövessük a
    programot. Ez a megközelítés működni fog ha:
    </para>

    <orderedlist>
      <listitem>
	<para>
A "fő" vagy "elsődleges" terjesztés rendszermagjának verziója
(legalább valamennyire) kompatibilis a "másodlagos" vagy
<application>chroot</application>-olt terjesztésével.
	</para>
      </listitem>
      <listitem>
	<para>
Az alkalmazásod elsősorban felhasználói (például nem
rendszermag modul), és nem függ semmilyen különös rendszermag
sajátságtól (például a /proc viselkedésétől).
	</para>
      </listitem>
    </orderedlist>

    <sect2 id="Copyright"><title>Szerzői jog és licenc</title>

      <para>
This document is copyright 2001 by Ed Hill III. Engedélyezett a dokumentum másolása,
terjesztése és/vagy módosítása a GNU Free Documentation License 1.1 (kiadja a Free
Software Foundation) vagy bármelyik későbbi változata szerint, nem változtatható fejezetek,
elő- és hátoldali szövegek nélkül. A licenc egy másolata
megtalálható a <ulink url="http://www.gnu.org/copyleft/fdl.html">
http://www.gnu.org/copyleft/fdl.html</ulink> honlapon.
      </para>

  </sect2>

  <sect2> <title>Magyar fordítás</title>
      <para>
A magyar fordítást <ulink url="mailto:ckoller@mailbox.hu_NO_SPAM">Koller Csaba</ulink> készítette (2003.05.06). 
A lektorálást <ulink url="mailto:dacas@freemail.hu_NO_SPAM">Daczi László</ulink> végezte el (2003.11.17).
A fordítás javítva (R1)  2003.12.09.-én.
A dokumentum legfrissebb változata megtalálható a <ulink url="http://tldp.fsf.hu/index.html">Magyar Linux Dokumentációs Projekt</ulink> honlapján. 
      </para>
    </sect2>
  
  </sect1>

  <sect1 id="Setup"> <title>Beállítás</title>

    <para>Feltételezzük a következőket:</para>
    <orderedlist>
      <listitem>
	<para>
Egy "fő" vagy "elsődleges" Linux terjesztés van telepítve, ami 2.4-es
vagy újabb rendszermagot használ.
	</para>
      </listitem>
      <listitem>
	<para>
Van egy szabad partíciód 2-4 giga hellyel.
	</para>
      </listitem>
      <listitem>
	<para>
Elegendő hely van a lemezen a másodlagos terjesztések telepítéséhez
(és a későbbi fejlesztésekhez/teszteléshez).
	</para>
      </listitem>
    </orderedlist>

    <para>Ha ezek a feltételek adottak, a következőekben felvázoljuk
    egy a fejlesztéshez, teszteléshez vagy más célokra használatos
    másodlagos Linux disztribúció telepítésének egy módját:
    </para>

    <orderedlist>
      <listitem>
	<para>
Először hozz létre egy nem használt partíciót az egyik merevlemezeden
ami elég nagy (általában 2-4Gb szükséges) a másodlagos Linux terjesztés
telepítéséhez.
	</para>
      </listitem>
      <listitem>
	<para>
Telepítsd a másodlagos terjesztést erre a lemezrészre,
de ne add hozzá a rendszerindító beállításához. Vedd figyelembe,
hogy ennek a telepítésnek csak azokra a csomagokra van szüksége,
amit a célalkalmazások (vagy tesztek) igényelnek. Például, talán
nem lesz szükséged olyan alkalmazásokra mint az X szerver vagy más
helyfalók.
	</para>
      </listitem>
      <listitem>
	<para>
Indítsd újra az elsődleges Linuxodat, és csatold fel az újonnan telepített
"másodlagos" terjesztést. Másold (elsősorban a <filename>tar -cp</filename>
paranccsal vagy más olyan módszerrel ami megőrzi az engedélyeket) a másodlagos
disztró összes fájlját egy helyre, például az <filename>/opt/distros/DISTRO_NAME</filename>
könyvtárba.
	</para>
      </listitem>
      <listitem>
	<para>
Ismételd a 2-3 lépést bármely más terjesztés telepítésekor. Az eredmény
egy a következőhöz hasonló könyvtárrendszer:
	</para>
<programlisting>
/opt/distros/redhat_6.2/
             suse_7.2/
             mandrake_8.1/
             debian-potato/
             slackware_8.0/</programlisting>
	<para>
Ebben minden könyvtár a telepítésből származó terjesztések
összes fájlját tartalmazza.
        </para>
      </listitem>
    </orderedlist>
  </sect1>

  <sect1 id="Use"> <title>További Linux terjesztések használata</title>

    <para>A telepített másodlagos terjesztések használatához a
    következő lépések végrehajtása szükséges:</para>

    <orderedlist>
      <listitem>
	<para>
Fontos a 2.4-es vagy újabb Linux rendszermagok használata az
"elsődleges" Linux terjesztésekhez, a többszörös csatolás pont
(multiple mount points) szolgáltatás használatához, amit a
2.4-es rendszermagok megengednek. Sok feladathoz a
<filename>/proc</filename> és <filename>/tmp</filename>
fájlrendszereket újra fel kell csatolni a következő
parancsok használatával:
<programlisting>
mount --bind /proc /opt/distros/redhat_6.2/proc
mount --bind /tmp /opt/distros/redhat_6.2/tmp</programlisting>
	</para>
      </listitem>
      <listitem>
	<para>
Az is hasznos lehet, ha újra felcsatoljuk (a másolás helyett) a
forrásfát az elsődleges terjesztésről a másodlagosra:
<programlisting>
mount --bind /home/USER/src/PROJECT /opt/distros/redhat_6.2/USER/src/PROJECT</programlisting>
	</para>
      </listitem>
      <listitem>
	<para>
root felhasználóként használd a következő parancsot:
<programlisting>
xhost +localhost chroot /opt/distros/redhat_6.2
/bin/bash</programlisting> Így lesz egy héjad (shell) a másodlagos
terjesztésen belül.Az <filename>xhost</filename> parancs
csak akkor szükséges, ha X-window alkalmazásokat akarsz futtani.
	</para>
      </listitem>
      <listitem>
	<para>
Végül, hozz létre egy felhasználót (ha szükséges) a
<filename>chroot</filename>-olt héjon belül, és
fejleszd, építsd és/vagy teszteld az alkalmazásaidat
ezen a "másik" Linux terjesztésen! Lehet, hogy meg
kell adnod a <filename>DISPLAY</filename> környezeti
változódat, ha X-es alkalmazásokat akarsz használni.
	</para>
      </listitem>
    </orderedlist>

    <para>Kész! Most már van egy parancsértelmeződ ami az
    általad választott másodlagos Linux terjesztésen belül
    fut.</para>

  </sect1>

  <sect1 id="Credits"> <title>Készítők</title>

    <para>Ebben a mini-HOGYANban leírt ötletek eredetileg nem
    tőlem származnak. Ben Reed (<ulink
    url="http://www.opennms.org/"> OpenNMS </ulink>) egyik
    <ulink url="http://www.trilug.org/"> TriLUG </ulink> levelező
    listára küldött leveleiből lett kiválasztva.
    Olyan hasznosnak találtam az ötletet,
    hogy dokumentálni akartam másoknak.</para>

  </sect1>

</article>
