361 lines
13 KiB
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>
|