儿童编程语言

  categories:资料  author:

一、Scratch

Scratch 是由麻省理工学院媒体实验室 Lifelong Kindergarten 小组开发的一种编程语言和在线社区。Scratch 的服务是免费的,它允许你的孩子创建自己的动画,游戏和故事。你的孩子可以通过 Scratch 的在线社区与世界各地的其他人一同分享创造的成果。

这个也是王颢老师经常在公众号《科学小实验》提到的,由于使用的人很多,有很多参考的作品,对于缺乏想象力的王颢老师来说是一大福音。

而且这种语言还有机器人版,所以和开源硬件结合起来真是绝代双骄,绝对比乐高的Mindstorms火爆。对了忘记告诉大家,Mindstorms是乐高和MIT合作产生的,跟Scratch是一个爸爸的。只是呢,Mindstorms被乐高抱养走了,Scratch还留在家里,哈哈!

以后王颢老师充分发挥自己硬件特长,将这个语言扩展到4岁以上的孩子,要是爸爸们对机器人感兴趣,也可以和孩子一块玩哦!

 

http://www.scratchchina.com/bbs/forum.php

http://www.scratchplus.cn/

 

二、Etoys

Etoys 是一个易于使用的编程工具,孩子们可以用它来创建他们自己的游戏,模型和故事。Etoys 的开发项目包含了图形、动画对象、音乐、声音、扫描图片和文本。Etoys 是免费的,可以自由使用。

这个也蛮简单的,可以学学,当然大家先了解了解。另外 王颢老师精力有限,只教大家其中一种就行,感兴趣的可以自学。

http://www.squeakland.org/download/

 

三、Alice

Alice 一个可免费使用的 3d 编程工具,它支持创建一个讲述故事的动画,并在网络上将交互行为和视频进行分享。Alice 的主要目的是给你的孩子接触基本的面向对象编程。通过使用 Alice,学生可以学习如何创建动画电影(包含人、动物和车辆)和简单的视频游戏。

王颢老师看评论,感觉偏向女孩子,但是用起来也比较简单。

四、Hopscotch

Hopscotch 的宣言是为每个人设计编程。通过使用 Hopscotch,你可以很轻松的教授给你的孩子基本的编程知识。目前 Hopscotch 应用只针对 iPad … 阅读全文

MongoDB 管理工具: Rockmongo

  categories:资料  author:

RockMongo是PHP5写的一个MongoDB管理工具。
通过 Rockmongo 你可以管理 MongoDB服务,数据库,集合,文档,索引等等。

它提供了非常人性化的操作。类似 phpMyAdmin(PHP开发的MySql管理工具)。

Rockmongo 下载地址:http://rockmongo.com/downloads

rockmongo


简介

主要特征:

  • 使用宽松的New BSD License协议
  • 速度快,安装简单
  • 支持多语言(目前提供中文、英文、日文、巴西葡萄牙语、法语、德语、俄语、意大利语)
  • 系统
    • 可以配置多个主机,每个主机可以有多个管理员
    • 需要管理员密码才能登入操作,确保数据库的安全性
  • 服务器
    • 服务器信息 (WEB服务器, PHP, PHP.ini相关指令 …)
    • 状态
    • 数据库信息
  • 数据库
    • 查询,创建和删除
    • 执行命令和Javascript代码
    • 统计信息
  • 集合(相当于表)
    • 强大的查询工具
    • 读数据,写数据,更改数据,复制数据,删除数据
    • 查询、创建和删除索引
    • 清空数据
    • 批量删除和更改数据
    • 统计信息
  • GridFS
    • 查看分块
阅读全文

Gossip 协议

  categories:资料  author:

背景

Gossip 算法又被称为反熵(Anti-Entropy),熵是物理学上的一个概念,代表杂乱无章,而反熵就是在杂乱无章中寻求一致,这充分说明了 Gossip 的特点:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节可以通过网络连通,最终他们的状态都是一致的,当然这也是疫情传播的特点。
简单的描述下这个协议,首先要传播谣言就要有种子节点。种子节点每秒都会随机向其他节点发送自己所拥有的节点列表,以及需要传播的消息。任何新加入的节点,就在这种传播方式下很快地被全网所知道。这个协议的神奇就在于它从设计开始就没想到信息一定要传递给所有的节点,但是随着时间的增长,在最终的某一时刻,全网会得到相同的信息。当然这个时刻可能仅仅存在于理论,永远不可达。

实现

