Не запускается MySQL5XX? Help

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 14:29:47

Доброго время суток. Возникла такая проблема с MySQL50- и Mysql51-server - он не запускается.
Что имеется:
1) FreeBSD 7.0 RELEASE
2) Ставлю все из портов:
- Apache22 /usr/ports/www/apache22
- php5 /usr/ports/lang/php5
- MySql50-server /usr/ports/databases/mysql50-server
- phpmyadmin /usr/ports/databases/phpmyadmin
3) что делал:
- Апача настроена с пхп и работает нормально
- в /etc/rc.conf

Код: Выделить всё

 mysql_enable="YES"
                           mysql_dbdir="/var/db/mysql"
                           apache22_enable="YES"
4) После установки MySQL выполняю mysql_install_db
5) Изменяю права на папку /var/db/mysql 777 с пользователем и групой mysql
6) при установке конфиг my.cnf был вообще пустой, но потом я заменил его на вот такой:

Код: Выделить всё

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/db/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password	= your_password
port		= 3306
socket		= /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port		= 3306
bind-address 	= 127.0.0.1
socket		= /tmp/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
# 
skip-networking
server-id	= 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# Uncomment the following if you are NOT using BDB tables
#skip-bdb

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/db/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/db/mysql/
#innodb_log_arch_dir = /var/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

log = /var/log/mysql.log

В чем проблема: при /usr/local/etc/rc.d/mysql-server start выводит следующие:

Код: Выделить всё

Starting mysql
        root# rm: /var/db/mysql/: Is a directory
eval: cannot create /var/db/mysql/: Is a directory
tee: /var/db/mysql/: Is a directory
tee: /var/db/mysql/: Is a directory
Переустанавливал не раз уже, уже не знаю что делать, кто сталкиволся подскажите ...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 14:47:29

root# rm: /var/db/mysql/: Is a directoryeval: cannot create /var/db/mysql/: Is a directorytee: /var/db/mysql/: Is a directorytee: /var/db/mysql/: Is a directory
вроде как оно само хочет удалять и создавать эту директорию
хотя вообще то странновато...

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 14:51:13

Ну да, странновато! Но что самое интересное, что при разных зборках мускула одна и та же проблема. Пробывал удалять /var/db/mysql при запуске чуть дольше думает, создает каталог, и потом выводит туже богодельню ...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 14:59:18

# Run & Configure MySQL

mkdir /var/db/mysql
pw groupadd mysql -g 88
pw useradd mysql -u 88 -g mysql
pw usermod mysql -d /var/db/mysql

mysql_install_db --ldata=/var/db/mysql
chown -R mysql:mysql /var/db/mysql
пробуй так

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 15:04:48

paradox писал(а):
# Run & Configure MySQL

mkdir /var/db/mysql
pw groupadd mysql -g 88
pw useradd mysql -u 88 -g mysql
pw usermod mysql -d /var/db/mysql

mysql_install_db --ldata=/var/db/mysql
chown -R mysql:mysql /var/db/mysql
пробуй так

Неа, аналогичная ситуация ...

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 15:08:42

Мишаня писал(а): pw groupadd mysql -g 88
pw useradd mysql -u 88 -g mysql
pw usermod mysql -d /var/db/mysql
Група и пользователь уже существуют

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 15:10:11

ну тогда незнаю что вы там начудили....
вроде у всех работает

зы
mysql_dbdir="/var/db/mysql"
лучше уберите

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 15:13:30

Убрал ... Вообще просто не могу понять из-за чего такая трабла?

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 18:05:58

paradox писал(а):ну тогда незнаю что вы там начудили....
вроде у всех работает
Тогда можите описать последовательность правильной установки, может я чтото не так делаю?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 18:34:09

я уже описал выше

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 18:37:25

paradox писал(а):я уже описал выше
Да все проделал как есть, я имею ввиду установку apache22+Mysql5+phpmyadmin+php
я как делал, ставлю апачу, потом пхп, потом майАдмин, оно то все работает но выводит типа не правильно настроен сокет Ошибка вроде 202 мускул выдает (сейчас не могу посмотреть точно) ...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 18:51:49

та причет тут апач или хпх
если у вас проблема с мускулем

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 18:53:36

Да черт его знает, может из-за последовательности установки одно или другого что то не так? хз что делать ... ? (((

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 19:05:32

ну незнаю незнаю что вы там накрутили
вроде у всех без проблем

сносите все
и переустанавливайте
начиная с мускуля
пока он не подымыться остальное и не трогайте

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 19:06:50

Окай ... Сейчас проверю. Отпишусь ! ! !

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение zingel » 2009-02-12 20:25:56

давайте вывод сюда

Код: Выделить всё

sh -xv /usr/local/etc/rc.d/mysql-server
Z301171463546 - можно пожертвовать мне денег

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 21:07:54

paradox писал(а): сносите все
и переустанавливайте
начиная с мускуля
пока он не подымыться остальное и не трогайте
После переустановки самой Фрюхи и мускула, с первого раза запустилость без проблем .. что было ? :cf: сейчас поставлю апачу и пхпмай_админ посмотрим что будет ...

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 21:09:11

zingel писал(а):давайте вывод сюда

Код: Выделить всё

sh -xv /usr/local/etc/rc.d/mysql-server
вопрос и не по теме может: но как мне вывести содержимое в файл типа чтото echo или как? просто интересно разобраться что это могло быть?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение zingel » 2009-02-12 21:15:03

Код: Выделить всё

cat file1 > file2
Z301171463546 - можно пожертвовать мне денег

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 21:30:13

Мишаня писал(а):
zingel писал(а):давайте вывод сюда

Код: Выделить всё

sh -xv /usr/local/etc/rc.d/mysql-server
я имею ввиду вывод выполнения вот этого чуда, или какие другие методы вытянуть без Иксов ..?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение zingel » 2009-02-12 21:39:33

ну и будет тебе вывод
Z301171463546 - можно пожертвовать мне денег

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 21:41:46

zingel писал(а):ну и будет тебе вывод
:smile: вот в таком виде я имею ввиду

Код: Выделить всё

echo "sh -xv /usr/local/etc/rc.d/mysql-server" >> /tmp/tmp.txt
вот в этом смысле?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение paradox » 2009-02-12 21:45:27

Код: Выделить всё

sh -c "sh -xv /usr/local/etc/rc.d/mysql-server > /tmp/tmp.txt 2>&1 &"
как то так

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение zingel » 2009-02-12 21:49:44

ну да, что-то такое тоже верно
Z301171463546 - можно пожертвовать мне денег

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не запускается MySQL5XX? Help

Непрочитанное сообщение Мишаня » 2009-02-12 21:51:28

paradox писал(а):

Код: Выделить всё

sh -c "sh -xv /usr/local/etc/rc.d/mysql-server > /tmp/tmp.txt 2>&1 &"
как то так
Спасибо Paradox :smile: вот что имеется !

Код: Выделить всё

#!/bin/sh
#
# $FreeBSD: ports/databases/mysql50-server/files/mysql-server.sh.in,v 1.3 2006/03/07 16:25:00 ale Exp $
#

# PROVIDE: mysql
# REQUIRE: LOGIN
# KEYWORD: shutdown

#
# Add the following line to /etc/rc.conf to enable mysql:
# mysql_enable (bool):	Set to "NO" by default.
#			Set it to "YES" to enable MySQL.
# mysql_limits (bool):	Set to "NO" by default.
#			Set it to yes to run `limits -e -U mysql`
#			just before mysql starts.
# mysql_dbdir (str):	Default to "/var/db/mysql"
#			Base database directory.
# mysql_args (str):	Custom additional arguments to be passed
#			to mysqld_safe (default empty).
#

. /etc/rc.subr
+ . /etc/rc.subr
# $NetBSD: rc.subr,v 1.67 2006/10/07 11:25:15 elad Exp $
# $FreeBSD: src/etc/rc.subr,v 1.77 2007/10/09 07:20:44 dougb Exp $
#
# Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Luke Mewburn.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#        This product includes software developed by the NetBSD
#        Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# rc.subr
#	functions used by various rc scripts
#

: ${rcvar_manpage:='rc.conf(5)'}
+ : rc.conf(5)
: ${RC_PID:=$$}; export RC_PID
+ : 1156
+ export RC_PID

#
#	Operating System dependent/independent variables
#

if [ -z "${_rc_subr_loaded}" ]; then

_rc_subr_loaded="YES"

SYSCTL="/sbin/sysctl"
SYSCTL_N="${SYSCTL} -n"
CMD_OSTYPE="${SYSCTL_N} kern.ostype"
OSTYPE=`${CMD_OSTYPE}`
ID="/usr/bin/id"
IDCMD="if [ -x $ID ]; then $ID -un; fi"
PS="/bin/ps -ww"
JID=`$PS -p $$ -o jid=`

case ${OSTYPE} in
FreeBSD)
	SYSCTL_W="${SYSCTL}"
	;;
NetBSD)
	SYSCTL_W="${SYSCTL} -w"
	;;
esac

#
#	functions
#	---------

#
# set_rcvar base_var
#	Set the variable name enabling a specific service.
#	FreeBSD uses ${service}_enable, while NetBSD uses
#	just the name of the service. For example:
#	FreeBSD: sendmail_enable="YES"
#	NetBSD : sendmail="YES"
#	$1 - if $name is not the base to work of off, specify
#	     a different one
#
set_rcvar()
{
	if [ -z "$1" ]; then
		base_var=${name}
	else
		base_var="$1"
	fi

	case ${OSTYPE} in
	FreeBSD)
		echo ${base_var}_enable
		;;
	NetBSD)
		echo ${base_var}
		;;
	*)
		echo 'XXX'
		;;
	esac
}

#
# force_depend script
#	Force a service to start. Intended for use by services
#	to resolve dependency issues. It is assumed the caller
#	has check to make sure this call is necessary
#	$1 - filename of script, in /etc/rc.d, to run
#
force_depend()
{
	_depend="$1"

	info "${name} depends on ${_depend}, which will be forced to start."
	if ! /etc/rc.d/${_depend} forcestart; then
		warn "Unable to force ${_depend}. It may already be running."
		return 1
	fi
	return 0
}

