Asus笔记本安装 FreeBSD 笔记

| *nix and Win32 Kernel

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

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

三张

| Life

时间过得真是太快了。

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

计时攻击和登录系统设计

| Security

计时攻击是一种通过观测由于某些操作时泄露出来的时间信息来获取更多信息的攻击。由于设计和实现的不同,攻击者能够通过计时得到的信息也会不一样。简而言之,作为安全系统的设计者,必须对可能泄露信息的各种渠道有充分的了解,并针对它们采取因应措施。

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

shell 中的 ` 和 $()

| Development

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

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

📓 注意

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

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

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

作弊条:shell可用,但没有 ls 时如何列出文件

| *nix and Win32 Kernel

常见的场景是由于某种原因 ls 无法使用(内存不足、动态连接库丢失等等)。

因为 shell 通常可以做 * 扩展,所以我们可以用:

echo *

来列出当前目录中的文件。

参与评论

GNU libtool 和 FreeBSD 10

| Development

FreeBSD 开始用 10 以上的版本号有一段时间了。这个变动立刻导致了大量 ports 无法编译,多数情况下是因为开发者采用了较早版本的 libtool 导致的,具体来说,是类似下面的代码:

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

为什么安全更新通常在周三发表

| Security

目前多数软件产品的安全更新都是在周二或者周三公布了。这种做法 据说 是微软开始采用的,不过具体是谁先开始这么做,目前我还没有找到非常可靠的资料。

一般来说,软件开发者在发布安全更新之前,需要做下面这些事情:

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

FreeBSD 的 strlen(3)

| *nix and Win32 Kernel

之前只有一篇关于较早版本的 strlen(3) 实现的笔记,这里补上我在 2010 年做的新增改进。

与 Pascal 等语言不同,C 的字符串并不保存串的长度,而是在字符串末尾以 nul 字符(’\0’)来表示字符串结束。这个设计决策是上世纪 60 年代作出的,有都市传说是为了省几个字节的空间,不过我个人认为也可能是因为汇编里面到处都是判断是否碰到了 0 的操作。不管怎么说,这个设计令 strlen 变成了一个 O(n) 的操作。

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

远程升级 FreeBSD 系统备忘

| Others

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

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

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

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

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

delphijfork 9.0更新

| *nix and Win32 Kernel

可以在 这里 下载。

和过去一样,风险自担 USE AT YOUR OWN RISK!

这个版本 (20120402) 和上一个版本 (20120114) 相比的改动:

全部改动来自 -CURRENT 或 -STABLE,并已经做过至少两周的疲劳测试。

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