gossip 协议有多种实现,这里说一个例子当节点启动时,读配置文件,然后向一个 seed 发送信息,进行信息同步,然后开始没秒都随机选择一个 seed 节点来同步信息
1、随机取一个当前活着的节点,并向它发送同步请求
2、向随机一台不可达的机器发送同步请求
3、如果第一步中所选择的节点不是 seed,或者当前活着的节点数少于 seed 数,则向随意一台 seed 发送同步请求

应用

Cassandra
Cassandra 主要是使用 Gossip 完成三方面的功能:
失败检测
动态负载均衡
去中心化的弹性扩展
Consul

参考数据节选到这里
Gossip算法因为Cassandra而名声大噪,Gossip看似简单,但要真正弄清楚其本质远没看起来那么容易。为了寻求Gossip的本质,下面的内容主要参考Gossip的原始论文:<<Efficient Reconciliation and Flow Control for Anti-Entropy Protocols>>。… 阅读全文

cassandra学习笔记–安装篇

  categories:资料  author:

Cassandra简介(注:该段介绍来自baidu百科)

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

    功能

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。

这里有很多理由来选择Cassandra用于您的网站。和其他数据库比较,有三个突出特点:

    模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。

    真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

    多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

 

一些使Cassandra提高竞争力的其他功能:

        范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

        列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。

        分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

        应用客户:twitter、facebook等

Cassandra安装:

        第一步: 下载Cassandra   http://cassandra.apache.org/

第二步:解压缩与配置

将压缩包解压后复制你想安装的目录下,这里我安装在D:/apache-cassandra-0.6.1/目录中

安装目录

打开conf文件夹,可以对下面的相关配置文件进行配置,也可以使用默认.

你可以根据自己需要更改日志、数据库存放目录等参数

1) 修改conf目录下的log4j.properties文件:
log4j.appender.R.File=D:/apache-cassandra-0.6.1/logs

2) 修改conf目录下的storage-conf.xml文件:

阅读全文

软件企业从Subversion迁移到Git 真的准备好了吗

  categories:资料  author:

除了人,软件公司最宝贵的就是代码了,这些代码大多储存在Subversion(以下简称”SVN”)这样开源的版本控制系统(VCS)中。代码是容易修改和变更的,因此,代码的备份、历史追踪、协同编辑等任务同样需要版本控制系统完成。从最早本地VCS系统RCS、1990年CVS、2000年SVN,到如今开源世界风头正健的Git,同语言编辑工具一样,SVN、Git都是程序员的必备利器。随着GitHub的流行,很多软件企业开始计划转向Git,但是企业真的准备好了吗?

从SVN到Git,不仅仅是工具的替换,还有基于其上的工具和一些管理流程的变化。笔者建议:软件企业需要评估自己当前的状态和企业文化,认真考虑商业目标,谨慎迁移。我们不妨从以下几点来探讨一下。

陡峭的学习曲线

对于采用SVN进行管理的企业,Git相对复杂,开发工程师的学习曲线并不平缓。

Git的命令分为高层和底层,常用的高层命令约有30多个,与SVN近似。这些操作不能继承SVN的经验,因此工程师需要重新学习branch、merge、reset、rebase、revert、pull、fetch等操作命令,需要重新了解哈希值格式的版本号,并用它来进行检出、比较等。

对于较多使用word、ppt、excel、图片、IDE等工具的人员来说,从类似FTP的SVN转向Git ,学习过程会比较痛苦。

缺少角色授权和文件级访问控制

Git作为开源自由原教旨主义项目,它没有对版本库的浏览和修改做任何的权限限制。Git的创始人Linus Torvalds 也曾说:“不要让权限成为政治的理由,Git没有权限控制。”

由于缺少角色授权,因此在组织结构管理上比较困难。实际操作中,一个Git仓库用来实现一个项目,大型项目可能需要许多Git仓库配合实现。在SVN中不同项目在不同目录中,通过角色授权完成组织结构的规划。

实现商业目标的软件企业显然需要文档或代码的访问授权和控制,目前Git本身是不支持的,需要集成第三方工具实现访问控制。

有限的目录检出功能

SVN是一个中心仓库和众多客户端目录的关系,因此,SVN用户都熟悉工作在某个目录上,在不同的工作计算机上,检出目录就可以编辑。然而,Git是一个中心仓库和众多客户端仓库的关系,你必须工作在整个仓库上,虽然在Git1.7版本后支持了类似目录检出的功能,但仍要先检出整个仓库。软件企业的工程师常同时在多个项目中工作,如果修改一点东西就需要克隆仓库,对故障响应将有影响。

浪费已投入的开发成本

