BHAYNES%AUDUCVAX.BITNET@cunyvm.cuny.edu (02/20/89)
PLEASE HELP!
A few days ago we rebooted our VAX 11/750 (Ultrix V1.2)
and noticed that some of the daemons didn't start. I can't figure
out why!!! I tried to "sh < rc.local" in an attempt to see what
was going on and I got the following results:
[messages deleted]
> + echo This also is a test
> This also is a test
> + [ -f /etc/syslog ]
> sh: [: not found
> + [ -f /usr/lib/sendmail]
> sh: [: not found
[error messages deleted]
The relevent section of the console log is:
> Starting DECnet.
> check quotas: done.
[DECnet message deleted]
> local daemons:.
preserving editor files
clearing /tmp
standard daemons: update cron accounting.
[everything else is ok]
All of the files that are being looked for are there!
Why does the if [ -f filename] work in the rc script when
the system boots, but not when I try it? We have changed the if
statements to be if test -f ... and that works, but what bothers
me is that it used to work and all of a sudden stoped!
part of rc.local follows:
----------------------------------------------
echo -n 'check quotas: ' >/dev/console
/etc/quotacheck -a
echo 'done.' >/dev/console
/etc/quotaon -a
#if [ -f /etc/rdate ]; then
# /etc/rdate -s >/dev/console
#fi
/usr/ucb/strings /vmunix | grep 'Ultrix' >/tmp/t1
grep -v Ultrix /etc/motd >>/tmp/t1
cp /tmp/t1 /etc/motd
rm /tmp/t1
/etc/savecore /usr/adm >/dev/console
echo "This is a test"
echo -n 'local daemons:' >/dev/console
#if [ -f /etc/routed ]; then
# /etc/routed & echo -n ' routed' >/dev/console
#fi
echo "This also is a test"
if [ -f /etc/syslog ]; then
/etc/syslog & echo -n ' syslog' >/dev/console
fi
if [ -f /usr/lib/sendmail ]; then
(cd /usr/spool/mqueue; rm -f lf*)
/usr/lib/sendmail -bd -q1h -om& echo -n ' sendmail' >/dev/console
fi
if [ -f /etc/lcp ]; then
/etc/lcp -s > /dev/console 2>&1 & echo -n ' lat' >/dev/console
fi
echo '.' >/dev/console
Much Thanks in Advance!
Brad Haynes
Brad Haynes
---------------------------------------------------------------------------
Brad Haynes | Internet: bhaynes@ducvax.auburn.edu
Asst. Systems Manager |
Electrical Engineering | Bitnet: BHAYNES@AUDUCVAX
321 Broun Hall |
Auburn University, Alabama 36849 | Local: b_haynes@wareagle
(205) 887-1852 (205) 826-0479 | mv3600::b_haynesmaart@cs.vu.nl (Maarten Litmaath) (02/21/89)
BHAYNES%AUDUCVAX.BITNET@cunyvm.cuny.edu writes:
\> sh: [: not found
There are 3 possibilities:
1) the `[' program isn't present (in /bin);
2) the PATH hasn't been set properly (to include /bin);
3) it's time to recompile /bin/sh or the kernel, or to buy new hardware
I'll bet it's 1 or 2 :-)
--
"Those who do not understand Henry |Maarten Litmaath @ VU Amsterdam:
Spencer are condemned to reinvent DOS." |maart@cs.vu.nl, mcvax!botter!maartscs@adam.pika.mit.edu (Steve Summit) (02/22/89)
In article <18409@adm.BRL.MIL> BHAYNES%AUDUCVAX.BITNET@cunyvm.cuny.edu writes: > Why does the if [ -f filename] work in the rc script when >the system boots, but not when I try it? >...what bothers me is that it used to work and all of a sudden stoped! In article <2067@solo10.cs.vu.nl> maart@cs.vu.nl (Maarten Litmaath) lists three good possibilities, but misses a fourth: 4) your system uses a multiple universe scheme, and you as a user are using the ATT universe while the boot environment (including /etc/rc) uses the UCB universe. For those unfamiliar with it, "[" is just an extra link to /bin/test, which merely (as I recall) causes it too look for the matching "]". (I suppose this is thought to make shell scripts look nicer; I've always considered it an unnecessary hack.) None of this explains why Brad's daemons aren't being started under rc, which is handling "[" correctly. The possibilities are endless: corrupted binaries, missing configuration files, intermittent network connections, gronked server machines elsewhere on the network, infrequent astral conjunctions, etc., etc... Steve Summit scs@adam.pika.mit.edu