Your modified init script looks for /usr/local/squid/sbin/squid when 
determining if Squid is installed or not, but when starting Squid is just 
uses "squid" and relies on finding it in the PATH.

I see that you are using the RedHat init script for Squid. This init 
script is very complex, hard to understand, and does most things in 
very non-intuitive manners. It is not easy to modify this init script to 
use /usr/local/squid/ instead of the standard system paths.

Regards
Henrik


On Wed, 10 Dec 2003, Travis Bullock wrote:

> Hey Henrik,
> 
> Thought I'd send you a chunk of my init.d script. I hope you don't mind.
> 
> I changed the path to the binary as you suggested but still no joy. squid -v
> still came back with 'stable1'
> 
> I then went to /usr/sbin and renamed the squid binary to squid.stable1 to
> see if squid would start which it didn't. I did this because I thought it
> should be looking to /usr/local/squid/sbin for the binary but it is
> apparently not.
> 
> Do you have any other suggestions? Is there something I have to do after
> changing the init script to apply the changes? Currently I'm just making
> changes in 'vi' and then saving.
> 
> I appreciate your help. Feel free to wash your hands of me at any time.
> 
> Cheers,
> 
> Travis
> 
> PATH=/usr/bin:/sbin:/bin:/usr/sbin:/usr/local/squid/sbin
> export PATH
> 
> # Source function library.
> . /etc/rc.d/init.d/functions
> 
> # Source networking configuration.
> . /etc/sysconfig/network
> 
> # Check that networking is up.
> [ ${NETWORKING} = "no" ] && exit 0
> 
> # check if the squid conf file is present
> [ -f /usr/local/squid/etc/squid.conf ] || exit 0
> 
> if [ -f /etc/sysconfig/squid ]; then
>   . /etc/sysconfig/squid
> fi
> 
> # don't raise an error if the config file is incomplete
> # set defaults instead:
> SQUID_OPTS=${SQUID_OPTS:-"-D"}
> SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
> SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
> 
> # determine the name of the squid binary
> [ -f /usr/local/squid/sbin/squid ] && SQUID=squid
> [ -z "$SQUID" ] && exit 0
> 
> prog="$SQUID"
> 
> # determine which one is the cache_swap directory
> CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \
>         grep cache_dir |  awk '{ print $3 }'`
> [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/spool/squid
> 
> -----Original Message-----
> From: Henrik Nordstrom [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, December 09, 2003 3:48 PM
> To: Travis Bullock
> Cc: 'Henrik Nordstrom'
> Subject: RE: [squid-users] Version Info
> 
> 
> On Tue, 9 Dec 2003, Travis Bullock wrote:
> 
> > No I didn't do that. Not to sure what it is you are talking about either.
> > Anyway I noticed that my 'stable4' is located in /usr/local/squid and I
> > believe my 'stable1' is located in /etc/squid.
> 
> The 2.5.STABLE1 binary is most likely in /usr/sbin/squid, and the
> 2.5.STABLE4 binary in /usr/local/squid/sbin/squid
> 
> > Could I just rerun the ./configure for stable4 and this time
> > use --prefix=/etc/squid and overwrite the old 'stable1'? If not how do I
> go
> > about getting rid of 'stable1' and start using 'stable4'?
> 
> A quick fix if you do not want to adjust the init script to use the
> correct binary is to replace /usr/sbin/squid with a symbolic link to
> /usr/local/squid/sbin/squid
> 
>    ln -sf /usr/local/squid/sbin/squid /usr/sbin/squid
> 
> Regards
> Henrik
> 

Reply via email to