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一年的总结相关推荐
- OpenBSD基金会收到锤子科技约140万捐赠款
11月26日消息,给开源项目捐款一向是锤子科技发布会的传统,去年发布会的门票收入捐给了国人章亦春主导的开源项目OpenResty.今年,锤子科技选择将收益捐赠给OpenBSD基金会.OpenBSD基金 ...
- OpenBSD 将迎来原生的 Hypervisor
据 OpenBSD 开发者 Mike Larkin 透露, 他在过去的几个月里一直在致力于实现一个名为"vmm"的 OpenBSD 上的原生的 hypervisor.Larkin ...
- FreeBSD NetBSD OpenBSD DragonFlyBSD 操作系统
BSD是一套经过精心设计的完整的操作系统,值得我们去学习和使用 BSD一系对文档的积累还是比Linux要完整,但却没有Linux那么丰富,所以我的工作环境就一直是Linux + KDE,然后在Virt ...
- [ZT]BSD家族大观——FreeBSD、OpenBSD、NetBSD
本文出自:http://www.zdnet.com.cn 作者: <个人电脑> (2002-04-04 08:02:01) 暂时忘记Windows和Linux吧 不太出名的BSD也许才是你 ...
- 编译OpenSSH8.4的RPM包及升级
目录 一.安装相关依赖包 二.创建rpmbuild目录并下载源码 三.打包及排错 四.升级到OpenSSH 8.4p1 以下是打包好的OpenSSH 8.4p1,包括7个rpm包,欢迎下载使用. Op ...
- CentOS7 打包RPM 升级OpenSSH8.3
目录 一.源码包 二.打包RPM 2.1.准备阶段 2.2.打包排错阶段 三.升级 漏扫设备发现OpenSSH有漏洞,需要升级到OpenSSH 8.1及以上版本,那么干脆就直接升级到发文时最新的版本, ...
- 2007年100款最佳安全工具谱
2007年100款最佳安全工具谱 在2000和2003年非常成功的推出了安全工具调查后,Insecure.Org 非常高兴为大家带来2006年度的安全工具调查.我-Fyodor对nmap-hack ...
- RHEL7升级openssh7.4p1教程
由于升级OpenSSH涉及到安全性问题,为保险起见,在升级前最好安装telnet服务作为备用方案,然后在升级成功后再停止telnet即可. 一.OpenSSH升级相关源码包下载地址: zlib ht ...
- centos7离线安装ansible
centos7离线安装ansible: 1.通过在线的centos7将rpm包下载好了,上传到指定服务器. 下载官方repo,rpm -iUvh http://dl.Fedoraproject.org ...
- linux升级ssh到6.6版本,centos6.5升级openssh到7.4版本
一个同事rpm卸载openssh的时候,使用了参数--erase,导致libssl.so.10依赖也被卸载了,导致yum,wget等服务器无法运行,使用yum等命令时会出现以下报错 libssl.so ...
最新文章
- 游戏+云服务器+自动驾驶样样全,看NVIDIA为中国市场带来了哪些好东西 | GTC China 2018...
- 近期活动盘点:2019第六届世界互联网大会、智慧城市的人本尺度城市形态讲座、高管AI大数据能力研修班、英伟达初创企业展示开启报名...
- 【计网】IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
- Django2.x中url路由的path()与re_path()参数解释(亲测)
- 大神级的布线,人家攻城狮是如何做到的?
- 牛客题霸 [判断一个链表是否为回文结构] C++题解/答案
- OpenCV精进之路(八):图像轮廓和图像分割修复——轮廓查询和多边形包围轮廓
- 米家扫地机器人是石头代工的_石头科技的隐忧:智能扫地机器人前有高山 后有追兵...
- android图片根据屏幕适配
- 获取请求真实IP地址的工具类
- DirectShow 视频采集
- oracle startup mount是什么意思,startup,startup mount,startup nomount之间的区别-Oracle
- 内网映射软件之80端口映射和全端口映射实现发布网站访问内网
- 搭建内网音频直播源基于天津相声广播音频
- 二叉树---先序遍历(递归)
- laradock、phpstrom、xdebug配置实现断点调试
- 百度智能云章淼:详解企业级七层负载均衡开源软件BFE
- 【交叉编译】海思平台和安霸平台交叉编译
- selenium基础八种元素定位
- 常见的四种排名函数的用法(sql)
热门文章
- WinPcap笔记:VisualStudio2015配置WinCap
- 关于NaN、undefined、null——基础必懂
- 为什么 scala无法导入 scala.actors.Actor
- 【Linux学习笔记04】Linux常用命令
- UnityEditor三自定义窗口 案例2
- 闲的没事,自己动手修改上兴3.2源代码(2)
- 上兴远控流量分析报告
- JS获取今天是星期几
- ubuntu16.04 双显卡 安装N卡驱动
- Spark:Container exited with a non-zero exit code 137