NetBSD
操作系统是一个“麻雀虽小,五脏俱全”的开源项目。它支持很多硬件平台,包括早在2000
年就已经退出历史舞台的VAX
。另外它也有自己的基金会,用来筹措资金,保证NetBSD
项目的运行。就像OpenBSD
衍生出OpenSSH
,LibreSSL
等项目一样,NetBSD
的pkgsrc
也已被移植到多个系统上,并且每年还有专门的大会。最后,NetBSD
的博客不仅有关于NetBSD
项目的最新进展,还有很多关于内核,LLVM
的相关文章,值得一看。
月份:2019年7月
pkgsrc与IPS
pkgsrc是一个用来安装第三方软件的的框架,它集成了编译,安装,删除应用等功能。pkgsrc
发源于NetBSD
,但现在已经移植到多个操作系统,比如OpenBSD
。通常来讲,使用pkgsrc
安装软件有两种方式:直接安装已经编译好的二进制包,即pkg
;或者是下载源码自己编译安装,即src
。在使用pkgsrc
框架的系统上,pkg_add(1)
命令用来安装软件;pkg_delete(1)
用来移除软件。
pkgin项目是用来管理pkgsrc
的二进制包的工具,其类似于Linux
系统上的apt/yum
。”pkgin install
“用来安装软件;”pkgin remove
“用来移除软件。如果你使用pkgsrc
框架,你既可以选择使用pkgsrc
自带的pkg_*
命令来管理安装软件,也可以安装pkgin
,然后通过pkgin
来管理。
除了pkgsrc
,Sun/Oracle
也有一个类似的框架:IPS(Image Packaging System)
,其主要应用于Solaris
及其衍生的操作系统。IPS
使用pkg(5)
命令来管理软件包:”pkg install
“用来安装软件;”pkg uninstall
“用来卸载软件。注意同pkgsrc
的pkg_*
命令相区分。有趣的是,基于OpenSolaris/illumos
的发行版中,OmniOS
和OpenIndiana
使用IPS
,而SmartOS
则使用pkgsrc
。
References:
pkgsrc;
The pkgsrc guide;
pkgin;
Image Packaging System.
再见,A*公司
由于我之前工作的一家公司同样以A
开头,为了以示区分,就把现在这家公司称之为A*
吧。
今天是我在A*
工作的最后一天,从2016
年12
月5
日入职,到今天整整工作了949
天,又是一段美好的回忆。
同之前的H公司和A公司一样,团队氛围很好,像个家庭,工作上互相帮助,我也学到了不少东西:
(1)密码学和安全;
(2)OpenMP
,CUDA
等并行计算领域;
(3)现代C++
(modern C++
)。
另外由于团队文化是“结果导向”,因此我可以自由安排我的时间,只要按时完成任务就行。我在下面领域也开阔了自己的视野:
(1)试用了各种BSD
以及illumos
操作系统;
(2)学习了Rust
和newLisp
编程语言。不过语言这种东西,长时间不用就会忘掉,:-);
(3)继续深入系统性能调试方面的研究;
业余时间也做了几个开源小项目,写了几本英文技术教程。此外,A*
让我有了第一次出差经历,还是国外:英国伦敦。
最后祝团队的朋友生活越来越好,也祝A*
公司越来越好!
ArchLinux上清理磁盘空间
Arch Linux: Find Disk Space by Cleaning Filesystem一文介绍如何清理ArchLinux
上的磁盘空间:
(1)删除不用的package
:
$ sudo pacman -Rns $(pacman -Qtdq)
(2)清理package cache
:
$ sudo pacman -Sc
docker笔记(18)——如何创建新的image
(1)通过当前运行的container
创建image
:
# docker commit 281e7d886185 <docker image name>
(2)压缩image
:
# docker save <docker image name> | gzip > <docker image name>.tar.gz
(3)加载image
:
# zcat <docker image name>.tar.gz | docker load
参考资料:
HOW TO CREATE A DOCKER IMAGE FROM A CONTAINER;
How to copy Docker images from one host to another without using a repository。
Tmux简明手册
同screen类似,tmux也用来管理多个终端回话。常用的就是下面几个命令:
(1)创建新会话:
# tmux
创建时指定会话的名字(2
是会话名字),多用于复用之前已经退出会话的名字:
# tmux new -s 2
(2)离开(detach
)会话:先输入Ctrl + b
,然后输入d
。
(3)列出当前管理的所有会话(冒号前面的是会话名字):
# tmux ls
0: 1 windows (created Wed Jul 3 15:08:44 2019) [88x29]
1: 1 windows (created Wed Jul 3 16:29:19 2019) [120x39]
(4)附着(attach
)某个会话(2
是会话名字):
# tmux a -t 2
(5)杀死某个会话(2
是会话名字):
# tmux kill-session -t 2
关于工资的一个有趣现象
根据我的个人经验,在一些中小企业中(人数在100
人上下,或者一些人数更少的初创公司),已经盈利公司的待遇往往要少于一些还在靠“风投”不断注血的公司。原因可能是随着公司已经开始赚钱,投资方开始撤出,这时花的就是自己的钱了,要节省一下。没赚钱之前,基本上花的就是投资方的钱,自己没多少损失,无所谓,该花花。