2012年8月22日 | 标签:

在安装之前需要修改/etc/yum.conf,在底部添加

    multilib_policy=all
 
执行以下命令:
yum install libgcc
yum install libstdc++
yum install libXtst
yum install libXmu
yum install libXp
yum install libXft
yum install libXi
yum install gdb
yum install ld-linux.so.2
 
2012年8月18日 | 标签:

没有任何工具是万能的,每个语言/框架都是自己的优缺点,自己的适用环境,作为用户,我们需要扬长避短,规避陷阱,最大化其优点,而做到这一步的前提是你必须非常的了解它,否则就会得出 "XXXX is a cancer" 之类的无稽之谈。 

Node 作为一个新兴的系统编程、网络编程平台,目前为止还没有一个较明确的、权威的编程规范,而在团队协作中,编程规范的重要性无需多说,它甚至能很大程度上影响一个项目的成败,JavaScript 语言本身设计上的一些缺陷,再加上Node这种“诡异”的异步编程模型,都使 Node 编程中随处可见一些大大小小的陷阱, 如何规避这些陷阱,如何对 Node 程序进行瓶颈优化,如何无缝的接入Node 大社区、更有效的利用社区资源,如何在团队项目中流畅协作,这一切都呼求一个统一的编程规范… 
每一个 语言/框架 都有其独特的社区文化,入乡随俗永远是对的,尽管有印度英语、Chinese 英语,但最纯正的,最有贵族范儿的, 不还是伦敦口音吗? ^_^ 
目前对Node 社区编码风格 及 开发中的常见问题稍作总结,主要分为以下几个部分: 
 
编码风格 
借鉴了以下3个编码风格,本着简洁实用的原则,提取出不到20条
Google Style:
Drupal:
Felix’s Node Style Guide (Node core team member) 
 
陷阱缺陷/性能优化/惯用手法 (暂时放一起,以后不排除拆分可能) 
本项分为3个子项:
General JS (即普遍的JS 优化技巧)
V8 JS         (发掘V8 本身的特征,充分利用)
Node JS   (Node 框架的一些陷阱与优化技巧)
 
思维/理念/风险控制 
目前写的条目不多,主要是搭个框架,进行分门别类强烈希望大家多多参与,多拍板砖,贡献条款,共同制定、维护一个具有先进的指导意义并能在真实项目开发中发挥切实作用的编码规范…
 
2012年4月7日 | 标签:

 

Notes认证
        在这一部分,我们将讨论 Lotus Notes和D o m i n o是如何利用 Notes Remote ProcedureC a l l s ( N R P C )进行认证的。正如前面我们所说的, N o t e s认证是基于验证字的,而且使用了基于密码技术的公共密钥。
        请注意这种认证技术跟 X . 5 0 9认证很相似,请参考本书其他部分关于 X . 5 0 9的相关技术的介绍。
校验和认证
        在D o m i n o中有两个安全性过程使用客户机标识符中的信息来校验客户机是否合法。校验下载是第一个过程,它建立对客户机公用密钥的信任。如果校验成功,那么就开始第二个过程:认证,它将核实用户的身份。认证在一个请求 / 响应的交互过程中使用客户机和服务器的公用和私有密钥。
        建立对公用密钥信任的规则是:
        1) 信任服务器或客户机在层次名称树中的任何祖先的公用密钥。 (祖先的公用密钥存储在服务器或客户机的标识符文件中)
        2) 信任任何从有效验证字(此验证字是由服务器或客户机在层次名称树中的任何祖先所提交的)中获取的公用密钥。
        3) 信任由任何可信验证者验证的公用密钥以及属于该验证者某个后代的公用密钥。
1. 校验
        现在让我们来看一看上述规则如何应用在校验过程中。 Bob Smith的标识符文件包含了所有用于确认他自己以及建立凭证所需的内容。当 B o b向服务器发出请求时, N o t e s工作站会把B o b标识符文件中的验证字发送给服务器。图3 – 1 8描述了校验的全过程。
  

 
 
 
        图中的步骤描述如下:
        1)  服务器A读取Bob Smith从标识符文件中发送的验证字 E a s t ,是Wi d g i t C o所签名的验证字。因为E a s t是B o b的验证字的验证者,所以服务器A对其感兴趣。
        2) 服务器A从它自己的标识符文件中读取Wi d g i t C o的公共密钥。
        3) 服务器A使用Wi d g i t C o的公共密钥校验验证字E a s t / Wi d g i t C o的有效性。
        4) 服务器A读取Bob Smith标识符文件发送的B o b的验证字,是E a s t签名的。
        5) 服务器A使用E a s t / Wi d g i t C o现在已被信任的的公共密钥来校验验证字 Bob Smith/ E a s t / Wi d g i t C o的有效性。
        6) 现在服务器A可靠地验证了Bob Smith的公共密钥的有效性。
        同样的过程也在相反方向进行,使B o b能可靠地验证服务器A。
