  Skapa en RedHat-CD - mini-HOWTO
  Morten Kjeldgaard, mok@imsb.au.dk och Peter von der Ah,
  pahe+rhcd@daimi.au.dk Svensk versttning: Bo Serrander
  bserrander@atr.se
  v.00, 9 september 1998, svensk versttning: april 1999

  I det hr dokumentet beskrivs hur du gr egna CD-skivor av Linux-ver
  sionen av Red Hat.  De r jmfrbara med de CD-skivor som sljs av Red
  hat.  Du fr en beskrivning av distributionsstrukturen och av hur du
  infogar uppdaterad RPMS i distributionen.  Du behver en bra ntverk
  sanslutning och en CD-brnnare.
  ______________________________________________________________________

  Innehllsfrteckning


  1. Inledning

  2. Red Hats FTP-plats

     2.1 Den versta katalogen
     2.2 Katalogen "RedHat" -- krnan i distributionen

  3. RPM-paket

  4. Hmta en lokal kopia av distributionen

  5. Infoga uppdateringar

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

  6. Till sist: brnn din CD-skiva

  7. Installera frn CD-skivan

  8. FRISKRIVNING



  ______________________________________________________________________

  1.  Inledning


  Det kan finnas mnga anledningar att brnna egna CD-skivor. Om du r
  snl vill du frsts spara de futtiga ren det kostar att g in pRed
  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 hgst befogad nskning, fr efter
  varje strre utgva av Red Hat-distributionen har det tillkommit
  massor av uppdateringar, varav mnga r skerhetsrelaterade.  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 srskilt ark med rttelser fr 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
  fr mnga olika plattformar p sin FTP-plats.  Allihop r tillgngliga
  frn den versta distributionskatalogen.

  2.1.  Den versta katalogen


  Den versta katalogen fr RedHat Linux version 5.1
  (pub/redhat/redhat-5.1 <ftp://ftp.redhat.com/pub/redhat/redhat-5.1/>)
  innehller distributioner fr olika plattformar och en katalog med
  uppdateringar och rttelser som har tillkommit efter det att
  programpaketet slpptes.



       SRPMS/     alpha/     i386/      sparc/     updates/





  I det hr dokumentet anvnder vi i386-distributionen som exempel. Det
  tillvgagngsstt som anges i dokumentet br fungera p alla
  plattformar som kan  anvndas med Red Hat (Alpha, SPARC, ppc o.s.v.),
  men vi har bara testat det p i386-plattformen (vi tar grna emot
  ytterligare information). Roten fr i386-katalogen ser ut p fljande
  stt:



       -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 innehller en stor mngd information. Framfr allt
  innehller den installationshandboken fr 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 frgor och dessutom en fullstndig
  samling av HOWTO och mini-HOWTO.  Katalogen images innehller
  avbildningar av startdisketter som du mste kopiera till en diskett.
  I den senaste distributionen (5.1) finns det tv diskettavbilder
  tillgngliga.  Den startbara diskettavbildningen heter boot.img och
  kan hmtas nr installationen utfrs direkt frn en CD.  Om du mste
  installera frn en lokal hrddisk, en NFS-ansluten disk eller en FTP
  kanske du ocks behver den kompletterande diskavbildningen.
  supp.img. I avsnittet ``Installing from the CD'' finns det mer
  information och ytterligare hnvisningar.  Katalogen misc innehller
  kllfiler och krbara filer fr ett antal program som krvs fr
  installationen.

  2.2.  Katalogen "RedHat" -- krnan i distributionen


  Den viktigaste delen i katalogtrdet utgr 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 innehller huvuddelen av Red Hat-distributionen som
  bestr av en uppsttning RPM-filer (Redhat Package Manager). Ett RPM-
  paket innehller vanligtvis binra krbara filer samt relevanta
  konfigureringsfiler och dokumentation.  Mer information finns i
  avsnittet ``RPM packages'' .  Katalogen base innehller olika
  administrationskataloger som behvs under installationen, t.ex. filen
  comps, som definierar components, (grupper med RPM-paket) som anvnds
  under fasen "Choose packages to install".  En annan viktig fil i
  katalogen base r filen hdlist som innehller de flesta rubrikfilerna
  frn alla RPM-filer i katalogen RPMS.  Det innebr att du kan avgra
  vilka tgrder som behvs i RPM-paketen genom att bara lsa hdlist. Du
  behver inte lsa alla RPM-filer, vilket r mycket praktiskt, srskilt
  under FTP-installationer.  Du kan ocks anvnda hdlist till att
  avbilda paketnamn till filnamn, t.ex.  perl till
  perl-5.004-6.i386.rpm.  Det innebr att om du vill lgga till
  uppdateringar frn RedHat (se avsnitt ``Incorporating the updates'')
  eller lgga till ett eget paket i katalogen RPMS mste du uppdatera
  hdlist.  Proceduren beskrivs i avsnittet ``Generating a new hdlist
  file''.

  Katalogen instimage innehller ett enkelt katalogtrd med ett antal
  program och delade bibliotek som behvs under installationen.

  3.  RPM-paket


  Huvuddelen av RedHat-distributionen bestr av en uppsttning RedHat-
  filer (Redhat Package Manager). Ett RPM-paket innehller vanligtvis
  binra krbara filer samt relevanta konfigureringsfiler och
  dokumentation.  Programmet rpm <http://www.rpm.org> r en kraftfull
  programhanterare som kan anvndas till att installera, anropa,
  verifiera, uppdatera, radera och bygga programpaket i RPM-format.  Med
  Rpm underhller du en databas med alla programvarupaket som har
  installerats s att informationen i den installerade programvaran
  alltid r tillgnglig.  De binra RPM-filerna i distributionen har
  skapats p ett system som sjlva distributionen krs p.  Det r
  viktigt, eftersom de flesta programmen i paketet r beroende av delade
  bibliotek.  Frn och med RedHat version 5.0 anvnds den nya version 2
  av GNU Standard C-biblioteket (som r anpassad fr 64-bitar).  Den hr
  versionen av biblioteket kallas vanligen glibc eller, i Linux: libc 6.
  Alla krbara filer i distributionen har lnkats med det biblioteket.
  Om du frsker installera binra filer frn en annan distribution
  finns det en risk att de inte fungerar om du inte installerar paketet
  libc5 som r baktkompatibelt.  Namnen i RPM-paketet innehller
  suffixet .arch.rpm, dr arch anger arkitekturen och har vrdet i386
  fr binrfiler p Intel-plattformen.  Det paket du installerar mste
  verensstmma med de versioner av de delade bibliotek som finns i
  datorn.  Programmet rpm <http://www.rpm.org> brukar fungera bra nr du
  vill skerstlla verensstmmelsen, men det finns olika stt att
  utfra kontrollen, s det r viktigt att du vet vad du gr om du
  installerar paket p det hr sttet. Om du dremot anvnder
  startdisken fr RedHat-installation kan vi garantera att rtt
  uppsttning av RPM-paketen installeras i datorn. Om du upptcker ett
  RPM-paket som inte har installerats i systemet under
  installationsprocessen behver du inte oroa dig.  Du kan nr du vill
  installera RPM-paket (som root). Exempel:

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





  Du kan till och med installera direkt frn Internet om du knner 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 originalkllkoder som
  anvnds fratt bygga binrfilerna.  Paketen har suffixet .src.rpm och
  finns ikatalogen SRPMS. De hr paketen behvs inte p installations-
  CD:n, och fr vrigt ryms de inte p en 74-minuters brnnbar CD.  Du
  kan frsts gra en separat CD med SRPMS-filerna.

  4.  Hmta en lokal kopia av distributionen


  Du behver en kopia av distributionen p en skrivbar disk som du kan
  ppna p den dator dr CD-skrivaren r ansluten. Om du vill infoga de
  senaste uppdateringarna, br katalogen (ocks) kunna ppnas frn en
  Linux-dator, antingen frn en lokal disk, en NFS-ansluten disk p en
  annan dator eller frn en JAZ-disk.  Du kan kopiera distributionen
  frn en RedHat-CD eller hmta den frn FTP.  Om du vljer att anvnda
  FTP r det bsta sttet att f en korrekt kopia av distributionen att
  anvnda paketet mirror.  Mirror r ett avancerat perl-skript dr
  innehllet i en katalog p en fjrransluten dator jmfrs med en lokal
  katalog.  FTP anvnds fr att hmta filerna frn den fjrranslutna
  datorn men inte frn den lokala katalogen. Filer i den lokala
  katalogen som inte finns i den fjrranslutna datorn tas bort.  Mirror-
  programmet konfigureras med en konfigureringsfil.  Mirror-paketet kan
  hmtas 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 fr Mirror
  och redigera relevanta flt verst i filen.  Efter
  standardalternativen anger du fljande 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 fljande kommando hmtar du en kopia av hela RedHat-trdet till
  din lokala disk.  *Tnk efter* innan du brjar, fr du kommer att
  verfra ca 350 MB.

  mirror -pdist mirror.redhat




  Nu avbildar du FTP-platsen fr RedHat p din lokala disk. Innehllet i
  en RedHat-distribution ndras inte mellan upplagorna s du behver
  bara hmta det hr paketet.  EN GNG. Alla ndringar i distributionen
  finns i katalogen updates. Det innebr att du bara behver hlla
  katalogen updates aktuell fr att alltid ha en uppdaterad avbildning
  av RedHat-distributionen.  Anvnd kommandot



       mirror -pupdates mirror.redhat




  Kr kommandot regelbundet, t.ex. en gng i veckan, med hjlp av ett
  cron-skript.  RedHat-distributionen finns p ett stort antal FTP-
  servrar ver hela vrlden.  Servrarna uppdateras dagligen frn
  huvudwebbplatsen <ftp://ftp.redhat.com/pub>. Vlj en FTP-plats i
  nrheten. Mer information: RedHat FAQ
  <http://www.redhat.com/support/docs/rhl/RedHat-FAQ/RedHat-
  FAQ-12.html#ss12.1>


  5.  Infoga uppdateringar


  Nr du infogar uppdateringar mste du ha skrivbehrighet till
  distributionskatalogen frn en Linux-dator med en fungerande version
  av rpm <http://www.rpm.org> . Utfr fljande tre steg:

  1. Korrigera alternativen fr filskydd.

  2. Byta ut uppdaterade RPM-filer.

  3. Generera hdlist-filen.

  Om du alltid har en aktuell avbild av katalogen updates kan du nr som
  helst skapa en CD med aktuella uppdateringar genom att utfra de tre
  stegen.

  5.1.  Korrigera alternativen fr filskydd


  Under installationsprocessen krs vissa program direkt frn CD-skivan.
  Tyvrr bevaras inte alltid skyddet fr de filer och kataloger som
  kopieras.  Drfr mste du se till att programmen, shell-skripten och
  de delade biblioteken har krningstillstnd innan du brnner in
  katalogen p CD-skivan.  Det kan du gra genom att kra skriptet
  updatePerm p din lokala kopia av distributionen:












  ______________________________________________________________________
  #!/bin/bash

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

  # Ska efter alla kataloger och kontrollera att de har tillstndet +x
  find $CDDIR -type d -exec chmod -c 755 {} \;

  # Ska efter alla filer som r krbara 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

  # Ska efter delade bibliotek
  find $CDDIR -name \*.so >> $LIST

  # Gra dem krbara medan du lser 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 frn
  uppdateringskatalogen till RPMS-katalogen.  I skriptet ingr ngra
  tjusiga rpm-trick som avgr vilka paket i uppdateringskatalogen som r
  nyast.  ldre paket flyttas till katalogen ${OLD}.



























  ______________________________________________________________________
  #! /bin/bash
  # Med det hr skriptet uppdateras de rpm-filer i en RedHat-distribution som hittas i $RPMDIR.
  # Gamla rpm-filer placeras i $OLDDIR.
  # De nya rpm-filerna br 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 rtt 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


  Nr du installerar frn 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 mste kras med rotnamnet fr distributionen som
  enda argument.  S hr 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! Nr du har infogat uppdateringarna i huvudkatalogen RedHat/RPMS
  r din kopia av distributionen inte lngre en avbild av RedHats
  distributionsplats.  Den r i sjlva verket nnu mer aktuell! Om du
  tnker avbilda distributionen kommer drfr ldre versioner av
  uppdaterade RPM-filer att hmtas en gng till och uppdateringarna tas
  bort.

  6.  Till sist: brnn din CD-skiva


  Eftersom vi frutstter att du har en fungerande CD-brnnare i
  systemet och vet hur du ska anvnda den gr vi inte nrmare in p den
  delen.  Om du brnner CD-skivan p ett Linux-system kan du installera
  det utmrkta programpaketet XCDroast <http://www.fh-
  muenchen.de/rz/xcdroast> .  I XCDRoast aktiverar du Rock Ridge-
  tillggen och skapar en TRANS.TBL-fil.

  Kontrollera att den versta katalogen p CD-skivan innehller
  tminstone fljande filer och kataloger:



       COPYING      RPM-PGP-KEY README       RedHat/





  Fljande kataloger kan ocks vara bra att ha:



       doc/         gnome/      misc/        dosutils/    images/






  7.  Installera frn CD-skivan


  Nr du installerar frn den nya CD-skivan mste du frst skapa en
  startbar installationsdiskett.  VIKTIGT: Anvnd en NY, MS-DOS-
  formaterad diskett!  Om du anvnder gamla utslitna disketter kan du f
  mnga problem vid installationen.  P ett Linux-system kan du skapa
  disketten med hjlp av kommandot dd:


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





  P ett DOS- eller Windows-9x-system mste du anvnda programmet
  RAWRITE.EXE, som finns i katalogen dosutils p CD-skivan.  Stng av
  den dator som du ska installera (eller uppgradera systemet) p, stt
  in startdisketten och den nybrnda CD-skivan och starta datorn frn
  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 hr dokumentet antas vara korrekt, men frfattarna
  tar inte p sig ngot som helst ansvar fr skador p maskinvara eller
  programvara eller p frlust av data som har orsakats av de procedurer
  som beskrivs i dokumentet.













































