使用OpenBSD一年的总结

栏目: 服务器 · 发布时间: 6年前

内容简介:我从去年首先介绍一下我使用的谈完了我使用的版本,再聊一下我使用

我从去年 8 月份起开始尝试使用 OpenBSD ,到现在已经有一年多的时间了,是时候做一个简单的分享了。

首先介绍一下我使用的 OpenBSD 版本。刚开始的时候,我使用的都是 -release 的版本。后来为了编译最新的源代码,就切换到了 -current 版本,也就是当前开发的版本。曾经有人评价说 OpenBSD-current 版本比有些软件的 -release 还要稳定,这也从另一个角度说明 OpenBSD 代码的质量很高。但是如果你真的打算在商用环境下使用 -current 版本,还是谨慎为妙,因为我就碰到过用了 -current 版本,系统无法启动的情况;此外也有过代码回滚的先例。所以如果你的系统很重要,在使用 -current 版本之前还是先找另外一台机器测试一下,这样比较保险。

谈完了我使用的版本,再聊一下我使用 OpenBSD 的主要用途:

(1)一本好的 Unix 教材。 OpenBSDman 手册和代码质量都很高。所以当我想深入了解一个 Unix 工具时,我会选择阅读 OpenBSD 上的代码实现和相应的手册。我曾经花费大块的业余时间阅读 netcat 的代码,当然收获也颇丰:不仅全面复习了网络编程的相关知识,发现 bug 并提交 patch ,还写了一本介绍 netcat 的英文 小册子 。可以说”一举多得“!

(2)一个好的测试环境。 OpenBSD 在编译和运行程序时经常会给出一些其它系统无法提供的有用信息,这对及时发现和解决程序问题有着很大的帮助。比如下面程序:

#include <mutex>

int main(void)
{
    std::mutex m;
    m.lock();

    return 0;
}

Arch Linux 上编译运行没有任何提示信息:

$ clang++ -g -pthread -std=c++11 test_mutex.cpp
$ ./a.out
$

但在 OpenBSD 上却给了如下提示:

# clang++ -g -pthread -std=c++11 test_mutex.cpp
# ./a.out
pthread_mutex_destroy on mutex with waiters!

此外, OpenBSD 还曾经帮我找到了一个很难查的内存 bug ,相关内容可以参考这篇文章。

(3) OpenBSD 系统还提供了一些有用的工具,比如 tcpbench 。我自己把它移植到 Linux 平台(代码在 这里 ),方便自己使用。

来而不往非礼也,我不光只对 OpenBSD 进行“索取”,也给予“了回馈”:

(1)提交 patch 。这一年来提交了十几个 patch ,不过都是一些简单的 bug 修改。

(2)撰写教程。分享了一些使用 OpenBSD 的经验,希望可以帮助到有需要的使用者。

(3)开发工具:

a) Linux 系统上有个很好用的 lscpu 命令,可惜 BSD 系统没有。我自己实现了一个针对 BSD 系统的 lscpu 命令。因为我个人对 X86 的体系最熟悉,所以这个 lscpuX86 平台上可以显示详尽的信息,但是对于其他的处理器,比如 ARM ,只能显示基本的信息。

b)为 OpenBSD ”量身定制“了一个 free 命令。

c) libtlscppOpenBSD 自带 libtlsC++ 封装:用户不用再操心相关资源释放,甚至不用太了解 TLS 协议,就可以写出 TLS 应用程序。

(4)移植程序。如果发现有好的开源 工具 不支持 OpenBSD 平台,我也会尝试着去移植过来,比如 google/benchmark ,我就把它移植到了 OpenBSD 上。

补充说明: OpenBSD 另一个被人称道之处的是安全性,这个网上可以搜索到很多文章。此外,我并没有把 OpenBSD 当做一个日常办公环境,所以对 OpenBSD 是否是一个适合大众的操作系统这一话题也没什么发言权。

以上就是我使用 OpenBSD 一年的总结。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First JavaScript Programming

Head First JavaScript Programming

Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99

This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具