洛阳铲的日志

2011年05月9日

恢复引导记录

Filed under: OS_Tips — 洛阳铲 @ 22:25

什么是MBR?可以参考维基百科的解释,很多时候需要恢复mbr,比如安装了多系统之后
又想恢复XP/Vista/Win7默认的启动界面,或者被病毒破坏,等等情况

用到的工具是mbrfix工具包,首先去这儿,下载免费的mbrfix。然后参考其说明文档,备份好现在的mbr:

然后使用fixmbr子命令,修复mbr即可。如果是vista或者win7,加上相应的/vista或者/win7作为参数

ok,现在重启机器,便可以看见结果了。

2010年11月26日

别了SecuryCRT

Filed under: OS_Tips — 标签:, — 洛阳铲 @ 17:09

SecuryCRT用了近5年,惭愧的是没有购买版权,不得不说SecuryCRT是个很棒的软件,Tab支持,自定义光标,会话分组,多种身份验证机制(口令、密钥……)、端口/X11转发,Alt/Meta替换(Emacs用户福音),Xmodem/Zmodem支持(sz/rz即可上下传文件)。与其说是成天和服务器打交道,还比如说是成天和SecuryCRT打交道。如此的喜欢这个软件,但是这不能成为继续不合法的在使用它的理由,所以我也做出了痛苦的决定:试用开源的Putty,如果不适应,就购买正式版本的SecuryCRT,不是我钱多到无处花,而是因为,不能养成不劳而获的恶习。如果得到,就得必须付出!想要舒服的SecuryCRT就得为此买单,哪怕高达99美金也是必须的。
image

为了节省这99美金,一定要学会Putty。学习下来,可以肯定的说:Putty已经足够满足我对SecuryCRT80%的功能,剩下20%可以通过其他方法解决。使用Putty之前,首先对Putty的默认设置进行配置,然后在添加主机,这么做省去了添加一堆机器之后,修改某个设置后,又得回过头来一个机器几个机器的修改设置。下面是一些重要的设置:
首先关掉Bell,默认情况下终端里自动完成的tab键,man结尾的空格等等都会出发“嘟嘟”的声音,这些东西其实大可不必瞎嚷嚷,让它们都哑巴了吧:
image
禁用新开screen,screen其实也是一个命令,它可以让多个会话共享当前终端,互不干扰,哪怕关掉ssh连接也没关系,但是这儿这个screen和这个命令不是一个事情,此处的禁用新开screen是为了应对这种情况:emacs、vi、man等等命令,为了显示自己特殊的屏幕控制,而新建一个screen,这个screen和当前的终端一般是独立的,这种情况下,一旦退出emacs、vi、man,他们自己创建的那个screen便会消失、当前屏幕上面什么都不会留下,“雁过留声”是必须的,所以:
image

ssh有一项防发呆设置,在Putty中设置一下发送keepalives,设置每10秒发送空操作,这样不会莫名其妙的出现会话inactive错误。

image

关于密钥,ssh V1格式密钥的两种实现(OpenSSH和ssh.com)putty都可以完美支持,而由于ssh v2的密钥因为没有统一的格式,结果openssh、ssh.comhe和putty就各自为政,出来了三种格式,不过好在putty支持把ssh v2的openssh和ssh.com格式密钥导入或者导出成putty格式,这样可以利用putty的工具(puttygen.exe)来只有完成密钥在三种格式之间的自由转换。 为了安全期间,
当然别忘了给密钥设置密钥:
image

有了密钥之后,登录服务器就不需要输入密码了,只需要输入一次密钥,提供密钥就OK。这样你的密码甚至不会在网络上进行传输。
但是如果登录机器比较频繁,每登录一台服务器,都输入一次公钥密码似乎也是很麻烦的事情,现在该pageant.exe上场了,
image
它把密钥用密码解码之后加载到内存里面,putty每次登录机器的时候就可以直接向pageant.exe索取密码,而无需多次输入密码了,一次输入,多次使用。现在每天开机之后,只需要点击”Add Key”按钮,然后输入密码,就不用再和密码打交道了。完美!

image

如果觉得每次打开工作站或者自己的笔记本之后都重复执行”Add Key”也很繁琐的话,OK, 没问题,pageant.exe支持命令行调用增加sshkey,只需要在自动启动项加入一个cmd或者bat批处理: 
start D:\PROGRA~1\putty\PAGEANT.EXE  D:\ssh\ssh.ppk

这样每天开机之后,pagent.exe会自动运行起来,同时提示密码之后把ssh.ppk加载到内存。

