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.