zoukankan      html  css  js  c++  java
  • vsftp移植(待续)

    1. 下载sftp包,解压。如vsftpd-2.3.5.tar.gz
    2. 编译

        进入目录后,修改交叉编译工具(vi Makefile)

        CC      = arm-none-linux-gnueabi-gcc

        直接make即可,生成可执行文件vsftpd。

        出现错误:

    sysdeputil.o: In function `vsf_sysdep_check_auth':
    sysdeputil.c:(.text+0xce8): undefined reference to `crypt'
    sysdeputil.c:(.text+0xd0c): undefined reference to `crypt'
    collect2: ld returned 1 exit status
    make: *** [vsftpd] Error 1
        未连接库:crypt,查看Makefile,

     10 #LIBS   =   `./vsf_findlibs.sh`  
     11 LIBS    =   -lcrypt
        编译时发现vsf_findlibs.sh并未执行(即使执行,脚本也有误,ubuntu下shell 0为真,1为假)。

        直接注释脚本,链接库(-lcrypt)。

    3.移植文件和库

        查看vsftpd属性:

    ~$file vsftpd
    vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
        vsftpd为动态链接,需要拷贝动态库:

    ~$arm-none-linux-gnueabi-readelf -d vsftpd

    Dynamic section at offset 0x165b4 contains 25 entries:
      Tag        Type                         Name/Value
     0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
     0x00000001 (NEEDED)                     Shared library: [libc.so.6]
    ......

    需要两个动态库libcrypt.so.1和libc.so.6。

    注:此外动态编译的可执行文件执行需要加载器,要确保加载器也一并移植:

     交叉编译工具链提供的加载器文件:

    ~$ls -al ld*
    -rwxrwxr-x 1 yuxi yuxi 144480 Aug  4 15:24 ld-2.5.so
    lrwxrwxrwx 1 yuxi yuxi      9 Aug  4 15:24 ld-linux.so.3 -> ld-2.5.so

    需拷贝的两个加载器文件:ld-2.5.so      ld-linux.so.3

    共5个文件:usr/sbin   ->vsftpd

                       lib -> libcrypt.so.1    libc.so.6    ld-2.5.so    ld-linux.so.3

    现在可以下载到板卡上测试:

    ~ # vsftpd                                                                      
    500 OOPS: vsftpd: not configured for standalone, must be started from inetd

    vsftpd可正常运行,只是缺少配置文件。

    4. vsftpd配置文件vsftpd.conf

      

    参考:

    1. 在Linux下使用vsftpd搭建FTP服务器

  • 相关阅读:
    sqlserver 中数据类型bit的使用 Followyour
    如何在保证睡眠的情况把各种事情做好
    求职具备八大素质
    提高效率的5条黄金法则
    随笔摘录:世上只有一件东西,能始终经受住生活的冲击:一颗宁静的心。
    Hadoop中文文档 (0.19.0)
    两个微型的Map/Reduce框架: FileMap(FM)和BashReduce
    Hadoop的商业化支持
    Yahoo的Hadoop版本
    Map/Reduce and Queues for MySQL Using Gearman
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/4822913.html
Copyright © 2011-2022 走看看