<ed@eh3.com>
2001.03.01
Verziótörténet | ||
---|---|---|
Verzió: 0.9.1 | 2002.08.14 | Átdolgozta: EH3 |
Egy kis frissítés az X11 (socketek) használatához. | ||
Verzió: 0.9 | 2001.12.03 | Átdolgozta: EH3 |
Első kiadá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).
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.
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.
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.
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 |
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.
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.