old-www/HOWTO/ZIP-Install-4.html

361 lines
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Installing Linux on ZIP disk using ppa ZIP Drive Mini-Howto: Red Hat 4.2 installation</TITLE>
<LINK HREF="ZIP-Install-5.html" REL=next>
<LINK HREF="ZIP-Install-3.html" REL=previous>
<LINK HREF="ZIP-Install.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="ZIP-Install-5.html">Next</A>
<A HREF="ZIP-Install-3.html">Previous</A>
<A HREF="ZIP-Install.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4. Red Hat 4.2 installation</A></H2>
<P>With anything computer related, something 3 months old is considered
obsolete and is in need of upgrading. Since I'm not always going
to have the time to update this document with every update, I'll
try my best to at least update it every other version. As for
the other distributions, unless the authors wish to send updates,
they well remain as they are.
<P>
<H2><A NAME="ss4.1">4.1 Personal setup</A>
</H2>
<P>For my installation, I have and used:
<P>
<UL>
<LI>Kernel 2.0.30</LI>
<LI>Iomega ppa disk drive</LI>
<LI>Red Hat 4.2</LI>
</UL>
<P>
<H2><A NAME="ss4.2">4.2 Package installation</A>
</H2>
<P>When I first decided to attempt to install Red Hat on a ZIP disk,
I figured it would be much easier to just use a Red Hat boot disk.
Then I woke up. I came very close to actually getting a boot disk
created, even got help from various folks at Red Hat via e-mail but
ultimately I began to give up on the whole project when I discovered
the --root option with rpm.
<P>
<H3>What packages to get</H3>
<P>I found what packages to install by browsing a file I had found on
one of Red Hat's mirrors. This file can be found on any mirror at:
<BLOCKQUOTE><CODE>
<PRE>
redhat/redhat-4.2/i386/RedHat/base/comps
</PRE>
</CODE></BLOCKQUOTE>
<P>For this installation, I wanted to include network support but due
to Red Hat's X network configuration, I'm going to have to manually
configure, or rather manually attempt to configure, the network
setup scripts found in /etc/sysconfig/ (see section 4.3.3.)
<P>I decided against installing any development packages as the ZIP
drive, at least an unpatched kernel version, is rather slow to get
anything to compile. I also choose not to install X mainly for disk
space issues. Later on, I may attempt to mount my hard drive and
create a symlink with /usr to see if I can get X to work.
<P>Following is a list of what packages I installed, listed in order of
installation. Those marked with a * have updates from Red Hat's
errata. In parentheses is the updated package number;
<BLOCKQUOTE><CODE>
<PRE>
e.g. NetKit-B-0.09-6 was updated to NetKit-B-0.09-8 so the entry
would be: *91) NetKit-B-0.09-6 (-8)
</PRE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
(List created by the command 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)
</PRE>
<HR>
</CODE></BLOCKQUOTE>
And with all the above installed, I still have 32MB left!
<P>
<H3>Updates; errata</H3>
<P>As many, I hope, Red Hat users know, some packages may be found to
have some security flaws or anything else which may cause issues to
arise. For this reason, Red Hat releases updates for such packages.
I have updated what packages I had which had updates and are marked
in the above list. Please refer to Red Hat's web page concerning the
updated packages at:
<P>
<A HREF="http://www.redhat.com/support/docs/rhl/rh42-errata-general.html">http://www.redhat.com/support/docs/rhl/rh42-errata-general.html</A><P>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
NOTE: Before you can update the packages, you'll have to
run the ldconfig as described in section 3.3.1.1.
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
<H3>How to install packages with rpm; without glint</H3>
<P>With rpm, use the --root option to specify the mounted directory as
the root for installation. I had discovered that many packages were
failing to install becuase of preinstall or postinstall scripts that
weren't executing correctly due to the different root directory,
thus, use the --noscripts option:
<P><B> ==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm</B>
<P>As I'm sure many will notice, you should get an error message like:
<BLOCKQUOTE><CODE>
<HR>
<PRE>
failed to open /iomega/var/lib/rpm/packages.rpm
error: cannot open /iomega/var/lib/rpm/packages.rpm
</PRE>
<HR>
</CODE></BLOCKQUOTE>
So, just create the var/lib/rpm directory :)
<P><B> ==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm</B>
<P>
<H3>Which came first, pamconfig or pam?</H3>
<P>If anyone's tried to install pamconfig, it'll complain about a failed
dependency of pam; and when you go try to install pam, pam complains
about a failed dependency of pamconfig! This, being the chicken or the
egg issue, puzzled me for a while, but thanks to the --nodeps flag, we
can force pamconfig to install; besides pam has more failed
dependencies than just pamconfig.
<P><B> ==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2</B>
<P>
<H2><A NAME="ss4.3">4.3 Problems after installation of packages</A>
</H2>
<P>Once everything is all nicely installed, unfortunately, the disk is
not fully functionable, if that's a word. What I mean to say is, if
you try to boot now with the floppy, you won't get very far. As
soon as init tries to start up, you'll get two lovely errors; both
of which complain about some files not being found that would have
been made had the scripts been run.
<P>
<H3>The case of the missing /etc/ld.so.cache and libc.so.5</H3>
<P>If you tried booting, you'd get two error messages, the first will
be the abscence of /etc/ld.so.cache file. The second complains
about a missing libc.so.5.
<P>
<H3>/etc/ld.so.cache</H3>
<P>As mentioned by many readers, my previous instructions didn't quite
work as stated. In order to get this file created, you'll have to
run ldconfig while the ZIP disk is still mounted:
<P><B> ==> chroot /iomega /sbin/ldconfig</B>
<P>Thanks to Javier Rodriguez for this solution.
<P>
<H3>libc.so.5</H3>
<P>To solve the missing lib case, you'll have to create a symlink which
would have been created by the installation scripts.
<P><B> ==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5</B>
<P>Thanks to Darcy Boese for this solution.
<P>
<H3>Setting root password</H3>
<P>Just as ldconfig was ran in 4.3.1.1, you might as well change/create
a root password for this new system:
<P><B> ==> chroot /iomega passwd root</B>
<P>
<H3>What the install program created</H3>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
NOTE: This is just a very brief setup, one which I haven't
been able to test to see if it works. In theory it
should, but please do not send me complaints saying
that this didn't work.
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>While exploring my Red Had 4.2 CD-ROM, I came across something
rather interesting; the source code for the install program. I
found it under /misc/src/install and one thing which I found of
some use was the net.c file. In this, I found what other files
that would be created had the install program been run. Most of
these just give network support (hince the name net.c) but even
if you don't have a network card, you can still use localhost for
networking (plus apache will complain about not being able to
determine a hostname.) These files include:
<BLOCKQUOTE><CODE>
<PRE>
/etc/hosts
/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
(or any other network device you may have.)
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H3>Networking setup</H3>
<P>For this document, I wanted network support for my 3Com 3c595
fast-ethernet card (which for the last several months has been
used in another machine.)
<P>First I needed a name, and since I'm running my own name server
(which is another long story) I gave myself the name:
<I>dash-dot.wig.org</I> (I just liked the sound of it.)
Having a name without an IP is kind of pointless, so I used a
reserved non-internet usable network of 192.168.10.0 which my
name server also uses. Even though the hostname is typically
stored in /etc/HOSTNAME, Red Hat checks for /etc/sysconfig/network
for this name; so let's start there.
Sample of my /etc/sysconfig/network:
<BLOCKQUOTE><CODE>
<HR>
<PRE>
NETWORKING=yes
HOSTNAME=dash-dot
DOMAINNAME=wig.org
GATEWAY=
GATEWAYDEV=eth0
NS1=192.168.10.7
</PRE>
<HR>
</CODE></BLOCKQUOTE>
Next, bascially duplicate the same info here for /etc/HOSTNAME,
/etc/resolv.conf, and /etc/hosts:
<P><B>/etc/HOSTNAME:</B>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
dash-dot.wig.org
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
<P><B>/etc/resolv.conf:</B>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
search wig.org
nameserver ns.wig.org
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>
<P><B>/etc/hosts:</B>
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
127.0.0.1 localhost
192.168.10.99 dash-dot.wig.org dash-dot
192.168.10.7 ns.wig.org ns
</PRE>
<HR>
</CODE></BLOCKQUOTE>
Red Hat configures all network devices from scripts found in
/etc/sysconfig/network-scripts. The configuration of any network
device is usually first created via the install program so I had
to create these config files manually. They all begin with
ifcfg-XXX where XXX is the network interface which ifconfig
brings up; e.g. ppp0, eth0, etc. For this example, I had to create
a file called ifcfg-eth0 which contains the following:
<BLOCKQUOTE><CODE>
<HR>
<PRE>
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
</PRE>
<HR>
</CODE></BLOCKQUOTE>
And last but not least, in order to get this going right now, while
in the /etc/sysconfig/network-scripts directory, just run:
<P><B> ==> ./ifup ifcfg-eth0 boot</B>
<P>This will start the script which configures the network interface
if that interface was set to start at 'boot' time.
<P>For further information, please refer to the NET-3-HOWTO document.
<P>
<HR>
<A HREF="ZIP-Install-5.html">Next</A>
<A HREF="ZIP-Install-3.html">Previous</A>
<A HREF="ZIP-Install.html#toc4">Contents</A>
</BODY>
</HTML>