wensong's blog

静态链接openssl库

在Linux上缺省select的最大句柄数为1024。为突破这个限制,需要修改在一些头文件中__FD_SETSIZE的大小,例如,将 /usr/include/linux/posix_types.h 和 /usr/include/bits/typesizes.h 中__FD_SETSIZE的值改为8192。然后需要重新编译使用select的函数库和应用程序。不过,Linux 2.4和2.6的内核不需要重新编译。

由于我们的程序用到openssl,而openssl中用到select,所以我们需要重新rebuild openssl rpm。为了使得部署更简单一些(不想在每个平台上安装重新编译openssl rpm),我们可以考虑应用程序静态链接这个openssl库。

著名网络协议分析工具Ethereal更名为Wireshark

刚在网上看到Ethereal更名为Wireshark,尽管这是一个月以前的事。

June 7, 2006

The world's most popular network protocol analyzer has a new home!

Gerald Combs, the creator of the Ethereal® network protocol analyzer, has accepted a position with CACE Technologies. CACE is best known for the popular WinPcap packet capture library.

Along with the move comes a new name for the project: Wireshark.

This site (http://www.wireshark.org/) is the new home of the project. We look forward to continuing our success as world-class network protocol analyzer under the new name, and we welcome you to join us.

在链接时库的顺序问题

今天用GNU autotools编译原来的程序时,碰到一大堆undefined reference的链接错误。

/home/wensong/devel/dragon/services/ExpireRegistrations.hxx:14: undefined
 reference to `CThreadIf::CThreadIf()'
../services/libservices.a(StunService.o)(.text+0x12): In function
 `StunService::StunService(Service const&)':
/home/wensong/devel/dragon/services/StunService.cxx:17: undefined reference to
 `CThreadIf::CThreadIf(int)'
../services/libservices.a(StunService.o)(.text+0x3b):/home/wensong/devel/dragon
/services/StunService.cxx:17: undefined reference to `vtable for CThreadIf'

Valgrind 3.2.0 rpms

Valgrind是非常棒的调试和优化工具,尤其在内存检测方面。

刚针对最新的Valgrind-3.2.0,编译了在RHEL3/CentOS3上的rpm。

http://dragon.linux-vs.org/~wensong/packages/valgrind/

升级MediaWiki 1.4.15到1.5.8

因为服务器系统的关系,想将LVS知识库从MediaWiki 1.4.15升级到1.5.8。

按照文档中提示,备份数据库和文档,覆盖代码文件,修改LocalSettings,最后运行"php update.php",但是在改变watchlist表时总是失败。

[root@dragon maintenance]# php update.php
Content-type: text/html
X-Powered-By: PHP/4.3.2
 
Going to run database updates for lvskb
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds... 0
...hitcounter table already exists.

MediaWiki图形转换

前一阵子将一个MediaWiki系统从一台服务器迁移到另一台服务器上,发现图像的缩略图(Thumbnail Image)生成不出来,一直不知道原因所在。昨天才发现是新系统上没有安装ImageMagick的图像处理工具,而不是MediaWiki系统上其他补丁程序导致的。

[root@kb kb]# rpm -qf /usr/bin/convert
error: file /usr/bin/convert: No such file or directory
[root@kb kb]# yum install ImageMagick
Gathering header information file(s) from server(s)
Server: CentOS-3 - Addons
Server: CentOS-3 - Base
Server: CentOS-3 - Extras
Server: CentOS-3 - Updates

kayak元级搜索服务

http://www.kayak.com/

Kayak的面向机票、酒店和租车的元级搜索服务挺有意思的。系统可以吸引很多这方面的流量,投入不多。关键在于充分利用Web 2.0的技术,给用户提供个性化的服务。

cygwin + ssh X forwarding + emacs

因为有时需要在Windows上开发客户端,在Linux上开发服务端,所以用cygwin + ssh X forwarding + emacs来写server程序。但是,一拖动emacs或者选择emacs中的区域,emacs就崩溃,错误消息是“X protocol error: BadWindow (invalid Window parameter) on protocol request 38”。

解决方法是用ssh 0.9.8或后续版本中的Trusted X11 Forwarding选项可以避免这个崩溃问题。

ssh -Y host

   -Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
           subjected to the X11 SECURITY extension controls.

第4届东北亚开源软件推进论坛

4月13、14号在天津参加了第4届东北亚开源软件推进论坛,见到了一些有名的自由软件人士,如Ruby语言的创造者Yukihiro Matsumoto先生。Yukihiro为人低调,从1990年开始写自由软件,到现在已有16年,在会议间隙还在研读《Garbage Collection》书籍,值得我们学习。

ITIVA: Quantum Streaming

有朋友让我看看ITIVA系统(http://www.itiva.com/)的技术和有效性。

从面前网站上描述来看,ITIVA的主要想法是将大的媒体文件拆成很多个静态文件片,这样ISP的透明Cache可以缓存这些文件片,可以降低媒体发送平台的带宽压力。将媒体文件拆成很多静态文件片,这样使得第三方要从文件片装配成一个完整的文件变得困难,有助于保护媒体文件的版权。

是否能有效地降低媒体发送平台的带宽压力,要看是否多数ISP部署了透明的Cache系统。当然也通过CDN帮助发送。所以,这样的系统可以分为四层次来发布媒体文件:中心Web系统、CDN系统、ISP的透明Cache系统、客户端。

页面

Subscribe to RSS - wensong's blog