软件开发生命周期管理工具的基础是版本控制系统,各商业软件开发管理平台都是基于自主研发的版本控制系统,在此基础上扩展到项目管理、文档管理、代码评审、发布部署、缺陷管理等。基于SVN的开源或自主研发的管理工具非常成熟多样。迁移到Git,则完全浪费了投入到SVN管理工具的开发成本。

图形化工具及接口不够强

虽然Git的图形工具正在增多,但在Windows下还需要等待这些开源工具增强功能。同时,Git的接口待加强,与众多工具集成待完善,这些都是需要时间来解决。

目前很多人倡导的Git的优点并非不可替代

Git速度快,但是SVN使用用廉价的高性能主机同样可以提升速度;Git无需网路也可以工作,但当前稳固的网络基础环境和多样的接入方式,让SVN并不担心网络问题。另外Git方便地处理分支的特性,如果通过控制开发节奏,增加评审,减少分支数量,就可以让分支合并更简单快键,开发会更有效率,SVN也可以更好地管理分支。 SVN的1.7版本以不兼容旧版客户端的代价新增和改进了很多功能,开始向Git靠拢,这也使SVN具备Git的特性。

鉴于以上分享的几个基本点,建议企业谨慎迁移。

笔者对某些场景的命令进行了比较,下表是在Git-1.7 和SVN-1.6上测试的,目的是为了说明SVN的操作经验在Git上不能直接套用,当然Git也有许多独特的优秀功能。

场景SVNGit
操作动作追踪所有的操作均作为一次提交,并分配版本号,可追踪可以撤销某次提交、合并的动作,好像没有发生一样
引用公共库用链接目录实现
$svn propset svn:externals < module name>
阅读全文

Git 权限控制

  categories:资料  author:

除了 Git 命令,权限控制也是 Git 中极为重要的组成部分,本文主要介绍 GitLab 系统提供的最常用的权限控制功能。

分配成员角色

首先来了解下,Git 中的五种角色:

角色描述
OwnerGit 系统管理员
MasterGit 项目管理员
DeveloperGit 项目开发人员
ReporterGit 项目测试人员
Guest访客

每一种角色所拥有的权限都不同,如下图:

Git 权限控制Git 权限控制

我们需要做的是,为项目成员分配恰当的角色,以限制其权限。

锁定受保护分支

在对 Git 不熟悉的时候,时常苦恼于各个分支不受约束,任何开发人员都可以向任何分支直接推送任何提交,各种未经审查的代码、花样百出的 Bug 就这样流窜在预发布分支上。