#
# checkyesno var
#	Test $1 variable, and warn if not set to YES or NO.
#	Return 0 if it's "yes" (et al), nonzero otherwise.
#
checkyesno()
{
	eval _value=\$${1}
	debug "checkyesno: $1 is set to $_value."
	case $_value in

		#	"yes", "true", "on", or "1"
	[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
		return 0
		;;

		#	"no", "false", "off", or "0"
	[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
		return 1
		;;
	*)
		warn "\$${1} is not set properly - see ${rcvar_manpage}."
		return 1
		;;
	esac
}

#
# reverse_list list
#	print the list in reverse order
#
reverse_list()
{
	_revlist=
	for _revfile; do
		_revlist="$_revfile $_revlist"
	done
	echo $_revlist
}

# stop_boot always
#	If booting directly to multiuser or $always is enabled,
#	send SIGTERM to the parent (/etc/rc) to abort the boot.
#	Otherwise just exit.
#
stop_boot()
{
	local always

	if [ -n "$1" ] && checkyesno $1; then
		always=true
	else
		always=false
	fi
	if [ "$autoboot" = yes -o "$always" = true ]; then
		echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!"
		kill -TERM ${RC_PID}
	fi
	exit 1
}

#
# mount_critical_filesystems type
#	Go through the list of critical filesystems as provided in
#	the rc.conf(5) variable $critical_filesystems_${type}, checking
#	each one to see if it is mounted, and if it is not, mounting it.
#
mount_critical_filesystems()
{
	eval _fslist=\$critical_filesystems_${1}
	for _fs in $_fslist; do
		mount | (
			_ismounted=false
			while read what _on on _type type; do
				if [ $on = $_fs ]; then
					_ismounted=true
				fi
			done
			if $_ismounted; then
				:
			else
				mount $_fs >/dev/null 2>&1
			fi
		)
	done
}

#
# check_pidfile pidfile procname [interpreter]
#	Parses the first line of pidfile for a PID, and ensures
#	that the process is running and matches procname.
#	Prints the matching PID upon success, nothing otherwise.
#	interpreter is optional; see _find_processes() for details.
#
check_pidfile()
{
	_pidfile=$1
	_procname=$2
	_interpreter=$3
	if [ -z "$_pidfile" -o -z "$_procname" ]; then
		err 3 'USAGE: check_pidfile pidfile procname [interpreter]'
	fi
	if [ ! -f $_pidfile ]; then
		debug "pid file ($_pidfile): not readable."
		return
	fi
	read _pid _junk < $_pidfile
	if [ -z "$_pid" ]; then
		debug "pid file ($_pidfile): no pid in file."
		return
	fi
	_find_processes $_procname ${_interpreter:-.} '-p '"$_pid"
}

#
# check_process procname [interpreter]
#	Ensures that a process (or processes) named procname is running.
#	Prints a list of matching PIDs.
#	interpreter is optional; see _find_processes() for details.
#
check_process()
{
	_procname=$1
	_interpreter=$2
	if [ -z "$_procname" ]; then
		err 3 'USAGE: check_process procname [interpreter]'
	fi
	_find_processes $_procname ${_interpreter:-.} '-ax'
}

#
# _find_processes procname interpreter psargs
#	Search for procname in the output of ps generated by psargs.
#	Prints the PIDs of any matching processes, space separated.
#
#	If interpreter == ".", check the following variations of procname
#	against the first word of each command:
#		procname
#		`basename procname`
#		`basename procname` + ":"
#		"(" + `basename procname` + ")"
#		"[" + `basename procname` + "]"
#
#	If interpreter != ".", read the first line of procname, remove the
#	leading #!, normalise whitespace, append procname, and attempt to
#	match that against each command, either as is, or with extra words
#	at the end.  As an alternative, to deal with interpreted daemons
#	using perl, the basename of the interpreter plus a colon is also
#	tried as the prefix to procname.
#
_find_processes()
{
	if [ $# -ne 3 ]; then
		err 3 'USAGE: _find_processes procname interpreter psargs'
	fi
	_procname=$1
	_interpreter=$2
	_psargs=$3

	_pref=
	if [ $_interpreter != "." ]; then	# an interpreted script
		_script=${_chroot}${_chroot:+"/"}$_procname
		if [ -r $_script ]; then
			read _interp < $_script	# read interpreter name
			case "$_interp" in
			\#!*)
				_interp=${_interp#\#!}	# strip #!
				set -- $_interp
				case $1 in
				*/bin/env)
					shift	# drop env to get real name
					;;
				esac
				if [ $_interpreter != $1 ]; then
					warn "\$command_interpreter $_interpreter != $1"
				fi
				;;
			*)
				warn "no shebang line in $_script"
				set -- $_interpreter
				;;
			esac
		else
			warn "cannot read shebang line from $_script"
			set -- $_interpreter
		fi
		_interp="$* $_procname"		# cleanup spaces, add _procname
		_interpbn=${1##*/}
		_fp_args='_argv'
		_fp_match='case "$_argv" in
		    ${_interp}|"${_interp} "*|"${_interpbn}: ${_procname}"*)'
	else					# a normal daemon
		_procnamebn=${_procname##*/}
		_fp_args='_arg0 _argv'
		_fp_match='case "$_arg0" in
		    $_procname|$_procnamebn|${_procnamebn}:|"(${_procnamebn})"|"[${_procnamebn}]")'
	fi

	_proccheck="\
		$PS 2>/dev/null -o pid= -o jid= -o command= $_psargs"' |
		while read _npid _jid '"$_fp_args"'; do
			'"$_fp_match"'
				if [ "$JID" -eq "$_jid" ];
				then echo -n "$_pref$_npid";
				_pref=" ";
				fi
				;;
			esac
		done'

#	debug "in _find_processes: proccheck is ($_proccheck)."
	eval $_proccheck
}

#
# wait_for_pids pid [pid ...]
#	spins until none of the pids exist
#
wait_for_pids()
{
	_list="$@"
	if [ -z "$_list" ]; then
		return
	fi
	_prefix=
	while true; do
		_nlist="";
		for _j in $_list; do
			if kill -0 $_j 2>/dev/null; then
				_nlist="${_nlist}${_nlist:+ }$_j"
			fi
		done
		if [ -z "$_nlist" ]; then
			break
		fi
		_list=$_nlist
		echo -n ${_prefix:-"Waiting for PIDS: "}$_list
		_prefix=", "
		sleep 2
	done
	if [ -n "$_prefix" ]; then
		echo "."
	fi
}

#
# run_rc_command argument
#	Search for argument in the list of supported commands, which is:
#		"start stop restart rcvar status poll ${extra_commands}"
#	If there's a match, run ${argument}_cmd or the default method
#	(see below).
#
#	If argument has a given prefix, then change the operation as follows:
#		Prefix	Operation
#		------	---------
#		fast	Skip the pid check, and set rc_fast=yes
#		force	Set ${rcvar} to YES, and set rc_force=yes
#		one	Set ${rcvar} to YES
#
#	The following globals are used:
#
#	Name		Needed	Purpose
#	----		------	-------
#	name		y	Name of script.
#
#	command		n	Full path to command.
#				Not needed if ${rc_arg}_cmd is set for
#				each keyword.
#
#	command_args	n	Optional args/shell directives for command.
#
#	command_interpreter n	If not empty, command is interpreted, so
#				call check_{pidfile,process}() appropriately.
#
#	extra_commands	n	List of extra commands supported.
#
#	pidfile		n	If set, use check_pidfile $pidfile $command,
#				otherwise use check_process $command.
#				In either case, only check if $command is set.
#
#	procname	n	Process name to check for instead of $command.
#
#	rcvar		n	This is checked with checkyesno to determine
#				if the action should be run.
#
#	${name}_program	n	Full path to command.
#				Meant to be used in /etc/rc.conf to override
#				${command}.
#
#	${name}_chroot	n	Directory to chroot to before running ${command}
#				Requires /usr to be mounted.
#
#	${name}_chdir	n	Directory to cd to before running ${command}
#				(if not using ${name}_chroot).
#
#	${name}_flags	n	Arguments to call ${command} with.
#				NOTE:	$flags from the parent environment
#					can be used to override this.
#
#	${name}_nice	n	Nice level to run ${command} at.
#
#	${name}_user	n	User to run ${command} as, using su(1) if not
#				using ${name}_chroot.
#				Requires /usr to be mounted.
#
#	${name}_group	n	Group to run chrooted ${command} as.
#				Requires /usr to be mounted.
#
#	${name}_groups	n	Comma separated list of supplementary groups
#				to run the chrooted ${command} with.
#				Requires /usr to be mounted.
#
#	${rc_arg}_cmd	n	If set, use this as the method when invoked;
#				Otherwise, use default command (see below)
#
#	${rc_arg}_precmd n	If set, run just before performing the
#				${rc_arg}_cmd method in the default
#				operation (i.e, after checking for required
#				bits and process (non)existence).
#				If this completes with a non-zero exit code,
#				don't run ${rc_arg}_cmd.
#
#	${rc_arg}_postcmd n	If set, run just after performing the
#				${rc_arg}_cmd method, if that method
#				returned a zero exit code.
#
#	required_dirs	n	If set, check for the existence of the given
#				directories before running a (re)start command.
#
#	required_files	n	If set, check for the readability of the given
#				files before running a (re)start command.
#
#	required_modules n	If set, ensure the given kernel modules are
#				loaded before running a (re)start command.
#				The check and possible loads are actually
#				done after start_precmd so that the modules
#				aren't loaded in vain, should the precmd
#				return a non-zero status to indicate a error.
#				If a word in the list looks like "foo:bar",
#				"foo" is the KLD file name and "bar" is the
#				module name.  If a word looks like "foo~bar",
#				"foo" is the KLD file name and "bar" is a
#				egrep(1) pattern matching the module name.
#				Otherwise the module name is assumed to be
#				the same as the KLD file name, which is most
#				common.  See load_kld().
#
#	required_vars	n	If set, perform checkyesno on each of the
#				listed variables before running the default
#				(re)start command.
#
#	Default behaviour for a given argument, if no override method is
#	provided:
#
#	Argument	Default behaviour
#	--------	-----------------
#	start		if !running && checkyesno ${rcvar}
#				${command}
#
#	stop		if ${pidfile}
#				rc_pid=$(check_pidfile $pidfile $command)
#			else
#				rc_pid=$(check_process $command)
#			kill $sig_stop $rc_pid
#			wait_for_pids $rc_pid
#			($sig_stop defaults to TERM.)
#
#	reload		Similar to stop, except use $sig_reload instead,
#			and doesn't wait_for_pids.
#			$sig_reload defaults to HUP.
#			Note that `reload' isn't provided by default,
#			it should be enabled via $extra_commands.
#
#	restart		Run `stop' then `start'.
#
#	status		Show if ${command} is running, etc.
#
#	poll		Wait for ${command} to exit.
#
#	rcvar		Display what rc.conf variable is used (if any).
#
#	Variables available to methods, and after run_rc_command() has
#	completed:
#
#	Variable	Purpose
#	--------	-------
#	rc_arg		Argument to command, after fast/force/one processing
#			performed
#
#	rc_flags	Flags to start the default command with.
#			Defaults to ${name}_flags, unless overridden
#			by $flags from the environment.
#			This variable may be changed by the precmd method.
#
#	rc_pid		PID of command (if appropriate)
#
#	rc_fast		Not empty if "fast" was provided (q.v.)
#
#	rc_force	Not empty if "force" was provided (q.v.)
#
#
run_rc_command()
{
	_return=0
	rc_arg=$1
	if [ -z "$name" ]; then
		err 3 'run_rc_command: $name is not set.'
	fi

	# Don't repeat the first argument when passing additional command-
	# line arguments to the command subroutines.
	#
	shift 1
	rc_extra_args="$*"

	_rc_prefix=
	case "$rc_arg" in
	fast*)				# "fast" prefix; don't check pid
		rc_arg=${rc_arg#fast}
		rc_fast=yes
		;;
	force*)				# "force prefix; always run
		rc_force=yes
		_rc_prefix=force
		rc_arg=${rc_arg#${_rc_prefix}}
		if [ -n "${rcvar}" ]; then
			eval ${rcvar}=YES
		fi
		;;
	one*)				# "one" prefix; set ${rcvar}=yes
		_rc_prefix=one
		rc_arg=${rc_arg#${_rc_prefix}}
		if [ -n "${rcvar}" ]; then
			eval ${rcvar}=YES
		fi
		;;
	esac

	eval _override_command=\$${name}_program
	command=${command:+${_override_command:-$command}}

	_keywords="start stop restart rcvar $extra_commands"
	rc_pid=
	_pidcmd=
	_procname=${procname:-${command}}

					# setup pid check command
	if [ -n "$_procname" ]; then
		if [ -n "$pidfile" ]; then
			_pidcmd='rc_pid=$(check_pidfile '"$pidfile $_procname $command_interpreter"')'
		else
			_pidcmd='rc_pid=$(check_process '"$_procname $command_interpreter"')'
		fi
		if [ -n "$_pidcmd" ]; then
			_keywords="${_keywords} status poll"
		fi
	fi

	if [ -z "$rc_arg" ]; then
		rc_usage $_keywords
	fi

	if [ -n "$flags" ]; then	# allow override from environment
		rc_flags=$flags
	else
		eval rc_flags=\$${name}_flags
	fi
	eval _chdir=\$${name}_chdir	_chroot=\$${name}_chroot \
	    _nice=\$${name}_nice	_user=\$${name}_user \
	    _group=\$${name}_group	_groups=\$${name}_groups

	if [ -n "$_user" ]; then	# unset $_user if running as that user
		if [ "$_user" = "$(eval $IDCMD)" ]; then
			unset _user
		fi
	fi

					# if ${rcvar} is set, and $1 is not
					# "rcvar", then run
					#	checkyesno ${rcvar}
					# and return if that failed
					#
	if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then
		if ! checkyesno ${rcvar}; then
			return 0
		fi
	fi

	eval $_pidcmd			# determine the pid if necessary

	for _elem in $_keywords; do
		if [ "$_elem" != "$rc_arg" ]; then
			continue
		fi
					# if there's a custom ${XXX_cmd},
					# run that instead of the default
					#
		eval _cmd=\$${rc_arg}_cmd \
		     _precmd=\$${rc_arg}_precmd \
		     _postcmd=\$${rc_arg}_postcmd

		if [ -n "$_cmd" ]; then
			_run_rc_precmd || return 1
			_run_rc_doit "$_cmd $rc_extra_args" || return 1
			_run_rc_postcmd
			return $_return
		fi

		case "$rc_arg" in	# default operations...

		status)
			_run_rc_precmd || return 1
			if [ -n "$rc_pid" ]; then
				echo "${name} is running as pid $rc_pid."
			else
				echo "${name} is not running."
				return 1
			fi
			_run_rc_postcmd
			;;

		start)
			if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
				echo 1>&2 "${name} already running? (pid=$rc_pid)."
				return 1
			fi

			if [ ! -x ${_chroot}${_chroot:+"/"}${command} ]; then
				warn "run_rc_command: cannot run $command"
				return 1
			fi

			_run_rc_precmd || return 1

					# setup the full command to run
					#
			echo "Starting ${name}."
			if [ -n "$_chroot" ]; then
				_doit="\
${_nice:+nice -n $_nice }\
chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\
$_chroot $command $rc_flags $command_args"
			else
				_doit="\
${_chdir:+cd $_chdir && }\
$command $rc_flags $command_args"
				if [ -n "$_user" ]; then
				    _doit="su -m $_user -c 'sh -c \"$_doit\"'"
				fi
				if [ -n "$_nice" ]; then
					if [ -z "$_user" ]; then
						_doit="sh -c \"$_doit\""
					fi	
					_doit="nice -n $_nice $_doit"
				fi
			fi

					# run the full command
					#
			_run_rc_doit "$_doit" || return 1

					# finally, run postcmd
					#
			_run_rc_postcmd
			;;

		stop)
			if [ -z "$rc_pid" ]; then
				[ -n "$rc_fast" ] && return 0
				_run_rc_notrunning
				return 1
			fi

			_run_rc_precmd || return 1

					# send the signal to stop
					#
			echo "Stopping ${name}."
			_doit=$(_run_rc_killcmd "${sig_stop:-TERM}")
			_run_rc_doit "$_doit" || return 1

					# wait for the command to exit,
					# and run postcmd.
			wait_for_pids $rc_pid

			_run_rc_postcmd
			;;

		reload)
			if [ -z "$rc_pid" ]; then
				_run_rc_notrunning
				return 1
			fi

			_run_rc_precmd || return 1

			_doit=$(_run_rc_killcmd "${sig_reload:-HUP}")
			_run_rc_doit "$_doit" || return 1

			_run_rc_postcmd
			;;

		restart)
					# prevent restart being called more
					# than once by any given script
					#
			if ${_rc_restart_done:-false}; then
				return 0
			fi
			_rc_restart_done=true

			_run_rc_precmd || return 1

			# run those in a subshell to keep global variables
			( run_rc_command ${_rc_prefix}stop $rc_extra_args )
			( run_rc_command ${_rc_prefix}start $rc_extra_args )
			_return=$?
			[ $_return -ne 0 ] && [ -z "$rc_force" ] && return 1

			_run_rc_postcmd
			;;

		poll)
			_run_rc_precmd || return 1
			if [ -n "$rc_pid" ]; then
				wait_for_pids $rc_pid
			fi
			_run_rc_postcmd
			;;

		rcvar)
			echo "# $name"
			if [ -n "$rcvar" ]; then
				if checkyesno ${rcvar}; then
					echo "${rcvar}=YES"
				else
					echo "${rcvar}=NO"
				fi
			fi
			;;

		*)
			rc_usage $_keywords
			;;

		esac
		return $_return
	done

	echo 1>&2 "$0: unknown directive '$rc_arg'."
	rc_usage $_keywords
	# not reached
}

