用mcelog检测硬件错误

mcelog是现代Linux(kernel version 2.6.30及以上版本)系统上一个检测硬件问题(CPU、内存、IO)的工具包,支持Linux x86和x64。通过其记录的日志,可以及时检测到已经发生但还没有引起系统崩溃的硬件错误。

安装

$sudo aptitude install mcelog

- 继续阅读 -

CSAPP_3rd_Edtion

CSAPP即是传说中的《Computer Systems: A Programmer's Perspective》,中文版译作《深入理解计算机系统》,在原书第三版出版(2015-03-11)一年多后,终于在2016年底出版了中译版。虽然中文版书名有"深入"两字,本书却是CS专业不折不扣的入门级教材。

拿到书的第一感觉是印刷装订很好,双色印刷,纸张非常出色,完全不同于机工有一阵子薄的惨不忍睹的纸张。同第二版相比,第三版的Chap2 3 4 5 7 8 11 12均有较大程度修改。

The biggest overall change from the second edition is that we have switched our presentation from one based on a mix of IA32 and x86-64 to one based exclusively on x86-64. This shift in focus affected the contents of many of the chapters. Here is a summary of the significant changes.

- 继续阅读 -

编译Linux内核

从Debian 5开始接触Linux,主要当桌面系统使用。最近在业余时间尝试了一下编译内核,记录一下主要步骤。

1. 准备工作

目前安装的系统是Debian testing,内核版本4.8.0,先将所有软件包升级到最新

$sudo aptitude update
$sudo aptitude upgrade

安装编译工具包

$sudo aptitude install build-essential

安装ncurse和ssl开发库

$sudo aptitude install libncurses5-dev libssl-dev

- 继续阅读 -

Git合并多次提交

理想的开发过程,是在原始代码的基础上,继续开发新功能,每完成一个功能点提交一次。实际工作中可能发现实现一个功能点需要很长时间,这期间在Git中会有多次临时的提交(没认真写 commit message 的提交~),希望最终保留在Git中的只有初始版本和添加了新功能的版本,去掉所有中间状态的混乱提交,可以用 git diff 和 git apply 实现。

- 继续阅读 -

使用sysprep重置系统

Windows系统用了一段时间之后,安装的软件越来越多,或不幸感染了恶意软件,会变得越来越慢,重装系统是很干脆很重量级的解决方法。除了需要重新激活外,重装软件,设置系统参数也是非常麻烦,此时可以利用系统提供的系统准备工具sysprep来解决。

Win+R打开运行窗口,输入sysprep,此时会打开sysprep.exe所在目录C:\Windows\System32\sysprep,直接运行程序。

选择进入系统全新体验(OOBE),勾选通用,关机选项可以选重新启动。系统会在重启后重新安装驱动程序,检查视频性能,并要求设置新的系统用户。和重装系统不同的是,原系统安装的程序和原来的用户都会保留,只是系统桌面图标会有一些小的变化。更重要的是,无需再重新激活。

参考资料

1. Sysprep 命令行语法
https://technet.microsoft.com/zh-cn/library/cc721973(WS.10).aspx