摘要:
发现这个问题来自对SGE的startmpi.sh脚本做改造的时候。考虑如下一段shell代码:[代码]代码中用到的testfile可以是任何文本的文件,比如:phy2 2phy3 2phy4 2这样的情况下,代码运行的结果出乎我的意料,testline这个变量在while循环中就好像没有被赋过值一样,输出是这样的:In cycle, the testline is: hello:phy2 2In cycle, the testline is: hello:phy2 2 phy3 2In cycle, the testline is: hello:phy2 2 phy3 2 phy4 2hell 阅读全文
摘要:
Shell编程中,有时我们需要改变IFS,比如cat一个文件,然后想用for循环每次取出这个文件的一行出来,此时就需要修改IFS等于换行才行。否则,默认的IFS是空格和一些其他的字符,这样,每次for循环读出来的东西就不一定是一行的内容了,有可能是一行中的第一个单词了。经过试验,我发现,用IFS="\n", IFS='\n'都是不行的,如果这样做了,for第一次循环得到的就是整个文件的内容。经过网上查询,发现要这样:IFS=''这样就OK了。 阅读全文
摘要:
[代码]最近找到了一张图,专门描述MBR的,很不错,放在这里作为对上面文字的补充说明: 阅读全文
摘要:
公司的电脑,闲置了两块硬盘,想把这两块硬盘放到一台Celeron D的机器中,这台机器电源功率250W,估计实际输出功率可能都不到200W,之前接了一块硬盘和一个光驱。硬盘装入后,机器启动,能识别出三个硬盘和一个光驱,以为大功告成。结果发现系统一开始死在Boot from CD:这里,因为设置的是光驱先启动,再启动硬盘。没在意,在BIOS中设置成硬盘先启,结果进入Linux,发现了更奇特的现象。Linux启动就一直死在Starting system logger:这一步,几次都是这样,于是进入runlevel 1,发现文件系统挂载有问题,/proc, /boot这些都无法正常挂载,同时有一些挂 阅读全文
摘要:
直接输入dmidecode即可,输出有很多,好像是根据SM总线来查询的,包括能查询到BIOS的地址空间和其中的信息等等,内存信息只是其中的一部分。摘录如下:[代码]从这段输出可以看出,第一个Physical Memory Array是总体的内存信息,从这里可以看到有四个内存插槽、机器最大支持的内存总量等。然后下面开始就是每个内存插槽的情况,在这里可以看到,第三个内存插槽上插了一根512M的内存。更多的信息请参考dmidecode的手册。 阅读全文
摘要:
plink和Putty的区别就是plink可以让我们直接在命令行制定好服务器的IP地址、口令和要执行的命令,然后执行,完成后自动关闭session。所以,plink对于自动化的执行命令和工作非常有好处。之前我在公司的路由服务器上写了一个脚本,这个脚本能分析目前的TCP连接信息,并给出哪台机器目前使用的TCP连接最多。由于这个脚本有可能经常会执行来查看,每次都登陆服务器太麻烦了,所以我使用plink来自动化这个事情,写在一个bat文件中,以后每次只要双击这个bat文件就可以完成这样的工作。bat文件内容如下:D:\Download\Software\Putty-0.60\plink.exe -p 阅读全文
摘要:
最近在将lniautoconf和autossh这两个脚本合成的时候,碰到了一个问题:通过在kickstart文件的最后,将root用户生成好的公钥直接拷贝到目的机器/root/.ssh目录下,从而让ssh无密码登录在密钥准备方面OK了。但是随后就碰到了一个棘手的问题:ssh第一次登录对方节点的时候,会出现一个是否要添加hostkey的界面交互提示,要回答yes/no才行,虽然只需要回答一次,但是这个问题就导致了我们的自动化脚本有了大问题,因为如果这个问题不解决,就等于用户在使用完了这个脚本之后,还要再执行一个expect脚本来把每个节点的yes/no的这种情况都解决,这就违背了我们当初合并这两 阅读全文