SysAdmin

共 249 篇文章。

公司/家离机房远的两个好处

• Life

今天和同事闲聊的时候同事提到的两个观点。

首先当然是分散风险:发生各种灾害的时候,数据中心越远意味着同时受灾的可能性越小。

然后是让自己更小心:机房离得远,你肯定不会有经常去那的意愿,是的,不管是自己的机器还是老板的机器,后一种情况其实会更有效一些。

阅读全文… ( 本文约 233 字,阅读大致需要 1 分钟 )

dovecot的全文搜索

• Distributed Computing

试了一下这个基于 CLucene 的全文搜索,似乎还不错。这里记一下过程。

首先是给 dovecot 安装 Lucene 插件,用 FreeBSD port 来安装的话,只需 make config,选择 LUCENE 然后 portmaster dovecot 即可。

配置也还算容易,我之前已经做了索引与数据分开,因此并不需要单独的配置,只需在 dovecot.conf 中增加:

阅读全文… ( 本文约 322 字,阅读大致需要 1 分钟 )

FreeBSD.org 这次的入侵事件

• Postmortem

我回国之前, FreeBSD 安全团队内部正在准备一项重要的安全公告,不过这次不是由于 FreeBSD 的代码本身,而是由于 FreeBSD 项目集群中的一部分受到了入侵。这份公告后来于 11 月 17 日正式 发表。

阅读全文… ( 本文约 1152 字,阅读大致需要 3 分钟 )

备份和代码审计

• Security

这次回北京之前的周末,FreeBSD安全团队发表了内部通知,发现 FreeBSD.org 有些机器被入侵,最近终于做了全面披露了。目前,基本的代码审计和攻击检查已经做完,部分机器还在重装的过程中。

对 FreeBSD 这样的开源项目来说,在基础设施遭到攻击之后,首先必须被怀疑的便是有可能有人在代码库中植入了新的后门。由于代码量十分巨大,逐行审计是非常不现实的。由于 FreeBSD 在 BSD 时代即采用了版本控制系统(最早 BSD 时代是 SCCS,FreeBSD早期是CVS,现在是 subversion),因此,每一行代码的来源,包括作者、具体的修改时间,以及为什么那样修改等等,都可以很容易地查找到。

阅读全文… ( 本文约 795 字,阅读大致需要 2 分钟 )

OS X Mountain Lion 的 clean install 重装

• Cheatsheets

没什么特别,这里记一下大致过程,以及一些想到的值得 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。

阅读全文… ( 本文约 727 字,阅读大致需要 2 分钟 )

Asus笔记本安装 FreeBSD 笔记

• Hardware

祸不单行。继 老婆 笔记本坏掉之后,我的也在周一突然坏掉了。因为已经过保,找来 Dell 的维修手册做了初步诊断之后认为是主板问题,简单尝试了下没有修好,所以找老板商量,暂时买了一台 Asus G75VW 来用。

阅读全文… ( 本文约 584 字,阅读大致需要 2 分钟 )

shell 中的 ` 和 $()

• Development

sh(1) 脚本中,` 和 $() 的作用类似。比如:

rm `find /foo/bar -ctime +3d -type f`

📓 注意

FreeBSD系统中,此处实际可以用 find /foo/bar -ctime +3d -type f -delete 来代替。

表示将 find 的输出结果作为 rm 的命令行输入。

阅读全文… ( 本文约 239 字,阅读大致需要 1 分钟 )

远程升级 FreeBSD 系统备忘

• Cheatsheets

📜 历史文件已不具备现实意义

目前(2020)的最佳实践是使用 etcupdate 和 package。本文内容已过时。

最近两次失败记录的教训。

首先是联编 world 和 kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是 UFS(即,可使用 nextboot),且配置了 watchdog,则操作步骤为:

阅读全文… ( 本文约 355 字,阅读大致需要 1 分钟 )

用 fcgiwrap 来跑 Movable Type

• Cheatsheets

我的 blog 在之前一直是用 Apache HTTPD 来作为 CGI 引擎来跑 Movable Type。在迁移到北美之前,使用两个域名/IP来分别运行静态页面 (lighttpd) 和 CGI 内容。后来因为全面转向 nginx,在迁移过程中改成了使用一个域名、使用 nginx 在前面跑静态页,并作为反向代理来连接后端的 Apache 1.3.x 实例(先前是 Apache 2.2.x,由于这个实例只用来跑 CGI,所以采用了较低版本的 Apache 以节省资源)。

阅读全文… ( 本文约 711 字,阅读大致需要 2 分钟 )