proftpd设置成服务过程中所遇到的一系列问题,请不吝赐教

上网、浏览、聊天、下载等
回复
kursk
帖子: 1
注册时间: 2010-02-22 15:52

proftpd设置成服务过程中所遇到的一系列问题,请不吝赐教

#1

帖子 kursk » 2010-02-22 16:22

我今天想把proftpd设置成服务,最终没有搞成,现在把我的过程讲一下,希望有了解的人不吝赐教

1、把proftd执行文件CP到/etc/init.d目录下
#sudo cp proftpd-1.3.3rc3/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd

2、注册成服务
#sudo update-rc.d proftpd defualts
这样就增加了一个 运行顺序为20 在0 1 6级别下关闭,在 2 3 4 5 运行级别下启动的proftpd服务
我检查录rc2.d目录下的链接,的确有proftpd存在
kursk@kursk-desktop:~/download/software$ ls -l /etc/rc2.d | grep prof
lrwxrwxrwx 1 root root 17 2010-02-23 14:48 S20proftpd -> ../init.d/proftpd

3、于是我尝试运行该服务
kursk@kursk-desktop:~$ sudo proftpd start
- unknown parameter: 'start'
它说有未知参数 start 这是什么意思? 这是什么原因导致的?这是我第一点不能理解的

但是以相对路径执行这个文件是可以的
kursk@kursk-desktop:~$ cd /etc/init.d
kursk@kursk-desktop:/etc/init.d$ sudo proftpd
kursk@kursk-desktop:/etc/init.d$ ps -ax | grep pro
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
2456 ? S 0:00 /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg
10594 ? Ss 0:00 proftpd: (accepting connections)
10596 pts/0 S+ 0:00 grep pro

可以看见proftpd进程已经存在了。

但是,令我奇怪的是以绝对路径执行居然又不能执行?
我kill 进程后,再执行
kursk@kursk-desktop:/etc/init.d$ cd ~
kursk@kursk-desktop:~$ sudo /etc/init.d/proftpd
.: 19: Can't open /etc/rc.d/init.d/functions
kursk@kursk-desktop:~$ ps -ax | grep pro
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
2456 ? S 0:00 /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg
10610 pts/0 S+ 0:00 grep pro
kursk@kursk-desktop:~$

可以看到proftpd进程没有执行成功。这是令我不能理解的第二点,为什么相对路径可以执行,而绝对路径又不可以执行成功呢?

4、好吧,既然说Can't open /etc/rc.d/init.d/functions 我来看看proftpd这个文件需要它干什么?它是否真的不存在
kursk@kursk-desktop:~$ sudo cat /etc/init.d/proftpd
........
kursk@kursk-desktop:~$ sudo cat /etc/init.d/proftpd
#!/bin/sh
#
# Startup script for ProFTPD
#
# chkconfig: 345 85 15
# description: ProFTPD is an enhanced FTP server with \
# a focus toward simplicity, security, and ease of configuration. \
# It features a very Apache-like configuration syntax, \
# and a highly customizable server infrastructure, \
# including support for multiple 'virtual' FTP servers, \
# anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftpd.conf
#
# By: Osman Elliyasa <osman@Cable.EU.org>
# $Id: proftpd.init.d,v 1.7 2002/12/07 21:50:27 jwm Exp $

# Source function library.
. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/proftpd ]; then
. /etc/sysconfig/proftpd
fi

PATH="$PATH:/usr/local/sbin"

........

脚本里执行了/etc/rc.d/init.d/functions 这个文件,但是我发现ubuntu里是没有/etc/rc.d 这个目录的,REHL里才有,那么为什么用绝对路径在没有这个文件的情况下也执行成功呢?这是我第三个问题

好了,问了这么多,我第四个问题是,我应该如何才能成功把proftpd设置成ubuntu里的服务呢?如果您没有做过,也从Linux系统的角度给我一些建议吧,因为我还是一个新手
回复