其实我们可以通过 GitLab 的受保护分支(Protected

阅读全文

MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较

  categories:资料  author:
 Hadoop获得了许多大数据应用的信誉,但实际情况是,NoSQL数据库是一直处于更加广泛部署和更广泛的发展中的技术。尽管选择Hadoop作为应用存储,相对来说更直接简单。但是,具体采用什么样的NoSQL数据库是个值得思考的问题,毕竟,还有超过100种的NoSQL数据库。

我们应该选择哪一种?

选择倾向

“任何像样规模的企业都会使用各种不同类型的数据存储技术,为应对各种不同类型的数据。”Martin Fowler认为,现实的情况是你没有足够的精力去学习更多的存储技术。

幸运的是,选择越来越容易,因为市场主要围绕在三个NoSQL数据库上:MongoDB,Cassandra(主要由DataStax开发的,诞生于Facebook),和HBase的(和Hadoop紧密关联在一起,也被相同社区开发出来)。

补充一点,我故意排除Redis。相对于大数据存储,它主要用于高速内存缓存数据应用。

从LinkedIn的451研究数据显示,市场上最具引力的是MongoDB、Cassandra和HBase:

这是LinkedIn的个人资料数据。我们认为是数据存储引擎,它通过收集工作、搜索等数据,来了解数据库的热门程度。而Oracle,SQL Server和MySQL的占据了统治地位,MongoDB的(第5位),Cassandra(第9位),和HBase的(第15位)。

为了更好解释为什么这三个数据库技术的如此耀眼,我问的每一个具有代表性的人,以确定它们成功关键因素:Kelly Stirman,MongoDB的产品总监;Patrick McFadin,DataStax的Cassandra首席布道师;和Justin Kestelyn,Cloudera高级总监。

但首先,我们需要了解为什么使用NoSQL的原因。

世界由非结构化数据构成

我们生活在一个数据越来越丰富的世界里,但是这些数据都不能整齐的展示在一个RDBMS(Relational Database Management System,关系数据库管理系)的行和列中。移动、社交和云计算催生了庞大的海量的数据。根据估计,世界上90%的数据是在过去两年中被创造,以及80%的商业数据是非结构化的。更重要的是,非结构化数据的增长速度是结构化数据的两倍。

随着世界的变化,数据管理要求开始超越传统的关系型数据库的有效范围。最早关注这个问题解决方案的机构,包括Web技术的先驱、政府机构、从事信息技术服务的公司。

现在越来越多,形形色色的公司都希望利用类似的NoSQL和Hadoop作为替代品:通过NoSQL来建立业务运营应用,以及Hadoop来创建数据挖掘的应用程序,来帮助公司对商业数据提供有力的研究。

MongoDB:源于开发人员,为开发人员服务

在众多NoSQL的方案中,MongoDB的Stirman指出,MongoDB的瞄准了适合各种应用的平衡的方法。它的功能接近于传统的关系型数据库,MongoDB的用户不仅可以利用其横向扩展机器的云基础架构的优势,并且,因为它能够轻松定义各种灵活的数据模型,所以可以支持不同类型的数据集存储。

MongoDB通常是开发人员第一个尝试的NoSQL数据库,因为它是很容易学习。Will Shulman,MongoLab(一个MongoDB服务提供商)的CEO,是这样说的:

MongoDB中的成功在很大程度上是因为它数据结构存储的创新,让我们更容易和更具表现力地定义我们应用程序中的数据模型。在通常开发和应用场景中,和原有数据库具有相同的基本数据模型是有极大好处的,因为它简化了应用程序开发的任务,另一方面,消除了复杂的数据格式代码转换层。

当然,像任何其他技术一样,MongoDB中都有其长处和短处。 MongoDB是专门为OLTP(On-Line Transaction Processing,联机事务处理系统)模式。如果您需要复杂的事务处理,它不是一个好的选择。然而,MongoDB的简单性使其成为一个优秀的存储。

(注:MongoDB以文档的形式存储数据,不支持事务和表连接。因此查询的编写、理解和优化都容易得多。)

Cassandra:规模化安全运行

三种数据库中,至少两种数据库具有简单特性:开发简单,操作简便。而MongoDB赢得人心的原因是简单的开发应用,Cassandra赢得人心是因为易于管理的规模。

DataStax的McFadin告诉我,用户往往倾向于使用Cassandra ,是因为特别在大规模集群下,增强一个关系型数据的性能、可靠性是非常困难的。一位前甲骨文DBA,McFadin是兴高采烈地发现,“复制和可扩放性是基础”,Cassandra 特点是从一开始设计就解决这个问题。

在RDBMS中的世界,数据库功能,拓展和复制对很多开发者用户来说,是一个难题。这个问题在过往的企业规模小的时候,不是一个大问题。而在今天,它很迅速地成为大问题。

我从McFadin和其他人那里获知,Cassandra在机器拓展部署上,表现特别出色。Cassandra自带的备份机制,保证各个数据中心的数据安全。至于增加容量到集群,“你只需启动一台新机器,并告诉Cassandra那里的新节点,”McFadin说,“然后,它完成其他剩下的事情。”

优秀的可拓展性,加上出色的写入和可观的查询性能,加起来成为Cassandra高性能的核心。

阅读全文

再见MongoDB,你好PostgreSQL

  categories:资料  author:

大约在5年前Olery创立了,那时的Olery只有Reputation一个产品,同时还是由一个Ruby开发代理机构开发的,经过了几年的发展,现在的Olery除了Reputation产品之外还发布了很多其他的产品,包括:Olery Feedback、Hotel Review Data API以及一些能够被嵌入到网页内的部件(widget),在不久的将来,Olery将会提供更多的产品和服务。之所以能够取得如此巨大的成功,主数据库的作用可谓功不可没,那么Olery的数据库架构是如何演进的呢?最近Yorick Peterse在Olery的开发者网站上发表了一篇题为《再见MongoDB,你好PostgreSQL》的文章对此进行了介绍,本文根据此文翻译整理而来,查看英文原文请点击这里。

最初,Olery的数据库体系包含两部分:使用MySQL存储关键数据(用户、通讯录等);使用MongoDB存储评论以及其他与之相似的数据(丢失之后能够很容易找回的数据)。这种配置在刚开始的时候还能满足业务需要,但是随着公司的发展,问题就开始出现了,特别是对MongoDB的使用,这其中有一些问题源于应用程序与数据库的交互方式,而另一些则源于数据库本身。

例如,在某个时间点Olery必须从MongoDB中移除大约一百万文档然后稍后再重新插入它们。这种处理方式造成的后果就是:数据库几乎会被完全锁定几个小时,性能非常低,除非使用MongoDB的repairDatabase命令执行数据库修复,但是由于数据库比较大,该修复命令也需要耗费数小时的时间。另一个例子是Olery注意到应用程序糟糕的性能源于MongoDB集群,但是却无法进一步找到问题的真实原因,无论配置什么指标、使用什么工具或者运行什么命令都找不到原因,直到Olery替换了集群的主节点才让性能恢复正常。

这样的例子还有很多,其核心的问题不仅仅是数据库会出毛病,还包括当问题出现的时候用户完全无迹可寻。

无模式的问题

Olery面对的另一个核心问题是MongoDB是无模式的。无模式听起来可能比较有趣,同时在某些情况下这样做也有一定的好处,但是大部分情况下使用无模式的存储引擎会引发隐式模式的问题。这些模式并不是由存储引擎定义的,而是基于应用程序的行为和期望定义的。

例如,你可能有一个页面集合,应用程序期望从中获取一个字符串类型的title,这种情况下模式虽然没有明确定义,但也清晰可见。但是如果数据结构随着时间发生了变化,这种方式就会出现问题,特别是当旧数据没有迁移到新数据结构上的时候。例如,假设有下面的Ruby代码:

 post_slug = post.title.downcase.gsub(/\W+/, '-')

这段代码适合所有包含title域的文档,但是如果文档使用了不同的域名称(例如post_title),或者没有类似的title域,那么这样写就会出现问题。为了处理这种情况,必须将代码调整为下面这样:

 if post.title
  post_slug = post.title.downcase.gsub(/\W+/, '-')
else
  # ...
end

处理该问题的另一种方式就是在模型中定义一个模式,例如使用Mongoid。这样做还解决了另一个问题:可重用性。如果你只有一个应用程序,那么在代码中定义模式并不是大事,但是如果你有数十个应用程序,那么这样做很快就会成为一个大麻烦。

无模式存储引擎的期望是通过移除模式让用户使用起来更容易。实际上,用户需要自己确保数据的一致性。在某些情况下这种方式可能比较好,但是大部分情况下这可能是一个弊端。

一个优秀数据库的要求

针对以上问题以及自身的业务需要,Olery认为应该从以下4个方面衡量一个数据库:

  1. 一致性
  2. 数据以及系统行为的可见性
  3. 正确性和清晰度(explicitness)
  4. 可扩展性

一致性是非常重要的,因为它能够帮助一个系统建立明确的期望。如果数据始终按照某种方式存储,那么使用这些数据的系统就会变得非常简单。如果某个域在数据库层面是必须的,那么应用程序就不需要检查该域的存在性。同时即使压力非常大,数据库也应该能够保证某些操作可以完成。

可见性包括两个方面:系统本身以及从系统中获取数据的简单程度。当系统出现问题的时候用户可以很容易地调试。另外,用户也可以很容易地检索到所需的数据。

正确性指系统的行为要符合期望。如果某个域被定义为数字类型,那么任何人都不能插入文本。众所周知,MySQL在这一方面做的并不好,它没有阻止用户这么做,以致于数据中可能包含错误的内容。

可扩展性不仅指性能,还包括财务成本以及随着时间的推移系统是否能够很好地处理变化的需求。

远离MongoDB

阅读全文

浅谈 Mongo DB 的 oplog

  categories:资料  author:
当我们使用 Mysql 数据库的时候,可以开启 binlog,除了做主从同步以外,我们还可以通过观察检索binlog日志知道某个表在指定时间内的操作历史。

那么在 Mongo DB 中是否也存在这样的东东呢?答案是肯定的,这个东西就是 oplog。

当Mongo DB 被设置成主库时(这一点很重要),在 local db 下有个 collection 叫oplog.$main ,这个就是Mongo 的 oplog。

例如,我们在 test 库上创建一个 collection 叫 employee,插入一个叫“小王”的员工,然后将这个小王变性为“女”,删除掉这个叫小王的员工。这就是一个典型的CRUD操作了。

> use test
switched to db test
> db.employee.insert({name:”小王”, sex:”男”})
> db.employee.update({name:”小王”}, {$set :

阅读全文

DNS BIND之rndc介绍及使用

  categories:资料  author:
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。
使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。
rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。在当前版本的rndc 和 named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。

一、语法

    # /home/slim/bind/sbin/rndc -h  
    Usage: rndc [-b address] [-c config] [-s server] [-p port]  
            [-k key-file ] [-y key] [-V] command  
      
    command is one of the following:  
      
      addzone zone 阅读全文


快乐成长 每天进步一点点