2. 认证
        在校验过程完成后,认证过程开始。认证就是身份识别,上面描述的验证过程并没有完全证明谁是这一部分的伙伴,因为他们所提供的仅仅是一个验证字。验证字把公共密钥和用户联系起来,而且告诉接收者公共密钥可以信任。为了证明这个用户是否真的就是其宣称的那一个,用户还应该显示他们与验证字中的公共密钥配合的私有密钥。当在运行复制或邮件路由时,认证过程在工作站和服务器之间或两个服务器之间用“提问 /应答”对话框来获得用户私有密钥。
        我们继续上面Bob Smith访问服务器A的例子。图3 – 1 9,是实际认证过程的简化,用一种容易理解的方式描述了整个认证过程。
        1) 服务器A产生一个随机数和一个区段密钥,而且用B o b的公共密钥加密。
        2) 服务器A发送已被加密的随机数给Bob Smith。
        3) Bob接收“提问”然后用其私有密钥解密随机数。
        4) Bob Smith发回经解密的随机数给服务器A
        5) 服务器A将B o b所应答的数与随机数进行比较。
        6) 如果结果与原来随机数一致,服务器A就可以完全信任Bob Smith。
        与验证一样,认证也是一个双向的过程。B o b也用相应的提问/应答过程来认证A。
关闭基于验证字的认证
        当服务器设置为允许匿名访问后,Notes 用户和 Domino 服务器不需要有效的验证字即可访问服务器。服务器将不对他们进行校验或验证。使用匿名访问可以使公司之外的用户和服务器无需事先获得公司验证字就能够访问服务器。
        1) 在 Domino Administrator 中,单击“C o n f i g u r a t i o n”附签,然后打开“S e r v e r”文档。
        2) 单击“s e c u r i t y”附签。
        3) 在“Allow anonymous Notes connections”域中,选择“Ye s” 。
        4) 如果“s e r v e r”文档的“Server Access” “Who can”区段中的“Access Server”域中已有输入项,则在此域中输入A n o n y m o u s。
        5) 保存文档。
        6) 在希望允许匿名访问的所有数据库的存取控制列表中创建名为nonymous 的项目。指定适当的存取级别(一般为“R e a d e r s”存取级别) 。如果不将 Anonymous 作为一项添加到存取控制列表中,则匿名用户和服务器将获得” D e f a u l t”存取级别。
        7) 关闭并重新启动服务器以使更改生效,如图 3 – 2 0所示。
 
数据完整性工具
        数据库被复制或邮件信息在网络中路由传递时,有可能会被人篡改,为此我们必须能够告诉别人他所收到的数据是否跟所发出来的数据一致。
        为了知道数据是否被改变,我们使用数字签名技术进行处理。数据完整显示出数据的当前条件等于原来的“纯”条件,保证数据在传输过程中不被篡改。数字签名可以证明数据是作者所发出的,没有人修改过数据。原作者可以对邮件信息或域签名,也可以对 N o t e s文档签名。数据库设计者可以控制是否能在数据库的域或区段中签名;用户可以选择是否对邮件消息进行签名。D o m i n o使用N o t e s公用密钥和私有密钥进行电子签名(与加密使用的密钥相同) 。
        图3 – 2 1描述了N o t e s是如何进行电子签名的。
        对消息进行签名时, N o t e s产生散列数据(即:代表此数据的一个数字) ,然后使用数据作者的私有密钥来加密散列数据,形成签名。 N o t e s将把签名、签名者的公用密钥和签名者的验证字附加到数据中。当有人访问此签名数据时,校验签名者是否拥有来自读者信任的验证者的公用验证字或公用验证字祖先,如果是, N o t e s将使用与签名数据使用的私有密钥相对应的公用密钥对签名进行解密。如果解密成功, N o t e s将可以指出此消息的签名者;否则,N o t e s将指出不能验证此签名。消息未成功解密可能表明:此数据被篡改和(或)发件人没有读者信任的验证字。
