安装步骤:
0、交叉编译环境配置
在/etc/profiel 和 .bashrc 文件中增加以下内容
export PTAH=$PATH://root/compile/arm-none-linux-gnueabi/bin
source .bashrc
1、解压
tar -zxvf vsftpd-3.0.3.tar.gz.tar
2、修改Makefile文件
vim Makefile
CC=arm-none-linux-gnueabi-gcc
3、执行make,已修复以下错误
make
(1)错误提示:/bin/sh:./vsf_findlibs.sh: Permission denied
解决措施:chmod 775 ./vsf_findlibs.sh
(2)错误提示:/lib/libcap.so.2:could not read symbols: File in wrong format
解决措施:修改vsffindlibs.sh,屏蔽掉50-60行
(3)错误提示:sysdeputil.c:(.text+0xdcc):undefined reference to `crypt'
解决措施:arm-none-linux-gnueabi/libc/lib/下的libcrypt.so.1复制到开发板根文件系统/lib目录下
4、拷贝文件到开发板中
make成功之后有在当前目录生成了vsftpd文件,通过以下命令查找对应的依赖性
arm-linux-readelf -d vsftpd
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libcrypt.so.1]
0x00000001(NEEDED) Shared library: [libc.so.6]
把vsftpd、libcrypt.so.1及这两个连接所指向的源文件拷贝开发板系统根目录/lib中。
把生成的vsftpd拷贝到根文件系统的sbin目录,vsftpd.conf文件拷贝到开发板系统根文件系统的etc目录下。
5、配置vsftpd.conf
#使vsftpd处于独立启动模式
listen=YES
listen_port=21
anon_other_write_enable=YES
6、开发板根文件系统创建必要的目录:
mkdir-p /var/ftp/pub
mkdir -p /usr/share/empty
chown root:root/var/ftp
chmod 755 /var/ftp
cd /var/ftp
chmod 777 pub
pub这个目录是用来供匿名用户上传文件的,上传的文件存放在此处,故其属性为777,而其他目录无此属性,不能用来作为上传目录。
7、开发板执行以下命令启动
vsftpd/etc/vsftpd.conf&
8、启动ftp登录
用户名root密码空,可访问开发板任意目录;
用户名anonymous密码空,可访问/var/ftp/pub目录
用户名ftp密码空,可访问/var/ftp/pub目录
1