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.