数据可靠性工具
        当我们通过网络发送数据和邮件信息等时,任何能够利用跟踪或电子监听等技术截取网络包裹的人,原理上都可以在没有通过认证的情况下阅读您的数据。信息泄露将是一个严重的问题。为了解决这个问题,您将不得不劝告用户认真对待安全性问题,把所有外出邮件都加密。经验表明,更新计算机系统比改变人类本性更容易,因而我们经常应用下面的方法来解决数据安全问题。
        N o t e s提供了解决的方法:敏感数据在传输之前可以被加密成为不可阅读的格式;到达目的地后,数据才被解密。上述方法可以防止未授权人访问数据。 N o t e s使用基于加密密钥的加密机制,用于加密和解密数据以确保所接收的数据没有被其他人阅读过。
        完成身份认证后,客户机开始与服务器交换数据,大量数据将会经过网络。因此,使用有效的运算法则非常重要,N o t e s使用R S A的R C 2和R C 4法则为重要数据加密。
        下面我们简单介绍一下用户的许可证类型。 Notes 的许可证类型有三种:北美许可证、国际许可证和法国许可证。北美许可证和国际许可证几乎在各方面都是相同的:验证、认证、电子签名、服务器与用户之间的通信都是一样的。但两者之间存在一个重要的区别,美国政府对加密技术采取了限制措施,将北美许可证或用户标识符文件带出北美的行为是非法的。即使是美国公民在北美以外的地方旅行时,也必须使用国际许可证。北美许可证比国际许可证使用了更为安全的加密密钥。 N o t e s会自动指出信息的发送者或任一个接收者是使用安全性较少的国际许可证的。
        图3 – 2 2描述了北美许可证、国际许可证和法国许可证之间的区别。
        北美和国际版本的N o t e s都使用6 4位密钥,但是,国际版中2 4位使用了美国政府所拥有的公共密钥进行加密,只有美国政府才有解密的私有密钥。上述处理的结果是,一般袭击者必须破解6 4位加密,足以超出当前解密技术和硬件的实际条件;另一方面,对美国政府来说,只需要破解4 0位就可以得到它感兴趣的信息,这明显容易多了。
        独一无二的N o t e s加密技术允许国际版的N o t e s在北美版中使用长度等于6 4位的密钥,这大大提供了国际用户信息的安全性。由于法国政府的法律限制,法国版本的 N o t e s只能使用4 0位长的密钥。实际上三种版本的N o t e s都是相互可操作的。
        请记住两件事,如果用户不能再使用其标识符文件,或者是因为他们忘记了口令,或者是物理意义上丢失文件了。如果是这样,任何用他们公共密钥加密的邮件将永远丢失了,因为私有密钥在标识符文件中;另一方面,任何拥有您的私有密钥的拷贝的人都可以阅读您的加密邮件。所以您应该小心保护好自己的私有密钥。
1. 加密邮件信息
        图3 – 2 3显示N o t e s如何使用密钥加密和解密邮件信息:
        1) 在发送者加密信息时,N o t e s产生随机加密密钥来加密信息,随机加密密钥本身用接收者的公共密钥加密,然后附在信息上。N o t e s使用R C 2法则加密和解密数据。
        2) 当带有加密密钥的邮件到达时,接收者使用其私有密钥来解密。加密是有保证的,因为只有接收者的私有密钥可以解密信息。
        3) 当邮件发送时,不同的邮件产生不同的随机密钥。
2. Notes其他加密特性
        上面我们主要描述了 N o t e s加密邮件特性,但 Notes 也提供了其他一些加密信息的方法。
        • 数据库、文档、域、和网络中的数据传输可以使用不同的加密方法来进行保护 :
        • 数据库可以在本地安全性选项中使用用户和服务器标识符进行加密 ,这防止了未授权用户在本地工作站访问数据库,也可以防止用户使用操作系统制作一个数据库拷贝来获得访问数据库。
        • 域加密特性使用数据库设计者创建和分发的加密密钥来加密数据 ,从而限制未授权用户存取域数据。
        • 文档可以使用私有或公共密钥进行加密 ,密钥可以加到表单上,使得每一个用这个表单创建的文档都可以被加密,或者让用户可以利用他们自己的密钥进行文档加密。
        • 网络端口加密允许没有加密的数据进行端口级水平加密 ,使数据可以通过网络安全传输。网络端口加密可以在用户工作站设置 ,也可以在服务器选择: F i l e s – P r e f e r e n c e s – P o r t s ,修改端口定义来加密网络数据。
 
