03. 12.

转载自《Linux运维趋势》第6期
标题:通过dd命令实现MBR备份恢复 作者:张勤

MBR(Master Boot Record,主引导记录)是计算机开机后访问硬盘时所必须要读取的首个扇区。MBR记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果MBR受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。MBR内的信息是fdisk格式化的时候写入的。
在Linux下使用如下命令备份MBR:

[root@srv ~]# dd if=/dev/sda1 of=/root/mbr.bak bs=512 count=1

同样也可以使用dd命令恢复MBR:

root@srv ~]# dd if=/root/mbr.bak


02. 11.

纯记录:下面是转载了一些面试中经常问的问题,这些问题可以相对充分的考察一个人的意愿,解决问题的能力,执行能力,团队精神和学习能力。同时,一个人是否思考过这些问题,也能从侧面看到这个人的状态和心理

意愿

1)你为什么想离开现在的公司?
2)你为什么对我们公司和这个职位有兴趣?

解决问题的能力

3)你遇到过的最大的挑战是什么,怎么克服的?

执行能力

4)请列举你在某个阶段最主要的三项成绩。

团队精神

5)你在团队合作方面遇到的问题?

学习能力

6)你的学习能力怎样?请举例说明。


12. 24.

纯记录:
服务端linux下vsftpd的目录在windows客户机下添加网络位置的时候发现原来U8的中文文件夹和目录都变成乱码!

convmv 可以修改字符集,遂——

find输出的东西我没找到办法自动加入反斜杠转义,那就换引号,用xargs不容易加入引号,最终使用下面的方法最为靠谱。

find ./ -type f |while read i; do convmv -f UTF-8 -t GBK –notest “${i}”; done
find ./ -type d |while read i; do convmv -f UTF-8 -t GBK –notest “${i}”; done


11. 26.

昨天生病,身体虚弱。

今天凌晨鬼压身,本来也没什么,我可以看到房间内的一切,也知道自己睡觉的姿势有问题。

不过我当我看自己的手的时候,吓了一跳,我发现手变成了婴儿的脚……

遂闭上眼睛,对着虚空大喊一声:F-U-C-K Y-O-U!

没多会,转而醒来。


07. 23.

其实就是因为一次本机启动apache的时候,无论如何也启动不了,实际上是我忘记了N久之前开启过一次IIS,shit!因为我从来没把问题往这里考虑,思维固化的恶果啊……

找到到使用80端口进程的PID

C:\> netstat -ano|findstr “80”
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2328

然后找进程名了

C:\> tasklist|findstr “2328”
httpd.exe 2328 Console 0 23,956 K

那么可以确定httpd.exe在使用80端口了,可以放心结束进程或者关闭相关程序或者服务什么的了~~

其他端口一样的方式去查找。


06. 11.

昨天在一台比较老的机器上安装freebsd 8,结果分区完毕之后,在Commit步骤地时候,提示:
“Unable to find device node for /dev/ad4s1b in /dev!
The creation of filesystems will be aborted.”

看样子是硬盘的一些问题,我手头也没可用的额外的硬盘来测试,在google查阅了大量资料,众说纷纭吧,有说的DMA模式的问题,有说因为分区的时候不应该使用“W”,搞到凌晨 2点多,最后发现了这篇:http://www.pubbs.net/201002/freebsd/3072-80-install-fails-to-create-filesystem-quotunable-to-find-devicenodequot.html
阅读全文 »


04. 14.

今天给php增加apd(Advanced PHP debugger)的扩展,发现如下错误:

/usr/local/src/apd-1.0.1/php_apd.c:967: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’

后google到:http://lists.freebsd.org/pipermail/freebsd-ports/2010-April/060557.html
前因后果不再阐述,见下文:

2) error: ‘struct _zend_compiler_globals’ has no member named
‘extended_info’

The member has been renamed to ‘compiler_options’ to hold additional
variables. So, for example, if the code looks like:

CG(extended_info) = 1;

you can modify it in this way:

CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

编辑967行修改之:
vi /usr/local/src/apd-1.0.1/php_apd.c +967
把CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

重新make,make install,最后zend_extension = /path最好绝对路径/apd.so 搞定,好运!


04. 4.

摘自《水指甲诗集》

在一口漆黑的深井里

我遭遇了一个写诗的人

他的声音是光

他用一个逗号勾破我的皮肤

又用句号为我止血

他的叹息是诗行

我恐惧地退让

贴着井壁摸索出口的方向

却发现

原来每一块砖都是一个字

原来是我

掉进了写诗的人

的诗


04. 4.

之前由于精简系统的服务而没有开启irqbalance服务,但是irqbalance现在被证实为非常有必要的服务,他的主要功能是可以合理的调配使用各个CPU核心,特别是对于目前主流多核心的CPU,简单的说就是能够把压力均匀的分配到各个CPU核心上,对提升性能有很大的帮助,我引用一段话:

启用 irqbalance 服务,既可以提升性能,又可以降低能耗。irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。处于 Performance mode 时,irqbalance 会将中断尽可能均匀地分发给各个 CPU core,以充分利用 CPU 多核,提升性能。处于 Power-save mode 时,irqbalance 会将中断集中分配给第一个 CPU,以保证其它空闲 CPU 的睡眠时间,降低能耗。(详见:http://www.irqbalance.org/documentation.php)

开启irqbalance服务,具体操作如下:
shell> chkconfig –level 2345 irqbalance on
shell> service irqbalance start

如果没有此服务,请先安装依赖软件包,操作如下:
shell> yum -y install irqbalance
shell> service irqbalance start

可以使用shell>mpstat -P ALL 1 10来观察前后的实际的CPU使用运行情况。


03. 19.

摘自《水指甲诗集》

我要你微带稚嫩的媚惑,调皮的刻薄
要你迷惑的表情,嚣张的任性
我要你无所顾忌的大笑,不发一语的安静
我要你丝绸般的肌肤
我要你活色生香的青春
在那之前 禁止成熟