Programfejlesztés több Linux terjesztésre mini-HOGYAN

Ed Hill

2001.03.01

Verziótörténet
Verzió: 0.9.12002.08.14Átdolgozta: EH3
Egy kis frissítés az X11 (socketek) használatához.
Verzió: 0.92001.12.03Átdolgozta: EH3
Első kiadás.

Tartalomjegyzék
1. Bevezetés
1.1. Szerzői jog és licenc
1.2. Magyar fordítás
2. Beállítás
3. További Linux terjesztések használata
4. Készítők

1. 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:

  1. A "fő" vagy "elsődleges" terjesztés rendszermagjának verziója (legalább valamennyire) kompatibilis a "másodlagos" vagy chroot-olt terjesztésével.

  2. 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).


1.2. 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.


2. Beállítás

Feltételezzük a következőket:

  1. Egy "fő" vagy "elsődleges" Linux terjesztés van telepítve, ami 2.4-es vagy újabb rendszermagot használ.

  2. Van egy szabad partíciód 2-4 giga hellyel.

  3. 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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.


3. 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:

  1. 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

  2. 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

  3. 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.

  4. 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.


4. 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.