Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 3d425e1e545e57bba7e595fbd248db86 > files > 32

howto-text-sv-9.0-1mdk.noarch.rpm

  Skapa en RedHat-CD - mini-HOWTO
  Morten Kjeldgaard, mok@imsb.au.dk och Peter von der AhÚ,
  pahe+rhcd@daimi.au.dk Svensk översättning: Bo Serrander
  bserrander@atr.se
  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.