Met alles in relatie tot een computer, wordt iets dat 3 maanden oud is als verouderd aangemerkt en heeft een upgrade nodig. Aangezien ik niet altijd de tijd zal hebben om dit document bij te werken met iedere update, zal ik proberen om op z'n minst 't bij te werken bij iedere andere versie. Voor de andere distributies geldt dat ze zo zullen blijven zoals 't is, tenzij de auteurs me updates willen sturen.
Voor mijn installatie heb ik gebruik gemaakt van:
Toen ik in het begin besloot om RedHat op een ZIP disk te installeren, bedacht ik dat het veel gemakkelijker zou zijn om gewoon een Red Hat opstartdiskette te gebruiken. Toen werd ik wakker geschud. Ik had het bijna voor elkaar om een echte bootdisk aan te maken, kreeg zelfs hulp van diverse mensen bij RedHat via e-mail maar begon het gehele project tenslotte op te geven totdat ik de --root optie van rpm ontdekte.
Ik vond welke pakketten ik zou moeten installeren door, door een bestand te bladeren dat ik vond bij één van de mirrors van RedHat. Dit bestand kan op iedere mirror worden gevonden bij:
redhat/redhat-4.2/i386/RedHat/base/comps
Voor deze installatie wilde ik netwerkondersteuning insluiten, maar als gevolg van RedHat's X netwerkconfiguratie, zal ik het handmatig moeten gaan configureren, of liever gezegd, de netwerk-setupscripts in /etc/sysconfig/ proberen handmatig te configureren (zie sectie 4.3.3.)
Ik besloot om geen ontwikkelaarspakketten te installeren zoals de ZIP drive, op z'n minst is een niet bijgewerkte kernel versie nogal traag om iets gecompileerd te krijgen. Ik koos er ook voor om X niet te installeren, hoofdzakelijk vanwege diskruimte. Op een later tijdstip kan ik altijd nog proberen om mijn harddisk te mounten en een symbolische koppeling aan te maken met /usr om te bekijken of ik X werkend kan krijgen.
Hierna volgt een lijst met de pakketten die ik installeerde, in volgorde van installatie weergegeven. De met een * gemarkeerden zijn bijgewerkt vanaf Red Hat's errata. Tussen haakjes staat het bijgewerkte pakketnummer;
b.v. NetKit-B-0.09-6 was bijgewerkt tot NetKit-B-0.09-8 dus de naam op de
lijst zou zijn: *91) NetKit-B-0.09-6 (-8)
(Lijst aangemaakt met de opdracht rpm --root /iomega -qa)
1) setup-1.7-2 2) pamconfig-0.51-2
3) filesystem-1.3-1 4) MAKEDEV-2.2-9
5) adduser-1.7-1 6) libc-5.3.12-18
7) SysVinit-2.64-8 8) ash-0.2-8
9) at-2.9b-2 10) libtermcap-2.0.8-4
11) bash-1.14.7-1 12) bc-1.03-6
13) bdflush-1.5-5 14) cpio-2.4.2-4
15) cracklib-dicts-2.5-1 16) tmpwatch-1.2-1
17) crontabs-1.5-1 *18) db-1.85-10 (-11)
19) dev-2.5.1-1 20) diffutils-2.7-5
21) etcskel-1.3-1 22) file-3.22-5
23) fileutils-3.16-1 24) findutils-4.1-11
25) grep-2.0-5 26) groff-1.10-8
*27) ld.so-1.7.14-4 (-5) 28) getty_ps-2.0.7h-4
29) gzip-1.2.4-7 30) mingetty-0.9.4-3
*31) initscripts-2.92-1 (93-1) 32) ed-0.2-5
33) info-3.9-1 34) ncurses-1.9.9e-4
35) libg++-2.7.1.4-5 *36) pwdb-0.54-3 (-4)
37) rootfiles-1.5-1 *38) pam-0.57-2 (-4)
39) redhat-release-4.2-1 40) less-321-3
41) mount-2.5l-2 42) zlib-1.0.4-1
43) rpm-2.3.11-1 44) e2fsprogs-1.10-0
45) sysklogd-1.3-15 46) tar-1.11.8-11
47) passwd-0.50-7 48) gawk-3.0.2-1
49) gdbm-1.7.3-8 50) gpm-1.10-8
51) hdparm-3.1-2 52) kbd-0.91-9
53) slang-0.99.37-2 54) newt-0.8-1
55) kbdconfig-1.4-1 56) ncompress-4.2.4-7
*57) sh-utils-1.16-4 (-5) 58) procinfo-0.9-1
*59) logrotate-2.3-3 (4-1) 60) lilo-0.19-1
61) losetup-2.5l-2 62) linuxthreads-0.5-1
*63) mkinitrd-1.6-1 (7-1) 64) mailcap-1.0-3
*65) man-1.4h-5 (j-1) 66) mt-st-0.4-2
67) modules-2.0.0-5 68) mailx-5.5.kw-6
69) net-tools-1.32.alpha-2 70) procmail-3.10-10
71) procps-1.01-11 72) psmisc-11-4
73) quota-1.55-4 74) readline-2.0-10
75) sed-2.05-6 76) setconsole-1.0-1
77) sendmail-8.8.5-4 78) shadow-utils-960530-6
79) stat-1.5-5 80) tcsh-6.06-10
81) termcap-9.12.6-5 82) textutils-1.22-1
83) time-1.7-1 84) timeconfig-1.8-1
85) util-linux-2.5-38 86) vim-4.5-2
87) vixie-cron-3.0.1-14 88) which-1.0-5
89) zoneinfo-96i-4 90) tcp_wrappers-7.5-1
*91) NetKit-B-0.09-6 (-8) *92) lpr-0.18-1 (19-1)
*93) bind-4.9.5p1-2 (9.6-1) *94) bind-utils-4.9.5p1-2 (9.6-1)
*95) wu-ftpd-2.4.2b12-6 (b15-1) 96) anonftp-2.3-3
97) zip-2.1-1 98) unzip-5.12-5
99) statserial-1.1-7 100) minicom-1.75-2
101) lrzsz-0.12.14-1 102) dip-3.3.7o-9
103) ppp-2.2.0f-3 104) portmap-4.0-3
105) perl-5.003-8 *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
*107) elm-2.4.25-7 (-8) 108) lynx-2.6-2
109) ncftp-2.3.0-5 110) pine-3.95-2
111) rdate-0.960923-1 112) apache-1.1.3-3
*113) nfs-server-2.2beta16-7 *114) nfs-server-clients-2.2beta16-7
(2.2beta16-8) (2.2beta16-8)
En met al het bovenstaande geïnstalleerd, heb ik nog 32MB over!
Als zovelen, hoop ik dat RedHat gebruikers weten, dat van sommige pakketten kan worden geconstateerd dat er zich onvolkomenheden met betrekking tot de beveiliging of andere problemen voor kunnen doen. Om deze reden geeft RedHat voor dergelijke pakketten updates uit. Ik heb de pakketten die ik had en die in bovenstaande lijst zijn gemarkeerd, waarvoor updates waren, bijgewerkt. Raadpleeg alsjeblieft de webpage van RedHat die betrekking hebben op de bijgewerkte pakketten bij:
http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
OPMERKING:Voordat je de pakketten kunt updaten, moet je
ldconfig opstarten zoals in sectie 3.3.1.1 staat beschreven.
Gebruik met rpm de --root optie om de gemounte directory als de root voor installatie aan te geven. Ik kwam er achter dat bij veel van de pakketten de installatie mislukte vanwege het preinstall of postinstall script dat niet juist werd uitgevoerd te wijten aan de afwijkende root directory, gebruik dus de --noscripts optie:
==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm
Ik ben er zeker van dat velen zullen opmerken, dat je een foutmelding zult krijgen zoals:
failed to open /iomega/var/lib/rpm/pakket.rpm
error: cannot open /iomega/var/lib/rpm/pakket.rpm
Dus maak de directory var/lib/rpm directory gewoon aan:)
==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm
Als iemand ooit heeft geprobeerd om pamconfig te installeren, het zal klagen over het ontbreken van pam; en als je dan probeert om pam te installeren, dan zal pam klagen over het ontbreken van pamconfig! Hierover, als het kip en het ei probleem, piekerde ik een tijdje, maar dankzij de --nodeps flag, kunnen we pamconfig geforceerd installeren; bovendien ontbreken er bij pam meer afhankelijkheden dan bij pamconfig.
==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
Helaas is de disk nog niet geheel functioneel als alles eenmaal uitstekend is geïnstalleerd. Wat ik bedoel te zeggen is, dat als je nu probeert te booten met de diskette, je niet ver zult komen. Zodra init probeert op te starten, zul je twee prachtige foutmeldingen krijgen; beide klagen over een paar bestanden die niet konden worden gevonden die zouden worden aangemaakt als de scripts waren uitgevoerd.
Als je probeerde te booten, kreeg je twee foutmeldingen, de eerste zal de afwezigheid van het /etc/ld.so.cache bestand zijn. De tweede klaagt over het ontbreken van libc.so.5.
Zoals opgemerkt door veel lezers, werkten mijn vorige instructies niet helemaal zoals aangegeven. Om dit bestand aangemaakt te krijgen, zul je ldconfig uit moeten voeren terwijl de ZIP-disk nog gemount is:
==> chroot /iomega /sbin/ldconfig
Met dank aan Javier Rodriguez voor deze oplossing.
Om het ontbreken van de lib op te lossen, zul je een symbolische link aan moeten maken die zou zijn aangemaakt door de installatie-scripts.
==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
Met dank aan Darcy Boese voor deze oplossing.
Net toen ldconfig werd uitgevoerd in 4.3.1.1, kon je net zo goed een root wachtwoord voor dit nieuwe systeem wijzigen/aanmaken:
==> chroot /iomega passwd root
OPMERKING: Dit is slechts een beknopte en bondige setup, waarvan ik niet
in de gelegenheid was om ze te testen, al was het maar om te zien
of het werkt. Theoretisch gezien zou het moeten werken, maar stuur
me alsjeblieft geen klachten mocht het niet werken.
Tijdens het onderzoeken van mijn 4.2 CD-ROM, kwam ik nogal iets interessants tegen; de source code voor het installatie programma. Ik vond het onder /misc/src/install en één van de dingen die ik van enig nut vond, was het bestand net.c. Hierin vond ik welke andere bestanden zouden zijn aangmaakt als het installatieprogramma zou zijn uitgevoerd. Het meeste ervan geeft je netwerkondersteuning (vandaar de naam net.c) maar zelfs als je geen netwerkkaart hebt, kun je altijd nog localhost gebruiken voor een netwerk (en apache zal melden dat het niet in staat is om een hostnaam vast te stellen). Het gaat om de volgende bestanden:
/etc/hosts
/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
(of ieder ander netwerk-apparaat dat je zou kunnen hebben).
Voor dit document wilde ik netwerkondersteuning voor mijn 3Com 3c595 snelle-ethernet kaart (die voor de laatste verscheidene maanden in een andere computer is gebruikt).
Als eerste had ik een naam nodig, en aangezien ik mijn eigen name server draai (wat een ander lang verhaal is) gaf ik mezelf de naam: dash-dot.wig.org (Ik vond het wel aardig klinken). Een naam zonder een IP is nogal zinloos, dus ik gebruikte een gereserveerde niet-internet geschikt netwerkadres 192.168.10.0 dat ook door mijn name server wordt gebruikt. Ook al wordt de HOSTNAME gewoonlijk opgeslagen in /etc/HOSTNAME, Red Hat controleert /etc/sysconfig/network op deze naam; dus laten we hier beginnen.
Voorbeeld van mijn /etc/sysconfig/network:
NETWORKING=yes
HOSTNAME=dash-dot
DOMAINNAME=wig.org
GATEWAY=
GATEWAYDEV=eth0
NS1=192.168.10.7
Dupliceer praktisch dezelfde informatie naar /etc/HOSTNAME, /etc/resolv.conf, en /etc/hosts:
/etc/HOSTNAME:
dash-dot.wig.org
/etc/resolv.conf:
search wig.org
nameserver ns.wig.org
/etc/hosts:
127.0.0.1 localhost
192.168.10.99 dash-dot.wig.org dash-dot
192.168.10.7 ns.wig.org ns
Red Hat configureert alle netwerk apparaten vanuit de scripts die in de directory /etc/sysconfig/network-scripts staan. De configuratie van enig netwerk apparaat wordt meestal eerst aangemaakt via het installatie programma dus ik moest deze configuratie bestanden handmatig aanmaken. Ze beginnen allemaal met ifcfg-XXX waar XXX het netwerk apparaat voorstelt dat ifconfig naar voren brengt; b.v. ppp0, eth0, enz.
Voor dit voorbeeld moest ik een bestand met de naam ifcfg-eth0 aanmaken met de volgende inhoud:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
BROADCAST=192.168.10.255
NETWORK=192.168.10.0
NETMASK=255.255.255.0
IPADDR=192.168.10.99
En als laatste maar niet het minste, om dit nu direct plaats te laten vinden start je, terwijl je je nog in de directory /etc/sysconfig/network-scripts bevindt, op:
==> ./ifup ifcfg-eth0 boot
Hiermee wordt het script opgestart waarmee de netwerk interface wordt geconfigureerd als die interface zodanig is ingesteld dat ze tijdens `boottime' opstart.
Raadpleeg voor verdere informatie alsjeblieft het NET-3-HOWTO document.