Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d667a145d78a93cee78c5358ca99c039 > files > 81

howto-text-nl-2006-5mdv2010.0.noarch.rpm


Ontwikkeling voor meerdere Linux distributies mini-HOWTO

Ed Hill

   <[1]<ed@eh3.com>>

Vertaald door: Ellen Bokhorst

   <[2]<bokkie@nl.linux.org>>

   01-03-2001
   Wijzigingen
   Herziening 0.9.1 14-08-2002 Herzien door: EH3
   Kleine update voor het gebruik van X11 (sockets).
   Herziening 0.9   2001-12-03 Herzien door: EH3
   Initiële versie.

   In dit document wordt een korte uiteenzetting gegeven als hulp bij het
   ontwikkelen en testen van gebruikersprogramma's voor meerdere Linux
   distributies.
     _________________________________________________________________

   Inhoudsopgave
   [3]Introductie
   [4]Setup
   [5]Gebruiken van de secondaire distributies
   [6]Krediet

Introductie

   Als ontwikkelaar is het zo nu en dan nodig programma's op meerdere
   Linux distributies te coderen en/of testen. In deze mini-howto wordt
   een aardige chroot truuk uiteengezet die in veel gevallen tegemoet kan
   komen aan het kunnen booten in verschillende Linux distributies voor
   een test- en ontwikkelomgeving.

   In een notedop houdt de "truuk" in dat alle bestanden van een bepaalde
   linux distributie in een enkele directory worden geplaatst en dat dan
   middels chroot die directory wordt geactiveerd voor het
   ontwikkelen/testen/debuggen van je programma. Deze benadering werkt op
   voorwaarde dat:

    1. De kernelversie van de "main" of "primaire" distributie die je
       gebruikt moet (op z'n minst enigzins) compatibel zijn met de
       "secondaire" of chroot'ed distributies en
    2. Je applicatie is primair user-space (dwz geen kernel moduls) en is
       niet min of meer afhankelijk van bepaalde kernelfeatures (dwz.
       /proc functioneren).
     _________________________________________________________________

Copyright en licentie

   Dit document is 2001 auteursrechtelijk beschermd door Ed Hill III. Het
   is toegestaand dit document onder de voorwaarden van de GNU Free
   Documentation licentie, versie 1.1 of later versie gepubliceerd door
   de Free Software Foundation, te kopiëren, distribueren en/of aan te
   passen; zonder Invariant secties, zonder Front-Cover teksten en zonder
   Back-Cover teksten. Een kopie van de licentie is beschikbaar op
   [7]http://www.gnu.org/copyleft/fdl.html.
     _________________________________________________________________

Setup

   We veronderstellen het volgende:

    1. Dat een "main" of primaire Linux distributie reeds is
       geïnstalleerd met een kernelversie 2.4.x of nieuwere kernelversie,
    2. dat je een vrije partitie hebt met 2 -- 4 Gig beschikbare ruimte
       en
    3. dat je voldoende diskruimte hebt voor de tweede installatie (en
       eventueel daaropvolgend ontwikkelaars/testwerk).

   Gegeven die veronderstellingen, volgt hierna een uiteenzetting van een
   manier om de meerdere secondaire Linux distributies op te zetten die
   zullen worden gebruikt voor ontwikkeling, testen, of andere
   doeleinden:

    1. Maak als eerste een partitie aan op één van je harddisks welke
       groot genoeg is (gewoonlijk is 2--4Gb voldoende) voor een
       basisinstallatie van één van de secondaire Linux distributies.
    2. Installeer de secondaire distro op deze partitie, maar voeg het
       niet toe aan je bootconfiguratie. In deze installatie hoeven
       alleen die packages te worden opgenomen die nodig zijn voor je
       doelapplicatie (of het testen daarvan). Je kunt bijvoorbeeld
       applicaties zoals de X server of andere ruimte opslokkende
       packages achterwege laten.
    3. Reboot je primaire Linux distributie en mount de partitie met de
       nieuwe geïnstalleerde "secondaire" distro. Kopieer (bijvoorkeur
       met tar -cp of een andere methode die permissies behoudt) alle
       bestanden vanaf de secondaire distro naar een lokatie zoals
       /opt/distros/DISTRO_NAME.
    4. Herhaal de stappen 2--3 voor eventuele extra distributies die je
       wenst te installeren. Het resultaat zou een directorystructuur
       lijkend op het volgende moeten zijn:

/opt/distros/redhat_6.2/
             suse_7.2/
             mandrake_8.1/
             debian-potato/
             slackware_8.0/

       waarbij elke directory de complete set bestanden bevat als
       resultaat van elke distributie-installatie.
     _________________________________________________________________

Gebruiken van de secondaire distributies

   Met de secondaire distributies geïnstalleerd, zijn de te volgen
   stappen:

    1. Het is van belang een Linux kernel uit de 2.4 serie te gebruiken
       in de "primaire" Linux distributie om voordeel te kunnen halen uit
       de feature waarbij meerdere mountpoints kunnen worden aangemaakt
       wat in de 2.4 serie is toegestaan. Voor veel taken zullen de
       bestandssystemen /proc en /tmp in de secondaire distributie
       opnieuw moeten worden gemount met:

mount --bind /proc /opt/distros/redhat_6.2/proc
mount --bind /tmp /opt/distros/redhat_6.2/tmp

    2. Het kan ook handig zijn (in plaats van kopiëren) de
       broncodestructuur vanaf de primaire naar de secondaire distro te
       mounten:

mount --bind /home/USER/src/PROJECT /opt/distros/redhat_6.2/USER/src/PROJECT

    3. Wordt root en gebruik:

xhost +localhost chroot /opt/distros/redhat_6.2
/bin/bash

       ter verkrijging van een shell met één van de secondaire distro's.
       De opdracht xhost is alleen nodig als je van plan bent gebruik te
       gaan maken van X-Window applicaties.
    4. Maak als laatste (zonodig) een gebruiker aan binnen de chroot-ed
       shell en ontwikkel, bouw, en/of test je applicatie binnen deze
       "aparte" Linux distributie! Je moet ook de omgevingsvariabele
       DISPLAY nog instellen als je graag gebruik wilt maken van
       X-applicaties.

   Klaar! Je hebt nu een shell welke voor alle praktische doeleinden,
   binnen de secondaire Linux distributie draait van je keuze.
     _________________________________________________________________

Krediet

   De ideeën in deze mini-HOWTO zijn oorspronkelijk niet van mij. Ze zijn
   uit berichten van Ben Reed geplukt (van [8]OpenNMS ) naar één van de
   [9]TriLUG mailing lijsten. Ik vond de informatie zo handig dat ik dat
   idee voor anderen wilde documenteren.

References

   1. mailto:<ed@eh3.com>
   2. mailto:<bokkie@nl.linux.org>
   3. file://localhost/tmp/Multi-Distro-Dev-NL/Multi-Distro-Dev-NL.html#INTRODUCTION
   4. file://localhost/tmp/Multi-Distro-Dev-NL/Multi-Distro-Dev-NL.html#SETUP
   5. file://localhost/tmp/Multi-Distro-Dev-NL/Multi-Distro-Dev-NL.html#USE
   6. file://localhost/tmp/Multi-Distro-Dev-NL/Multi-Distro-Dev-NL.html#CREDITS
   7. http://www.gnu.org/copyleft/fdl.html
   8. http://www.opennms.org/
   9. http://www.trilug.org/