Skapa en RedHat-CD - mini-HOWTO
 Morten Kjeldgaard, [email protected] och Peter von der Ah�,
 [email protected] Svensk �vers�ttning: Bo Serrander
 [email protected]
 v.00, 9 september 1998, svensk �vers�ttning: april 1999

 I det h�r dokumentet beskrivs hur du g�r egna CD-skivor av Linux-ver�
 sionen av Red Hat.  De �r j�mf�rbara med de CD-skivor som s�ljs av Red
 hat.  Du f�r en beskrivning av distributionsstrukturen och av hur du
 infogar uppdaterad RPMS i distributionen.  Du beh�ver en bra n�tverk�
 sanslutning och en CD-br�nnare.
 ______________________________________________________________________

 Inneh�llsf�rteckning


 1. Inledning

 2. Red Hats FTP-plats

    2.1 Den �versta katalogen
    2.2 Katalogen "RedHat" -- k�rnan i distributionen

 3. RPM-paket

 4. H�mta en lokal kopia av distributionen

 5. Infoga uppdateringar

    5.1 Korrigera alternativen f�r filskydd
    5.2 Byta ut uppdaterade RPMS-filer
    5.3 Generera en ny hdlist-fil

 6. Till sist: br�nn din CD-skiva

 7. Installera fr�n CD-skivan

 8. FRISKRIVNING



 ______________________________________________________________________

 1.  Inledning


 Det kan finnas m�nga anledningar att br�nna egna CD-skivor. Om du �r
 sn�l vill du f�rst�s spara de futtiga �ren det kostar att g� in p�Red
 Hat distribution <http://www.redhat.com/>. Eller ocks� kanske du vill
 ha en distributions-CD som har den senaste distributionen med alla
 aktuella uppdateringar.  Det �r en h�gst befogad �nskning, f�r efter
 varje st�rre utg�va av Red Hat-distributionen har det tillkommit
 massor av uppdateringar, varav m�nga �r s�kerhetsrelaterade.  Du kan
 exempelvis titta p� filen updates/00README.errata
 <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/updates/00README.errata> .
 Det finns ocks� ett s�rskilt ark med r�ttelser f�r varje plattform.
 Exempel: the Intel errata sheet
 <ftp://ftp.redhat.com/pub/redhat/updates/5.1/i386/00README.errata>



 2.  Red Hats FTP-plats


 Enligt Linux-andan erbjuder Red Hat Software sina Linux-distributioner
 f�r m�nga olika plattformar p� sin FTP-plats.  Allihop �r tillg�ngliga
 fr�n den �versta distributionskatalogen.

 2.1.  Den �versta katalogen


 Den �versta katalogen f�r RedHat Linux version 5.1
 (pub/redhat/redhat-5.1 <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/>)
 inneh�ller distributioner f�r olika plattformar och en katalog med
 uppdateringar och r�ttelser som har tillkommit efter det att
 programpaketet sl�pptes.



      SRPMS/     alpha/     i386/      sparc/     updates/





 I det h�r dokumentet anv�nder vi i386-distributionen som exempel. Det
 tillv�gag�ngss�tt som anges i dokumentet b�r fungera p� alla
 plattformar som kan  anv�ndas med Red Hat (Alpha, SPARC, ppc o.s.v.),
 men vi har bara testat det p� i386-plattformen (vi tar g�rna emot
 ytterligare information). Roten f�r i386-katalogen ser ut p� f�ljande
 s�tt:



      -rw-r--r--   8 ftpuser  ftpusers     19686 May 27  1997 COPYING
      -rw-r--r--   1 ftpuser  ftpusers      3023 May  7 09:58 README
      -rw-r--r--  10 ftpuser  ftpusers      2751 Sep 18  1997 RPM-PGP-KEY
      drwxr-xr-x   5 ftpuser  ftpusers        96 Jul 15 08:34 RedHat/
      drwxr-xr-x   5 ftpuser  ftpusers      8192 Jul 15 08:35 doc/
      drwxr-xr-x   5 ftpuser  ftpusers      8192 Jul 15 08:35 dosutils/
      drwxr-xr-x   5 ftpuser  ftpusers      8192 Jul 15 08:33 gnome/
      drwxr-xr-x   2 ftpuser  ftpusers        96 Jun  7 02:47 images/
      drwxr-xr-x   4 ftpuser  ftpusers        96 Jun  5 12:24 misc/





 Katalogen doc inneh�ller en stor m�ngd information. Framf�r allt
 inneh�ller den installationshandboken f�r RedHat i HTML-format.
 doc/rhmanual/manual/
 <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/i386/doc/rhmanual/manual/doc000.htm>.
 Det finns ocks� ett antal vanliga fr�gor och dessutom en fullst�ndig
 samling av HOWTO och mini-HOWTO.  Katalogen images inneh�ller
 avbildningar av startdisketter som du m�ste kopiera till en diskett.
 I den senaste distributionen (5.1) finns det tv� diskettavbilder
 tillg�ngliga.  Den startbara diskettavbildningen heter boot.img och
 kan h�mtas n�r installationen utf�rs direkt fr�n en CD.  Om du m�ste
 installera fr�n en lokal h�rddisk, en NFS-ansluten disk eller en FTP
 kanske du ocks� beh�ver den kompletterande diskavbildningen.
 supp.img. I avsnittet ``Installing from the CD'' finns det mer
 information och ytterligare h�nvisningar.  Katalogen misc inneh�ller
 k�llfiler och k�rbara filer f�r ett antal program som kr�vs f�r
 installationen.

 2.2.  Katalogen "RedHat" -- k�rnan i distributionen


 Den viktigaste delen i katalogtr�det utg�r roten i katalogen RedHat:



 drwxr-xr-x   2 ftpuser  ftpusers     24576 Jul 15 08:35 RPMS/
 drwxr-xr-x   2 ftpuser  ftpusers      8192 Jul 15 08:32 base/
 -rw-rw-rw-  59 ftpuser  ftpusers         0 Aug 15 14:21 i386
 drwxr-xr-x   4 ftpuser  ftpusers        96 Jun  5 12:24 instimage/





 Katalogen RPMS inneh�ller huvuddelen av Red Hat-distributionen som
 best�r av en upps�ttning RPM-filer (Redhat Package Manager). Ett RPM-
 paket inneh�ller vanligtvis bin�ra k�rbara filer samt relevanta
 konfigureringsfiler och dokumentation.  Mer information finns i
 avsnittet ``RPM packages'' .  Katalogen base inneh�ller olika
 administrationskataloger som beh�vs under installationen, t.ex. filen
 comps, som definierar components, (grupper med RPM-paket) som anv�nds
 under fasen "Choose packages to install".  En annan viktig fil i
 katalogen base �r filen hdlist som inneh�ller de flesta rubrikfilerna
 fr�n alla RPM-filer i katalogen RPMS.  Det inneb�r att du kan avg�ra
 vilka �tg�rder som beh�vs i RPM-paketen genom att bara l�sa hdlist. Du
 beh�ver inte l�sa alla RPM-filer, vilket �r mycket praktiskt, s�rskilt
 under FTP-installationer.  Du kan ocks� anv�nda hdlist till att
 avbilda paketnamn till filnamn, t.ex.  perl till
 perl-5.004-6.i386.rpm.  Det inneb�r att om du vill l�gga till
 uppdateringar fr�n RedHat (se avsnitt ``Incorporating the updates'')
 eller l�gga till ett eget paket i katalogen RPMS m�ste du uppdatera
 hdlist.  Proceduren beskrivs i avsnittet ``Generating a new hdlist
 file''.

 Katalogen instimage inneh�ller ett enkelt katalogtr�d med ett antal
 program och delade bibliotek som beh�vs under installationen.

 3.  RPM-paket


 Huvuddelen av RedHat-distributionen best�r av en upps�ttning RedHat-
 filer (Redhat Package Manager). Ett RPM-paket inneh�ller vanligtvis
 bin�ra k�rbara filer samt relevanta konfigureringsfiler och
 dokumentation.  Programmet rpm <http://www.rpm.org> �r en kraftfull
 programhanterare som kan anv�ndas till att installera, anropa,
 verifiera, uppdatera, radera och bygga programpaket i RPM-format.  Med
 Rpm underh�ller du en databas med alla programvarupaket som har
 installerats s� att informationen i den installerade programvaran
 alltid �r tillg�nglig.  De bin�ra RPM-filerna i distributionen har
 skapats p� ett system som sj�lva distributionen k�rs p�.  Det �r
 viktigt, eftersom de flesta programmen i paketet �r beroende av delade
 bibliotek.  Fr�n och med RedHat version 5.0 anv�nds den nya version 2
 av GNU Standard C-biblioteket (som �r anpassad f�r 64-bitar).  Den h�r
 versionen av biblioteket kallas vanligen glibc eller, i Linux: libc 6.
 Alla k�rbara filer i distributionen har l�nkats med det biblioteket.
 Om du f�rs�ker installera bin�ra filer fr�n en annan distribution
 finns det en risk att de inte fungerar om du inte installerar paketet
 libc5 som �r bak�tkompatibelt.  Namnen i RPM-paketet inneh�ller
 suffixet .arch.rpm, d�r arch anger arkitekturen och har v�rdet i386
 f�r bin�rfiler p� Intel-plattformen.  Det paket du installerar m�ste
 �verensst�mma med de versioner av de delade bibliotek som finns i
 datorn.  Programmet rpm <http://www.rpm.org> brukar fungera bra n�r du
 vill s�kerst�lla �verensst�mmelsen, men det finns olika s�tt att
 utf�ra kontrollen, s� det �r viktigt att du vet vad du g�r om du
 installerar paket p� det h�r s�ttet. Om du d�remot anv�nder
 startdisken f�r RedHat-installation kan vi garantera att r�tt
 upps�ttning av RPM-paketen installeras i datorn. Om du uppt�cker ett
 RPM-paket som inte har installerats i systemet under
 installationsprocessen beh�ver du inte oroa dig.  Du kan n�r du vill
 installera RPM-paket (som root). Exempel:

 rpm --install  WindowMaker-0.18-1b.i386.rpm





 Du kan till och med installera direkt fr�n Internet om du k�nner till
 URL-adressen till ett RPM-paket:


      rpm --install ftp://rufus.w3.org/redhat-contrib/noarch/mirror-2.9-2.noarch.rpm





 I en annan version av RPM-paketen finns de originalk�llkoder som
 anv�nds f�ratt bygga bin�rfilerna.  Paketen har suffixet .src.rpm och
 finns ikatalogen SRPMS. De h�r paketen beh�vs inte p� installations-
 CD:n, och f�r �vrigt ryms de inte p� en 74-minuters br�nnbar CD.  Du
 kan f�rst�s g�ra en separat CD med SRPMS-filerna.

 4.  H�mta en lokal kopia av distributionen


 Du beh�ver en kopia av distributionen p� en skrivbar disk som du kan
 �ppna p� den dator d�r CD-skrivaren �r ansluten. Om du vill infoga de
 senaste uppdateringarna, b�r katalogen (ocks�) kunna �ppnas fr�n en
 Linux-dator, antingen fr�n en lokal disk, en NFS-ansluten disk p� en
 annan dator eller fr�n en JAZ-disk.  Du kan kopiera distributionen
 fr�n en RedHat-CD eller h�mta den fr�n FTP.  Om du v�ljer att anv�nda
 FTP �r det b�sta s�ttet att f� en korrekt kopia av distributionen att
 anv�nda paketet mirror.  Mirror �r ett avancerat perl-skript d�r
 inneh�llet i en katalog p� en fj�rransluten dator j�mf�rs med en lokal
 katalog.  FTP anv�nds f�r att h�mta filerna fr�n den fj�rranslutna
 datorn men inte fr�n den lokala katalogen. Filer i den lokala
 katalogen som inte finns i den fj�rranslutna datorn tas bort.  Mirror-
 programmet konfigureras med en konfigureringsfil.  Mirror-paketet kan
 h�mtas som en RPM-fil p� adressen rufus.w3.org
 <http://rufus.w3.org/linux/RPM/mirror.html>.

 Skapa en lokal kopia mirror.redhat av konfigureringsfilen f�r Mirror
 och redigera relevanta f�lt �verst i filen.  Efter
 standardalternativen anger du f�ljande paket:



      package=updates
             site=ftp.sunsite.auc.dk
             exclude_patt=(alpha/|sparc/)
             remote_dir=/disk1/ftp.redhat.com/pub/redhat/redhat-5.1/updates
             local_dir=/jaz/redhat-5.1/updates

      package=dist
             site=ftp.sunsite.auc.dk
             exclude_patt=(alpha/|sparc/)
             remote_dir=/disk1/ftp.redhat.com/pub/redhat/redhat-5.1/i386
             local_dir=/jaz/redhat-5.1/i386




 Med f�ljande kommando h�mtar du en kopia av hela RedHat-tr�det till
 din lokala disk.  *T�nk efter* innan du b�rjar, f�r du kommer att
 �verf�ra ca 350 MB.

 mirror -pdist mirror.redhat




 Nu avbildar du FTP-platsen f�r RedHat p� din lokala disk. Inneh�llet i
 en RedHat-distribution �ndras inte mellan upplagorna s� du beh�ver
 bara h�mta det h�r paketet.  EN G�NG. Alla �ndringar i distributionen
 finns i katalogen updates. Det inneb�r att du bara beh�ver h�lla
 katalogen updates aktuell f�r att alltid ha en uppdaterad avbildning
 av RedHat-distributionen.  Anv�nd kommandot



      mirror -pupdates mirror.redhat




 K�r kommandot regelbundet, t.ex. en g�ng i veckan, med hj�lp av ett
 cron-skript.  RedHat-distributionen finns p� ett stort antal FTP-
 servrar �ver hela v�rlden.  Servrarna uppdateras dagligen fr�n
 huvudwebbplatsen <ftp://ftp.redhat.com/pub>. V�lj en FTP-plats i
 n�rheten. Mer information: RedHat FAQ
 <http://www.redhat.com/support/docs/rhl/RedHat-FAQ/RedHat-
 FAQ-12.html#ss12.1>


 5.  Infoga uppdateringar


 N�r du infogar uppdateringar m�ste du ha skrivbeh�righet till
 distributionskatalogen fr�n en Linux-dator med en fungerande version
 av rpm <http://www.rpm.org> . Utf�r f�ljande tre steg:

 1. Korrigera alternativen f�r filskydd.

 2. Byta ut uppdaterade RPM-filer.

 3. Generera hdlist-filen.

 Om du alltid har en aktuell avbild av katalogen updates kan du n�r som
 helst skapa en CD med aktuella uppdateringar genom att utf�ra de tre
 stegen.

 5.1.  Korrigera alternativen f�r filskydd


 Under installationsprocessen k�rs vissa program direkt fr�n CD-skivan.
 Tyv�rr bevaras inte alltid skyddet f�r de filer och kataloger som
 kopieras.  D�rf�r m�ste du se till att programmen, shell-skripten och
 de delade biblioteken har k�rningstillst�nd innan du br�nner in
 katalogen p� CD-skivan.  Det kan du g�ra genom att k�ra skriptet
 updatePerm p� din lokala kopia av distributionen:












 ______________________________________________________________________
 #!/bin/bash

 LIST=/tmp/er3hd3w25
 CDDIR=/jaz/redhat-${RHVERSION}

 # S�ka efter alla kataloger och kontrollera att de har tillst�ndet +x
 find $CDDIR -type d -exec chmod -c 755 {} \;

 # S�ka efter alla filer som �r k�rbara eller som �r shell- eller perl-skript
 find $CDDIR -type f | file -f - | grep -v RPM \
    | egrep -i 'executable|perl|bourne|shell' | cut -f1 -d: > $LIST

 # S�ka efter delade bibliotek
 find $CDDIR -name \*.so >> $LIST

 # G�ra dem k�rbara medan du l�ser filen

 do
 -x $file ] ; then
       chmod -c 755 $file
    fi
 done < $LIST

 /bin/rm $LIST

 exit 0
 ______________________________________________________________________




 5.2.  Byta ut uppdaterade RPMS-filer


 Med skriptet updateCD kopierar du alla filer fr�n
 uppdateringskatalogen till RPMS-katalogen.  I skriptet ing�r n�gra
 tjusiga rpm-trick som avg�r vilka paket i uppdateringskatalogen som �r
 nyast.  �ldre paket flyttas till katalogen ${OLD}.



























 ______________________________________________________________________
 #! /bin/bash
 # Med det h�r skriptet uppdateras de rpm-filer i en RedHat-distribution som hittas i $RPMDIR.
 # Gamla rpm-filer placeras i $OLDDIR.
 # De nya rpm-filerna b�r placeras i $UPDDIR.
 # Arkitekturen �r $ARCH.

 RHVERSION=5.1

 ARCH=i386
 CDDIR=/jaz/redhat-${RHVERSION}
 RPMDIR=${CDDIR}/${ARCH}/RedHat/RPMS
 UPDDIR=${CDDIR}/updates/${ARCH}
 OLDDIR=${CDDIR}/old

 if [ ! -d $OLDDIR ] ; then
    echo making directory $OLDDIR
    mkdir $OLDDIR
 fi

 allow_null_glob_expansion=1

 for rpm in ${UPDDIR}/*.rpm ; do
   NAME=`rpm --queryformat "%{NAME}" -qp $rpm`
   unset OLDNAME
   for oldrpm in ${RPMDIR}/${NAME}*.rpm ; do
     if [ `rpm --queryformat "%{NAME}" -qp $oldrpm` = "$NAME" ]; then
       OLDNAME=$oldrpm;
       break
     fi
   done
   if [ -z "$OLDNAME" ]; then
     echo $NAME �r nytt
     cp -pv $rpm $RPMDIR
   else
     if [ `basename $rpm` != `basename $OLDNAME` ]; then
       mv $OLDNAME $OLDDIR
       cp -pv $rpm $RPMDIR
     fi
   fi
 done


 # Kopiera nya startbildfiler till r�tt plats...
 for newfile in ${UPDDIR}/images/* ; do
   file=${CDDIR}$/${ARCH}/images/$(basename ${newfile})
   if [ $newfile -nt $file ] ; then
      cp -pv $newfile $file
   fi
 done

 exit 0
 ______________________________________________________________________




 5.3.  Generera en ny hdlist-fil


 N�r du installerar fr�n CD-skivan kommer installationsprogrammet p�
 CD-skivan, misc/src/install/genhdlist att vara beroende av filen
 RedHat/base/hdlist , som beskriver vilka RPM-paket som finns p� CD-
 skivan.  Programmet m�ste k�ras med rotnamnet f�r distributionen som
 enda argument.  S� h�r ser updateHdlist-skriptet ut:

 ______________________________________________________________________
 #!/bin/bash

 echo skapar hdlist...
 CDDIR=/jaz/redhat-${RHVERSION}
 ARCH=i386
 GENHDDIR=${CDDIR}/${ARCH}/misc/src/install

 chmod u+x ${GENHDDIR}/genhdlist
 chmod 644 ${CDDIR}/${ARCH}/RedHat/base/hdlist
 ${GENHDDIR}/genhdlist ${CDDIR}/${ARCH}

 exit 0
 ______________________________________________________________________



 Obs! N�r du har infogat uppdateringarna i huvudkatalogen RedHat/RPMS
 �r din kopia av distributionen inte l�ngre en avbild av RedHats
 distributionsplats.  Den �r i sj�lva verket �nnu mer aktuell! Om du
 t�nker avbilda distributionen kommer d�rf�r �ldre versioner av
 uppdaterade RPM-filer att h�mtas en g�ng till och uppdateringarna tas
 bort.

 6.  Till sist: br�nn din CD-skiva


 Eftersom vi f�ruts�tter att du har en fungerande CD-br�nnare i
 systemet och vet hur du ska anv�nda den g�r vi inte n�rmare in p� den
 delen.  Om du br�nner CD-skivan p� ett Linux-system kan du installera
 det utm�rkta programpaketet XCDroast <http://www.fh-
 muenchen.de/rz/xcdroast> .  I XCDRoast aktiverar du Rock Ridge-
 till�ggen och skapar en TRANS.TBL-fil.

 Kontrollera att den �versta katalogen p� CD-skivan inneh�ller
 �tminstone f�ljande filer och kataloger:



      COPYING      RPM-PGP-KEY README       RedHat/





 F�ljande kataloger kan ocks� vara bra att ha:



      doc/         gnome/      misc/        dosutils/    images/






 7.  Installera fr�n CD-skivan


 N�r du installerar fr�n den nya CD-skivan m�ste du f�rst skapa en
 startbar installationsdiskett.  VIKTIGT: Anv�nd en NY, MS-DOS-
 formaterad diskett!  Om du anv�nder gamla utslitna disketter kan du f�
 m�nga problem vid installationen.  P� ett Linux-system kan du skapa
 disketten med hj�lp av kommandot dd:


      dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=1440k





 P� ett DOS- eller Windows-9x-system m�ste du anv�nda programmet
 RAWRITE.EXE, som finns i katalogen dosutils p� CD-skivan.  St�ng av
 den dator som du ska installera (eller uppgradera systemet) p�, s�tt
 in startdisketten och den nybr�nda CD-skivan och starta datorn fr�n
 disketten.  Mer information om installationsprocessen finns i
 dokumenten och i filerna Installations-HOWTO och Startdisk-HOWTO som
 finn i katalogen doc/HOWTO p� CD-skivan.

 8.  FRISKRIVNING


 Informationen i det h�r dokumentet antas vara korrekt, men f�rfattarna
 tar inte p� sig n�got som helst ansvar f�r skador p� maskinvara eller
 programvara eller p� f�rlust av data som har orsakats av de procedurer
 som beskrivs i dokumentet.