Upgrading RH 4.1 to bo
Some people wanted me to run an Internet Server on the net but they had RH
4.1 on it. I wanted Debian on it but I had no way of getting at the system
except through telnet. All I know about it is that it runs somewhere in
the continental United states.
The first issue of course is how to get dpkg running on it? There used to
be a dpkg-nondebbin.tar.gz or so but I could not find it anywhere on the
I downloaded the .deb file and unpacked it manually on the RH system
ar x dpkg-22.214.171.124.deb
results in a data.tar.gz. I uncompressed it into the / directory.
I then tried to install the dpkg package using itself but dpkg failed with
a strange errormessage. Fiddled around a bit and found that RH is still on
libc 5.3.X. Thought it might be incompatible with dpkg which
depends on libc 5.4.x. Unpacked libc5 manually in the same way as dpkg.
I was then able to install ldso (with some force-depends or so). Then I
also got libc5 to install and following that dpkg. At that point I
definitely had the feeling that this will work.
dselect still freaked out when trying to install packages so I used the RH
ncftp to dowload the complete binary-i386/base directory and installed
some of those packages. perl-base was not enough for dpkg-ftp so I also
got the complete perl package and installed it.
dselect seemed to work after that so I used RPM to figure out what was
installed and removed all RH packages that I considered could be
removed. RPM might accidentally remove a file from an important
installed Debian package since I was running with two packagemanagers at
the time! So I had to be careful what I was removing and rely on debian
packages overlaying RPM packages.
After I had everything off the system that I thought possible I also
removed RPM with
rpm -e rpm
RPM did not throw a fuss like dpkg surely would. I have ambiguous feelings
about that kind of behavior.
Then I fired up dpkg and tried to install packages but they always failed
on packages installing info stuff. After long period of hacking around I
found that the /usr/info/dir file was missing since I did not install the
base-files package. Installed that one and I was able to configure those
packages. I also had to manually stitch the /etc/passwd and /etc/group
files together which was kind of problematic since RH seems to sometimes
allocate userids beginning at 100. Got rid of the qmail stuff in the
standard debian /etc/passwd to make that work.
Then I finished another dselect session customizing the machine the way I
wanted it to be.
All the time the system was operating and it has not even been rebooted
yet [Perhaps we will have some surprises when we will finally reboot it
?]. One other thing I manually had to do was to edit /etc/init.d/network.
Red Hat stores those parameters somewhere else and somehow the settings
vanished in the upgrade process.
Some manually installed software stayed up the whole time while the
upgrade was performed and is still running.
A few remarks on RH 4.1:
1. They have shadow-passwd support which seems to be standard.
2. The PAM module is more recent than ours. I know the author of the
package and have talked with him quite a bit but I am still not very
sure if PAM is really necessary.
3. The manpages are horrible compared to Debian Manpages.
4. The RH adduser command created a user "-h" when I did
adduser -h. ROTFL!
5. The apache package and other packages as well are not that
sophisticated as ours.
I think we have a definite edge over RH systems. Lets keep it up!
Can someone write a script to upgrade a RH system to Debian automatically?
--- +++ --- +++ --- +++ --- +++ --- +++ --- +++ --- +++ ---
Please always CC me when replying to posts on mailing lists.