Development
BerkeleyDB使用中的cache同步问题
今天被一个程序折腾了很久。大致的流程是这样:
事件处理:
- 打开db文件,如果已经打开,直接使用该handle
- 获得排他锁,并读某一key对应的value
- 根据value和一些环境信息以及事件所附带的输入计算新的value
- 更新value,并同步文件、释放排他锁
锁的机制没有大毛病,可是数据死活不对。
阅读全文…pure-ftpd配置作弊条
pure-ftpd是一款非常好的FTP服务软件。FreeBSD本身提供了两个很好的FTP服务器,一个是传统的BSD ftpd(8),另一个是来自NetBSD的lukemftpd(8),尽管性能和安全性都不错(做过全面代码审计),但配置虚拟用户会比较麻烦。
阅读全文…赞一个David Xu的libthr...
很多以前执行的不很好的、很Linux的程序,如Evolution、Firefox等等,libmap一下之后,突然都变得非常顺畅了……
参与评论HOWTO: upgrade OpenLDAP from a major release to another
Just for reference for future upgrades.
Today I managed to upgrade from OpenLDAP 2.2.29 to OpenLDAP 2.3.11. This is a large upgrade, so all and foremost thing is to backup. Additionally, to keep downtime as less as possible, build these stuff first!
On FreeBSD, the recommended way of installing third party software is to use ports(7). Note that OpenLDAP is separated into two ports, openldap2X-server and openldap2X-client, and building the server requires the client library, therefore, you can not easily do build on the production server (and this SHOULD be avoided anyway).
A solution is to use a separated box (or jail for smaller deployments), to build packages and use pkg_add to install them.
如何从目标代码、DDB backtrace找到崩溃的原因
今天复习了一次……
第一,你需要源代码编译出来的包含调试符号的目标代码。
第二,backtrace中的内容要尽可能完整。
FEGO上线了
从这里可以访问我在那里的网站。
参与评论First PDF produced for Handbook!
With the work from intron@ now we have the Chinese Project’s translations in PDF format!
参与评论FreeBSD 6.0-RC2
I think we would be going to release 6.0-RC2 soon, to encourage more testing against the recently caught issues that addressed several race conditions, etc.
参与评论Signal in init(8)?!
Strange thing happen.
- Start your FreeBSD single-user.
- Run /etc/netstart so your network is up.
- Run /etc/rc.d/sshd start so you have sshd
- Use ssh to login localhost, then su(1) to root
- Type “init q”
Then init(8) would crash with signal 11. Yes, it was killed. As soon as kernel found this, it would panic with “Going nowhere without my init!”.
参与评论Preparing for 6.0-RC1
Well, this Saturday and Sunday is not for rest, because we have a 7-days’ vacation from October 1.
I think FreeBSD 6.0-STABLE (RELENG_6) is in a quite nice shape and it’s a good time to cut 6.0-RC1 (also RELENG_6_0) and be more careful committing code against RELENG_6. However, according to my diff service there are still a lot of unmerged changes.
I have submitted a plenty (about 4 or 5 or even 6 dozens) of MFC requests last week. I wish that the diff reduction part of these changes, in conjunction with important bugfixes, would got approved soon so we will have a healthy RC1 for test.
参与评论