inetd 的选择及获取
Busybox1.1.3 提供了 inetd 支持。如果读者使用的是较低版本的不提供 inetd 的 Busybox,那么可以考虑使 用 netkit 套件来提供网络服务。强烈建议使用高版本的 Busybox。此节后半部分介绍如果编译布署 netkit 当中的 inetd。
获取 inetd
Netkit 套件可以从 ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/下载。 其中 netkitbase0.17 中包括 inetd 程序。下载 netkitbase0.17 到/tmp 目录并解压。
编译 inetd
修改 configure 文件
开始配置 netkitbase 之前需要先修改 configure 脚本以免它在主机上执行测试程序。 [[email protected] netkitbase0.17]# vi configure
将每一行出现的 ./ conftest || exit 1;
修改成:
# ./ conftest || exit 1;
编译
[[email protected]
netkitbase0.17]$ CC=armlinuxgcc ./configure [[email protected]
netkitbase0.17]$ make
配置 inetd
拷贝 inetd 到根文件系统的 usr/sbin 目录中
[[email protected]
netkitbase0.17]$ cp inetd/inetd /home/arm/dev_home/rootfs/my_rootfs/usr/sbin/
拷贝 inetd 的配置文件 inetd.conf 到根文件系统的/mnt/etc 目录中
[[email protected]
netkitbase0.17]$ cp etc.sample/inetd.conf
/home/arm/dev_home/rootfs/my_rootfs/mnt/etc
根据需要,修改 inetd.conf 配置文件
例如:支持 telnetd 的 inetd.conf 配置文件如下
#
<service_name> <sock_type> <proto> <flags> <user>
<server_path> <args> telnet stream tcp nowait root /usr/sbin/telnetd
拷贝配置文件
etc.sample
目录下有许多网络相关配置文件,其中有一些需要拷贝到根文件系统的 etc 目录当中,记录如下: [[email protected]
netkitbase0.17]$ cd etc.sample/
[[email protected]
etc.sample]$ cp host.conf /home/arm/dev_home/rootfs/my_rootfs/mnt/etc/
[[email protected] etc.sample]$ cp hosts
/home/arm/dev_home/rootfs/my_rootfs/mnt/etc/ [[email protected] etc.sample]$ cp
networks /home/arm/dev_home/rootfs/my_rootfs/mnt/etc/ [[email protected]
etc.sample]$ cp protocols /home/arm/dev_home/rootfs/my_rootfs/mnt/etc/
[[email protected] etc.sample]$ cp resolv.conf
/home/arm/dev_home/rootfs/my_rootfs/mnt/etc/ [[email protected] etc.sample]$ cp
services /home/arm/dev_home/rootfs/my_rootfs/mnt/etc/
以上重要配置文件说明如下:
host.conf:在系统中同时存在着 DNS 域名解析和/etc/hosts 的主机表机制时,由文件/etc/host.conf 来说明了解析器 的查询顺序
hosts:记录主机名到 IP 地址的映射 protocols:记录常用网络协议及端口别名关系,网络应用程序依赖于此文件 resolv.conf:指定 DNS 服务器 services:记录知名网络服务及端口,网络编程依赖于此文件
原文地址:https://www.cnblogs.com/fanweisheng/p/11105676.html