Make方式安装vsFtpd时遇到的问题

发布时间:2020-04-10编辑:脚本学堂
Make方式安装vsFtpd时遇到的问题

1.在RHEL x86_64环境下,在编译(make)的时候,会报错:
 1.1 gcc: /lib/libpam.so.0: No such file or directory
   原因是x86_64环境下vsftpd源代码下的vsf_findlibs.sh没处理好库文件的调用关系;可手动修改vsf_findlibs.sh中的相关代码,或者是用下面的简单方式修改相关lib的链接
    rm -f /lib/libpam.so.0            ---这里删除的是链接文件,放心
    ln -s /lib64/libpam.so.0.77 /lib/libpam.so.0

 1.2 /lib/libcap.so.1: could not read symbols: File in wrong format
   因同样的原因引起,所以修改方式同上:
    rm -f /lib/libcap.so.1
    ln -s /lib64/libcap.so.1.10 /lib/libcap.so.1

以上修改后,再编译就不会报错。当然为了不引起其他程序调用lib出错,最好是将lib的相关链接改回去。

2. 对于RHEL 4.x ,手动编译后,如果直接套用系统自带的vsftpd-2.0.1.xxx 默认安装的启动文件(/etc/init.d/vsftpd),会报错:
    500 OOPS: unrecognise option: --force-background
    或者:
    Starting vsftpd for vsftpd:   -----系统一直停留在这里不动,不出现我们期望的提示 " [ OK ] " 。。。
 2.1 我们可以在vsftpd.conf配置文件内先强制开启background模式:
    vi /etc/vsftpd/vsftpd.conf
        background=YES
    没弄明白的是,既然在配置文件内设定了vsftpd使用standalone mode启动,为什么还要设定background.
 2.2 并将/etc/init.d/vsftpd内的--force-background删除:
    vi /etc/init.d/vsftpd
        daemon /usr/local/sbin/vsftpd $i
        # 原代码是这样:daemon /usr/sbin/vsftpd $i --force-background

3. 对于RHEL 5.x ,手动编译后,如果直接套用系统自带的vsftpd-2.0.5.xxx自带的启动文件,在修改时稍有不同:
    仅需要按照2.1操作即可,不需要2.2 ;因为在这个版本的启动文件里面,将 --force-background "这个参数给取消了。