@WORK steht gerade die Etch->Lenny-Migration an. In dem Zuge sollen auch einige Altlasten weg.
Ich habe zuschnell gezuckt als es um die alten - sie stammen aus den Zeiten, als es noch Sun-Workstations gab - (t)csh Konfigurationen ging, die noch per NFS an alle verteilt werden.
Die sollen weg...
# Cshrc der CENSORED
# =====
# Erstellt am: 12.01.1994
[...]
# 23.11.1998
# TERM auf vt100 falls TERM == xterm
Erster Versuch:
Environment{,.modules} zu OLDEnvironment{,.modules} umbenennen (man weiss ja nie, wieviel Potential da drinsteckt, mal besser nicht löschen...)
max@kepler:~$ csh
/user/Environment.modules/Cshrc: No such file or directory.
%
Na Ok, das galt zu befürchten...
=>
touch /user/Environment.modules/Cshrc
max@kepler:~$ csh
max@@kepler 1>
Oh cool, geht.
max@kepler:~$ tcsh
ARCH: Undefined variable.
max@kepler[~]>>
Ach scheisse.
Hintergrund: (~/.cshrs)
if ($?tcsh) then
[... Dinge ...]
if ( $ARCH != ibmrs6000 ) then
[... Sachen ...]
Nagut.
=>
echo "setenv ARCH foo" > /user/Environment.modules/Cshrc
max@kepler:~$ tcsh
/user/Environment.modules/Complete: No such file or directory.
Ach scheisse
Hingerund: (~/.cshrc)
|if ($?tcsh) then
[... Dinge ...]
if ( $ARCH != ibmrs6000 ) then
source $ENVIRONMENT/Complete
[ ... mehr Sachen ... ]
=>
touch /user/Environment.modules/Complete
max@kepler:~$ tcsh
max@kepler[~]>>exit
max@kepler:~$ csh
max@@kepler 1> exit
Na also.
Update
Es war irgendwie klar, dass in den Untiefen der Konfiguration Dinge versteckt sein müssen, die uns einholen würden...
So beschwerte sich heute ein User, dass '/opt/bin' (Sammelbecken für selbst paketierte Software) nicht mehr im Pfad sei.
max@kepler:/user/OLD_Environment.modules$$ grep '/opt/bin' -r .
./Csh/i386: /opt/bin )
Ach guck.
max@kepler:/user/OLD_Environment.modules$ grep OTHER *
Cshrc_compat: set path = ( $path $OTHER )
Cshrc_compat: set path = ( $USERPATH $XWIN $OWIN $path $OTHER )
Cshrc_compat: set path = ( $USERPATH $OWIN $XWIN $path $OTHER )
Cshrc_compat:unset OTHER PEMDVERS DEPOT
Cshrc_compat.2: set path = ( $USERPATH $XWIN $OWIN $path $OTHER )
Cshrc_compat.2: set path = ( $USERPATH $XWIN $OWIN $path $OTHER )
Cshrc_compat.2: set path = ( $USERPATH $OWIN $XWIN $path $OTHER )
Cshrc_compat.2:unset OTHER PEMDVERS DEPOT
WTF?
Mal neugierig, was das alles ist... (Cshrc_compat:)
########################################################################
#
# Erstellen der $path Variablen in
# Abhaengigkeit von der aufgerufenen Oberflaeche.
#
########################################################################
if ( $?prompt && "`tty`" == "/dev/console" ) then
set path = ( $path $OTHER )
else if ( $RWINSYS == "x" && "`tty`" != "/dev/console" ) then
set path = ( $USERPATH $XWIN $OWIN $path $OTHER )
setenv XUSERFILESEARCHPATH ${XUSERFSP}:${XUSERFILE}
unset XWIN OWIN USERPATH XUSERFSP XUSERFILE
else if ( $RWINSYS == "o" && "`tty`" != "/dev/console" ) then
set path = ( $USERPATH $OWIN $XWIN $path $OTHER )
setenv XUSERFILESEARCHPATH ${XUSERFSP}:${OPENWINHOME}/lib/app-defaults/%N%C:${OPENWINHOME}/lib/app-defaults/%N:${XUSERFILE}
unset XWIN OWIN USERPATH XUSERFSP XUSERFILE
endif
unset OTHER PEMDVERS DEPOT
Ich war neugierig, wo der ganze X*-Kram herkommt. Das war ein Fehler.
Den User konnte man mit einem einfachen
set path ($path /opt/bin) in der kastrierten Cshrc immerhin recht schnell wieder glücklich machen...