#
# Helper functions for run_rc_command: common code.
# They use such global variables besides the exported rc_* ones:
#
#	name	       R/W
#	------------------
#	_precmd		R
#	_postcmd	R
#	_return		W
#
_run_rc_precmd()
{
	check_required_before "$rc_arg" || return 1

	if [ -n "$_precmd" ]; then
		debug "run_rc_command: ${rc_arg}_precmd: $_precmd $rc_extra_args"
		eval "$_precmd $rc_extra_args"
		_return=$?

		# If precmd failed and force isn't set, request exit.
		if [ $_return -ne 0 ] && [ -z "$rc_force" ]; then
			return 1
		fi
	fi

	check_required_after "$rc_arg" || return 1

	return 0
}

_run_rc_postcmd()
{
	if [ -n "$_postcmd" ]; then
		debug "run_rc_command: ${rc_arg}_postcmd: $_postcmd $rc_extra_args"
		eval "$_postcmd $rc_extra_args"
		_return=$?
	fi
	return 0
}

_run_rc_doit()
{
	debug "run_rc_command: doit: $*"
	eval "$@"
	_return=$?

	# If command failed and force isn't set, request exit.
	if [ $_return -ne 0 ] && [ -z "$rc_force" ]; then
		return 1
	fi

	return 0
}

_run_rc_notrunning()
{
	local _pidmsg

	if [ -n "$pidfile" ]; then
		_pidmsg=" (check $pidfile)."
	else
		_pidmsg=
	fi
	echo 1>&2 "${name} not running?${_pidmsg}"
}

_run_rc_killcmd()
{
	local _cmd

	_cmd="kill -$1 $rc_pid"
	if [ -n "$_user" ]; then
		_cmd="su -m ${_user} -c 'sh -c \"${_cmd}\"'"
	fi
	echo "$_cmd"
}

