这几天临近放假前夕,不算很忙,再加上种种其他原因,我又折腾了一波 X250。
上周一我安装了 QTerm。本来这东西依赖 QT,我心里怵怵的,后来因为想用 SMPlayer,就装上了 QT,之后就百无禁忌了。QTerm 是一个专门用来泡老式 BBS 的终端,用其他通用终端 telnet 上去也不是不行,但这些 BBS 往往很老,编码还是 GBK 之类的,进去会乱码,一种方法是用 luit 转码,但有一些其它的问题,不是很方便。QTerm 就很好了,不但是个图形化的界面,还可以用鼠标来操作,十分方便。QTerm 内置了水木的 BBS 设置,我之前也注册过账号,但时间长了都忘了,直接用 guest 进去读读。这些年传统 BBS 已经式微,但学术方面的讨论还是有很多有价值的旧帖的。
这次好死不死,在 FreeBSD 频道我读到了 TrueOS 的消息,说是已经支援 Intel Broadcom 系列的显卡,这“晴空霹雳“一般的好消息一下子让我不淡定了。要知道,我买这台 ThinkPad X250 最初的想法就是在上面跑一个 FreeBSD 系统作为桌面,圆我一个童年时候的梦,但 FreeBSD 的显卡支持实在是让我绝望,长期以来一直只支持到 Haswell。不说 Linux 世界早就已经有了驱动,OpenBSD 的驱动应该也可以用吧,但一直没有人移植。虽然我后来转为折腾 Linux 桌面,目前用着也很舒服,但心里的那股冲动一直都无法平复。
前几天我刚折腾了一次,把整个 sda2 分区弄上了 LVM 来管理。装好系统后心想其实可以装个 ZFS 尝试一下,然后纠结了几天,心想要不要趁着 Firefox 等软件还没装,把系统格了重装?后来压下了这个想法,然后看了别人的博客,上 LUKS 加密的想法又起来了。过去我认为的一些用于服务器上的高大上的东西,经过上次折腾了一遍,觉得也不是很难,于是就想都在自己的笔记本上试一下。我也是过了几天才压下了这个想法,毕竟我的笔记本丢失的概率大概为 0,而且也没有什么泄漏了就不得了的信息。
但是这一次,涉及到了我童年的情怀,我觉得无论如何也无法压下去这股念头,于是趁着是个周末,我拿出了移动硬盘来备份资料,然后就这么安装了。当然我实现也在 Parallel Desktop 里测试过,安装了几遍,也大致摸清楚了。TrueOS 其实就是过去的 PC-BSD,过去 PC-BSD 针对桌面用户,TrueOS 针对服务器用户,现在两者统一了名字,都叫 TrueOS 了。以 FreeBSD 为基础,添加了一些自己开发的管理工具,做成了一套比较方便的发行版。默认的 FS 用上了 ZFS,正好也算是让我体验一把。
通过尝试,我发现 ZFS 确实很好用,我之前遇到的一个分区不够用了的情况应该不会发生,因为通过 df 指令就能看到,每个分区的大小都是整个 ZFS 分区的大小。和传统的分区方式不同,我觉得 ZFS 是给每个区块打上 tag,标上了 /usr
的 tag 就是 usr 分区的内容,整体来了个动态管理。当然 ZFS 远不是这么简单,我只是就我领会的这一点来说。
我的 FreeBSD 之路最终失败了,我甚至都没有让 X 跑起来,原因我觉得 make ports 有点麻烦,不如 Portage 一个命令搞定一切方便一些。没有国内高速的镜像也是原因之一吧。另外,我对 Linux 的日常管理也算熟悉,无论 OpenRC 还是 SystemD 都能捣鼓捣鼓,到了 FreeBSD 就完全不行了,过去看 FreeBSD Handbook 纸上得来的知识没有经过实践,基本上都忘光了。核心之外的应用都放在 /usr/local/bin
里,过去在读书的时候觉得那么自然,现在感觉好不方便啊。
Linux 和 BSD 的不同,在过去有相当多的文章探讨过,这次我是真正体会到了一次。上面说的区别其实算是表面上的,而结构上的不同才真正的让我不习惯。比如说,装好系统要连无线网络,在 FreeBSD 上有个 iwm,算是 Intel 网卡的驱动。我自然而然的去 ports 里找,结果没找到,研究了半天,原来是在内核中,通过读 man 文档给弄好了。Linux 仅仅是一个内核,所有内核以外的东西都是一个包,在 Gentoo/Funtoo 里,就是通过 Portage 来管理,而 FreeBSD 是一个完整的系统,在内核之外,还有很多工具,都属于核心,而不在 ports 的管理范围之内。这个让用惯了 Linux 的我不大习惯,在 Linux 系统里,想用什么就装什么,甚至内核都有好多版本可以选,在 FreeBSD 这里,FreeBSD 本身就是一个系统。
装到这里,我没有继续下去,我觉得 FreeBSD 实在是难以适合我,还是放弃了。
之后装回 Funtoo。在 TrueOS 里尝试了 ZFS,我打算这次也试试 ZFS on Linux。我找到了 Funtoo 的安装文档,一步一步之行,到最后发现它把 ZFS 部署到了整个 sda 上,最后也不打算用 EFI 方式引导,而我想尝试用 EFI 引导,结果失败了。之后我找了一篇文章,里面用的是 Debian,我照着弄也走了一些弯路,最终依旧没有成功,到了最后只好放弃,但 ZFS 至少不是不熟悉了。
在全盘 LUKS 加密上面,TrueOS 恰好给我上了一课。TrueOS 有 GELI 全盘加密选项,我尝试了后,发现这样在启动的时候要让你输入密码,之后才能正常引导,这也太麻烦了。LUKS 据说可以配置自动解密,不过这样的全盘加密方式我觉得用在个人电脑上还是麻烦了点,所以也没有用它。最终还是用了 LVM 安装,有过一次经历,这次也是顺风顺水。之前备份了 /etc
和 HOME,因此配置方面也没有遇到太多困难。
最终一切又回到了起点,我还是用上了 Funtoo 和 LVM,估计心理可以安分一些啦。这次折腾花了我一个周末的时间,特别是周日,我在弄 ZFS on Linux 的时候连续重装了几次,觉得都想吐了,到了最后安装 xorg 的时候,有一个包需要通过 git 来下载,偏偏那时候这个连接的速度极慢,每秒钟 2、3K,有时候一点速度都没有。我实在是没办法,就这么放着它,先去睡觉了,早上醒来后安装成功,把笔记本拿着,去公司 emerge 其它的部分,也是耗了大约一天才弄好。