openbsd mysql_使用OpenBSD一年的总结
我從去年 8
月份起開始嘗試使用 OpenBSD
,到現在已經有一年多的時間了,是時候做一個簡單的分享了。
首先介紹一下我使用的 OpenBSD
版本。剛開始的時候,我使用的都是 -release
的版本。后來為了編譯最新的源代碼,就切換到了 -current
版本,也就是當前開發的版本。曾經有人評價說 OpenBSD
的 -current
版本比有些軟件的 -release
還要穩定,這也從另一個角度說明 OpenBSD
代碼的質量很高。但是如果你真的打算在商用環境下使用 -current
版本,還是謹慎為妙,因為我就碰到過用了 -current
版本,系統無法啟動的情況;此外也有過代碼回滾的先例。所以如果你的系統很重要,在使用 -current
版本之前還是先找另外一臺機器測試一下,這樣比較保險。
談完了我使用的版本,再聊一下我使用 OpenBSD
的主要用途:
(1)一本好的 Unix
教材。 OpenBSD
的 man
手冊和代碼質量都很高。所以當我想深入了解一個 Unix
工具時,我會選擇閱讀 OpenBSD
上的代碼實現和相應的手冊。我曾經花費大塊的業余時間閱讀 netcat
的代碼,當然收獲也頗豐:不僅全面復習了網絡編程的相關知識,發現 bug
并提交 patch
,還寫了一本介紹 netcat
的英文 小冊子
。可以說”一舉多得“!
(2)一個好的測試環境。 OpenBSD
在編譯和運行程序時經常會給出一些其它系統無法提供的有用信息,這對及時發現和解決程序問題有著很大的幫助。比如下面程序:
#include
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
的體系最熟悉,所以這個 lscpu
在 X86
平臺上可以顯示詳盡的信息,但是對于其他的處理器,比如 ARM
,只能顯示基本的信息。
b)為 OpenBSD
”量身定制“了一個 free
命令。
c) libtlscpp
, OpenBSD
自帶 libtls
的 C++
封裝:用戶不用再操心相關資源釋放,甚至不用太了解 TLS
協議,就可以寫出 TLS
應用程序。
(4)移植程序。如果發現有好的開源 工具 不支持 OpenBSD
平臺,我也會嘗試著去移植過來,比如 google/benchmark
,我就把它移植到了 OpenBSD
上。
補充說明: OpenBSD
另一個被人稱道之處的是安全性,這個網上可以搜索到很多文章。此外,我并沒有把 OpenBSD
當做一個日常辦公環境,所以對 OpenBSD
是否是一個適合大眾的操作系統這一話題也沒什么發言權。
以上就是我使用 OpenBSD
一年的總結。
總結
以上是生活随笔為你收集整理的openbsd mysql_使用OpenBSD一年的总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动驾驶扎堆“重感知”路线:毫末智行如何
- 下一篇: 支付宝飞行模式/转卡/转账/h5拉起支付