欢迎来到皮皮网网站!

【ctp源码】【glassfish源码分析】【csr mesh源码】c tftp源码

时间:2024-12-29 06:20:01 来源:抢单源码带体验金

1.TCP/IP详解卷1:协议的作品目录
2.如何组建一个无盘工作站,具体步骤
3.window下编译curl?

c tftp源码

TCP/IP详解卷1:协议的作品目录

       è¯‘者序

       å‰è¨€

       ç¬¬1ç«  概述1

       1.1 引言1

       1.2 分层1

       1.3 TCP/IP的分层4

       1.4 互联网的地址5

       1.5 域名系统6

       1.6 封装6

       1.7 分用8

       1.8 客户-服务器模型8

       1.9 端口号9

       1. 标准化过程

       1. RFC

       1. 标准的简单服务

       1. 互联网

       1. 实现

       1. 应用编程接口

       1. 测试网络

       1. 小结

       ç¬¬2ç«  链路层

       2.1 引言

       2.2 以太网和IEEE 封装

       2.3 尾部封装

       2.4 SLIP:串行线路IP

       2.5 压缩的SLIP

       2.6 PPP:点对点协议

       2.7 环回接口

       2.8 最大传输单元MTU

       2.9 路径MTU

       2. 串行线路吞吐量计算

       2. 小结

       ç¬¬3ç«  IP:网际协议

       3.1 引言

       3.2 IP首部

       3.3 IP路由选择

       3.4 子网寻址

       3.5 子网掩码

       3.6 特殊情况的IP地址

       3.7 一个子网的例子

       3.8 ifconfig命令

       3.9 netstat命令

       3. IP的未来

       3. 小结

       ç¬¬4ç«  ARP:地址解析协议

       4.1 引言

       4.2 一个例子

       4.3 ARP高速缓存

       4.4 ARP的分组格式

       4.5 ARP举例

       4.5.1 一般的例子

       4.5.2 对不存在主机的ARP请求

       4.5.3 ARP高速缓存超时设置

       4.6 ARP代理

       4.7 免费ARP

       4.8 arp命令

       4.9 小结

       ç¬¬5ç«  RARP:逆地址解析协议

       5.1 引言

       5.2 RARP的分组格式

       5.3 RARP举例

       5.4 RARP服务器的设计

       5.4.1 作为用户进程的RARP服务器

       5.4.2 每个网络有多个RARP服务器

       5.5 小结

       ç¬¬6ç«  ICMP:Internet控制报文协议

       6.1 引言

       6.2 ICMP报文的类型

       6.3 ICMP地址掩码请求与应答

       6.4 ICMP时间戳请求与应答

       6.4.1 举例

       6.4.2 另一种方法

       6.5 ICMP端口不可达差错

       6.6 ICMP报文的4.4BSD处理

       6.7 小结

       ç¬¬7ç«  Ping程序

       7.1 引言

       7.2 Ping程序

       7.2.1 LAN输出

       7.2.2 WAN输出

       7.2.3 线路SLIP链接

       7.2.4 拨号SLIP链路

       7.3 IP记录路由选项

       7.3.1 通常的例子

       7.3.2 异常的输出

       7.4 IP时间戳选项

       7.5 小结

       ç¬¬8ç«  Traceroute程序

       8.1 引言

       8.2 Traceroute 程序的操作

       8.3 局域网输出

       8.4 广域网输出

       8.5 IP源站选路选项

       8.5.1 宽松的源站选路的traceroute

       ç¨‹åºç¤ºä¾‹

       8.5.2 严格的源站选路的traceroute

       ç¨‹åºç¤ºä¾‹

       8.5.3 宽松的源站选路traceroute程序

       çš„往返路由

       8.6 小结

       ç¬¬9ç«  IP选路

       9.1 引言

       9.2 选路的原理

       9.2.1 简单路由表

       9.2.2 初始化路由表

       9.2.3 较复杂的路由表

       9.2.4 没有到达目的地的路由

       9.3 ICMP主机与网络不可达差错

       9.4 转发或不转发

       9.5 ICMP重定向差错

       9.5.1 一个例子

       9.5.2 更多的细节

       9.6 ICMP路由器发现报文

       9.6.1 路由器操作

       9.6.2 主机操作

       9.6.3 实现

       9.7 小结

       ç¬¬ç«  动态选路协议

       .1 引言

       .2 动态选路

       .3 Unix选路守护程序

       .4 RIP:选路信息协议

       .4.1 报文格式

       .4.2 正常运行

       .4.3 度量

       .4.4 问题

       .4.5 举例

       .4.6 另一个例子

       .5 RIP版本

       .6 OSPF:开放最短路径优先

       .7 BGP:边界网关协议

       .8 CIDR:无类型域间选路

       .9 小结

       ç¬¬ç«  UDP:用户数据报协议

       .1 引言

       .2 UDP首部

       .3 UDP检验和

       .3.1 tcpdump输出

       .3.2 一些统计结果

       .4 一个简单的例子

       .5 IP分片

       .6 ICMP不可达差错(需要分片)

       .7 用Traceroute确定路径MTU

       .8 采用UDP的路径MTU发现

       .9 UDP和ARP之间的交互作用

       . 最大UDP数据报长度

       . ICMP源站抑制差错

       . UDP服务器的设计

       ..1 客户IP地址及端口号

       ..2 目标IP地址

       ..3 UDP输入队列

       ..4 限制本地IP地址

       ..5 限制远端IP地址

       ..6 每个端口有多个接收者

       . 小结

       ç¬¬ç«  广播和多播

       .1 引言

       .2 广播

       .2.1 受限的广播

       .2.2 指向网络的广播

       .2.3 指向子网的广播

       .2.4 指向所有子网的广播

       .3 广播的例子

       .4 多播

       .4.1 多播组地址

       .4.2 多播组地址到以太网地址的转换

       .4.3 FDDI和令牌环网络中的多播

       .5 小结

       ç¬¬ç«  IGMP:Internet组管理协议

       .1 引言

       .2 IGMP报文

       .3 IGMP协议

       .3.1 加入一个多播组

       .3.2 IGMP报告和查询

       .3.3 实现细节

       .3.4 生存时间字段

       .3.5 所有主机组

       .4 一个例子

       .5 小结

       ç¬¬ç«  DNS:域名系统

       .1 引言

       .2 DNS基础

       .3 DNS的报文格式

       .3.1 DNS查询报文中的问题部分

       .3.2 DNS响应报文中的资源记录部分

       .4 一个简单的例子

       .5 指针查询

       .5.1 举例

       .5.2 主机名检查

       .6 资源记录

       .7 高速缓存

       .8 用UDP还是用TCP

       .9 另一个例子

       . 小结

       ç¬¬ç«  TFTP:简单文件传送协议

       .1 引言

       .2 协议

       .3 一个例子

       .4 安全性

       .5 小结

       ç¬¬ç«  BOOTP: 引导程序协议

       .1 引言

       .2 BOOTP的分组格式

       .3 一个例子

       .4 BOOTP服务器的设计

       .5 BOOTP穿越路由器

       .6 特定厂商信息

       .7 小结

       ç¬¬ç«  TCP:传输控制协议

       .1 引言

       .2 TCP的服务

       .3 TCP的首部

       .4 小结

       ç¬¬ç«  TCP连接的建立与终止

       .1 引言

       .2 连接的建立与终止

       .2.1 tcpdump的输出

       .2.2 时间系列

       .2.3 建立连接协议

       .2.4 连接终止协议

       .2.5 正常的tcpdump输出

       .3 连接建立的超时

       .3.1 第一次超时时间

       .3.2 服务类型字段

       .4 最大报文段长度

       .5 TCP的半关闭

       .6 TCP的状态变迁图

       .6.1 2MSL等待状态

       .6.2 平静时间的概念

       .6.3 FIN_WAIT_2状态

       .7 复位报文段

       .7.1 到不存在的端口的连接请求

       .7.2 异常终止一个连接

       .7.3 检测半打开连接

       .8 同时打开

       .9 同时关闭

       . TCP选项

       . TCP服务器的设计

       ..1 TCP服务器端口号

       ..2 限定的本地IP地址

       ..3 限定的远端IP地址

       ..4 呼入连接请求队列

       . 小结

       ç¬¬ç«  TCP的交互数据流

       .1 引言

       .2 交互式输入

       .3 经受时延的确认

       .4 Nagle算法

       .4.1 关闭Nagle算法

       .4.2 一个例子

       .5 窗口大小通告

       .6 小结

       ç¬¬ç«  TCP的成块数据流

       .1 引言

       .2 正常数据流

       .3 滑动窗口

       .4 窗口大小

       .5 PUSH标志

       .6 慢启动

       .7 成块数据的吞吐量

       .7.1 带宽时延乘积

       .7.2 拥塞

       .8 紧急方式

       .9 小结

       ç¬¬ç«  TCP的超时与重传

       .1 引言

       .2 超时与重传的简单例子

       .3 往返时间测量

       .4 往返时间RTT的例子

       .4.1 往返时间RTT的测量

       .4.2 RTT估计器的计算

       .4.3 慢启动

       .5 拥塞举例

       .6 拥塞避免算法

       .7 快速重传与快速恢复算法

       .8 拥塞举例(续)

       .9 按每条路由进行度量

       . ICMP的差错

       . 重新分组

       . 小结

       ç¬¬ç«  TCP的坚持定时器

       .1 引言

       .2 一个例子

       .3 糊涂窗口综合症

       .4 小结

       ç¬¬ç«  TCP的保活定时器

       .1 引言

       .2 描述

       .3 保活举例

       .3.1 另一端崩溃

       .3.2 另一端崩溃并重新启动

       .3.3 另一端不可达

       .4 小结

       ç¬¬ç«  TCP的未来和性能

       .1 引言

       .2 路径MTU发现

       .2.1 一个例子

       .2.2 大分组还是小分组

       .3 长肥管道

       .4 窗口扩大选项

       .5 时间戳选项

       .6 PAWS:防止回绕的序号

       .7 T/TCP:为事务用的TCP扩展

       .8 TCP的性能

       .9 小结

       ç¬¬ç«  SNMP:简单网络管理协议

       .1 引言

       .2 协议

       .3 管理信息结构

       .4 对象标识符

       .5 管理信息库介绍

       .6 实例标识

       .6.1 简单变量

       .6.2 表格

       .6.3 字典式排序

       .7 一些简单的例子

       .7.1 简单变量

       .7.2 get-next操作

       .7.3 表格的访问

       .8 管理信息库(ç»­)

       .8.1 system组

       .8.2 interface组

       .8.3 at组

       .8.4 ip组

       .8.5 icmp组

       .8.6 tcp组

       .9 其他一些例子

       .9.1 接口MTU

       .9.2 路由表

       . trap

       . ASN.1和BER

       . SNMPv

       . 小结

       ç¬¬ç«  Telnet和Rlogin:远程登录

       .1 引言

       .2 Rlogin协议

       .2.1 应用进程的启动

       .2.2 流量控制

       .2.3 客户的中断键

       .2.4 窗口大小的改变

       .2.5 服务器到客户的命令

       .2.6 客户到服务器的命令

       .2.7 客户的转义符

       .3 Rlogin的例子

       .3.1 初始的客户-服务器协议

       .3.2 客户中断键

       .4 Telnet协议

       .4.1 NVT ASCII

       .4.2 Telnet命令

       .4.3 选项协商

       .4.4 子选项协商

       .4.5 半双工、一次一字符、一次

       ä¸€è¡Œæˆ–行方式

       .4.6 同步信号

       .4.7 客户的转义符

       .5 Telnet举例

       .5.1 单字符方式

       .5.2 行方式

       .5.3 一次一行方式(准行方式)

       .5.4 行方式:客户中断键

       .6 小结

       ç¬¬ç«  FTP:文件传送协议

       .1 引言

       .2 FTP协议

       .2.1 数据表示

       .2.2 FTP命令

       .2.3 FTP应答

       .2.4 连接管理

       .3 FTP的例子

       .3.1 连接管理:临时数据端口

       .3.2 连接管理:默认数据端口

       .3.3 文本文件传输:NVT ASCII

       è¡¨ç¤ºè¿˜æ˜¯å›¾åƒè¡¨ç¤º

       .3.4 异常中止一个文件的传输:

       Telnet同步信号

       .3.5 匿名FTP

       .3.6 来自一个未知IP地址的匿名FTP

       .4 小结

       ç¬¬ç«  SMTP:简单邮件传送协议

       .1 引言

       .2 SMTP协议

       .2.1 简单例子

       .2.2 SMTP命令

       .2.3 信封、首部和正文

       .2.4 中继代理

       .2.5 NVT ASCII

       .2.6 重试间隔

       .3 SMTP的例子

       .3.1 MX记录:主机非直接连到

       Internet

       .3.2 MX记录:主机出故障

       .3.3 VRFY和EXPN命令

       .4 SMTP的未来

       .4.1 信封的变化:扩充的SMTP

       .4.2 首部变化:非ASCII字符

       .4.3 正文变化:通用Internet邮件

       æ‰©å……

       .5 小结

       ç¬¬ç«  网络文件系统

       .1 引言

       .2 Sun远程过程调用

       .3 XDR:外部数据表示

       .4 端口映射器

       .5 NFS协议

       .5.1 文件句柄

       .5.2 安装协议

       .5.3 NFS过程

       .5.4 UDP还是TCP

       .5.5 TCP上的NFS

       .6 NFS实例

       .6.1 简单的例子:读一个文件

       .6.2 简单的例子:创建一个目录

       .6.3 无状态

       .6.4 例子:服务器崩溃

       .6.5 等幂过程

       .7 第3版的NFS

       .8 小结

       ç¬¬ç«  其他的TCP/IP应用程序

       .1 引言

       .2 Finger协议

       .3 Whois协议

       .4 Archie、WAIS、Gopher、Veronica

       å’ŒWWW

       .4.1 Archie

       .4.2 WAIS

       .4.3 Gopher

       .4.4 Veronica

       .4.5 万维网WWW

       .5 X窗口系统

       .5.1 Xscope程序

       .5.2 LBX: 低带宽X

       .6 小结

       é™„录A tcpdump程序

       é™„录B 计算机时钟

       é™„录C sock程序

       é™„录D 部分习题的解答

       é™„录E 配置选项

       é™„录F 可以免费获得的源代码

       å‚考文献

       ç¼©ç•¥è¯­

