移植DNS服务bind
一、 移植环境
1 、硬件环境:
Host : X86 PC
Target : MPC8377E 开发板
2 、软件环境:
Host : Red Hat 4.1.2-12 , Linux kernel 2.6.29.1
Target : Linux kernel 2.6.25
3 、源码包:
openssl-0.9.8k.tar.gz
libxml2-sources-2.7.3.tar.gz
bind-9.6.1.tar.gz
4 、编译工具:
powerpc-linux-gnu-gcc
二、 移植步骤
实现 DNS 功能的软件 BIND 有两个依赖库,分别为: openssl 与 libxml2 ,所以我们首先需要准备好这两个库。
1 、交叉编译 openssl
a )创建工作目录
假设我的工作目录为 /root/Aaron ,
# cd /root/Aaron
# mkdir openssl-0.9.8k
# cd openssl-0.9.8k
# mkdir compressed install source
其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。
b )获取源码包
从 http://www.openssl.org/ 上获取 openssl 的最新稳定版本,目前为 0.9.8k 。
将源码包拷贝到 compressed 目录下,
# cp openssl-0.9.8k.tar.gz /root/Aaron/openssl-0.9.8k/compressed
c )解压源码包
# cd /root/Aaron/openssl-0.9.8k/compressed
# tar –zxvf openssl-0.9.8k.tar.gz –C ../source
d )生产 Makefile 文件
# cd ../source/openssl-0.9.8k
# ./Configure –prefix=/root/Aaron/openssl-0.9.8k/install os/compiler:powerpc-linux-gnu-gcc
e )编译并安装
# make
# make install
2 、交叉编译 libxml2
a )创建工作目录
假设我的工作目录为 /root/Aaron ,
# cd /root/Aaron
# mkdir libxml2-2.7.3
# cd libxml2-2.7.3
# mkdir compressed install source
其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。
b )获取源码包
从 http://xmlsoft.org/ 上获取 libxml2 的最新稳定版本,目前为 2.7.3 。
将源码包拷贝到 compressed 目录下,
# cp libxml2-sources-2.7.3.tar.gz /root/Aaron/ libxml2-2.7.3/compressed
c )解压源码包
# cd /root/Aaron/ libxml2-2.7.3/compressed
# tar –zxvf libxml2-sources-2.7.3.tar.gz –C ../source
d )生产 Makefile 文件
# cd ../source/ libxml2-2.7.3
# CC=powerpc-linux-gnu-gcc ./configure –prefix=/root/Aaron/ libxml2-2.7.3/install –host=powerpc-linux-gnu
e )编译并安装
# make
# make install
3 、交叉编译 bind
a )创建工作目录
假设我的工作目录为 /root/Aaron ,
# cd /root/Aaron
# mkdir bind-9.6.1
# cd bind-9.6.1
# mkdir compressed install source
其中 compressed 用于存放源码包, install 为软件安装目录, source 为源码包解压目录。
b )获取源码包
从 https://www.isc.org/ 上获取 bind 的最新稳定版本,目前为 9.6.1 。
将源码包拷贝到 compressed 目录下,
# cp bind-9.6.1.tar.gz /root/Aaron/ bind-9.6.1/compressed
c )解压源码包
# cd /root/Aaron/ bind-9.6.1/compressed
# tar –zxvf bind-9.6.1.tar.gz –C ../source
d )生产 Makefile 文件
# cd ../source/ bind-9.6.1
# CC=powerpc-linux-gnu-gcc LDFLAGS=-static BUILD_CC=gcc ./configure –host=powerpc-linux-gnu –with-openssl=/root/Aaron/openssl-0.9.8k/install –enable-epoll=no –with-randomdev= --disable-linux-caps –with-libxml2=/root/Aaron/libxml2-2.7.3/install
e )编译并安装
# make
# make install
f )移植
将 /usr/local/sbin 、 /usr/local/bin 、 /usr/local/include 、 /usr/local/lib 、 /usr/local/share/man 下新生成的与 bind 有关的文件拷贝到目标机的相同目录下。
这样,移植工作就基本完成了,接下来就是配置了。这方面网上的文章很多,有空的话我也另开一篇写写。
移植DNS服务bind的更多相关文章
- 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)
环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...
- 【Linux】DNS服务-BIND基础配置(二)
BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...
- 【Linux】DNS服务-BIND基础配置
1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...
- (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.conf、/var/named)设置实现和解释
2015年3月24更新 添加了要加的配置域名解析器(否则会找不到域名) 一.创建该实验的的模型 配置完gate虚拟机的两张网卡后,就启动gate的转发 [root@localhost ro ...
- 使用Bind搭建DNS服务
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...
- dns 服务架构优化 - 百万级并发不是梦 - bind+namedmanager+dnsmasq
bind: DNS服务端. namedmanager: DNS web管理页面. dnsmasq: 并发查询上游dns域名解析. 问题:作为消息推送业务,单台业务机器域名解析并发达到上万次.业务机器集 ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- Bind搭建DNS服务
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...
- DNS解析原理与Bind部署DNS服务
DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...
随机推荐
- mapreduce执行流程
角色描述:JobClient:执行任务的客户端JobTracker:任务调度器TaskTracker:任务跟踪器Task:具体的任务(Map OR Reduce) 从生命周期的角度来看,mapredu ...
- 在eclipse中下载包含子模块(Submodules)的git项目
先将项目下载下来 , 这时由于是子项目的原因 , 下载的项目中不包含任何子项目 . 这时在eclipse的Git Repositories中 , 选中Submodules , 右键点击update即可 ...
- i++与++i 辨析
i++:先赋值在自加: ++i:先自加在赋值: 备注:在赋值运算中有区别,单独使用没有区别 ( 例子1:单独使用 for(int i=0;i<10;i++){ } for(int i=0;i&l ...
- CRM报表打印
删除路径下的文件 C:\Windows\Downloaded Program Files\rsclientprint.dll路径下的这个dll文件,重新登录crm选择一个面单点击打印按钮重新安装插件
- $.ajax()引发的对Deferred的总结
传统的ajax写法: $.ajax({ url:"1.json", type:"get", success:function(data){}, error:fu ...
- 倍增法lca
][N],siz[N];//rt数组需要在dfs之前置-1. void dfs(int pos,int deep){ dep[pos]=deep; siz[pos]=; for(edge *it=ad ...
- 在Eclipse ee中成功使用jQuery UI插件
关键代码截图如下:
- Android--创建对话框AlertDialog
学习Android过程中发现showDialog().onCreateDialog()这些方法从Android4.0开始都过时了. 官方推荐使用DialogFragment类来创建对话框. 1)布局文 ...
- 项目管理: Maven 让事情变得简单
http://maven.apache.org/, Maven其实就是为java实现的一个构建工具.他比Ant更高端. 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗 ...
- sql 获取filename
select Substring(ORIGINAL_IMAGE,len(ORIGINAL_IMAGE)-charindex('/',reverse(ORIGINAL_IMAGE))+2,len(ORI ...