移植和配置xinetd 移植和配置等相类似执行文件&&tftp-hpa客户端使用说明

本文详细介绍了在嵌入式系统中进行交叉编译的过程,特别是针对xinetd服务的编译与部署步骤。从环境变量设置到源码编译,再到目标板上的配置与启动,提供了完整的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本理论:

$ export TOOL_PATH=path_to_xycloud_devtools $ export PATH=${TOOL_PATH}/gcc/bin:$PATH $ ./configure --host=arm-linux-gnueabihf --build=x86-linux

具体见:https://docs.xycloud.com/products/1/3/2.html

如果出现:命令 'ls' 可在 '/bin/ls' 处找到 由于/bin 不在PATH 环境变量中,故无法找到该命。。。,解决方法:$cd /etc/environment,执行 $source /etc/environment

具体见:https://jingyan.baidu.com/article/63acb44af85a2861fcc17efb.html

-----------------------------------------------------------------------------------------------------------

1、 下载xinetd

官网http://www.wendangwang.com/连接失败,于是到http://www.wendangwang.com的下载中心下载

版本为xinetd-2.3.14。

2、 编译

解压源码到工作目录tar zxvf xinetd-2.3.14.tar.gz;

在xinetd-2.3.14目录下配置:

./configure --host=arm-linux --prefix=/home/xxxx/testrootfs/usr

交叉编译:make

安装:make install

之后在prefix指定的目录中将会创建sbin和man目录,xinetd可执行文件在sbin中。其中还有两个文件itox和xconv.pl,是可以将原来inetd配置文件(/etc/inetd.conf)转换为xinetd配置文件(/etc/xinetd.conf),一个是可执行文件一个是Perl脚本,功能一样。

缩减大小,xinetd将从500多K字节缩减为120K左右:
arm-linux-strip /home/xxxx/testrootfs/usr/sbin/itox

arm-linux-strip /home/xxxx/testrootfs/usr/sbin/xinetd



3、 在目标板中部署

将/home/xxxx/testrootfs/usr/sbin/中所有文件复制到目标板文件系统的/usr/sbin/中;

在目标板控制台执行inetd配置文件转换:

$xconv.pl < /etc/inetd/conf > /etc/xinetd.conf

修改/etc/rc.d/init.d/netd,将其中

base=inetd

改为

base=xinetd

至此,重启开发板后自动运行的就是xinetd了。
具体见:https://www.wendangwang.com/doc/e7db401c08ddc229df7f5533

-----------------------------------------------------------------------------------------------------

1、板子 sudo apt-get install tftp-hpa

2、主机chmod 777 tftp—dir

3、tftp 192.168.1.122 -c put lib2.tar.gz lib2.tar.gz

 

### 在交换机上移植配置 FTPD 服务 #### 背景介绍 在现代网络环境中,许多企业级交换机具备一定的计算能力,并允许通过第三方固件或自定义脚本来扩展其功能。在这种情况下,将 FTPD 服务移植到交换机上成为了一种可行的选择。然而,由于交换机资源有限且操作系统通常是定制化的 Linux 版本,因此需要特别注意以下几点:选择合适的小型化 FTPD 实现、优化内存占用以及确保网络安全。 --- #### 准备工作 首先确认目标交换机的操作系统是否支持标准的 Linux 工具链。如果支持,则可以遵循常规步骤进行安装;如果不完全兼容,则可能需要交叉编译或将预编译好的二进制文件上传至设备。 ##### 安装基础工具包 根据引用内容[^1]可知,在 Debian/Ubuntu 类发行版中可以通过 APT 包管理器快速获取所需组件。尽管大多数商用交换机会禁用这类便捷手段,但仍可手动复制必要程序到本地存储空间内: ```bash opkg update && opkg install tftpd-hpa inetutils-inetd ``` 上述命令适用于 OpenWrt 系统下的场景,而其他品牌产品或许有不同的软件仓库地址或者根本缺乏公共镜像源。此时建议从官方网站下载对应架构的目标文件(如 ARMv7l 或 MIPS),随后利用 SCP 协议传送到远程主机之上。 --- #### 配置静态IP地址 考虑到后续数据交互稳定性,有必要预先设定好固定的通信接口属性。参照先前给出的例子[^2]得知,我们只需编辑网卡配置文档即可满足基本需求: ```plaintext DEVICE="eth0" BOOTPROTO="static" ONBOOT="yes" IPADDR="58.83.130.3" NETMASK="255.255.255.0" GATEWAY="58.83.130.1" DNS1="8.8.8.8" ``` 保存更改后的文件路径一般位于 `/etc/sysconfig/network-scripts/ifcfg-ethX` 下面,重启关服务使改动生效: ```bash ifdown eth0 ; sleep 2; ifup eth0 ``` > 注意:部分低端型号可能不具备完整的 Bash Shell 功能集,所以务必提前查阅手册了解确切语法形式。 --- #### 设置xinetd守护进程 为了让 TFTP FTP 这两类短时间运行的任务更加高效稳定地响应请求,推荐采用超级服务器模式来统一调度它们的行为逻辑。继续沿用之前的思路,新增一段描述规则如下所示: ```plaintext service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd log_on_success += DURATION USERID } ``` 记得同步激活 XINETD 自身的状态开关状态以防遗漏任何潜在隐患风险因素干扰正常使用体验效果呈现出来更好一点哦~ --- #### 编写启动脚本 最后一步便是编写自动化初始化序列以便每次开机都能自动加载刚才所做的全部调整措施成果展示给大家看啦~ 创建一个新的 shell script 文件命名为 `start_ftpd.sh` 并赋予执行权限: ```bash #!/bin/sh # Start FTP Daemon on boot PATH=/sbin:/usr/sbin:/bin:/usr/bin NAME=vsftpd DAEMON=/usr/sbin/$NAME CONFIGFILE=/etc/$NAME.conf PIDFILE=/var/run/$NAME.pid test -f $DAEMON || exit 0 case "$1" in start) echo "Starting $NAME..." start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background --oknodo ;; stop) echo "Stopping $NAME..." start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --retry TERM/30/KILL/5 --oknodo rm -f $PIDFILE ;; esac exit 0 ``` 将其放置于适当位置比如 `/etc/init.d/` 目录之下并通过符号链接关联至 rcN.d 子目录从而实现持久化保留机制设计原则要求达到预期目的为止结束本次讨论谢谢大家收听观看再见👋😊✨🎉 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值