vsftp之必要的安装目录与交叉编译问题
来源:互联网 发布:同花顺选股编程 编辑:程序博客网 时间:2024/06/05 10:47
高版本为何编译不成功:
在版本比较高的vsftp源码中的Makefile中可能会有这么一句话:
LDFLAGS= -fPIE -pie -Wl,-z,relro -Wl,-z,now
如可此时交叉编译,虽然可以编译成功,但 file vsftpd 会发现,vsftpd是 shared object,而不是我们想要的executable
scw@scw-VB:~/buildroot-2017.02.3/dl/vsftpd-3.0.3$ file vsftpd
vsftpd: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.38, stripped
经过试验发现,把 ( LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now )中的 -pie 去掉就可以编译出我们想要的可执行文件
scw@scw-VB:~/buildroot-2017.02.3/dl/vsftpd-3.0.3$ file vsftpd
vsftpd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 2.6.38, stripped
(pie :position independent executables)是安卓中的一种保护机制,而我们现在的系统时arm板Linux,所以不需要 -pie
同理 :以后再移植其他软件时,若是发现此类问题,可以采取此种处理机制
在vsftp源码中:
1:vsf_findlibs.sh 文件是vsftp安装包所用到的库路径指定文件
2:builddefs.h文件定义了一些必要的宏定义
3:INSTALL文件列举了必要的安装配置步骤
Step 1) Build vsftpd
Step 2) Satisfy vsftpd pre-requisites(必要步骤)
2a) useradd nobody 添加nobody用户
2b) mkdir /usr/share/empty/ 创建一个目录
2c) mkdir /var/ftp/
useradd -d /var/ftp ftp(创建匿名用户FTP)
chown root.root /var/ftp
chmod og-w /var/ftp
Step 3) Install vsftpd config file(可手动复制)
在用FTP用户登录时,发现ls 无法显示FTP下的内容,虽然FTP用户默认的根目录是、var/tfp,但依然需要在配置文件中手动添加这么一句:anon_root=/var/ftp,然后在ls 就可以显示、var/ftp下的目录或文件。
注:在使用FTP传输数据是一定要注意所要操作的目录的权限问题。
- vsftp之必要的安装目录与交叉编译问题
- 交叉编译之__aeabi_uidiv问题
- vsftp编译安装
- Vsftp编译安装
- vsftp编译安装
- tslib编译与安装-----arm----交叉编译
- ubuntu安装交叉编译器后不能编译的问题
- Qt Creator的安装与Qt交叉编译的配置
- Qt Creator的安装与Qt交叉编译的配置
- 交叉编译工具链的安装与使用
- ubuntu 下交叉编译工具 ---gdb的安装与使用
- libpng库的安装与使用(交叉编译)
- 安装交叉工具链与编译安卓的uboot
- RHEL6下友善之臂交叉编译工具的安装
- 解决交叉编译PHP与GD库出现的问题
- ARM交叉编译的安装
- 交叉编译工具的安装
- configure的交叉编译问题
- 李开复论述中国AI崛起:中国成世界第一有六大原因 | 言论
- 寒武纪发布3款AI处理器:3年要占领10亿终端和30%的市场 | 新品
- 当创造力不再是人类独有,下一位莫扎特会是机器人吗 | 前沿
- DB2达到最大连接数后,无法连接到数据库解决办法
- Using visual C++ to create a simple image and masker tool kit
- vsftp之必要的安装目录与交叉编译问题
- iOS和Android终级C++编译优化
- 再谈文章字数与seo的关系
- LightOJ-1234
- 二叉树的遍历
- LightOJ-1220
- 几种常用加密算法比较
- The value for the useBean class attribute XXX is invalid 异常解释
- 一些不错的学习网站