Programfejlesztés több Linux terjesztésre mini-HOGYAN
    
      Ed
      Hill
      <ed@eh3.com>
    
    
      Ez a dokumentum leírja, hogyan lehet
      alkalmazásokat fejleszteni és tesztelni több Linux
      terjesztésre.
    
    2001.03.01
    
      
	0.9.1
	2002.08.14
	EH3
	Egy kis frissítés az X11 (socketek) használatához.
      
      
	0.9
	2001.12.03
	EH3
	Első kiadás.
      
    
  
   Bevezetés
    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 chroot 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. 
    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 chroot-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:
    
    
      
	
A "fő" vagy "elsődleges" terjesztés rendszermagjának verziója
(legalább valamennyire) kompatibilis a "másodlagos" vagy
chroot-olt terjesztésével.
	
      
      
	
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).
	
      
    
    Szerzői jog és licenc
      
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 
http://www.gnu.org/copyleft/fdl.html honlapon.
      
  
   Magyar fordítás
      
A magyar fordítást Koller Csaba készítette (2003.05.06). 
A lektorálást Daczi László 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 Magyar Linux Dokumentációs Projekt honlapján. 
      
    
  
  
   Beállítás
    Feltételezzük a következőket:
    
      
	
Egy "fő" vagy "elsődleges" Linux terjesztés van telepítve, ami 2.4-es
vagy újabb rendszermagot használ.
	
      
      
	
Van egy szabad partíciód 2-4 giga hellyel.
	
      
      
	
Elegendő hely van a lemezen a másodlagos terjesztések telepítéséhez
(és a későbbi fejlesztésekhez/teszteléshez).
	
      
    
    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:
    
    
      
	
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.
	
      
      
	
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.
	
      
      
	
Indítsd újra az elsődleges Linuxodat, és csatold fel az újonnan telepített
"másodlagos" terjesztést. Másold (elsősorban a tar -cp
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 /opt/distros/DISTRO_NAME
könyvtárba.
	
      
      
	
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:
	
/opt/distros/redhat_6.2/
             suse_7.2/
             mandrake_8.1/
             debian-potato/
             slackware_8.0/
	
Ebben minden könyvtár a telepítésből származó terjesztések
összes fájlját tartalmazza.
        
      
    
  
   További Linux terjesztések használata
    A telepített másodlagos terjesztések használatához a
    következő lépések végrehajtása szükséges:
    
      
	
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
/proc és /tmp
fájlrendszereket újra fel kell csatolni a következő
parancsok használatával:
mount --bind /proc /opt/distros/redhat_6.2/proc
mount --bind /tmp /opt/distros/redhat_6.2/tmp
	
      
      
	
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:
mount --bind /home/USER/src/PROJECT /opt/distros/redhat_6.2/USER/src/PROJECT
	
      
      
	
root felhasználóként használd a következő parancsot:
xhost +localhost chroot /opt/distros/redhat_6.2
/bin/bash Így lesz egy héjad (shell) a másodlagos
terjesztésen belül.Az xhost parancs
csak akkor szükséges, ha X-window alkalmazásokat akarsz futtani.
	
      
      
	
Végül, hozz létre egy felhasználót (ha szükséges) a
chroot-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 DISPLAY környezeti
változódat, ha X-es alkalmazásokat akarsz használni.
	
      
    
    Kész! Most már van egy parancsértelmeződ ami az
    általad választott másodlagos Linux terjesztésen belül
    fut.
  
   Készítők
    Ebben a mini-HOGYANban leírt ötletek eredetileg nem
    tőlem származnak. Ben Reed ( OpenNMS ) egyik
     TriLUG  levelező
    listára küldött leveleiből lett kiválasztva.
    Olyan hasznosnak találtam az ötletet,
    hogy dokumentálni akartam másoknak.