2011年12月6日 | 标签:

Linux平台上的Lotus Notes 8.53是基于32位处理器的应用程序,为保证正常安装我们需要解决其相应的对32位应用程序的库依赖,并调整相应的安装选项。

1. 安装32位库支持
    sudo apt-get install ia32-libs
2. 获取并配置32位软件包安装工具
    sudo wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb
    sudo dpkg -i getlibs-all.deb
3.安装缺失的32位依赖库
    sudo getlibs -p libavahi-client3 libavahi-common3 libavahi-glib1 libbonoboui2-0 libcroco3 libdbus-1-3 libdbus-glib-1-2 libesd0 libgnome2-0 libgnomecanvas2-0 libgnome-keyring0 libgnome-menu2 libgnomeprint2.2-0 libgnomeprintui2.2-0 libgnomeui-0 libgnomevfs2-0 libgsf-1-114 libgsf-1-dev librsvg2-2 librsvg2-common libselinux1 libavahi-client3 libavahi-common3 libavahi-glib1 libsepol1 libstartup-notification0 libxkbfile1 gtk2-engines-ubuntulooks gtk2-engines-murrine
4. 以强制模式安装32位Notes软件包
    sudo dpkg -i –force-architecture 

 

2011年11月13日 | 标签: ,

大家都清楚,domino消息撤回的设置如下:

按照不允许撤回早于以下时间的消息的理解,意思就是3分钟内发送的邮件不允许撤回。可消息总是不能撤回。然后单击域标题,出现弹出式解释,如下:

看到这,这里是说明发送的邮件在3分钟内可以被撤回。经测试,果真是这样。

进一步求证,查看英文版的names.nsf,如下:

本地化的工程师,真……太坑爹了。

参考文档:

http://www.ibm.com/developerworks/lotus/library/notes8-recall/

2011年11月5日 | 标签: ,

如题,出现以上错误信息,可以使用以下命令处理:

echo 1 > /proc/sys/vm/overcommit_memory

2011年11月2日 | 标签: ,

Domino服务器宕机的数据收集步骤(非HTTP)
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1897668A03001

关于Domino HTTP服务器宕机的数据收集步骤
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1897668A03002

Windows平台上Domino HTTP挂起的数据收集步骤
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1847668A03000

Unix平台上Domino HTTP挂起的数据收集步骤
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1807668A03000

Windows平台上Domino挂起的数据收集步骤(非HTTP)
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1847668A03001

Unix平台上Domino挂起的数据收集步骤(非HTTP)
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1807668A03001

如何设置服务器自动收集memory dump文件
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1897668A10000

