anaconda.real in RH7.1

Allan Adler ara at nestle.csail.mit.edu
Fri Sep 2 12:41:34 CEST 2005


I'm trying to reinstall RedHat 7.1 Linux on a PC that was disabled when
I tried to upgrade from RH7.1 to RH9. This is presenting lots of unexpected
difficulties. Apart from wanting to keep the old model T in shape, I'm treating
this as a learning experience. Right now, I'm trying to gain more control
over the installation CD. By that I mean, I intend to modify the installation
script and other aspects of the CD and burn a new installation CD. The
installation script starts off as a shell script named anaconda which
then calls a python script named anaconda.real. The former is pretty easy
to understand, but I don't know anything about python. At the moment, I'm
using the book, "Programming Python", by Mark Lutz, as a reference. The
file anaconda.real is about 526 lines long. I've copied out about an eighth
of it into a notebook and am trying to use the book to make sense of what
I have copied. I'm not finding it very helpful. I don't know whether that
is because the script relies on aspects of python that aren't well explained
in the book or because it relies on aspects of RedHat Linux. I thought I
should ask here first about what seem like purely python issues.

The file anaconda.real is invoked with the line
exec /usr/bin/anaconda.real -T "$@"
I don't know what effect the -T "$@" has.

The file anaconda.real begins:

#!/usr/bin/python
signal.signal(signal.SIGINT,signal.SIG_DFL)

There is nothing about signal or signal.signal or the other signal.*
in the book. The file continues:

# For anaconda in test mode
if (os.path.exists('isys'))
    sys.path.append('edd')
    sys.path.append('libfdisk')
[lots of lines like that]
else:
      sys.path.append('/usr/lib/anaconda')
      sys.path.append('/usr/lib/anaconda/textw')
      sys.path.append('/usr/lib/anaconda/iw')
      sys.path.append('/usr/lib/anaconda/installclasses')

Here I'm guessing that the if never happens and the various /usr/lib/anaconda
directories are appended to the PATH environment variable.

Later on, after importing traceback (which is briefly mentioned in the book),
string, isys, iutil, _ from translate, handleException from exception, it
apparently worries about the environment variable ANACONDAARGS and then
executes

try:
     (args, extra) = isys.getopt(theargs, 'GTRxtdr:fm:',
        ['gui','text','reconfig','xmode','test','debug','nofallback',
         'method=','rootpath=',...

Anyway, in a nutshell, whenever I see anything specific in the file
anaconda.real, it isn't mentioned in the book and I don't know how to
get more information about it and I don't know how python gets its information
about it.

What do I need to read?
-- 
Ignorantly,
Allan Adler <ara at zurich.csail.mit.edu>
* Disclaimer: I am a guest and *not* a member of the MIT CSAIL. My actions and
* comments do not reflect in any way on MIT. Also, I am nowhere near Boston.



More information about the Python-list mailing list