Asus笔记本安装 FreeBSD 笔记
祸不单行。继 老婆 笔记本坏掉之后,我的也在周一突然坏掉了。因为已经过保,找来 Dell 的维修手册做了初步诊断之后认为是主板问题,简单尝试了下没有修好,所以找老板商量,暂时买了一台 Asus G75VW 来用。
阅读全文…三张
时间过得真是太快了。
阅读全文…计时攻击和登录系统设计
计时攻击是一种通过观测由于某些操作时泄露出来的时间信息来获取更多信息的攻击。由于设计和实现的不同,攻击者能够通过计时得到的信息也会不一样。简而言之,作为安全系统的设计者,必须对可能泄露信息的各种渠道有充分的了解,并针对它们采取因应措施。
阅读全文…shell 中的 ` 和 $()
sh(1)
脚本中,`
和 $()
的作用类似。比如:
rm `find /foo/bar -ctime +3d -type f`
📓 注意
FreeBSD系统中,此处实际可以用
find /foo/bar -ctime +3d -type f -delete
来代替。
表示将 find
的输出结果作为 rm
的命令行输入。
作弊条:shell可用,但没有 ls 时如何列出文件
常见的场景是由于某种原因 ls
无法使用(内存不足、动态连接库丢失等等)。
因为 shell 通常可以做 *
扩展,所以我们可以用:
echo *
来列出当前目录中的文件。
参与评论GNU libtool 和 FreeBSD 10
FreeBSD 开始用 10 以上的版本号有一段时间了。这个变动立刻导致了大量 ports 无法编译,多数情况下是因为开发者采用了较早版本的 libtool 导致的,具体来说,是类似下面的代码:
阅读全文…为什么安全更新通常在周三发表
目前多数软件产品的安全更新都是在周二或者周三公布了。这种做法 据说 是微软开始采用的,不过具体是谁先开始这么做,目前我还没有找到非常可靠的资料。
一般来说,软件开发者在发布安全更新之前,需要做下面这些事情:
阅读全文…FreeBSD 的 strlen(3)
之前只有一篇关于较早版本的 strlen(3) 实现的笔记,这里补上我在 2010 年做的新增改进。
与 Pascal 等语言不同,C 的字符串并不保存串的长度,而是在字符串末尾以 nul 字符(’\0’)来表示字符串结束。这个设计决策是上世纪 60 年代作出的,有都市传说是为了省几个字节的空间,不过我个人认为也可能是因为汇编里面到处都是判断是否碰到了 0 的操作。不管怎么说,这个设计令 strlen 变成了一个 O(n) 的操作。
阅读全文…远程升级 FreeBSD 系统备忘
📜 历史文件已不具备现实意义
目前(2020)的最佳实践是使用 etcupdate 和 package。本文内容已过时。
最近两次失败记录的教训。
首先是联编 world 和 kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是 UFS(即,可使用 nextboot),且配置了 watchdog,则操作步骤为:
阅读全文…delphijfork 9.0更新
可以在 这里 下载。
和过去一样,风险自担 USE AT YOUR OWN RISK!
这个版本 (20120402) 和上一个版本 (20120114) 相比的改动:
- 集成了近期 ZFS 的全部可靠性和性能改进;
- 增加了允许 jail 中挂载 ZFS 的功能;
- mps(4)性能改进;
- 对 ULE 调度器的重要性能改进(支持超线程的处理器上许多测试可看到 10%-15% 的改善);
- 对 Intel TurboBoost 技术的支持(在需要时可将 CPU 频率临时提高到标称值的 110%);
- 对交换设备热拔时的可靠性改进;
- 对虚拟内存子系统的性能和可靠性改进;
- 优化了 rtld-elf 的内存占用【注意,必须配合 FreeBSD 9.x 内核使用,如果从 FreeBSD 8.x 或更早版本升级,请确认在 installkernel 之后重启过系统】;
- 新增了 posix_fadvise(2) 系统调用;
- 对于 SU+J 的若干可靠性改进;
- 对 tmpfs 的性能和可靠性改进,增加了 NFS export 支持;
- 为 msdosfs 和 smbfs 增加了 Unicode 支持;
- 为 PCIe 增加了 4GB 边界限制,这项变动消除了许多潜在的数据损坏问题;
- 其他若干小改进。
全部改动来自 -CURRENT 或 -STABLE,并已经做过至少两周的疲劳测试。
阅读全文…