2011年10月30日 | 标签: ,

  世界上最大的技术支持、软件和硬件公司每天使用Linux完成各种任务与解决方案,那么这些大公司究竟是怎么使用Linux的呢?其实并不神秘,本文为你揭晓答案,大多数公司都不会使用Linux作为桌面操作系统,主要是用于后端服务器操作系统,经过这些大公司的大胆尝试,许多事实证明Linux完全可以担负起关键任务计算应用,并且有很多Linux系统从开始运行至今从未宕过机,100%的正常运行时间让人无不惊叹,当然你也可以做到。

  1、虚拟化
  从桌面虚拟化到云,现在又回到桌面虚拟化,VMware是虚拟化产品做得最早也是目前最好的一家公司,现在它的主要产品也是基于Linux的,另外Citrix,Red Hat以及微软也是VMware的有力竞争者。
  2、数据库服务器
  Oracle和IBM都有企业级软件运行在Linux上,为什么?因为它们在Linux上可以工作得很好,Linux自身消耗的资源很少,因此它不会和数据库进行资源的抢夺,一个RDBMS需要一个稳定的,无内存泄露的,快速磁盘I/O和无CPU竞争的操作系统,Linux就是这样的系统,世界上已经有很多开发人员使用LAMP(Linux,Apache,MySQL和Perl/PHP/Python)和LAPP(Linux,Apache,PostgreSQL,Perl/PHP/Python)作为开发平台,也有很多关键应用系统是这么部署的。
  3、Web服务器
  我想现在任何人都知道Apache是世界上用的最多的Web服务器吧,至少最近10年是大家公认的事实上的Web服务器标准,那么它运行在什么平台上呢?答案是所有的平台都支持,但超过90%的Apache都是搭配Linux运行的。
  4、应用服务器
  Tomcat,Geronimo,WebSphere和WebLogic都是Java应用服务器,Linux为这些服务提供了一个稳定的,内存消耗很小的,可长时间运行的平台。IBM和Oracle也都非常支持Linux,它们也逐渐将Linux作为其软件系统的首要运行平台。
  5、跳转盒(Jump box)
  对于企业而言,跳转盒是一个为公共网络(如互联网)到安全网络(如客户部)提供的网关,这样一个廉价的系统也可以为大量的用户提供服务,而相对应的Windows系统需要成千上万美元的终端服务访问许可和客户端访问许可,并且对硬件的要求更高。
  6、日志服务器
  Linux是处理和存储日志文件的绝佳平台,听起来这是一个低级的任务,但它的低成本,低硬件要求,和高性能是任何需要日志服务的人的首选平台,大公司也经常使用Linux作为日志服务的低成本平台。
  7、开发平台
  Linux下有许多开发工具,如Eclipse、C、C++、Mono、Python、Perl、PHP等,毫无疑问,Linux是世界上最流行的开发平台,它包含了成千上万的免费开发软件,这对于全球开发者都是一个好消息。
  8、监控服务
  如果你要做网络监控或系统性能监测,那么Linux是一个不错的选择,大公司一般使用淘汰下来的硬件设备和自由软件搭建监控系统,如Orca和Sysstat都是Linux上不错的监控方案,IT专业人员利用它们可以实现自动化监控,无论你的网络是大是小,它们都能应付自如。
  9、Google搜索设备
  Google在Linux平台上构建起搜索设备,如果你的公司在使用这种设备,那么你就在使用Linux,但Google使用的Linux非常特殊,专门进行了定制和优化。
  10、入侵检测系统
  Linux天生就是一个完美的入侵检测服务平台,因为它是免费的,且可以运行在很多种硬件平台上,同时也是开源爱好者喜欢的平台,Linux上最着名的入侵防御和检测系统要数Snort,它也是开源且免费的。
  下面的话引自Snort网站:
  Snort是由Sourcefire开发的开源网络入侵防御/检测系统(IDS/IPS),结合了签名、协议和基于异常的检测,Snort是世界上部署最广泛的IDS/IPS,数以百万计的下载量和超过270,000位注册用户,Snort已经成为事实上的IPS标准。
  如果你还没有使用Snort,你应该尝试一下。
  总结
  通过上面10种Linux使用方式,相信你不会再觉得Linux是在夹缝中求生存,Linux也不只是为桌面,家庭用户及小公司而存在的,它在大公司中同样受到重用。
 
  你在你的公司是怎么使用Linux的呢?是个实验性的平台,还是一台DIY路由器,防火墙?欢迎发表你的意见和想法!
2011年10月28日 | 标签: , ,

命令:tar -g <增量备份标识文件> -zcvf <备份文件名> <需要备份的目录>

说明:-g:此参数没查到正确的描述,每次备份后,会将备份的信息记录在这个文件中,下次进行增量备份的重要依据。因此要实现增量备份,这个文件可不能丢。

例:tar -g ib.key -zcvf bak20111010.tar.gz /data/

运行以上命令后,将会对/data目录做一次全备,所有备份信息的状态全记录在ib.key这个文件中,当/data目录中文件有修改后,再一次运行:tar -g ib.key -zcvf bak20111011.tar.gz /data/

可以看到,在上一次全备后,所有修改过的文件才会被备份下来。你也可以通过tar -ztf bak20111011.tar.gz 查看包中的文件。

当要恢复备份时,则执行:

tar -zxvf bak20111010.tar.gz

tar -zxvf bak20111011.tar.gz

2011年10月21日 | 标签: ,

rsync -e "<rsh command>" -avzP <local filepath> <remote user>@<remote host>:<remote filepath>

-e COMMAND 指定替代rsh的shell程序
-a 表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD 
-v 详细模式输出
-z 对备份的文件在传输时进行压缩处理

例:rsync -e "ssh -i /opt/ca/prikey-pem" -avzp source.tar.gz backupuser@202.106.xxx.xxx:/backup/

参考链接:http://baike.baidu.com/view/1183189.htm

本WordPress博客由爱写字提供技术支持