Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630701
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:38:50

原文地址:使用FTP软件 作者:luozhiyong131

嵌入式学习入门 http://blog.chinaunix.net/u3/117680/showart.php?id=2300212  

文章——》嵌入式学习入门   全面讲述嵌入式学习每一步骤 

 FTP软件版本:

vsftpd-2.1.2

交叉编译器版本:

arm-linux-gcc 4.1.2

操作系统平台:

Linux -- Red Hat 9.0

开发板平台:

Arm -- TX2440A 

 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。它还可以移植到嵌入式Linux中,我们可以把开发板当作一个FTP服务器。 

 

 > 编译vsftpd程序

1. 获得源码包:vsftpd-2.1.2.tar.gz(位置:光盘资料/源码包/其他软件源码)

2. 解压,进入源码目录:

#tar xzvf vsftpd-2.1.2.tar.gz

#cd vsftpd-2.1.2

3. 修改Makefile,指定交叉编译器:

CC = arm-linux-gcc

4. #make

 

 编译时会出现错误,跟libcap.so有关

 

修改vsf_findlibs.sh:

 

 45-53行注释掉:

# Look for libcap (capabilities)

#if locate_library /lib/libcap.so.1; then

# echo "/lib/libcap.so.1";

#elif locate_library /lib/libcap.so.2; then

# echo "/lib/libcap.so.2";

#else

# locate_library /usr/lib/libcap.so && echo "-lcap";

# locate_library /lib/libcap.so && echo "-lcap";

#fi

 

#make

生成vsftpd可执行程序,放到根文件系统/usr/sbin目录下

 

> 修改配置文件vsftpd.conf

需要用到哪一项,就把这一项前面的注释#去掉,这里给出我的配置:

anonymous_enable=YES

no_anon_password=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service.

ls_recurse_enable=YES

listen=YES

listen_port=21

把修改后的vsftpd.conf文件放到根文件系统的/etc/vsftpd目录下,否则运行里会出错:500 OOPS vsftpd: cannot open config

 

> 创建必要的帐号、目录

1. 建立FTP目录:

# mkdir -p /var/ftp/pub

 

 

因为ftp目录不能开启所有权限,所以建一个pub目录加上所有权限,用来传输文件

# mkdir -p /usr/share/empty

 

程序运行所用到的目录

 

2. 改变目录权限

 # chown root:root /var/ftp

# chmod 755 /var/ftp

# cd /var/ftp

# chmod 777 pub

 

 

3. 添加帐号(如果系统中有,就不用添加)

 # useradd nobody

# useradd -d /var/ftp ftp

 

> 在开发板上运行vsftpd

把制作好的文件系统下载到开发板上,在后台运行程序:

# vsftpd /etc/vsftpd/vsftpd.conf&

 

可以把它写入启动脚本,vsftpd后面的参数就是要使用的配置文件

程序运行后可能出会现错误:

500 OOPS: could not bind listening IPv4 socket

解决方法:

1. 复制vsftpd源码目录下的xinetd.d文件夹到文件系统/etc目录下,里面有一个文件vsftpd,修改其内容:disable = yes

2. 可能是已经启动了vsftpd,端口已被占用,再次启动vsftpd就会报错,可以先杀死vsftpd进程,再启动。

 

> 使用FTP软件

1. 先安装软件:freshftp-v5.22(位置:光盘资料/Windows平台工具/

2. 连接好电脑和开发板之间的网线,打开freshftp

3. Address中输入开发板的IP地址:192.168.1.10,端口号:21,点击Connect,连接到开发板(如图1),成功连接后的状态(如图2)。

4. 左边是本地计算机的资源,右边是FTP服务器的资源。如果要上传文件到FTP,先在本地资源中选择要上传的文件,然后点击向右的箭头,就完成了上传功能。(如图3),上传文件后,就会在pub目录下显示上传的文件(如图4)。

如果是从FTP上下载文件,先在FTP的目录下选择要下载的文件,然后点击向左的箭头,就完成了下载功能。

 

 

 

阅读(311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~