[3566] in SIPB_Linux_Development
Description of new installer, intent to release as alpha.
daemon@ATHENA.MIT.EDU (Alex Coventry)
Wed Oct 3 10:17:20 2001
Date: Wed, 3 Oct 2001 10:17:15 -0400 (EDT)
Message-Id: <200110031417.KAA11258@no-knife.mit.edu>
From: Alex Coventry <alex_c@MIT.EDU>
To: Linux-Dev <linux-dev@MIT.EDU>
Hi, everyone. Below's a list of the steps the layerish installer script
goes through. I'm sending it here in the hope that people who know more
about Athena than me will find holes in it.
I've installed the script in /mit/linux/rh-7.1/install, and intend to
tell anyone looking for an alternative to the 6.2-based installer about
it. I'll warn them about the extent to which it's been tested, and
about the risk that it might not be able to take updates in the future,
and make sure they understand the potential consequences of that.
If no one objects, I might send mail to linux-announce in a week or so
announcing this as alpha software, along with the same warnings.
Alex.
\documentclass{article}
\begin{document}
The script {\tt install.py} is based on a prototype by Arun Tharuvai.
It assumes it's being run on a freshly installed RedHat linux system of
the same version as Athena Linux is based on, and attempts to set it up
identically to an Athena-Linux machine.
It's to be used in the following way:
\begin{itemize}
\item
It starts with a shell script (the product of {\tt install.sh.in})
that installs from the install CD the wget, and python rpm's, and the
rpm's that those packages depend, then uses wget to download a python
program. This is mainly to make everything depend initially on
something that is short enough for users to type in by hand, to
accomodate machines which have no floppy drive.
\item
({\tt athenafy.py}) The python program then uses wget to download the
rpm's athena-base, athena-afs, and athena-rpmupdate. It runs
rpmupdate against the control list for the latest version of
Athena-Linux, using the output of 'rpm -qa' as the old list.
\item
({\tt sync\_rpms.py}) Since rpmupdate installs everything in the
control list, but leaves any non-conflicting packages behind, it next
gets a list of all rpm's that are installed on the system but not on
the control list, and erases them from the system. As the control
list of rpm's is self-consistent, the extraneous packages can be
removed with one big 'rpm -e' command. The control list is then
copied to {\tt /var/athena/release-rpms}.
Getting this step wrong could have a widespread impact on the ability
of machines installed with this script to take future updates to
Athena, so if it fails, the error is logged in {\tt
/var/athena/install.log}, and the user is requested to contact SIPB.
\item
({\tt postinstall.py}) So that X is started on boot, it modifies {\tt
/etc/inittab} so the default runlevel is 5. So that it can take
updates, it installs the Athena version in {\tt /etc/athena/version}.
\end{itemize}
\end{document}