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.