Pour mon installation, j'ai utilisé :
La première fois que j'ai tenté d'installer la Red Hat sur un disque ZIP, j'ai pensé qu'il aurait été plus simple de juste utiliser un disque de démarrage (boot disk) de la Red Hat. Je me suis alors réveillé. Je suis presque arrivé à créer un disque de démarrage, mais même avec l'aide par e-mail de plusieurs personnes de chez Red Hat, j'ai commencé à renoncer à tout ce projet lorsque j'ai découvert l'option --root du rpm.
J'ai trouvé quels étaient les paquetages nécessaires en compulsant un fichier que j'ai trouvé sur un miroir RedHat. Ce fichier peut être trouvé sur n'importe quel miroir RedHat dans :
redhat/redhat4.2/i386/RedHat/base/comps
Pour cette installation, j'ai voulut inclure le support du réseau, mais, à cause de la La configuration du réseau sous X de la RedHat, j'ai du configurer à la main, ou plutot, tenter de configurer, les scripts qui se trouvent dans le /etc/sysconfig (cf section 4.3.3.). J'ai décidé de ne pas installer de paquetage de développement, car le lecteur ZIP, en tout cas avec un noyau non patché, est plutot lent pour compiler quoi que ce soit. J'ai aussi choisit de ne pas installer X, surtout pour des raisons d'espace disque disponible. Plus tard, j'essaierai de monter mon disque dur et de créer un lien symbolique avec /usr pour voir si j'arrive à faire fonctionner X.
Voici une liste des paquetages que j'ai installés, dans l'ordre de leur installation. Ceux marqués d'une * ont été mis à jour suit à des errata de RedHat. Entre parenthèse, j'ai indiqué le numéro du paquet de mise à jour.
Par exemple NetKit-B-0.09-6 a été mis à jour par NetKit-B-0.99-8, et
apparait donc comme: *91) NetKit-B-0.99-6 (-8)
(Liste créée par la commande 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)
Et avec tout ça, j'ai encore 32Mo de libre!
Comme beaucoup d'utilisateurs de la RedHat (j'espère) le savent, certains paquetages peuvent présenter des trous de sécurité ou quelque chose d'autre qui pose problème. Pour cette raison, RedHat diffuse des mises à jour pour certains paquetages. J'ai installé ceux que j'ai signalé comme mis à jour ci-dessus. Veuillez vous référer à la page web RedHat qui concerne les mises à jour sur: http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
NOTE: avant les mises à jour de paquetages, il faut
lancer ldconfig comme décrit à la section 3.3.1.1.
Avec rpm, utiliser l'option --root pour spécifier le dossier monté comme la racine pour l'installation. J'ai découvert que plusieurs paquetages ne pouvaient pas être installés, en raison de scripts de préinstallation et/ou postinstallation qui ne s'exécutaient pas correctement à cause du répertoire racine différent. En conséquence, utiliser l'option --noscript :
==> rpm --root /iomega -i --noscripts PAQUETAGE.i386.rpm
Comme, j'en suis sur, beaucoup vont le voir, vous devriez avoir une erreur du style :
failed to open /iomega/var/lib/rpm/packages.rpm
error: cannot open /iomega/var/lib/rpm/packages.rpm
Bon, ben, il suffit de créer le répertoire /var/lib/rpm
==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm
Si quelqu'un a déjà essayé d'installer pamconfig, celui-ci se plaint de dépendre de pam; alors, si l'on essaie d'installer pam, celui-ci se plaint d'avoir besoin de pamconfig! Ceci étant une nouvelle version de l'histoire de la poule et de l'oeuf, m'a laissé perplexe quelques temps, mais grâce à l'option --nodeps, on peut forcer l'installation de pamconfig; en outre, pam a plus de dépendances en échec que pamconfig.
==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
Une fois que le dernier paquetage a été parfaitement installé, malheureusement, le disque n'est pas entièrement fonctionnel, pour ainsi dire. Ce que je veux dire, c'est que, si vous essayez de démarrer maintenant avec la disquette, vous n'irez pas très loin. Dès qu'init essaie de démarrer, vous aurez deux adorables petites erreurs; chacune se plaignant de quelques fichiers qui auraient été là si les scripts avaient été lancés.
Si vous essayez de démarrer, vous avez donc deux messages d'erreurs. Le premier concerne l'absence du fichier /etc/ld/so.cache. Le second râle à propos de libc.so.5.
Comme me l'ont signalé pas mal de lecteurs, mes précédentes instructions ne fonctionnaient pas comme prévu. Pour créer ce fichier, il faut lancer ldconfig lorsque le ZIP est encore monté.
==> chroot /iomega /sbin/ldconfig
Merci à Javier Rodriguez pour cette solution.
Pour résoudre le cas de l'absence de cette librairie, il faut créer un lien symbolique qui aurait du être créé par les scripts d'installation.
==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
Merci à Darcy Boese pour cette solution.
De même qu'il a fallut lancer ldconfig en 4.3.1.1, il faudrait changer, créer le mot de passe de root pour ce nouveau système :
==> chroot /iomega passwd root
NOTE: Ceci est just une configuration rapide, que je n'ai pas
été capable de tester pour voir si elle marche. En théorie, elle
devrait, mais ne venez pas pleurer si
elle ne fonctionne pas.
En parcourant mon CD Red Hat 4.2, je suis tombé sur quelque-chose de plutôt intéressant; le code source du programme d'installation. Je l'ai trouvé dans /misc/src/install et une chose que j'ai trouvé utile a été le fichier net.c. Là-dedans, j'ai trouvé quels autres fichiers devaient être créés au lancement du programme d'installation. La plupart participent au support du réseau (d'où le nom net.c) mais, même si vous n'avez pas de carte réseau, vous pouvez avoir à utiliser le localhost en réseau (en plus, apache va râler s'il ne peut pas déterminer de hostname). Ces fichiers comprennent :
/etc/hosts
/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
(ou tout autre périphérique réseau que vous auriez.)
Pour rédiger ce document, il m'a fallut le support réseau pour ma carte fast-ethernet 3Com 3c595 (qui avait été utilisée ces derniers mois sur une autre machine).
D'abord, il me fallait un nom, et comme j'entretiens mon propre serveur de noms (ce qui est une autre et longue histoire), j'ai moi-même donné le nom : dash-dot.wig.org (J'aime bien comme ça sonne). Avoir un nom sans adresse IP est un peu vain, donc j'ai utilisé un numéro réseau réservé hors internet 192.168.10.0, que mon serveur de nom utilise aussi. Même si le nom de machine est logiquement indiqué dans /etc/HOSTNAME, Red Hat cherche ce nom dans /etc/sysconfig/network; alors allons-y : Extrait de mon /etc/sysconfig/network :
NETWORKING=yes
HOSTNAME=dash-dot
DOMAINNAME=wig.org
GATEWAY=
GATEWAYDEV=eth0
NS1=192.168.10.7
Ensuite, simplement, il faut recopier la même information, ici dans /etc/HOSTNAME,
/etc/resolv.conf, et /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 configure tous les periphériques réseau à partir des scripts trouvés dans
/etc/sysconfig/network-scripts. La configuration de chaque périphérique est habituellement
créée une première fois par le programme d'installation, j'ai donc du créer ces fichiers
de config à la main. Ils commencent tous par ifcfg-XXX où XXX est l'interface réseau
qu'ifconfig va activer; par exemple ppp0, eth0, etc. Dans cet exemple, j'ai du
créer un fichier ifcfg-eth0 qui contient ceci :;
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
Et pour finir, afin que tout aille bien après ça, tant que l'on est dans
/etc/sysconfig/network-scripts, lancer juste :
==> ./ifup ifcfg-eth0 boot
Ceci va lancer le script qui configure l'interface réseau, si cette interface est configurée pour être lancée au démarrage.
Pour plus d'informations, prière de se reporter au NET-3-HOWTO.