cannot launch vsftpd at system startup

Peter Matulis pmatulis at sympatico.ca
Sat Jan 27 23:06:27 UTC 2007


Le Samedi 27 Janvier 2007 16:36, Derek Ragona a écrit :
> add set -x to the startup script and debug where that error message
> is coming from.
>
>          -Derek
>
> At 02:55 PM 1/27/2007, Peter Matulis wrote:
> >Hi gang,
> >
> >I have read quite a few articles on how to start vsftpd at system
> > bootup but nothing seems to work on my new and updated 6.2 STABLE
> > machine.
> >
> >I have copied /usr/ports/ftp/vsftpd/files/vsftpd.sh.in
> >to /usr/local/etc/rc.d/vsftpd.sh and it is executable.
> >
> >In /etc/rc.conf I am placing:
> >
> >vsftpd_enable="YES"
> >
> >and in vsftpd.conf:
> >
> >listen=YES
> >background=YES
> >
> >I can't see the error when my machine boots but when I attempt to
> > run the rc.d script manually I get:
> >
> >.: Can't open %%RC_SUBR%%: No such file or directory
> >
> >I can start the daemon at the command line:
> >
> >/usr/local/libexec/vsftpd &
> >
> >I installed the port sysutils/rc_subr thinking it may help but it
> > does not.  I also reinstalled vsftpd with the make option RC_NG but
> > it doesn't seem to do anything (isn't it supposed to install the
> > rc.d script?).

The shell tries to parse this line:

. "%%RC_SUBR%%"

I have no idea what it is trying to source.

Here is the entire script:
--------------------------------------------

#!/bin/sh
#
# $FreeBSD: ports/ftp/vsftpd/files/vsftpd.sh.in,v 1.7 2006/02/20 
20:47:01 dougb Exp $
#

# PROVIDE: vsftpd
# REQUIRE: DAEMON

# Add the following line to /etc/rc.conf to enable `vsftpd':
#
# vsftpd_enable="YES"
# vsftpd_flags="/some/path/conf.file" # Not required
#

. "%%RC_SUBR%%"

name="vsftpd"
rcvar=`set_rcvar`

load_rc_config "$name"
: ${vsftpd_enable:="NO"}
: ${vsftpd_flags:=""}

command="%%PREFIX%%/libexec/$name"
required_files="%%PREFIX%%/etc/$name.conf"
start_precmd="vsftpd_check"

vsftpd_check()
{
        if grep -q "^ftp[       ]" /etc/inetd.conf ${required_files}
        then
                err 1 "ftp is already activated in /etc/inetd.conf"
        fi
        if ! egrep -q -i -E "^listen.*=.*YES$" ${required_files}
        then
                err 1 "vsftpd script need "listen=YES" on config file"
        fi
        if ! egrep -q -i -E "^background.*=.*YES$" ${required_files}
        then
                err 1 "vsftpd script need "background=YES" on config 
file"
        fi
}

run_rc_command "$1"


More information about the freebsd-questions mailing list