公司/家离机房远的两个好处
今天和同事闲聊的时候同事提到的两个观点。
首先当然是分散风险:发生各种灾害的时候,数据中心越远意味着同时受灾的可能性越小。
然后是让自己更小心:机房离得远,你肯定不会有经常去那的意愿,是的,不管是自己的机器还是老板的机器,后一种情况其实会更有效一些。
共 249 篇文章。
今天和同事闲聊的时候同事提到的两个观点。
首先当然是分散风险:发生各种灾害的时候,数据中心越远意味着同时受灾的可能性越小。
然后是让自己更小心:机房离得远,你肯定不会有经常去那的意愿,是的,不管是自己的机器还是老板的机器,后一种情况其实会更有效一些。
试了一下这个基于 CLucene 的全文搜索,似乎还不错。这里记一下过程。
首先是给 dovecot 安装 Lucene 插件,用 FreeBSD port 来安装的话,只需 make config,选择 LUCENE 然后 portmaster dovecot 即可。
配置也还算容易,我之前已经做了索引与数据分开,因此并不需要单独的配置,只需在 dovecot.conf 中增加:
我回国之前, FreeBSD 安全团队内部正在准备一项重要的安全公告,不过这次不是由于 FreeBSD 的代码本身,而是由于 FreeBSD 项目集群中的一部分受到了入侵。这份公告后来于 11 月 17 日正式 发表。
这次回北京之前的周末,FreeBSD安全团队发表了内部通知,发现 FreeBSD.org 有些机器被入侵,最近终于做了全面披露了。目前,基本的代码审计和攻击检查已经做完,部分机器还在重装的过程中。
对 FreeBSD 这样的开源项目来说,在基础设施遭到攻击之后,首先必须被怀疑的便是有可能有人在代码库中植入了新的后门。由于代码量十分巨大,逐行审计是非常不现实的。由于 FreeBSD 在 BSD 时代即采用了版本控制系统(最早 BSD 时代是 SCCS,FreeBSD早期是CVS,现在是 subversion),因此,每一行代码的来源,包括作者、具体的修改时间,以及为什么那样修改等等,都可以很容易地查找到。
没什么特别,这里记一下大致过程,以及一些想到的值得 FreeBSD 学习,以及 OS X 应该改进的地方。
我选择的方法是借助 USB 安装盘来做重装的操作。在 App Store 下载 Mountain Lion 之后,不要选择继续安装(继续安装的话,在安装结束后会删掉安装的文件)。
在 Finder 中找到 /Applications/Install Mac OS X Mountain Lion.app,在其上按右键,Show Package Contents,这会将 Bundle 内容打开,在其中找到 Contents/SharedSupport,其中有一个叫 InstallESD.dmg 的文件。双击 InstallESD.dmg 挂载它。
接着,启动 Disk Utility,选择 U 盘(需要至少 5GB 的空间),将其中内容擦除;接着选择刚才挂载的 InstallESD,在 Restore 标签页中,将 U 盘拖拽到 Destination 的位置,然后按 Restore。
这个操作将会把 InstallESD.dmg 写入 U 盘。重启系统时按住 Option,选择刚刚制作的 U 盘,就进入了 OS X 的恢复界面。
在这里有四个选项,使用 Disk Utility (最后一个)清除硬盘或 SSD 内容(此处可以选择Mac OS Extended (Case sensitive, Journaled) )。如果原先的硬盘使用了 File Vault,可能需要先输入任意用户的口令来解锁。完成后退出 Disk Utility,选择 Reinstall OS X Mountain Lion。
重装的过程大致需要20分钟左右。然后是一些基本的配置,完成后,重新进入 App Store 安装 Garage Band、iMovie 和 iPhoto。
今天尝试了一下将 zpool 在线转换为 geli 加密卷,失败。这里记一笔。
想法是:将 zpool (RAIDZ)中的一块盘 offline,建立 GELI 卷,然后用新建的 GELI 卷来替换拿下来的盘。
祸不单行。继 老婆 笔记本坏掉之后,我的也在周一突然坏掉了。因为已经过保,找来 Dell 的维修手册做了初步诊断之后认为是主板问题,简单尝试了下没有修好,所以找老板商量,暂时买了一台 Asus G75VW 来用。
sh(1) 脚本中,` 和 $() 的作用类似。比如:
rm `find /foo/bar -ctime +3d -type f`📓 注意
FreeBSD系统中,此处实际可以用
find /foo/bar -ctime +3d -type f -delete来代替。
表示将 find 的输出结果作为 rm 的命令行输入。
📜 历史文件已不具备现实意义
目前(2020)的最佳实践是使用 etcupdate 和 package。本文内容已过时。
最近两次失败记录的教训。
首先是联编 world 和 kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是 UFS(即,可使用 nextboot),且配置了 watchdog,则操作步骤为:
我的 blog 在之前一直是用 Apache HTTPD 来作为 CGI 引擎来跑 Movable Type。在迁移到北美之前,使用两个域名/IP来分别运行静态页面 (lighttpd) 和 CGI 内容。后来因为全面转向 nginx,在迁移过程中改成了使用一个域名、使用 nginx 在前面跑静态页,并作为反向代理来连接后端的 Apache 1.3.x 实例(先前是 Apache 2.2.x,由于这个实例只用来跑 CGI,所以采用了较低版本的 Apache 以节省资源)。