如果你也和我一样,每天需要登录几百台服务器来进行管理,那么下面的小技巧可以节省不少时间:

因为ssh支持agent代理转发,这样只要在工作站或者笔记本(简记为W)上执行pageant.exe,登录服务器A的时候,会转发认证请求
到W的pageant.exe来验证公钥,从A再登录另外一台服务器B的时候也可以把ssh agent转发到W的pageant.exe。
类似的再从服务器B ssh到 服务器C一样可以转发ssh agent到W的pageant.exe。 为了做到这一点,只需要在putty中设置允许agent 转发,
同时在从A ssh到B的时候,增加A参数。

1. 允许agent转发

image

 

2. 使用-A 参数执行ssh,进一步转发agent,这样的好处就是只要W上面的pageant开着,不仅使用putty直接登录的服务器A可以使用pageant
来验证身份,而且登录A之后,再ssh到B也可以使用笔记本上的pageant来进行身份验证,如果到B的ssh也是-A的话,那么
在登录B之后,想再登录C,身份验证请求可以转发回B,而B则会转回A,A则会转回笔记本上的pageant。这样的话,
就会形成一个agent转发链,链的起点是当前登录的机器,终点就是运行putty的W。

SNAGHTML6c5045

 

2010年11月3日

爷的电脑爷作主——360 is Nothing, QQ slso!

Filed under: 起初,OS_Tips — 标签:, — 洛阳铲 @ 21:30

刚刚打开TM,收到一条系统消息:

http://im.qq.com/qq7.shtml

QQ通告

名为选择,实为要挟

这是360的对掐:

对掐

名义上是选择权交给用户,实际是想利用QQ的优势地位,强迫用户删掉360,完全夺取了用户的决定权。太自以为是了,太瞧得起自己了,
没有QQ照样可以聊天MSN、Skype、Gtalk。360 is Nothing, QQ slso! 我不主动删除QQ,也不会删除360。 360删QQ,我就删360。
QQ删360,爷就删QQ。你以为这是哪儿?这是我的电脑!谁走谁留,我说了算。爷不受要挟!爷的电脑爷作主!

update:做一个决定,谁先动手在我电脑上搞事,永远从装机软件中删除。IM候选的一大堆、安全工具候选的一大堆。

另针对国情,提供www.skype.com官方版本V5的两个版本的本地镜像:

1.  Skype for Windows V5.0.0.152的完全安装版(非九百多K的SkypeSetup.exe),本地镜像,大小: 17M
md5sum:  e1bc858e7ff018354807c4d1cf771b2f
shasum:   f2300cbace5c3efd974aa1f0967c576d9942e1d8
sha224sum:  db8a16ee7aa58d2565423d2bfd98d51ddbc39c750d9b3e6f917f7829

2010年11月4号的最新版skepy

2.  Business version of Skype V5. 原版地址本地镜像。  大小: 18.9M
md5sum:  f8c06955752d43daf6ed677fd7785a57  SkypeSetup_business.msi
shasum:  fc4c7aed00d3b5f149101bf6409abad6bb99cb5f  SkypeSetup_business.msi
sha224sum:  b853637c3a6a03ef96ce42e7de810d2c5b51b5eb39243e0a589e9a86  SkypeSetup_business.msi

2010年11月1日

无损分区和Paragon Partition Manager Free Edition

Filed under: 生活小札,OS_Tips — 标签:, , , — 洛阳铲 @ 21:28

一提起“无损分区”,自然想起PQMagic,PQmagic的确是非常好的工具,但是多年没有更新,只有需要付费的商业版,并且在处理分区的时候,会出现中文文件调整分区后乱码的问题,都让我们头大不已。面对上面的种种问题,今天的主角Partition Manager Free Edition(abbr. PM Free Edtion)登场了。 该工具是Paragon 公司出品的一款极品分区工具。也是该公司出品的诸多免费工具之一:

Paragon提供的诸多免费工具

虽然免费版有些高级功能被限制,但是对于无损分区这个事情而言,那是手到擒来,绰绰有余。
免费版和收费的个人版之间的功能区别 
下载、安装之后,即可使用

下载、安装即可

右击想要调整的分区,即可进行格式化分区、删除分区、分区大小调整、文件系统转换(NTFS<->Fat32)、磁盘碎片整理等等系统维护。

磁盘维护操作

文件系统的转换的时候还会有些选项,这些选项会对文件系统的转换产生一些影响,在转换文件系统之前,可以根据自己情况、设置一下时区和语言。

文件系统转换选项设置

2007年10月23日

[ZZ]UNIX下面信号的解释

