anaconda.real in RH7.1

Allan Adler ara at nestle.csail.mit.edu
Wed Sep 7 11:24:55 EDT 2005


Allan Adler <ara at nestle.csail.mit.edu> writes:

> I'm trying to reinstall RedHat 7.1 Linux on a PC that was disabled when
> I tried to upgrade from RH7.1 [....] 
> The file anaconda.real is invoked with the line
> exec /usr/bin/anaconda.real -T "$@"
> I don't know what effect the -T "$@" has.

Tiny progress on this: in a shell script, "$@" apparently lets you refer
to the output of a previous command. I don't know what output would be
relevant, since the last few lines of the shell script anaconda that
invokes anaconda.real are:

cd /usr/sbin
uncpio < sbin.cgz
rm sbin.cgz
cd /lib
uncpio < libs.cgz
rm libs.cgz
cd /
exec /usr/bin/anaconda.real -T "$@"

As for exec itself, the command line
exec -T
leads to a complaint that -T is an illegal option for exec, while
python -T
leads to a usage statement that doesn't list -T among the options for python.
So, I still don't understand the statement that is used to call the python
script anaconda.real.

I also tried to execute in interactive session some of the commands in the
file anaconda.real. E.g. the first command signal.signal(SIGINT,SIG_DFL)

Python 1.5.2 (#1, Mar  3 2001, 01:35:43)
[GCC 2.96 20000731 (Red Hat Linux 7.1 2 on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> signal.signal(SIGINT,SIG_DFL)
Traceback (innermost last):
  File "<stdin>", line 1, in ?
NameError: signal
>>> import signal
>>> signal.signal(SIGINT,SIG_DFL)
Traceback (innermost last):
  File "<stdin>", line 1, in ?
NameError: SIGINT
>>> import SIGINT
Traceback (innermost last):
  File "<stdin>", line 1, in ?
ImportError: No module named SIGINT

On the other hand, while looking at Kernighan and Pike, "The Unix programming
environment" (1984), I fortuitously ran across a discussion of signals and
interrupts on p.225, including the example

#include <signal.h>
signal(SIGINT,SIG_DFL)

which restores default action for process termination. The resemblance to the
first command in anaconda.real is so close that I think the intention in
both must be the same. What is the right way to get python to do this?

The file anaconda.real doesn't explicitly execute
import signal
but it still somehow knows what signal means (my example session above shows
that it stops complaining about not knowing what signal means after I import
signal). Presumably there is some way of invoking python that causes signal
and other stuff to be imported automatically. What is it?
-- 
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