#
# run_rc_script file arg
#	Start the script `file' with `arg', and correctly handle the
#	return value from the script.  If `file' ends with `.sh', it's
#	sourced into the current environment.  If `file' appears to be
#	a backup or scratch file, ignore it.  Otherwise if it's
#	executable run as a child process.
#
run_rc_script()
{
	_file=$1
	_arg=$2
	if [ -z "$_file" -o -z "$_arg" ]; then
		err 3 'USAGE: run_rc_script file arg'
	fi

	unset	name command command_args command_interpreter \
		extra_commands pidfile procname \
		rcvar required_dirs required_files required_vars
	eval unset ${_arg}_cmd ${_arg}_precmd ${_arg}_postcmd

	case "$_file" in
	/etc/rc.d/*.sh)			# run in current shell
		set $_arg; . $_file
		;;
	*[~#]|*.OLD|*.bak|*.orig|*,v)	# scratch file; skip
		warn "Ignoring scratch file $_file"
		;;
	*)				# run in subshell
		if [ -x $_file ]; then
			if [ -n "$rc_fast_and_loose" ]; then
				set $_arg; . $_file
			else
				( trap "echo Script $_file interrupted; kill -QUIT $$" 3
				  trap "echo Script $_file interrupted; exit 1" 2
				  set $_arg; . $_file )
			fi
		fi
		;;
	esac
}

#
# load_rc_config name
#	Source in the configuration file for a given name.
#
load_rc_config()
{
	_name=$1
	if [ -z "$_name" ]; then
		err 3 'USAGE: load_rc_config name'
	fi

	if ${_rc_conf_loaded:-false}; then
		:
	else
		if [ -r /etc/defaults/rc.conf ]; then
			debug "Sourcing /etc/defaults/rc.conf"
			. /etc/defaults/rc.conf
			source_rc_confs
		elif [ -r /etc/rc.conf ]; then
			debug "Sourcing /etc/rc.conf (/etc/defaults/rc.conf doesn't exist)."
			. /etc/rc.conf
		fi
		_rc_conf_loaded=true
	fi
	if [ -f /etc/rc.conf.d/"$_name" ]; then
		debug "Sourcing /etc/rc.conf.d/${_name}"
		. /etc/rc.conf.d/"$_name"
	fi
}
  
#
# load_rc_config_var name var
#	Read the rc.conf(5) var for name and set in the
#	current shell, using load_rc_config in a subshell to prevent
#	unwanted side effects from other variable assignments.
#
load_rc_config_var()
{
	if [ $# -ne 2 ]; then
		err 3 'USAGE: load_rc_config_var name var'
	fi
	eval $(eval '(
		load_rc_config '$1' >/dev/null;
                if [ -n "${'$2'}" -o "${'$2'-UNSET}" != "UNSET" ]; then
			echo '$2'=\'\''${'$2'}\'\'';
		fi
	)' )
}

#
# rc_usage commands
#	Print a usage string for $0, with `commands' being a list of
#	valid commands.
#
rc_usage()
{
	echo -n 1>&2 "Usage: $0 [fast|force|one]("

	_sep=
	for _elem; do
		echo -n 1>&2 "$_sep$_elem"
		_sep="|"
	done
	echo 1>&2 ")"
	exit 1
}

#
# err exitval message
#	Display message to stderr and log to the syslog, and exit with exitval.
#
err()
{
	exitval=$1
	shift

	if [ -x /usr/bin/logger ]; then
		logger "$0: ERROR: $*"
	fi
	echo 1>&2 "$0: ERROR: $*"
	exit $exitval
}

#
# warn message
#	Display message to stderr and log to the syslog.
#
warn()
{
	if [ -x /usr/bin/logger ]; then
		logger "$0: WARNING: $*"
	fi
	echo 1>&2 "$0: WARNING: $*"
}

#
# info message
#	Display informational message to stdout and log to syslog.
#
info()
{
	case ${rc_info} in
	[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
		if [ -x /usr/bin/logger ]; then
			logger "$0: INFO: $*"
		fi
		echo "$0: INFO: $*"
		;;
	esac
}

#
# debug message
#	If debugging is enabled in rc.conf output message to stderr.
#	BEWARE that you don't call any subroutine that itself calls this
#	function.
#
debug()
{
	case ${rc_debug} in
	[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
		if [ -x /usr/bin/logger ]; then
			logger "$0: DEBUG: $*"
		fi
		echo 1>&2 "$0: DEBUG: $*"
		;;
	esac
}

#
# backup_file action file cur backup
#	Make a backup copy of `file' into `cur', and save the previous
#	version of `cur' as `backup' or use rcs for archiving.
#
#	This routine checks the value of the backup_uses_rcs variable,
#	which can be either YES or NO.
#
#	The `action' keyword can be one of the following:
#
#	add		`file' is now being backed up (and is possibly
#			being reentered into the backups system).  `cur'
#			is created and RCS files, if necessary, are
#			created as well.
#
#	update		`file' has changed and needs to be backed up.
#			If `cur' exists, it is copied to to `back' or
#			checked into RCS (if the repository file is old),
#			and then `file' is copied to `cur'.  Another RCS
#			check in done here if RCS is being used.
#
#	remove		`file' is no longer being tracked by the backups
#			system.  If RCS is not being used, `cur' is moved
#			to `back', otherwise an empty file is checked in,
#			and then `cur' is removed.
#
#
backup_file()
{
	_action=$1
	_file=$2
	_cur=$3
	_back=$4

	if checkyesno backup_uses_rcs; then
		_msg0="backup archive"
		_msg1="update"

		# ensure that history file is not locked
		if [ -f $_cur,v ]; then
			rcs -q -u -U -M $_cur
		fi

		# ensure after switching to rcs that the
		# current backup is not lost
		if [ -f $_cur ]; then
			# no archive, or current newer than archive
			if [ ! -f $_cur,v -o $_cur -nt $_cur,v ]; then
				ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur
				rcs -q -kb -U $_cur
				co -q -f -u $_cur
			fi
		fi

		case $_action in
		add|update)
			cp -p $_file $_cur
			ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur
			rcs -q -kb -U $_cur
			co -q -f -u $_cur
			chown root:wheel $_cur $_cur,v
			;;
		remove)
			cp /dev/null $_cur
			ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur
			rcs -q -kb -U $_cur
			chown root:wheel $_cur $_cur,v
			rm $_cur
			;;
		esac
	else
		case $_action in
		add|update)
			if [ -f $_cur ]; then
				cp -p $_cur $_back
			fi
			cp -p $_file $_cur
			chown root:wheel $_cur
			;;
		remove)
			mv -f $_cur $_back
			;;
		esac
	fi
}

# make_symlink src link
#	Make a symbolic link 'link' to src from basedir. If the
#	directory in which link is to be created does not exist
#	a warning will be displayed and an error will be returned.
#	Returns 0 on sucess, 1 otherwise.
#
make_symlink()
{
	local src link linkdir _me
	src="$1"
	link="$2"
	linkdir="`dirname $link`"
	_me="make_symlink()"

	if [ -z "$src" -o -z "$link" ]; then
		warn "$_me: requires two arguments."
		return 1
	fi
	if [ ! -d "$linkdir" ]; then
		warn "$_me: the directory $linkdir does not exist."
		return 1
	fi
	if ! ln -sf $src $link; then
		warn "$_me: unable to make a symbolic link from $link to $src"
		return 1
	fi
	return 0
}

# devfs_rulesets_from_file file
#	Reads a set of devfs commands from file, and creates
#	the specified rulesets with their rules. Returns non-zero
#	if there was an error.
#
devfs_rulesets_from_file()
{
	local file _err _me
	file="$1"
	_me="devfs_rulesets_from_file"
	_err=0

	if [ -z "$file" ]; then
		warn "$_me: you must specify a file"
		return 1
	fi
	if [ ! -e "$file" ]; then
		debug "$_me: no such file ($file)"
		return 0
	fi
	debug "reading rulesets from file ($file)"
	{ while read line
	do
		case $line in
		\#*)
			continue
			;;
		\[*\]*)
			rulenum=`expr "$line" : "\[.*=\([0-9]*\)\]"`
			if [ -z "$rulenum" ]; then
				warn "$_me: cannot extract rule number ($line)"
				_err=1
				break
			fi
			rulename=`expr "$line" : "\[\(.*\)=[0-9]*\]"`
			if [ -z "$rulename" ]; then
				warn "$_me: cannot extract rule name ($line)"
				_err=1
				break;
			fi
			eval $rulename=\$rulenum
			debug "found ruleset: $rulename=$rulenum"
			if ! /sbin/devfs rule -s $rulenum delset; then
				_err=1
				break
			fi
			;;
		*)
			rulecmd="${line%%"\#*"}"
			# evaluate the command incase it includes
			# other rules
			if [ -n "$rulecmd" ]; then
				debug "adding rule ($rulecmd)"
				if ! eval /sbin/devfs rule -s $rulenum $rulecmd
				then
					_err=1
					break
				fi
			fi
			;;
		esac
		if [ $_err -ne 0 ]; then
			debug "error in $_me"
			break
		fi
	done } < $file
	return $_err
}

# devfs_init_rulesets
#	Initializes rulesets from configuration files. Returns
#	non-zero if there was an error.
#
devfs_init_rulesets()
{
	local file _me
	_me="devfs_init_rulesets"

	# Go through this only once
	if [ -n "$devfs_rulesets_init" ]; then
		debug "$_me: devfs rulesets already initialized"
		return
	fi
	for file in $devfs_rulesets; do
		devfs_rulesets_from_file $file || return 1
	done
	devfs_rulesets_init=1
	debug "$_me: devfs rulesets initialized"
	return 0
}

# devfs_set_ruleset ruleset [dir]
#	Sets the default ruleset of dir to ruleset. The ruleset argument
#	must be a ruleset name as specified in devfs.rules(5) file.
#	Returns non-zero if it could not set it successfully.
#
devfs_set_ruleset()
{
	local devdir rs _me
	[ -n "$1" ] && eval rs=\$$1 || rs=
	[ -n "$2" ] && devdir="-m "$2"" || devdir=
	_me="devfs_set_ruleset"

	if [ -z "$rs" ]; then
		warn "$_me: you must specify a ruleset number"
		return 1
	fi
	debug "$_me: setting ruleset ($rs) on mount-point (${devdir#-m })"
	if ! /sbin/devfs $devdir ruleset $rs; then
		warn "$_me: unable to set ruleset $rs to ${devdir#-m }"
		return 1
	fi
	return 0
}

# devfs_apply_ruleset ruleset [dir]
#	Apply ruleset number $ruleset to the devfs mountpoint $dir.
#	The ruleset argument must be a ruleset name as specified
#	in a devfs.rules(5) file.  Returns 0 on success or non-zero
#	if it could not apply the ruleset.
#
devfs_apply_ruleset()
{
	local devdir rs _me
	[ -n "$1" ] && eval rs=\$$1 || rs=
	[ -n "$2" ] && devdir="-m "$2"" || devdir=
	_me="devfs_apply_ruleset"

	if [ -z "$rs" ]; then
		warn "$_me: you must specify a ruleset"
		return 1
	fi
	debug "$_me: applying ruleset ($rs) to mount-point (${devdir#-m })"
	if ! /sbin/devfs $devdir rule -s $rs applyset; then
		warn "$_me: unable to apply ruleset $rs to ${devdir#-m }"
		return 1
	fi
	return 0
}

# devfs_domount dir [ruleset]
#	Mount devfs on dir. If ruleset is specified it is set
#	on the mount-point. It must also be a ruleset name as specified
#	in a devfs.rules(5) file. Returns 0 on success.
#
devfs_domount()
{
	local devdir rs _me
	devdir="$1"
	[ -n "$2" ] && rs=$2 || rs=
	_me="devfs_domount()"

	if [ -z "$devdir" ]; then
		warn "$_me: you must specify a mount-point"
		return 1
	fi
	debug "$_me: mount-point is ($devdir), ruleset is ($rs)"
	if ! mount -t devfs dev "$devdir"; then
		warn "$_me: Unable to mount devfs on $devdir"
		return 1
	fi
	if [ -n "$rs" ]; then
		devfs_init_rulesets
		devfs_set_ruleset $rs $devdir
		devfs -m $devdir rule applyset
	fi
	return 0
}

# devfs_mount_jail dir [ruleset]
#	Mounts a devfs file system appropriate for jails
#	on the directory dir. If ruleset is specified, the ruleset
#	it names will be used instead.  If present, ruleset must
#	be the name of a ruleset as defined in a devfs.rules(5) file.
#	This function returns non-zero if an error occurs.
#
devfs_mount_jail()
{
	local jdev rs _me
	jdev="$1"
	[ -n "$2" ] && rs=$2 || rs="devfsrules_jail"
	_me="devfs_mount_jail"

	devfs_init_rulesets
	if ! devfs_domount "$jdev" $rs; then
		warn "$_me: devfs was not mounted on $jdev"
		return 1
	fi
	return 0
}

# Provide a function for normalizing the mounting of memory
# filesystems.  This should allow the rest of the code here to remain
# as close as possible between 5-current and 4-stable.
#   $1 = size
#   $2 = mount point
#   $3 = (optional) extra mdmfs flags
mount_md()
{
	if [ -n "$3" ]; then
		flags="$3"
	fi
	/sbin/mdmfs $flags -s $1 md $2
}

# Code common to scripts that need to load a kernel module
# if it isn't in the kernel yet. Syntax:
#   load_kld [-e regex] [-m module] file
# where -e or -m chooses the way to check if the module
# is already loaded:
#   regex is egrep'd in the output from `kldstat -v',
#   module is passed to `kldstat -m'.
# The default way is as though `-m file' were specified.
load_kld()
{
	local _loaded _mod _opt _re

	while getopts "e:m:" _opt; do
		case "$_opt" in
		e) _re="$OPTARG" ;;
		m) _mod="$OPTARG" ;;
		*) err 3 'USAGE: load_kld [-e regex] [-m module] file' ;;
		esac
	done
	shift $(($OPTIND - 1))
	if [ $# -ne 1 ]; then
		err 3 'USAGE: load_kld [-e regex] [-m module] file'
	fi
	_mod=${_mod:-$1}
	_loaded=false
	if [ -n "$_re" ]; then
		if kldstat -v | egrep -q -e "$_re"; then
			_loaded=true
		fi
	else
		if kldstat -q -m "$_mod"; then
			_loaded=true
		fi
	fi
	if ! $_loaded; then
		if ! kldload "$1"; then
			warn "Unable to load kernel module $1"
			return 1
		else
			info "$1 kernel module loaded."
		fi
	else
		debug "load_kld: $1 kernel module already loaded."
	fi
	return 0
}

# ltr str src dst
#	Change every $src in $str to $dst.
#	Useful when /usr is not yet mounted and we cannot use tr(1), sed(1) nor
#	awk(1).
ltr()
{
	local _str _src _dst _out _com
	_str=$1
	_src=$2
	_dst=$3
	_out=""

	IFS=${_src}
	for _com in ${_str}; do
		if [ -z "${_out}" ]; then
			_out="${_com}"
		else
			_out="${_out}${_dst}${_com}"
		fi
	done
	echo "${_out}"
}

# Creates a list of providers for GELI encryption.
geli_make_list()
{
	local devices devices2
	local provider mountpoint type options rest

	# Create list of GELI providers from fstab.
	while read provider mountpoint type options rest ; do
		case ":${options}" in
		:*noauto*)
			noauto=yes
			;;
		*)
			noauto=no
			;;
		esac

		case ":${provider}" in
		:#*)
			continue
			;;
		*.eli)
			# Skip swap devices.
			if [ "${type}" = "swap" -o "${options}" = "sw" -o "${noauto}" = "yes" ]; then
				continue
			fi
			devices="${devices} ${provider}"
			;;
		esac
	done < /etc/fstab

	# Append providers from geli_devices.
	devices="${devices} ${geli_devices}"

	for provider in ${devices}; do
		provider=${provider%.eli}
		provider=${provider#/dev/}
		devices2="${devices2} ${provider}"
	done

	echo ${devices2}
}

# Find scripts in local_startup directories that use the old syntax
#
find_local_scripts_old () {
	zlist=''
	slist=''
	for dir in ${local_startup}; do
		if [ -d "${dir}" ]; then
			for file in ${dir}/[0-9]*.sh; do
				grep '^# PROVIDE:' $file >/dev/null 2>&1 &&
				    continue
				zlist="$zlist $file"
			done
			for file in ${dir}/[^0-9]*.sh; do
				grep '^# PROVIDE:' $file >/dev/null 2>&1 &&
				    continue
				slist="$slist $file"
			done
		fi
	done
}

find_local_scripts_new () {
	local_rc=''
	for dir in ${local_startup}; do
		if [ -d "${dir}" ]; then
			for file in `grep -l '^# PROVIDE:' ${dir}/* 2>/dev/null`; do
				case "$file" in
				*.sample) ;;
				*)	if [ -x "$file" ]; then
						local_rc="${local_rc} ${file}"
					fi
					;;
				esac
			done
		fi
	done
}

# check_required_{before|after} command
#	Check for things required by the command before and after its precmd,
#	respectively.  The two separate functions are needed because some
#	conditions should prevent precmd from being run while other things
#	depend on precmd having already been run.
#
check_required_before()
{
	local _f

	case "$1" in
	start)
		for _f in $required_vars; do
			if ! checkyesno $_f; then
				warn "\$${_f} is not enabled."
				if [ -z "$rc_force" ]; then
					return 1
				fi
			fi
		done

		for _f in $required_dirs; do
			if [ ! -d "${_f}/." ]; then
				warn "${_f} is not a directory."
				if [ -z "$rc_force" ]; then
					return 1
				fi
			fi
		done

		for _f in $required_files; do
			if [ ! -r "${_f}" ]; then
				warn "${_f} is not readable."
				if [ -z "$rc_force" ]; then
					return 1
				fi
			fi
		done
		;;
	esac

	return 0
}

check_required_after()
{
	local _f _args

	case "$1" in
	start)
		for _f in $required_modules; do
			case "${_f}" in
				*~*)	_args="-e ${_f#*~} ${_f%%~*}" ;;
				*:*)	_args="-m ${_f#*:} ${_f%%:*}" ;;
				*)	_args="${_f}" ;;
			esac
			if ! load_kld ${_args}; then
				if [ -z "$rc_force" ]; then
					return 1
				fi
			fi
		done
		;;
	esac

	return 0
}

fi
+ [ -z  ]
+ _rc_subr_loaded=YES
+ SYSCTL=/sbin/sysctl
+ SYSCTL_N=/sbin/sysctl -n
+ CMD_OSTYPE=/sbin/sysctl -n kern.ostype
+ /sbin/sysctl -n kern.ostype
+ OSTYPE=FreeBSD
+ ID=/usr/bin/id
+ IDCMD=if [ -x /usr/bin/id ]; then /usr/bin/id -un; fi
+ PS=/bin/ps -ww
+ /bin/ps -ww -p 1156 -o jid=
+ JID=     0
+ SYSCTL_W=/sbin/sysctl

_rc_subr_loaded=:
+ _rc_subr_loaded=:

name="mysql"
+ name=mysql
rcvar=`set_rcvar`
+ set_rcvar
+ [ -z  ]
+ base_var=mysql
+ echo mysql_enable
+ rcvar=mysql_enable

load_rc_config $name
+ load_rc_config mysql
+ _name=mysql
+ [ -z mysql ]
+ false
+ [ -r /etc/defaults/rc.conf ]
+ debug Sourcing /etc/defaults/rc.conf
+ . /etc/defaults/rc.conf
#!/bin/sh

# This is rc.conf - a file full of useful variables that you can set
# to change the default startup behavior of your system.  You should
# not edit this file!  Put any overrides into one of the ${rc_conf_files}
# instead and you will be able to update these defaults later without
# spamming your local configuration information.
#
# The ${rc_conf_files} files should only contain values which override
# values set in this file.  This eases the upgrade path when defaults
# are changed and new features are added.
#
# All arguments must be in double or single quotes.
#
# For a more detailed explanation of all the rc.conf variables, please
# refer to the rc.conf(5) manual page.
#
# $FreeBSD: src/etc/defaults/rc.conf,v 1.318.2.1.2.2 2008/01/29 00:22:33 dougb Exp $

##############################################################
###  Important initial Boot-time options  ####################
##############################################################

rc_debug="NO"		# Set to YES to enable debugging output from rc.d
+ rc_debug=NO
rc_info="NO"		# Enables display of informational messages at boot.
+ rc_info=NO
rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown
+ rcshutdown_timeout=30
early_late_divider="FILESYSTEMS"	# Script that separates early/late
+ early_late_divider=FILESYSTEMS
			# stages of the boot process.  Make sure you know
			# the ramifications if you change this.
			# See rc.conf(5) for more details.

swapfile="NO"		# Set to name of swapfile if aux swapfile desired.
+ swapfile=NO
apm_enable="NO"		# Set to YES to enable APM BIOS functions (or NO).
+ apm_enable=NO
apmd_enable="NO"	# Run apmd to handle APM event from userland.
+ apmd_enable=NO
apmd_flags=""		# Flags to apmd (if enabled).
+ apmd_flags=
devd_enable="YES" 	# Run devd, to trigger programs on device tree changes.
+ devd_enable=YES
devd_flags=""		# Additional flags for devd(8).
+ devd_flags=
kldxref_enable="NO"	# Build linker.hints files with kldxref(8).
+ kldxref_enable=NO
kldxref_clobber="NO"	# Overwrite old linker.hints at boot.
+ kldxref_clobber=NO
kldxref_module_path=""	# Override kern.module_path. A ';'-delimited list.
+ kldxref_module_path=
powerd_enable="NO" 	# Run powerd to lower our power usage.
+ powerd_enable=NO
powerd_flags=""		# Flags to powerd (if enabled).
+ powerd_flags=
tmpmfs="AUTO"		# Set to YES to always create an mfs /tmp, NO to never
+ tmpmfs=AUTO
tmpsize="20m"		# Size of mfs /tmp if created
+ tmpsize=20m
tmpmfs_flags="-S"	# Extra mdmfs options for the mfs /tmp
+ tmpmfs_flags=-S
varmfs="AUTO"		# Set to YES to always create an mfs /var, NO to never
+ varmfs=AUTO
varsize="32m"		# Size of mfs /var if created
+ varsize=32m
varmfs_flags="-S"	# Extra mount options for the mfs /var
+ varmfs_flags=-S
populate_var="AUTO"	# Set to YES to always (re)populate /var, NO to never
+ populate_var=AUTO
cleanvar_enable="YES" 	# Clean the /var directory
+ cleanvar_enable=YES
local_startup="/usr/local/etc/rc.d" # startup script dirs.
+ local_startup=/usr/local/etc/rc.d
script_name_sep=" "	# Change if your startup scripts' names contain spaces
+ script_name_sep= 
rc_conf_files="/etc/rc.conf /etc/rc.conf.local"
+ rc_conf_files=/etc/rc.conf /etc/rc.conf.local

# ZFS support
zfs_enable="NO"		# Set to YES to automatically mount ZFS file systems
+ zfs_enable=NO

# Experimental - test before enabling
gbde_autoattach_all="NO" # YES automatically mounts gbde devices from fstab
+ gbde_autoattach_all=NO
gbde_devices="NO" 	# Devices to automatically attach (list, or AUTO)
+ gbde_devices=NO
gbde_attach_attempts="3" # Number of times to attempt attaching gbde devices
+ gbde_attach_attempts=3
gbde_lockdir="/etc"	# Where to look for gbde lockfiles
+ gbde_lockdir=/etc

# GELI disk encryption configuration.
geli_devices=""		# List of devices to automatically attach in addition to
+ geli_devices=
			# GELI devices listed in /etc/fstab.
geli_tries=""		# Number of times to attempt attaching geli device.
+ geli_tries=
			# If empty, kern.geom.eli.tries will be used.
geli_default_flags=""	# Default flags for geli(8).
+ geli_default_flags=
geli_autodetach="YES"	# Automatically detach on last close.
+ geli_autodetach=YES
			# Providers are marked as such when all file systems are
			# mounted.
# Example use.
#geli_devices="da1 mirror/home"
#geli_da1_flags="-p -k /etc/geli/da1.keys"
#geli_da1_autodetach="NO"
#geli_mirror_home_flags="-k /etc/geli/home.keys"

geli_swap_flags="-e aes -l 256 -s 4096 -d"	# Options for GELI-encrypted
+ geli_swap_flags=-e aes -l 256 -s 4096 -d
						# swap partitions.

root_rw_mount="YES"	# Set to NO to inhibit remounting root read-write.
+ root_rw_mount=YES
fsck_y_enable="NO"	# Set to YES to do fsck -y if the initial preen fails.
+ fsck_y_enable=NO
background_fsck="YES"	# Attempt to run fsck in the background where possible.
+ background_fsck=YES
background_fsck_delay="60" # Time to wait (seconds) before starting the fsck.
+ background_fsck_delay=60
netfs_types="nfs:NFS nfs4:NFS4 smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net filesystems.
+ netfs_types=nfs:NFS nfs4:NFS4 smbfs:SMB portalfs:PORTAL nwfs:NWFS
extra_netfs_types="NO"	# List of network extra filesystem types for delayed
+ extra_netfs_types=NO
			# mount at startup (or NO).

##############################################################
###  Network configuration sub-section  ######################
##############################################################

### Basic network and firewall/security options: ###
hostname=""			# Set this!
+ hostname=
hostid_enable="YES"		# Set host UUID.
+ hostid_enable=YES
hostid_file="/etc/hostid"	# File with hostuuid.
+ hostid_file=/etc/hostid
nisdomainname="NO"		# Set to NIS domain if using NIS (or NO).
+ nisdomainname=NO
dhclient_program="/sbin/dhclient"	# Path to dhcp client program.
+ dhclient_program=/sbin/dhclient
dhclient_flags=""		# Extra flags to pass to dhcp client.
+ dhclient_flags=
#dhclient_flags_fxp0=""		# Extra dhclient flags for fxp0 only
background_dhclient="NO"	# Start dhcp client in the background.
+ background_dhclient=NO
#background_dhclient_fxp0="YES"	# Start dhcp client on fxp0 in the background.
synchronous_dhclient="YES"	# Start dhclient directly on configured
+ synchronous_dhclient=YES
				# interfaces during startup.
firewall_enable="NO"		# Set to YES to enable firewall functionality
+ firewall_enable=NO
firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall
+ firewall_script=/etc/rc.firewall
firewall_type="UNKNOWN"		# Firewall type (see /etc/rc.firewall)
+ firewall_type=UNKNOWN
firewall_quiet="NO"		# Set to YES to suppress rule display
+ firewall_quiet=NO
firewall_logging="NO"		# Set to YES to enable events logging
+ firewall_logging=NO
firewall_flags=""		# Flags passed to ipfw when type is a file
+ firewall_flags=
firewall_myservices=""		# List of TCP ports on which this host
+ firewall_myservices=
				#  offers services
firewall_allowservices=""	# List of IPs which has access to
+ firewall_allowservices=
				#  $firewall_myservices
firewall_trusted=""		# List of IPs which has full access to this host
+ firewall_trusted=
firewall_logdeny="NO"		# Set to YES to log default denied incoming
+ firewall_logdeny=NO
				#  packets.
firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports
+ firewall_nologports=135-139,445 1026,1027 1433,1434
				#  for which denied incoming packets are not
				#  logged.
ip_portrange_first="NO"		# Set first dynamically allocated port
+ ip_portrange_first=NO
ip_portrange_last="NO"		# Set last dynamically allocated port
+ ip_portrange_last=NO
ike_enable="NO"			# Enable IKE daemon (usually racoon or isakmpd)
+ ike_enable=NO
ike_program="/usr/local/sbin/isakmpd"	# Path to IKE daemon
+ ike_program=/usr/local/sbin/isakmpd
ike_flags=""			# Additional flags for IKE daemon
+ ike_flags=
ipsec_enable="NO"		# Set to YES to run setkey on ipsec_file
+ ipsec_enable=NO
ipsec_file="/etc/ipsec.conf"	# Name of config file for setkey
+ ipsec_file=/etc/ipsec.conf
natd_program="/sbin/natd"	# path to natd, if you want a different one.
+ natd_program=/sbin/natd
natd_enable="NO"		# Enable natd (if firewall_enable == YES).
+ natd_enable=NO
natd_interface=""		# Public interface or IPaddress to use.
+ natd_interface=
natd_flags=""			# Additional flags for natd.
+ natd_flags=
ipfilter_enable="NO"		# Set to YES to enable ipfilter functionality
+ ipfilter_enable=NO
ipfilter_program="/sbin/ipf"	# where the ipfilter program lives
+ ipfilter_program=/sbin/ipf
ipfilter_rules="/etc/ipf.rules"	# rules definition file for ipfilter, see
+ ipfilter_rules=/etc/ipf.rules
				# /usr/src/contrib/ipfilter/rules for examples
ipfilter_flags=""		# additional flags for ipfilter
+ ipfilter_flags=
ipnat_enable="NO"		# Set to YES to enable ipnat functionality
+ ipnat_enable=NO
ipnat_program="/sbin/ipnat"	# where the ipnat program lives
+ ipnat_program=/sbin/ipnat
ipnat_rules="/etc/ipnat.rules"	# rules definition file for ipnat
+ ipnat_rules=/etc/ipnat.rules
ipnat_flags=""			# additional flags for ipnat
+ ipnat_flags=
ipmon_enable="NO"		# Set to YES for ipmon; needs ipfilter or ipnat
+ ipmon_enable=NO
ipmon_program="/sbin/ipmon"	# where the ipfilter monitor program lives
+ ipmon_program=/sbin/ipmon
ipmon_flags="-Ds"		# typically "-Ds" or "-D /var/log/ipflog"
+ ipmon_flags=-Ds
ipfs_enable="NO"		# Set to YES to enable saving and restoring
+ ipfs_enable=NO
				# of state tables at shutdown and boot
ipfs_program="/sbin/ipfs"	# where the ipfs program lives
+ ipfs_program=/sbin/ipfs
ipfs_flags=""			# additional flags for ipfs
+ ipfs_flags=
pf_enable="NO"			# Set to YES to enable packet filter (pf)
+ pf_enable=NO
pf_rules="/etc/pf.conf"		# rules definition file for pf
+ pf_rules=/etc/pf.conf
pf_program="/sbin/pfctl"	# where the pfctl program lives
+ pf_program=/sbin/pfctl
pf_flags=""			# additional flags for pfctl
+ pf_flags=
pflog_enable="NO"		# Set to YES to enable packet filter logging
+ pflog_enable=NO
pflog_logfile="/var/log/pflog"	# where pflogd should store the logfile
+ pflog_logfile=/var/log/pflog
pflog_program="/sbin/pflogd"	# where the pflogd program lives
+ pflog_program=/sbin/pflogd
pflog_flags=""			# additional flags for pflogd
+ pflog_flags=
ftpproxy_enable="NO"		# Set to YES to enable ftp-proxy(8) for pf
+ ftpproxy_enable=NO
ftpproxy_flags=""		# additional flags for ftp-proxy(8)
+ ftpproxy_flags=
pfsync_enable="NO"		# Expose pf state to other hosts for syncing
+ pfsync_enable=NO
pfsync_syncdev=""		# Interface for pfsync to work through
+ pfsync_syncdev=
pfsync_syncpeer=""		# IP address of pfsync peer host
+ pfsync_syncpeer=
pfsync_ifconfig=""		# Additional options to ifconfig(8) for pfsync
+ pfsync_ifconfig=
tcp_extensions="YES"		# Set to NO to turn off RFC1323 extensions.
+ tcp_extensions=YES
log_in_vain="0"			# >=1 to log connects to ports w/o listeners.
+ log_in_vain=0
tcp_keepalive="YES"		# Enable stale TCP connection timeout (or NO).
+ tcp_keepalive=YES
tcp_drop_synfin="NO"		# Set to YES to drop TCP packets with SYN+FIN
+ tcp_drop_synfin=NO
				# NOTE: this violates the TCP specification
icmp_drop_redirect="NO" 	# Set to YES to ignore ICMP REDIRECT packets
+ icmp_drop_redirect=NO
icmp_log_redirect="NO"		# Set to YES to log ICMP REDIRECT packets
+ icmp_log_redirect=NO
network_interfaces="auto"	# List of network interfaces (or "auto").
+ network_interfaces=auto
cloned_interfaces=""		# List of cloned network interfaces to create.
+ cloned_interfaces=
#cloned_interfaces="gif0 gif1 gif2 gif3" # Pre-cloning GENERIC config.
ifconfig_lo0="inet 127.0.0.1"	# default loopback device configuration.
+ ifconfig_lo0=inet 127.0.0.1
#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
#ifconfig_ed0_ipx="ipx 0x00010010"	# Sample IPX address family entry.
#ifconfig_fxp0_name="net0"	# Change interface name from fxp0 to net0.
#ipv4_addrs_fxp0="192.168.0.1/24 192.168.1.1-5/28" # example IPv4 address entry.
#
#autobridge_interfaces="bridge0"	# List of bridges to check 
#autobridge_bridge0="tap* vlan0"	# Interface glob to automatically add to the bridge
#
# If you have any sppp(4) interfaces above, you might also want to set
# the following parameters.  Refer to spppcontrol(8) for their meaning.
sppp_interfaces=""		# List of sppp interfaces.
+ sppp_interfaces=
#sppp_interfaces="isp0"		# example: sppp over ISDN
#spppconfig_isp0="authproto=chap myauthname=foo myauthsecret='top secret' hisauthname=some-gw hisauthsecret='another secret'"
gif_interfaces=""		# List of GIF tunnels.
+ gif_interfaces=
#gif_interfaces="gif0 gif1"	# Examples typically for a router.
				# Choose correct tunnel addrs.
#gifconfig_gif0="10.1.1.1 10.1.2.1"	# Examples typically for a router.
#gifconfig_gif1="10.1.1.2 10.1.2.2"	# Examples typically for a router.
fec_interfaces=""		# List of Fast EtherChannels.
+ fec_interfaces=
#fec_interfaces="fec0 fec1"
#fecconfig_fec0="fxp0 dc0"	# Examples typically for two NICs
#fecconfig_fec1="em0 em1 bge0 bge1"	# Examples typically for four NICs

# User ppp configuration.
ppp_enable="NO"		# Start user-ppp (or NO).
+ ppp_enable=NO
ppp_program="/usr/sbin/ppp"	# Path to user-ppp program.
+ ppp_program=/usr/sbin/ppp
ppp_mode="auto"		# Choice of "auto", "ddial", "direct" or "dedicated".
+ ppp_mode=auto
			# For details see man page for ppp(8). Default is auto.
ppp_nat="YES"		# Use PPP's internal network address translation or NO.
+ ppp_nat=YES
ppp_profile="papchap"	# Which profile to use from /etc/ppp/ppp.conf.
+ ppp_profile=papchap
ppp_user="root"		# Which user to run ppp as
+ ppp_user=root

# Start multiple instances of ppp at boot time
#ppp_profile="profile1 profile2 profile3"	# Which profiles to use
#ppp_profile1_mode="ddial"	# Override ppp mode for profile1
#ppp_profile2_nat="NO"		# Override nat mode for profile2
# profile3 uses default ppp_mode and ppp_nat

### Network daemon (miscellaneous) ###
hostapd_enable="NO"		# Run hostap daemon.
+ hostapd_enable=NO
syslogd_enable="YES"		# Run syslog daemon (or NO).
+ syslogd_enable=YES
syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different one.
+ syslogd_program=/usr/sbin/syslogd
syslogd_flags="-s"		# Flags to syslogd (if enabled).
+ syslogd_flags=-s
inetd_enable="NO"		# Run the network daemon dispatcher (YES/NO).
+ inetd_enable=NO
inetd_program="/usr/sbin/inetd"	# path to inetd, if you want a different one.
+ inetd_program=/usr/sbin/inetd
inetd_flags="-wW -C 60"		# Optional flags to inetd
+ inetd_flags=-wW -C 60
#
# named.  It may be possible to run named in a sandbox, man security for
# details.
#
named_enable="NO"		# Run named, the DNS server (or NO).
+ named_enable=NO
named_program="/usr/sbin/named"	# path to named, if you want a different one.
+ named_program=/usr/sbin/named
#named_flags="" 		# Flags for named
named_pidfile="/var/run/named/pid" # Must set this in named.conf as well
+ named_pidfile=/var/run/named/pid
named_uid="bind" 		# User to run named as
+ named_uid=bind
named_chrootdir="/var/named"	# Chroot directory (or "" not to auto-chroot it)
+ named_chrootdir=/var/named
named_chroot_autoupdate="YES"	# Automatically install/update chrooted
+ named_chroot_autoupdate=YES
				# components of named. See /etc/rc.d/named.
named_symlink_enable="YES"	# Symlink the chrooted pid file
+ named_symlink_enable=YES

#
# kerberos. Do not run the admin daemons on slave servers
#
kerberos5_server_enable="NO"	# Run a kerberos 5 master server (or NO).
+ kerberos5_server_enable=NO
kerberos5_server="/usr/libexec/kdc"	# path to kerberos 5 KDC
+ kerberos5_server=/usr/libexec/kdc
kerberos5_server_flags="--detach"	# Additional flags to the kerberos 5 server
+ kerberos5_server_flags=--detach
kadmind5_server_enable="NO"	# Run kadmind (or NO)
+ kadmind5_server_enable=NO
kadmind5_server="/usr/libexec/kadmind"	# path to kerberos 5 admin daemon
+ kadmind5_server=/usr/libexec/kadmind
kpasswdd_server_enable="NO"	# Run kpasswdd (or NO)
+ kpasswdd_server_enable=NO
kpasswdd_server="/usr/libexec/kpasswdd"	# path to kerberos 5 passwd daemon
+ kpasswdd_server=/usr/libexec/kpasswdd

rwhod_enable="NO"		# Run the rwho daemon (or NO).
+ rwhod_enable=NO
rwhod_flags=""			# Flags for rwhod
+ rwhod_flags=
rarpd_enable="NO"		# Run rarpd (or NO).
+ rarpd_enable=NO
rarpd_flags=""			# Flags to rarpd.
+ rarpd_flags=
bootparamd_enable="NO"		# Run bootparamd (or NO).
+ bootparamd_enable=NO
bootparamd_flags=""		# Flags to bootparamd
+ bootparamd_flags=
pppoed_enable="NO"		# Run the PPP over Ethernet daemon.
+ pppoed_enable=NO
pppoed_provider="*"		# Provider and ppp(8) config file entry.
+ pppoed_provider=*
pppoed_flags="-P /var/run/pppoed.pid"	# Flags to pppoed (if enabled).
+ pppoed_flags=-P /var/run/pppoed.pid
pppoed_interface="fxp0"		# The interface that pppoed runs on.
+ pppoed_interface=fxp0
sshd_enable="NO"		# Enable sshd
+ sshd_enable=NO
sshd_program="/usr/sbin/sshd"	# path to sshd, if you want a different one.
+ sshd_program=/usr/sbin/sshd
sshd_flags=""			# Additional flags for sshd.
+ sshd_flags=
ftpd_enable="NO"		# Enable stand-alone ftpd.
+ ftpd_enable=NO
ftpd_program="/usr/libexec/ftpd" # Path to ftpd, if you want a different one.
+ ftpd_program=/usr/libexec/ftpd
ftpd_flags=""			# Additional flags to stand-alone ftpd.
+ ftpd_flags=

### Network daemon (NFS): All need rpcbind_enable="YES" ###
amd_enable="NO"			# Run amd service with $amd_flags (or NO).
+ amd_enable=NO
amd_program="/usr/sbin/amd"	# path to amd, if you want a different one.
+ amd_program=/usr/sbin/amd
amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
+ amd_flags=-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
amd_map_program="NO"		# Can be set to "ypcat -k amd.master"
+ amd_map_program=NO
nfs_client_enable="NO"		# This host is an NFS client (or NO).
+ nfs_client_enable=NO
nfs_access_cache="60"		# Client cache timeout in seconds
+ nfs_access_cache=60
nfs_server_enable="NO"		# This host is an NFS server (or NO).
+ nfs_server_enable=NO
nfs_server_flags="-u -t -n 4"	# Flags to nfsd (if enabled).
+ nfs_server_flags=-u -t -n 4
idmapd_enable="NO"		# Run the NFS4 id mapper (YES/NO).
+ idmapd_enable=NO
idmapd_flags=""			# Additional flags for idmapd.
+ idmapd_flags=
mountd_enable="NO"		# Run mountd (or NO).
+ mountd_enable=NO
mountd_flags="-r"		# Flags to mountd (if NFS server enabled).
+ mountd_flags=-r
weak_mountd_authentication="NO"	# Allow non-root mount requests to be served.
+ weak_mountd_authentication=NO
nfs_reserved_port_only="NO"	# Provide NFS only on secure port (or NO).
+ nfs_reserved_port_only=NO
nfs_bufpackets=""		# bufspace (in packets) for client
+ nfs_bufpackets=
rpc_lockd_enable="NO"		# Run NFS rpc.lockd needed for client/server.
+ rpc_lockd_enable=NO
rpc_lockd_flags=""		# Flags to rpc.lockd (if enabled).
+ rpc_lockd_flags=
rpc_statd_enable="NO"		# Run NFS rpc.statd needed for client/server.
+ rpc_statd_enable=NO
rpc_statd_flags=""		# Flags to rpc.statd (if enabled).
+ rpc_statd_flags=
rpcbind_enable="NO"		# Run the portmapper service (YES/NO).
+ rpcbind_enable=NO
rpcbind_program="/usr/sbin/rpcbind"	# path to rpcbind, if you want a different one.
+ rpcbind_program=/usr/sbin/rpcbind
rpcbind_flags=""		# Flags to rpcbind (if enabled).
+ rpcbind_flags=
rpc_ypupdated_enable="NO"	# Run if NIS master and SecureRPC (or NO).
+ rpc_ypupdated_enable=NO
keyserv_enable="NO"		# Run the SecureRPC keyserver (or NO).
+ keyserv_enable=NO
keyserv_flags=""		# Flags to keyserv (if enabled).
+ keyserv_flags=

### Network Time Services options: ###
timed_enable="NO"		# Run the time daemon (or NO).
+ timed_enable=NO
timed_flags=""			# Flags to timed (if enabled).
+ timed_flags=
ntpdate_enable="NO"		# Run ntpdate to sync time on boot (or NO).
+ ntpdate_enable=NO
ntpdate_program="/usr/sbin/ntpdate"	# path to ntpdate, if you want a different one.
+ ntpdate_program=/usr/sbin/ntpdate
ntpdate_flags="-b"		# Flags to ntpdate (if enabled).
+ ntpdate_flags=-b
ntpdate_config="/etc/ntp.conf"	# ntpdate(8) configuration file
+ ntpdate_config=/etc/ntp.conf
ntpdate_hosts=""		# Whitespace-separated list of ntpdate(8) servers.
+ ntpdate_hosts=
ntpd_enable="NO"		# Run ntpd Network Time Protocol (or NO).
+ ntpd_enable=NO
ntpd_program="/usr/sbin/ntpd"	# path to ntpd, if you want a different one.
+ ntpd_program=/usr/sbin/ntpd
ntpd_config="/etc/ntp.conf"	# ntpd(8) configuration file
+ ntpd_config=/etc/ntp.conf
ntpd_sync_on_start="NO"		# Sync time on ntpd startup, even if offset is high
+ ntpd_sync_on_start=NO
ntpd_flags="-p /var/run/ntpd.pid -f /var/db/ntpd.drift"
+ ntpd_flags=-p /var/run/ntpd.pid -f /var/db/ntpd.drift
				# Flags to ntpd (if enabled).

# Network Information Services (NIS) options: All need rpcbind_enable="YES" ###
nis_client_enable="NO"		# We're an NIS client (or NO).
+ nis_client_enable=NO
nis_client_flags=""		# Flags to ypbind (if enabled).
+ nis_client_flags=
nis_ypset_enable="NO"		# Run ypset at boot time (or NO).
+ nis_ypset_enable=NO
nis_ypset_flags=""		# Flags to ypset (if enabled).
+ nis_ypset_flags=
nis_server_enable="NO"		# We're an NIS server (or NO).
+ nis_server_enable=NO
nis_server_flags=""		# Flags to ypserv (if enabled).
+ nis_server_flags=
nis_ypxfrd_enable="NO"		# Run rpc.ypxfrd at boot time (or NO).
+ nis_ypxfrd_enable=NO
nis_ypxfrd_flags=""		# Flags to rpc.ypxfrd (if enabled).
+ nis_ypxfrd_flags=
nis_yppasswdd_enable="NO"	# Run rpc.yppasswdd at boot time (or NO).
+ nis_yppasswdd_enable=NO
nis_yppasswdd_flags=""		# Flags to rpc.yppasswdd (if enabled).
+ nis_yppasswdd_flags=

### SNMP daemon ###
# Be sure to understand the security implications of running SNMP v1/v2
# in your network.
bsnmpd_enable="NO"		# Run the SNMP daemon (or NO).
+ bsnmpd_enable=NO
bsnmpd_flags=""			# Flags for bsnmpd.
+ bsnmpd_flags=

### Network routing options: ###
defaultrouter="NO"		# Set to default gateway (or NO).
+ defaultrouter=NO
static_routes=""		# Set to static route list (or leave empty).
+ static_routes=
natm_static_routes=""		# Set to static route list for NATM (or leave empty).
+ natm_static_routes=
gateway_enable="NO"		# Set to YES if this host will be a gateway.
+ gateway_enable=NO
router_enable="NO"		# Set to YES to enable a routing daemon.
+ router_enable=NO
router="/sbin/routed"		# Name of routing daemon to use if enabled.
+ router=/sbin/routed
router_flags="-q"		# Flags for routing daemon.
+ router_flags=-q
mrouted_enable="NO"		# Do IPv4 multicast routing.
+ mrouted_enable=NO
mrouted_program="/usr/local/sbin/mrouted"	# Name of IPv4 multicast
+ mrouted_program=/usr/local/sbin/mrouted
						# routing daemon.  You need to
						# install it from package or
						# port.
mrouted_flags=""		# Flags for multicast routing daemon.
+ mrouted_flags=
ipxgateway_enable="NO"		# Set to YES to enable IPX routing.
+ ipxgateway_enable=NO
ipxrouted_enable="NO"		# Set to YES to run the IPX routing daemon.
+ ipxrouted_enable=NO
ipxrouted_flags=""		# Flags for IPX routing daemon.
+ ipxrouted_flags=
arpproxy_all="NO"		# replaces obsolete kernel option ARP_PROXYALL.
+ arpproxy_all=NO
forward_sourceroute="NO"	# do source routing (only if gateway_enable is set to "YES")
+ forward_sourceroute=NO
accept_sourceroute="NO"		# accept source routed packets to us
+ accept_sourceroute=NO

### ATM interface options: ###
atm_enable="NO"			# Configure ATM interfaces (or NO).
+ atm_enable=NO
#atm_netif_hea0="atm 1"		# Network interfaces for physical interface.
#atm_sigmgr_hea0="uni31"	# Signalling manager for physical interface.
#atm_prefix_hea0="ILMI"		# NSAP prefix (UNI interfaces only) (or ILMI).
#atm_macaddr_hea0="NO"		# Override physical MAC address (or NO).
#atm_arpserver_atm0="0x47.0005.80.999999.9999.9999.9999.999999999999.00" # ATMARP server address (or local).
#atm_scsparp_atm0="NO"		# Run SCSP/ATMARP on network interface (or NO).
atm_pvcs=""			# Set to PVC list (or leave empty).
+ atm_pvcs=
atm_arps=""			# Set to permanent ARP list (or leave empty).
+ atm_arps=

### ISDN interface options: (see also: /usr/share/examples/isdn) ###
isdn_enable="NO"		# Enable the ISDN subsystem (or NO).
+ isdn_enable=NO
isdn_fsdev="NO"			# Output device for fullscreen mode (or NO for daemon mode).
+ isdn_fsdev=NO
isdn_flags="-dn -d0x1f9"	# Flags for isdnd
+ isdn_flags=-dn -d0x1f9
isdn_ttype="cons25"		# terminal type for fullscreen mode
+ isdn_ttype=cons25
isdn_screenflags="NO"		# screenflags for ${isdn_fsdev}
+ isdn_screenflags=NO
isdn_trace="NO"			# Enable the ISDN trace subsystem (or NO).
+ isdn_trace=NO
isdn_traceflags="-f /var/tmp/isdntrace0"	# Flags for isdntrace
+ isdn_traceflags=-f /var/tmp/isdntrace0

### Bluetooth ###
hcsecd_enable="NO"		# Enable hcsecd(8) (or NO)
+ hcsecd_enable=NO
hcsecd_config="/etc/bluetooth/hcsecd.conf" # hcsecd(8) configuration file
+ hcsecd_config=/etc/bluetooth/hcsecd.conf

sdpd_enable="NO"		# Enable sdpd(8) (or NO)
+ sdpd_enable=NO
sdpd_control="/var/run/sdp"	# sdpd(8) control socket
+ sdpd_control=/var/run/sdp
sdpd_groupname="nobody"		# set spdp(8) user/group to run as after
+ sdpd_groupname=nobody
sdpd_username="nobody"		# it initializes
+ sdpd_username=nobody

bthidd_enable="NO"		# Enable bthidd(8) (or NO)
+ bthidd_enable=NO
bthidd_config="/etc/bluetooth/bthidd.conf" # bthidd(8) configuration file
+ bthidd_config=/etc/bluetooth/bthidd.conf
bthidd_hids="/var/db/bthidd.hids" # bthidd(8) known HID devices file
+ bthidd_hids=/var/db/bthidd.hids

### Miscellaneous network options: ###
icmp_bmcastecho="NO"	# respond to broadcast ping packets
+ icmp_bmcastecho=NO

### IPv6 options: ###
ipv6_enable="NO"		# Set to YES to set up for IPv6.
+ ipv6_enable=NO
ipv6_network_interfaces="auto"	# List of network interfaces (or "auto").
+ ipv6_network_interfaces=auto
ipv6_defaultrouter="NO"		# Set to IPv6 default gateway (or NO).
+ ipv6_defaultrouter=NO
#ipv6_defaultrouter="2002:c058:6301::"	# Use this for 6to4 (RFC 3068)
ipv6_static_routes=""		# Set to static route list (or leave empty).
+ ipv6_static_routes=
#ipv6_static_routes="xxx"	# An example to set fec0:0000:0000:0006::/64
				#  route toward loopback interface.
#ipv6_route_xxx="fec0:0000:0000:0006:: -prefixlen 64 ::1"
ipv6_gateway_enable="NO"	# Set to YES if this host will be a gateway.
+ ipv6_gateway_enable=NO
ipv6_router_enable="NO"		# Set to YES to enable an IPv6 routing daemon.
+ ipv6_router_enable=NO
ipv6_router="/usr/sbin/route6d"	# Name of IPv6 routing daemon.
+ ipv6_router=/usr/sbin/route6d
ipv6_router_flags=""		# Flags to IPv6 routing daemon.
+ ipv6_router_flags=
#ipv6_router_flags="-l"		# Example for route6d with only IPv6 site local
				# addrs.
#ipv6_router_flags="-q"		# If you want to run a routing daemon on an end
				# node, you should stop advertisement.
#ipv6_network_interfaces="ed0 ep0"	# Examples for router
					# or static configuration for end node.
					# Choose correct prefix value.
#ipv6_prefix_ed0="fec0:0000:0000:0001 fec0:0000:0000:0002"  # Examples for rtr.
#ipv6_prefix_ep0="fec0:0000:0000:0003 fec0:0000:0000:0004"  # Examples for rtr.
#ipv6_ifconfig_ed0="fec0:0:0:5::1 prefixlen 64"	# Sample manual assign entry
#ipv6_ifconfig_ed0_alias0="fec0:0:0:5::2 prefixlen 64" # Sample alias entry.
ipv6_default_interface="NO"	# Default output interface for scoped addrs.
+ ipv6_default_interface=NO
				# Now this works only for IPv6 link local
				# multicast addrs.
rtsol_flags=""			# Flags to IPv6 router solicitation.
+ rtsol_flags=
rtadvd_enable="NO"		# Set to YES to enable an IPv6 router
+ rtadvd_enable=NO
				# advertisement daemon. If set to YES,
				# this router becomes a possible candidate
				# IPv6 default router for local subnets.
rtadvd_interfaces=""		# Interfaces rtadvd sends RA packets.
+ rtadvd_interfaces=
mroute6d_enable="NO"		# Do IPv6 multicast routing.
+ mroute6d_enable=NO
mroute6d_program="/usr/local/sbin/pim6dd"	# Name of IPv6 multicast
+ mroute6d_program=/usr/local/sbin/pim6dd
						# routing daemon.  You need to
						# install it from package or
						# port.
mroute6d_flags=""		# Flags to IPv6 multicast routing daemon.
+ mroute6d_flags=
stf_interface_ipv4addr=""	# Local IPv4 addr for 6to4 IPv6 over IPv4
+ stf_interface_ipv4addr=
				# tunneling interface. Specify this entry
				# to enable 6to4 interface.
stf_interface_ipv4plen="0"	# Prefix length for 6to4 IPv4 addr,
+ stf_interface_ipv4plen=0
				# to limit peer addr range. Effective value
				# is 0-31.
stf_interface_ipv6_ifid="0:0:0:1"	# IPv6 interface id for stf0.
+ stf_interface_ipv6_ifid=0:0:0:1
				# If you like, you can set "AUTO" for this.
stf_interface_ipv6_slaid="0000"	# IPv6 Site Level Aggregator for stf0
+ stf_interface_ipv6_slaid=0000
ipv6_faith_prefix="NO"		# Set faith prefix to enable a FAITH
+ ipv6_faith_prefix=NO
				# IPv6-to-IPv4 TCP translator.  You also need
				# faithd(8) setup.
ipv6_ipv4mapping="NO"		# Set to "YES" to enable IPv4 mapped IPv6 addr
+ ipv6_ipv4mapping=NO
				# communication. (like ::ffff:a.b.c.d)
ipv6_firewall_enable="NO"	# Set to YES to enable IPv6 firewall
+ ipv6_firewall_enable=NO
				# functionality
ipv6_firewall_script="/etc/rc.firewall6" # Which script to run to set up the IPv6 firewall
+ ipv6_firewall_script=/etc/rc.firewall6
ipv6_firewall_type="UNKNOWN"	# IPv6 Firewall type (see /etc/rc.firewall6)
+ ipv6_firewall_type=UNKNOWN
ipv6_firewall_quiet="NO"	# Set to YES to suppress rule display
+ ipv6_firewall_quiet=NO
ipv6_firewall_logging="NO"	# Set to YES to enable events logging
+ ipv6_firewall_logging=NO
ipv6_firewall_flags=""		# Flags passed to ip6fw when type is a file
+ ipv6_firewall_flags=
ipv6_ipfilter_rules="/etc/ipf6.rules"	# rules definition file for ipfilter,
+ ipv6_ipfilter_rules=/etc/ipf6.rules
					# see /usr/src/contrib/ipfilter/rules
					# for examples
ip6addrctl_enable="YES"	# Set to YES to enable default address selection
+ ip6addrctl_enable=YES
ip6addrctl_verbose="NO"	# Set to YES to enable verbose configuration messages
+ ip6addrctl_verbose=NO

##############################################################
###  System console options  #################################
##############################################################

keyboard=""		# keyboard device to use (default /dev/kbd0).
+ keyboard=
keymap="NO"		# keymap in /usr/share/syscons/keymaps/* (or NO).
+ keymap=NO
keyrate="NO"		# keyboard rate to: slow, normal, fast (or NO).
+ keyrate=NO
keybell="NO" 		# See kbdcontrol(1) for options.  Use "off" to disable.
+ keybell=NO
keychange="NO"		# function keys default values (or NO).
+ keychange=NO
cursor="NO"		# cursor type {normal|blink|destructive} (or NO).
+ cursor=NO
scrnmap="NO"		# screen map in /usr/share/syscons/scrnmaps/* (or NO).
+ scrnmap=NO
font8x16="NO"		# font 8x16 from /usr/share/syscons/fonts/* (or NO).
+ font8x16=NO
font8x14="NO"		# font 8x14 from /usr/share/syscons/fonts/* (or NO).
+ font8x14=NO
font8x8="NO"		# font 8x8 from /usr/share/syscons/fonts/* (or NO).
+ font8x8=NO
blanktime="300"		# blank time (in seconds) or "NO" to turn it off.
+ blanktime=300
saver="NO"		# screen saver: Uses /boot/kernel/${saver}_saver.ko
+ saver=NO
moused_nondefault_enable="YES" # Treat non-default mice as enabled unless
+ moused_nondefault_enable=YES
			       # specifically overriden in rc.conf(5).
moused_enable="NO"	# Run the mouse daemon.
+ moused_enable=NO
moused_type="auto"	# See man page for rc.conf(5) for available settings.
+ moused_type=auto
moused_port="/dev/psm0"	# Set to your mouse port.
+ moused_port=/dev/psm0
moused_flags=""		# Any additional flags to moused.
+ moused_flags=
mousechar_start="NO"	# if 0xd0-0xd3 default range is occupied in your
+ mousechar_start=NO
			# language code table, specify alternative range
			# start like mousechar_start=3, see vidcontrol(1)
allscreens_flags=""	# Set this vidcontrol mode for all virtual screens
+ allscreens_flags=
allscreens_kbdflags=""	# Set this kbdcontrol mode for all virtual screens
+ allscreens_kbdflags=

##############################################################
###  Mail Transfer Agent (MTA) options  ######################
##############################################################

mta_start_script="/etc/rc.sendmail"
+ mta_start_script=/etc/rc.sendmail
			# Script to start your chosen MTA, called by /etc/rc.
# Settings for /etc/rc.sendmail and /etc/rc.d/sendmail:
sendmail_enable="NO"	# Run the sendmail inbound daemon (YES/NO).
+ sendmail_enable=NO
sendmail_pidfile="/var/run/sendmail.pid"	# sendmail pid file
+ sendmail_pidfile=/var/run/sendmail.pid
sendmail_procname="/usr/sbin/sendmail"		# sendmail process name
+ sendmail_procname=/usr/sbin/sendmail
sendmail_flags="-L sm-mta -bd -q30m" # Flags to sendmail (as a server)
+ sendmail_flags=-L sm-mta -bd -q30m
sendmail_submit_enable="YES"	# Start a localhost-only MTA for mail submission
+ sendmail_submit_enable=YES
sendmail_submit_flags="-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost"
+ sendmail_submit_flags=-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost
				# Flags for localhost-only MTA
sendmail_outbound_enable="YES"	# Dequeue stuck mail (YES/NO).
+ sendmail_outbound_enable=YES
sendmail_outbound_flags="-L sm-queue -q30m" # Flags to sendmail (outbound only)
+ sendmail_outbound_flags=-L sm-queue -q30m
sendmail_msp_queue_enable="YES"	# Dequeue stuck clientmqueue mail (YES/NO).
+ sendmail_msp_queue_enable=YES
sendmail_msp_queue_flags="-L sm-msp-queue -Ac -q30m"
+ sendmail_msp_queue_flags=-L sm-msp-queue -Ac -q30m
				# Flags for sendmail_msp_queue daemon.
sendmail_rebuild_aliases="NO"	# Run newaliases if necessary (YES/NO).
+ sendmail_rebuild_aliases=NO


##############################################################
###  Miscellaneous administrative options  ###################
##############################################################

auditd_enable="NO"	# Run the audit daemon.
+ auditd_enable=NO
auditd_program="/usr/sbin/auditd"	# Path to the audit daemon.
+ auditd_program=/usr/sbin/auditd
auditd_flags=""		# Which options to pass to the audit daemon.
+ auditd_flags=
cron_enable="YES"	# Run the periodic job daemon.
+ cron_enable=YES
cron_program="/usr/sbin/cron"	# Which cron executable to run (if enabled).
+ cron_program=/usr/sbin/cron
cron_dst="YES"		# Handle DST transitions intelligently (YES/NO)
+ cron_dst=YES
cron_flags=""		# Which options to pass to the cron daemon.
+ cron_flags=
lpd_enable="NO"		# Run the line printer daemon.
+ lpd_enable=NO
lpd_program="/usr/sbin/lpd"	# path to lpd, if you want a different one.
+ lpd_program=/usr/sbin/lpd
lpd_flags=""		# Flags to lpd (if enabled).
+ lpd_flags=
nscd_enable="NO"	# Run the nsswitch caching daemon.
+ nscd_enable=NO
chkprintcap_enable="NO"	# Run chkprintcap(8) before running lpd.
+ chkprintcap_enable=NO
chkprintcap_flags="-d"	# Create missing directories by default.
+ chkprintcap_flags=-d
dumpdev="AUTO"		# Device to crashdump to (device name, AUTO, or NO).
+ dumpdev=AUTO
dumpdir="/var/crash"	# Directory where crash dumps are to be stored
+ dumpdir=/var/crash
savecore_flags=""	# Used if dumpdev is enabled above, and present.
+ savecore_flags=
enable_quotas="NO"	# turn on quotas on startup (or NO).
+ enable_quotas=NO
check_quotas="YES"	# Check quotas on startup (or NO).
+ check_quotas=YES
quotaon_flags="-a"	# Turn quotas on for all file systems (if enabled)
+ quotaon_flags=-a
quotaoff_flags="-a"	# Turn quotas off for all file systems at shutdown
+ quotaoff_flags=-a
quotacheck_flags="-a"	# Check all file system quotas (if enabled)
+ quotacheck_flags=-a
accounting_enable="NO"	# Turn on process accounting (or NO).
+ accounting_enable=NO
ibcs2_enable="NO"	# Ibcs2 (SCO) emulation loaded at startup (or NO).
+ ibcs2_enable=NO
ibcs2_loaders="coff"	# List of additional Ibcs2 loaders (or NO).
+ ibcs2_loaders=coff

# Emulation/compatibility services provided by /etc/rc.d/abi
sysvipc_enable="NO"	# Load System V IPC primitives at startup (or NO).
+ sysvipc_enable=NO
linux_enable="NO"	# Linux binary compatibility loaded at startup (or NO).
+ linux_enable=NO
svr4_enable="NO"	# SysVR4 emulation loaded at startup (or NO).
+ svr4_enable=NO

clear_tmp_enable="NO"	# Clear /tmp at startup.
+ clear_tmp_enable=NO
clear_tmp_X="YES" 	# Clear and recreate X11-related directories in /tmp
+ clear_tmp_X=YES
ldconfig_insecure="NO"	# Set to YES to disable ldconfig security checks
+ ldconfig_insecure=NO
ldconfig_paths="/usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg"
+ ldconfig_paths=/usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg
			# shared library search paths
ldconfig32_paths="/usr/lib32" # 32-bit compatibility shared library search paths
+ ldconfig32_paths=/usr/lib32
ldconfig_paths_aout="/usr/lib/compat/aout /usr/local/lib/aout"
+ ldconfig_paths_aout=/usr/lib/compat/aout /usr/local/lib/aout
			# a.out shared library search paths
ldconfig_local_dirs="/usr/local/libdata/ldconfig"
+ ldconfig_local_dirs=/usr/local/libdata/ldconfig
			# Local directories with ldconfig configuration files.
ldconfig_local32_dirs="/usr/local/libdata/ldconfig32"
+ ldconfig_local32_dirs=/usr/local/libdata/ldconfig32
			# Local directories with 32-bit compatibility ldconfig
			# configuration files.
kern_securelevel_enable="NO"	# kernel security level (see init(8)),
+ kern_securelevel_enable=NO
kern_securelevel="-1"	# range: -1..3 ; `-1' is the most insecure
+ kern_securelevel=-1
			# Note that setting securelevel to 0 will result
			# in the system booting with securelevel set to 1, as
			# init(8) will raise the level when rc(8) completes.
update_motd="YES"	# update version info in /etc/motd (or NO)
+ update_motd=YES
entropy_file="/entropy"	# Set to NO to disable caching entropy through reboots.
+ entropy_file=/entropy
			# /var/db/entropy-file is preferred if / is not avail.
entropy_dir="/var/db/entropy" # Set to NO to disable caching entropy via cron.
+ entropy_dir=/var/db/entropy
entropy_save_sz="2048"	# Size of the entropy cache files.
+ entropy_save_sz=2048
entropy_save_num="8"	# Number of entropy cache files to save.
+ entropy_save_num=8
harvest_interrupt="YES"	# Entropy device harvests interrupt randomness
+ harvest_interrupt=YES
harvest_ethernet="YES"	# Entropy device harvests ethernet randomness
+ harvest_ethernet=YES
harvest_p_to_p="YES"	# Entropy device harvests point-to-point randomness
+ harvest_p_to_p=YES
dmesg_enable="YES"	# Save dmesg(8) to /var/run/dmesg.boot
+ dmesg_enable=YES
watchdogd_enable="NO"	# Start the software watchdog daemon
+ watchdogd_enable=NO
devfs_rulesets="/etc/defaults/devfs.rules /etc/devfs.rules" # Files containing
+ devfs_rulesets=/etc/defaults/devfs.rules /etc/devfs.rules
							    # devfs(8) rules.
devfs_system_ruleset=""	# The name of a ruleset to apply to /dev
+ devfs_system_ruleset=
devfs_set_rulesets=""	# A list of /mount/dev=ruleset_name settings to
+ devfs_set_rulesets=
			# apply (must be mounted already, i.e. fstab(5))
performance_cx_lowest="HIGH"	# Online CPU idle state
+ performance_cx_lowest=HIGH
performance_cpu_freq="NONE"	# Online CPU frequency
+ performance_cpu_freq=NONE
economy_cx_lowest="HIGH"	# Offline CPU idle state
+ economy_cx_lowest=HIGH
economy_cpu_freq="NONE"		# Offline CPU frequency
+ economy_cpu_freq=NONE
virecover_enable="YES"	# Perform housekeeping for the vi(1) editor
+ virecover_enable=YES
ugidfw_enable="NO"	# Load mac_bsdextended(4) rules on boot
+ ugidfw_enable=NO
bsdextended_script="/etc/rc.bsdextended"	# Default mac_bsdextended(4)
+ bsdextended_script=/etc/rc.bsdextended
						# ruleset file.
newsyslog_enable="YES"	# Run newsyslog at startup.
+ newsyslog_enable=YES
newsyslog_flags="-CN"	# Newsyslog flags to create marked files
+ newsyslog_flags=-CN
mixer_enable="YES"	# Run the sound mixer.
+ mixer_enable=YES

##############################################################
### Jail Configuration #######################################
##############################################################
jail_enable="NO"	# Set to NO to disable starting of any jails
+ jail_enable=NO
jail_list=""		# Space separated list of names of jails
+ jail_list=
jail_set_hostname_allow="YES" # Allow root user in a jail to change its hostname
+ jail_set_hostname_allow=YES
jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail
+ jail_socket_unixiproute_only=YES
jail_sysvipc_allow="NO"	# Allow SystemV IPC use from within a jail
+ jail_sysvipc_allow=NO

#
# To use rc's built-in jail infrastructure create entries for
# each jail, specified in jail_list, with the following variables.
# NOTES:
# - replace 'example' with the jail's name.
# - except rootdir, hostname and ip, all of the following variables may be made
#   global jail variables if you don't specify a jail name (ie. jail_interface).
#
#jail_example_rootdir="/usr/jail/default"	# Jail's root directory
#jail_example_hostname="default.domain.com"	# Jail's hostname
#jail_example_ip="192.168.0.10"			# Jail's IP number
#jail_example_interface=""			# Interface to create the IP alias on
#jail_example_exec_start="/bin/sh /etc/rc"		# command to execute in jail for starting
#jail_example_exec_afterstart0="/bin/sh command"	# command to execute after the one for 
							# starting the jail. More than one can be
							# specified using a trailing number
#jail_example_exec_stop="/bin/sh /etc/rc.shutdown"	# command to execute in jail for stopping
#jail_example_devfs_enable="NO"			# mount devfs in the jail
#jail_example_fdescfs_enable="NO"		# mount fdescfs in the jail
#jail_example_procfs_enable="NO"		# mount procfs in jail
#jail_example_mount_enable="NO"			# mount/umount jail's fs
#jail_example_devfs_ruleset="ruleset_name"	# devfs ruleset to apply to jail
#jail_example_fstab=""				# fstab(5) for mount/umount
#jail_example_flags="-l -U root"		# flags for jail(8)

##############################################################
### Define source_rc_confs, the mechanism used by /etc/rc.* ##
### scripts to source rc_conf_files overrides safely.	    ##
##############################################################

if [ -z "${source_rc_confs_defined}" ]; then
	source_rc_confs_defined=yes
	source_rc_confs () {
		local i sourced_files
		for i in ${rc_conf_files}; do
			case ${sourced_files} in
			*:$i:*)
				;;
			*)
				sourced_files="${sourced_files}:$i:"
				if [ -r $i ]; then
					. $i
				fi
				;;
			esac
		done
	}
fi
+ [ -z  ]
+ source_rc_confs_defined=yes
+ source_rc_confs
+ local i sourced_files
+ sourced_files=:/etc/rc.conf:
+ [ -r /etc/rc.conf ]
+ . /etc/rc.conf
mysql_enable="YES"
+ mysql_enable=YES
#mysql_dbdir="/var/db/mysql"
accf_http_load="YES"
+ accf_http_load=YES
apache22_enable="YES"
+ apache22_enable=YES
#apache22_http_accept_enable="YES"
gateway_enable="YES"
+ gateway_enable=YES
hostname=" Misha"
+ hostname= Misha
#ifconfig_le0="192.168.0.88"
inetd_enable="YES"
+ inetd_enable=YES
keymap="ua.koi8-u.shift.alt"
+ keymap=ua.koi8-u.shift.alt
linux_enable="YES"
+ linux_enable=YES
ifconfig_le0="DHCP"
+ ifconfig_le0=DHCP
hostname=" Misha.localdomain"
+ hostname= Misha.localdomain
#---------------------------
named_enable="YES"
+ named_enable=YES
+ sourced_files=:/etc/rc.conf::/etc/rc.conf.local:
+ [ -r /etc/rc.conf.local ]
+ _rc_conf_loaded=true
+ [ -f /etc/rc.conf.d/mysql ]

: ${mysql_enable="NO"}
+ : YES
: ${mysql_limits="NO"}
+ : NO
: ${mysql_dbdir="/var/db/mysql"}
+ : /var/db/mysql
: ${mysql_args=""}
+ :

mysql_user="mysql"
+ mysql_user=mysql
mysql_limits_args="-e -U ${mysql_user}"
+ mysql_limits_args=-e -U mysql
pidfile="${mysql_dbdir}/`/bin/hostname`.pid"
+ /bin/hostname
+ pidfile=/var/db/mysql/ Misha.localdomain.pid
command="/usr/local/bin/mysqld_safe"
+ command=/usr/local/bin/mysqld_safe
command_args="--defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null &"
+ command_args=--defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/ Misha.localdomain.pid  > /dev/null &
procname="/usr/local/libexec/mysqld"
+ procname=/usr/local/libexec/mysqld
start_precmd="${name}_prestart"
+ start_precmd=mysql_prestart
mysql_install_db="/usr/local/bin/mysql_install_db"
+ mysql_install_db=/usr/local/bin/mysql_install_db
mysql_install_db_args="--ldata=${mysql_dbdir}"
+ mysql_install_db_args=--ldata=/var/db/mysql

mysql_create_auth_tables()
{
	eval $mysql_install_db $mysql_install_db_args >/dev/null
        [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
}

mysql_prestart()
{
	if [ ! -d "${mysql_dbdir}/mysql/." ]; then
		mysql_create_auth_tables || return 1
	fi
	if checkyesno mysql_limits; then
		eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
	else
		return 0
	fi
}

run_rc_command "$1"
+ run_rc_command 
+ _return=0
+ rc_arg=
+ [ -z mysql ]
+ shift 1
+ rc_extra_args=
+ _rc_prefix=
+ eval _override_command=$mysql_program
+ _override_command=
+ command=/usr/local/bin/mysqld_safe
+ _keywords=start stop restart rcvar 
+ rc_pid=
+ _pidcmd=
+ _procname=/usr/local/libexec/mysqld
+ [ -n /usr/local/libexec/mysqld ]
+ [ -n /var/db/mysql/ Misha.localdomain.pid ]
+ _pidcmd=rc_pid=$(check_pidfile /var/db/mysql/ Misha.localdomain.pid /usr/local/libexec/mysqld )
+ [ -n rc_pid=$(check_pidfile /var/db/mysql/ Misha.localdomain.pid /usr/local/libexec/mysqld ) ]
+ _keywords=start stop restart rcvar  status poll
+ [ -z  ]
+ rc_usage start stop restart rcvar status poll
+ echo -n Usage: /usr/local/etc/rc.d/mysql-server [fast|force|one](
Usage: /usr/local/etc/rc.d/mysql-server [fast|force|one](+ _sep=
+ echo -n start
start+ _sep=|
+ echo -n |stop
|stop+ _sep=|
+ echo -n |restart
|restart+ _sep=|
+ echo -n |rcvar
|rcvar+ _sep=|
+ echo -n |status
|status+ _sep=|
+ echo -n |poll
|poll+ _sep=|
+ echo )
)
+ exit 1