如何组建一个无盘工作站,具体步骤

       无盘工作站构架指南2(5-)

        5、运行Win?无盘工作站

       你想用机运行Win吗?你想不买终端卡组建无盘Win网络吗?好了,请跟我来吧。根据本人长期的ctp源码组网实践经验,总结出一套完整的无盘Win方案,给大家分享!

        首先说说大致工作原理:

        主要先通过Win远程无盘引导Win工作站,再利用Win终端服务和终端连网软件从无盘win中登陆到终端服务器上。

        请看以下具体步骤:

        一、硬件配置:

        1.服务器:建议CPU PIII 以上、M内存,硬盘G以上(经济允许的话最好用SCSI)因为服务器是整个网络核心的核心,所以配置一定要好。

        2.工作站:低配置的,即可。笔者这里是奔腾,8M内存,无硬盘。

        二、安装步骤:

        1.首先把服务器装好Win Server,并配置好所有硬件。

        2.为window安装终端服务。

        打开控制面版---添加/删除程序---添加/删除Windows组件--选中Windows终端服务确定。安装时要放入Win光盘.

        3.在服务器上安装MetaFrame。Metaframe是citrix公司在Win下的终端服务器他比Win的终端服务更加强大,提供多种客户终端接入服务。

        4.安装好Metafrmae后,开始制作终端客户安装软盘.

        开始---程序---Metaframe tools---Ica client creator----Ica Client For win3x

        5.为Win添加远程启动服务。由于Win已经不在支持远程启动服务。因此,我们考虑将NT4的远程启动服务移植到Win中。可到凌心之 家(www.lingxin-home.com)或我的主页(networld.8u8.com)去下载远程服务安装工具。

        6.在Win下依次配一台Dos、glassfish源码分析win无盘站.方法与nt下一模一样,别告诉我你不会配置.不会的,以下就不用看了。

        7.以无盘win启动工作站,把第4步制作的终端客户盘安装在无盘站上。

        8.配置客户端。双击citrix图标,建立一个新连接,这里注意:要填好主机名(服务器名称),协议选择Netbios,的其它全部用他的默认就可以了。

        9.建立连接完成后,双击刚才建立的连接,就出现梦寐以求的Win桌面了。你可以运行任何在服务器的软件了!

       6、安装Linux无盘工作站

       [文章导读]

       其实Linux 对远程引导的支持非常好,Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家详细介绍无盘Linux工作站的安装办法。

       [正文]

       当年Novell下的无盘DOS工作站很是流行,后来又流行过Win无盘工作站,只是由于问题多多,后来微软自己停止了对无盘Windows的支持。随着Linux的日益流行,使用Linux的人越来越多,其实Linux 对远程引导的支持非常好,Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家详细介绍无盘Linux工作站的安装办法。

        这个网络是一个小的局域网,有1台服务器和4台 Linux 无盘工作站,csr mesh源码彼此之间用双绞线通过HUB连接,服务器的IP地址定为..0. ,名字是server ,5台无盘工作站的地址由服务器动态分配,地址范围从 ..0.1 到..0.4 ,名字分别是c1,c2, c3,c4,服务器和无盘工作站使用的都是NE 兼容网卡,无盘工作站使用的网卡上都安 装了BOOTROM 启动芯片,服务器操作系统安装的是 RedHat Linux 6.0 ,安装时选用定制安装,并安装了全部软件。

        Linux的远程引导有两种方式,一是利用Bootp协议,有一个专门的项目EtherBoot 提供支持( ( or Mbit)

        Other ISA cards

        NE/NE support (NEW)

        都设置为有效

       Filesystems 该项目下面的Network File Systems子项目下面的

        NFS filesystem support

        Root file system on NFS (NEW)

        都设置为有效

       以上设置完成后,退出内核编译设置程序,会出现一个对话框:Do you wish to save your new kernel configuration?

        然后执行 make dep && make bzImage 进行内核编译,这个过程得花一点时间,特别是如果计算机的速度不快的话,花的时间会更长一些。编译内核如果没有错误,会得到内核映象文件/usr/src/linux/arch/i/boot/bzImage ,将启动软盘插入计算机,执行下面的命令 mount -t vfat /dev/fd0 /mnt/floopy cp /usr/src/linux/arch/i/boot/bzImage /mnt/floppy umount /dev/fd0

        好了,启动盘上的文件都准备齐全了,等会儿用它到Win环境下制作启动映象。

       服务器设置

       服务器端需要运行nfsd、dhcpd、mars_new等几个服务进程,这些软件在ReHat Linux 发行套件里都有,java junit源码如果在安装 Linux 的时候选择全部安装,这些软件都会随着安装操作 系统而装好了,下面对这些软件进行设置,注意,下面的操作要以 root 身份进行。

       1、 NFS 守护进程nfsd

       首先要建立几个供无盘工作站使用的目录,并通过nfsd 导出,命令如下:

       mkdir /tftpboot

       然后编辑文件 /etc/hosts ,加入下面的内容

       ..0. server server.domain

       ..0.1 c1 c1.domain

       ..0.2 c2 c2.domain

       ..0.3 c3 c3.domain

       ..0.4 c4 c4.domain

       第一台工作站的工作目录设置方法如下:

       mkdir /tftpboot/..0.1

       cd /tftpboot/..0.1

       cp -a /bin .

       cp -a /dev .

       mknod dev/nd0 b 0

       chmod dev/nd0

       cp -a /etc .

       cp -a /home .

       cp -a /lib .

       rm -rf lib/modules

       cp -a /root .

       cp -a /sbin .

       cp -a /var .

       mkdir proc

       mkdir usr

       mkdir tmp

       chmod tmp

       touch fastboot

       chattr +i fastboot

       cd etc

       编辑文件 sysconfig/network-scripts/ifcfg-eth0

       保留其中的

       DEVICE=eth0

       ONBOOT=yes

       其余的行全部删除,然后增加一行

       BOOTPROTO=dhcp

       编辑文件 rc.d/rc.sysinit ,在文件最后加上两行

       mount -t nfs server:/usr /usr

       /usr/XR6/bin/xfs

       编辑文件 fstab

       保留其中的

       none /proc proc defaults 0 0

       其余的行全部删除,然后增加一行

       server:/tftpboot/..0.1 / nfs defaults 1 1

       其它工作站的工作目录设置方法就简单多了

       cd /tftpboot

       cp -a ..0.1 ..0.2

       cp -a ..0.1 ..0.3

       cp -a ..0.1 ..0.4

       编辑文件 /etc/exports ,加入以下内容

       /usr (ro,no_root_squash)

       /tftpboot/..0.1 (rw,no_root_squash)

       /tftpboot/..0.2 (rw,no_root_squash)

       /tftpboot/..0.3 (rw,no_root_squash)

       /tftpboot/..0.4 (rw,no_root_squash)

       2、动态主机配置协议服务器 dpchd

       检查一下文件/etc/dhcpd.leases是否存在,若不存在就用命令touch /etc/dhcpd.leases 创建一个,然后编辑文件 /etc/dhcpd.conf ,加入以下内容

       subnet ..0.0 netmask ...0 {

       range ..0.1 ..0.4;

       }

       3、NetWare 模拟器 marsw_nwe

       编辑文件 /etc/nwserv.conf,找到下面的行

       # 4 0x eth0 .3 1

       将该行开头的'#'去掉,再找到

       4 0x0 * .3 1

       在该行开头加上'#'

       制作启动映象

       进入Win,将Win(早期的版本,可以用服务器安装方式安装)安装光盘的admin\nettools\netsetup\rplimage.exe 复制到硬盘,将启动软盘插入软驱,然后在纯MSDOS方式下执行 rplimage a: 就会得到启动映象 net$dos.sys,再将启动映象 net$dos.sys 复制到启动盘上(如果启动盘空间不够,可以先删除启动盘上的一些文件以留出空间)。

        启动 Linux 服务器,以 root 用户登录,将启动软盘插入软驱,执行下面的命令 mount -t vfat /dev/fd0 /mnt/floppy cp /mnt/floppy/net\$dos.sys /var/mars_nwe\sys\login umount /dev/fd0 然后执行 setup ,移动光棒至 System services 选项回车,flink 视频源码出现 Services 设置画面,将dhcpd,nfs,mars-nwe 都设为有效,退出 setup 程序,执行以下的命令以启动上述服务进程:

       /etc/rc.d/rc3.d/*mars-nwe restart

       /etc/rc.d/rc3.d/*dhcpd restart

       /etc/rc.d/rc3.d/*nfs restart

        下一次再启动服务器时,上述服务进程会自动执行。

       至此,所有的设置工作全部完成了,联好网络随便打开一台无盘工作站,稍等一下,出现远程引导的信息,接着会启动 Win,接下来很快就会装载 Linux ,在一大堆 Linux 的启动信息之后如果看到 Linux 的登录提示,就说明远程启动成功了。

        Linux 无盘工作站虽然运转起来了,但还有一个问题,就是交换的问题,因为Linux 是一个支持虚拟存储的操作系统,当机器内存不够时,Linux 就会把内存中暂时不用的数 据换出到交换设备上,等需要时再换回来,刚才我们没有设置交换区,在无盘工作站上用 free 命令就会发现交换区为零,如果无盘工作站内存较大,运行一些不大的程序,没有交换区还是可以的,但若运行大型程序就会出问题,下面介绍在服务器上设置交换区即远 程交换的方法。

       对于2.1.版以前的内核,要实现远程交换可有点费事,得从网络上下载有关的补丁来修改内核代码,然后再编译内核映象。从2.1.版后的内核支持网络块设备,这样,实现远程交换就容易了。首先编译内核时要使 Network block device support 选项有效(刚才编译内核时就是这么作的),再从boot可供选用, etherboot对网卡型号有要求,支持的网卡种类不算很多,但对最常用的网卡如3c///b、NE//PCIne、Intel eepro等基本上都能支持;Netboot可以用ndis或pktdrv,这些文件一般在随卡附带的驱动盘上都有,但这仅限于网络启动,对网卡的要求首先是Linux能识别。

        以下步骤所述适用于etherboot;

        1. 展开etherboot,进入src-,编辑Config。有许多选项可以让你做多重启动、显示信息、询问口令之类的事情,这时你需要做的是用bootp代替dhcp,即在Config中定义-DNO_DHCP_SUPPORT设置。因为我们打算在服务器端用bootp,所以这是必须的,否则在启动时会因为未能寻找到dhcp server而启动不了。如果你准备在服务器端使用dhcp,那么这一步就不需要了。

        2. make。对每种网卡都会生成两个文件 .rom和 .lzrom,后者是压缩过的。

        3. 使用软盘启动验证所作的启动ROM没问题,假设你用的网卡是ne兼容的:

        cat ../src/floppyload.bin ne.lzrom > /dev/fd0

        如用软盘启动,系统能探测到你的网卡并发出bootp请求。如果一切OK,你就可以把ROM文件刻写到EPROM里了。

        4. cd ../netboot*;make;make install。make如果出错,解决办法是把系统中的bcc改名,然后将gcc连接成bcc,再重新make。最后在系统中会增加一个程序mknbi-linux,这是用来处理linux内核的,在服务器端设置部分会讲它的用法。

        客户端的工作完成了。

       二、服务器端:

        假设你的无盘工作站ip为.0.0.1; 机器名为dc1.subnet.net,另一台无盘工作站ip为.0.0.2,机器名为dc2.subnet.net, 服务器ip为.0.0.,名为server.subnet.net。

       1. 修改/etc/hosts,增加dc1.subnet.net,dc2.subnet.net

       2. 取得bootp-2.x.x,展开后注意把带的各种patch都打上。然后make; make install

       3. 建立/etc/bootptab,如下:

       global.prof:

       :sm=...0:

       :bf=/tftpboot/vmlinuz.nb:

       dc1:tc=global.prof:ha=cd7a:ip=.0.0.1:

       dc2:tc=global.prof:ha=e1:ip=.0.0.2:

       ha用无盘工作站网卡的MAC地址代替。

       4. 修改inetd.conf,去掉bootpd和tftpd的#号,如下:

       tftp dgram udp wait root /usr/sbin/tcpd tftpd –s /tftpboot

       bootps dgram udp wait root /usr/sbin/tcpd bootpd -i

       kill –HUP `cat /var/run/inetd.pif`

       5. 建立/tftpboot/.0.0.1,cd /tftpboot/.0.0.1,

       (cd /; tar cpf – lib sbin bin var etc dev)| tar xpf –

       mkdir usr; mkdir tmp; chmod tmp; mkdir home;mkdir root; makdir

       proc; mkdir mnt

       6. touch fastboot; chattr +i fastboot

       (fstab 中 / 和 /usr 的最后一项设成0,也许不需要这一步了,但我没试过)

       以下是一个shell script,可用于自动执行以上操作。

       #!/bin/sh

       if [ $# != 1 ]

       then

       echo Usage: $0 client-IP-addr

       exit 1

       fi

       cd /

       umask

       mkdir -p /tftpboot/$1

       # just make these ones

       for d in home mnt proc tmp usr

       do

       mkdir /tftpboot/$1/$d

       done

       chmod /tftpboot/$1/tmp

       touch /tftpboot/$1/fastboot

       chattr +i /tftpboot/$1/fastboot

       # copy these ones

       (cd /; tar cpf - bin lib sbin dev etc var) | (cd /tftpboot/$1; tar xpf -)

       7. 删除var下一切不需要的东西, 减小空间。删除lib/modules下一切不需要的模块。

       8. 修改etc/sysconfig/network,etc/sysconfig/network-scripts/ifcfg-eth0,

       etc/fstab,etc/conf.module

       fstab中指明root在服务器server上,like this

       server:/tftpboot/.0.0.1 / nfs default 0 0

       server:/usr /usr nfs default 0 0

       9. 配置etc/rc.d/rc3.d,关掉一切不需要的网络服务。

       . 删除etc/rc.d/rc6.d/K?network。

       . 修改etc/rc.d/rc.sysinit,寻找“mount –a –t nonfs,smbfs…"改成

       “mount.–a –t nosmbfs…"

       . mkdir /tftpboot/.0.0.2; cd /tftpboot/.0.0.2;

       . 修改etc/sysconfig/network,etc/sysconfig/network-scripts/ifcfg-eth0,

       etc/fstab,etc/conf.module

       . cd /etc; vi exports;

       /usr dc*.subnet.net(ro)

       /tftpboot/.0.0.1 dc1.subnet.net(rw,no_root_squash)

       /tftpboot/.0.0.2 dc2.subnet.net(rw,no_root_squash)

       exportfs –a

       . 编译一个新内核,必须包含以下特性:

       NFS filesystem 支持

       Root on NFS 支持

       Bootp 支持

       无盘工作站所用的网卡型号支持

       编译出新内核之后,用mknbi-linux处理,

       mknbi-linux bzImage vmlinuz.nb

       将vmlinuz.nb放在/tftpboot下即可。

       至此,服务器端的工作就完成了。

        注意事项:

        1. 如果你打算在服务器端用dhcp,需要自己配置,参看dhcp的文档。

        2. Rh6.1自带一个bootparamd,也应该能完成同样的工作,但在manual中语焉不详,不知该如何设置。

        3. 服务器端 / 和 /usr 最好单独分区。

        4. etherboot的文档上说对有些网卡比如PCI NE兼容网卡,可能需要调整Makefile中的vendor信息和ID信息,我还未试过。

        启动你的无盘工作站,如一切操作无误的话,工作站则应该能启动起来。启动过程中如果有一些地方不顺利,可以在启动之后对无盘工作站上按一般方法进行设置。

        希望以上的讲述能给读者有所帮助和启迪!

       8、Linux无盘工作站架设实例

        后面还有实例你自己看吧!

window下编译curl?

       cURL是一个开放源代码的命令行工具及跨平台库,用于在服务器间传输数据,并适用于几乎所有新操作系统。cURL编程适用于需要通过互联网协议发送或接收数据的场合,支持包括DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET和TFTP在内的所有互联网协议。

       一、编译环境说明

       操作系统的版本是Win。

       使用的编译器是Visual Studio 。

       cURL的版本为8.1.2。

       二、编译过程

       1、下载地址

       从官方下载页面curl - Download获取最新版本8.1.2,选择相应版本下载。

       2、编译命令

       cURL作为历史悠久的开源库,编译配套全面且稳定,在Windows中使用CMake进行编译非常简单。通过执行以下命令,即可生成与Visual Studio版本匹配的.sln文件。

       在CMD界面中,切换至源码目录。

       三、总结

       编译过程简洁明了,不存在复杂或疑难问题。完成编译后,关注同名公众号并回复"curl",即可获取下载链接。

更多相关资讯请点击【探索】频道>>>