Filed under: FreeBSD,LAMP,Linux,OS_Tips — HackGou @ 18:16

一篇非常好的解释UNIX下面信号的文章,熟悉了这些信号。
对待进程跟玩玩具似的,想怎么把玩,怎么把玩,弄死弄活,悉听尊便
原文位于:
http://blog.csdn.net/baobao8505/archive/2006/08/25/1115820.aspx

我们运行如下命令,可看到Linux支持的信号列表:

~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1
36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5
40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9
44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13
52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5
60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1
64) SIGRTMAX

列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。

下面我们对编号小于SIGRTMIN的信号进行讨论。

1) SIGHUP
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。

登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进程组和后台有终端输出的进程就会中止。不过可以捕获这个信号,比如wget能捕获SIGHUP信号,并忽略它,这样就算退出了Linux登录,wget也能继续下载。

此外,对于与终端脱离关系的守护进程,这个信号用于通知它重新读取配置文件。

2) SIGINT
程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

3) SIGQUIT
和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。

4) SIGILL
执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行数据段. 堆栈溢出时也有可能产生这个信号。

5) SIGTRAP
由断点指令或其它trap指令产生. 由debugger使用。

6) SIGABRT
调用abort函数生成的信号。

7) SIGBUS
非法地址, 包括内存地址对齐(alignment)出错。比如访问一个四个字长的整数, 但其地址不是4的倍数。它与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间)。

8) SIGFPE
在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误。

9) SIGKILL
用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。如果管理员发现某个进程终止不了,可尝试发送这个信号。

10) SIGUSR1
留给用户使用

11) SIGSEGV
试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.

12) SIGUSR2
留给用户使用

13) SIGPIPE
管道破裂。这个信号通常在进程间通信产生,比如采用FIFO(管道)通信的两个进程,读管道没打开或者意外终止就往管道写,写进程会收到SIGPIPE信号。此外用Socket通信的两个进程,写进程在写Socket的时候,读进程已经终止。

14) SIGALRM
时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号.

15) SIGTERM
程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出,shell命令kill缺省产生这个信号。如果进程终止不了,我们才会尝试SIGKILL。

17) SIGCHLD
子进程结束时, 父进程会收到这个信号。

如果父进程没有处理这个信号,也没有等待(wait)子进程,子进程虽然终止,但是还会在内核进程表中占有表项,这时的子进程称为僵尸进程。这种情况我们应该避免(父进程或者忽略SIGCHILD信号,或者捕捉它,或者wait它派生的子进程,或者父进程先终止,这时子进程的终止自动由init进程来接管)。

18) SIGCONT
让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用一个handler来让程序在由stopped状态变为继续执行时完成特定的工作. 例如, 重新显示提示符

19) SIGSTOP
停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别:该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.

20) SIGTSTP
停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时(通常是Ctrl-Z)发出这个信号

21) SIGTTIN
当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN信号. 缺省时这些进程会停止执行.

22) SIGTTOU
类似于SIGTTIN, 但在写终端(或修改终端模式)时收到.

23) SIGURG
有”紧急”数据或out-of-band数据到达socket时产生.

24) SIGXCPU
超过CPU时间资源限制. 这个限制可以由getrlimit/setrlimit来读取/改变。

25) SIGXFSZ
当进程企图扩大文件以至于超过文件大小资源限制。

26) SIGVTALRM
虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间.

27) SIGPROF
类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的时间.

28) SIGWINCH
窗口大小改变时发出.

29) SIGIO
文件描述符准备就绪, 可以开始进行输入/输出操作.

30) SIGPWR
Power failure

31) SIGSYS
非法的系统调用。

在以上列出的信号中,程序不可捕获、阻塞或忽略的信号有:SIGKILL,SIGSTOP
不能恢复至默认动作的信号有:SIGILL,SIGTRAP
默认会导致进程流产的信号有:SIGABRT,SIGBUS,SIGFPE,SIGILL,SIGIOT,SIGQUIT,SIGSEGV,SIGTRAP,SIGXCPU,SIGXFSZ
默认会导致进程退出的信号有:SIGALRM,SIGHUP,SIGINT,SIGKILL,SIGPIPE,SIGPOLL,SIGPROF,SIGSYS,SIGTERM,SIGUSR1,SIGUSR2,SIGVTALRM
默认会导致进程停止的信号有:SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU
默认进程忽略的信号有:SIGCHLD,SIGPWR,SIGURG,SIGWINCH

此外,SIGIO在SVR4是退出,在4.3BSD中是忽略;SIGCONT在进程挂起时是继续,否则是忽略,不能被阻塞。

Powered by WordPress