[1397] in Athena Bugs
auto update procedure (at least on RT, probably both)
daemon@ATHENA.MIT.EDU (qjb@ATHENA.MIT.EDU)
Sun Nov 20 16:34:39 1988
From: <qjb@ATHENA.MIT.EDU>
Date: Sun, 20 Nov 88 16:34:11 EST
To: bugs@ATHENA.MIT.EDU, rel-eng@ATHENA.MIT.EDU
I have noticed one flaw with the auto update procedure, which
otherwise seems to be working very well.
If /srvd is mounted and /urvd is not, the workstation in question will
be re-updated. This because auto_update uses tail which is on /urvd
to determine whether or not to perform the update, and when the
programs are not there, it doesn't find what it's looking for.
This is probably fairly minor, but it can happen. (I saw it happen
and investigated; this is how I know.)
This happens:
Deactivating workstation...
bldg4-rtsys-60R: Ignored (not NFS)
bldg4-rtusr-60R: Server ? not responding
/srvd/auto_update: /usr/ucb/tail: not found
/srvd/auto_update: whoami: not found
test: too many arguments
THIS WORKSTATION IS ABOUT TO UNDERGO AN AUTOMATIC SOFTWARE UPDATE.
PLEASE DO *NOT* DISTURB IT WHILE THIS IS IN PROGRESS.
etc. I have seen this happen in three RT clusters. (I hit space, saw
rtsys-60R attach, and hit control-C. I did this because I wanted to
see whether the workstation had been updated yet. It had, but it got
updated again.)
Fix:
make sure tail exists before determining whether to update.
Jay Berkenbilt
------
...
VERSION=`/usr/ucb/tail -1 /etc/version | /bin/awk 'NR == 1 {print $5}' `
if [ `whoami` != root ]; then
exit 1
fi
case $VERSION in
3.*|4.*)
exit 1
;;
5.*)
exit 1
;;
$NEWVERS)
exit 1
;;
Update)
echo "This system is in the middle of an update. Contact someone"
echo "who has some clues."
exit 1
;;
esac
...
echo "THIS WORKSTATION IS ABOUT TO UNDERGO AN AUTOMATIC SOFTWARE UPDATE."
echo "PLEASE DO *NOT* DISTURB IT WHILE THIS IS IN PROGRESS."
...