BIND安装
安装依赖:
yum -y install gcc openssl-devel
开始安装bind.
wget
./configure --prefix=/usr/local/bind
make make install
执行完成后,bind已经安装到了/usr/local/bind目录.
配置主dns服务器
配置bind主要是两种文件,一是主配置文件named.conf,二是区域文件zone(包括正解析,反解析).
主配置文件named.conf
首先执行rndc-confgen -a生成/etc/rndc.key密钥文件.
/usr/local/bind/sbin/rndc-confgen -a
vi /usr/local/bind/etc/named.conf
写入如下内容:
include "/usr/local/bind/etc/rndc.key";
logging {
channel audit_log { file "/var/log/bind.log"; severity notice; print-time yes; };
category default { default_syslog; };
category general { default_syslog; };
category security { audit_log; default_syslog; };
category config { default_syslog; };
category resolver { audit_log; };
category xfer-in { audit_log; };
category xfer-out { audit_log; };
category notify { audit_log; };
category client { audit_log; };
category network { audit_log; };
category update { audit_log; };
category queries { audit_log; };
category lame-servers { audit_log; };
};
options {
directory "/usr/local/bind/etc";
pid-file "/usr/local/bind/var/run/bind.pid";
transfer-format many-answers;
interface-interval 0;
allow-query { any; };
zone "qbtop.com" {
type master;
file "qbtop.com.zone";
named.conf文件说明:
上面的named.conf文件包括三部分:key,controls,logging,options,zone.
logging:设置日志服务器和日志信息的发送地.
options:控制服务器的全局配置选项和为其它语句设置默认值
zone:定义一个域,比如正解析域和反解析域.
logging是定义日志的,不需要深究,主要是options和zone.
在options中:
directory "/usr/local/bind/etc":定义bind的工作目录为/usr/local/bind/etc,配置文件中所有使用的相对路径,指的都是今天这一节配置的目录下.
pid-file "/usr/local/bind/var/run/bind.pid":把bind程序运行的pid写入文件bind.pid.
transfer-format many-answers:使用更加有效的域传输格式many-answers.
allow-query { any; }:允许所有用户查询dns.
在zone中:
他们的参数基本相同:
type master:定义dns服务器为主dns.
file "qbtop.com.zone":定义此zone的文件名.
正解析qbtop.com.zone
vi /usr/local/bind/etc/qbtop.com.zone
@ IN SOA ns1.qbtop.com. hostmaster.qbtop.com. (
@ IN NS ns1.qbtop.com.
文件说明:
定义SOA记录,包括Zone的名字,一个技术联系人和各种不同的超时值.
反解析zone可以不设置.
@ IN NS ns1.qbtop.com.
说明:
上部分是定义SOA记录,下部分是设置IP反解析.
配置从DNS服务器
下面我们来配置从DNS服务器.配置从DNS服务器只需要配置主配置文件named.conf,zone文件不需配置,因为这是从主DNS服务器获取的.
首先建立目录slaves用来存放从主dns获取的zone文件.
mkdir /usr/local/bind/etc/slaves
type slave;
file "slaves/qbtop.com.zone";
启动BIND
①.、在启动BIND之前,我们需要执行/usr/local/bind/sbin/named-checkconf检查named.conf配置文
件,和执行/usr/local/bind/sbin/named-checkzone zone名称
zone文件名,如/usr/local/bind/sbin/named-checkzone qbtop.com
/usr/local/bind/etc/qbtop.com.zone.
然后调试模式启动bind,/usr/local/bind/sbin/named -g,g参数的意思是前台执行bind,这会输出启动的信息,发现没有严重的错误后,再把g参数删除重新以/usr/local/bind/sbin/named方式后台启动bind.
手动添加记录
①.、直接添加删除或修改zone文件里的记录
to NULL. If an adapter algorithm can do SMBus access, set
smbus_xfer. If set to NULL, the SMBus protocol is simulated
/* master_xfer should return the number of messages successfully
processed, or a negative value on error */
int num);
unsigned short flags, char read_write,
/* To determine what the adapter supports */
【目的】
【方法】
方法1:
比如,对于读操作,就可以这么实现:
{
.buf = msgbuf,
msgbuf[0] = addr; //存放Sub Address,此处的Addr是寄存器地址,也就是Sub Address
msgbuf[1] = 0; //初始化
dev_warn(save_client-dev,
"can't read from afe /n");
return -ENOMEM;
}
*pdata = msgbuf[1];
return 0;
使用SMBUS的框架,其支持Sub Address
int ret;
if (ret 0)
return ret;
else {
然后函数调用顺序是
adapter-algo-smbus_xfer
那么此处此方法也是可以的.
而你的底层的master_xfer函数,只要负责将对应的message发送出去也就可以实现对应的功能了.
adap-algo-master_xfer去处理这个message,实现对应的读和写.
【注意】
而对于这个基本函数,即adap-algo-master_xfer,
都是要在实现的时候,注意上层传递过来的buffer的第一个字节是sub address,第二个字节才是要用于写入或读取的buffer.
举个例子说明一下:
将硬盘a克隆到硬盘b?:
可能在这个过程中的速度会比较慢,但是是有原因的,因为有用的和无用的数据都要复制.
——答案来自xisaiLinux界大牛老师
以上就是土嘎嘎小编为大家整理的xferlinux命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!