06. 16.

本文参考:http://www.admon.org/faqs/why-network-port-is-open-but-no-process-attached/

一次偶然事件,我检查某台服务器系统时发现一个从来没见过的端口处于监听(LISTEN)状态,于是开始仔细检查系统。

[root@db097 ~]# netstat -lnpt | grep 7979
tcp 0 0 0.0.0.0:7979 0.0.0.0:* LISTEN -

进程里什么都没有,试了多种办法试着去找一下,都是一样的结果。

[root@db097 ~]# lsof -i:7979

google了半天,最后一段话提示了我:

I realized it’s an port opened by kernel, that’s why it won’t show up with program name. For the port like this, it may relate to NFS and OCFS stuff, or something like that, or it could be a kernel bug. If you need to find more details, check kernel logs for OOPS and bug.

 
阅读全文 »


10. 18.

引用:http://fantasticinblur.iteye.com/blog/1300080

在服务器上安装了RHEL6,没有购买RHN服务,所以使用CentOS的源。

删除之前yum

rpm -aq|grep yum|xargs rpm -e --nodeps

需要安装如下软件包:

python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
yum-3.2.27-14.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm

PS:在google里搜索软件包小方法,范例如下,直接搜索:

yum-3.2.27-14.el6.centos.noarch.rpm intitle:index

安装完毕后配置好yum的配置文件

cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
sed -i "s/\$releasever/6/" CentOS6-Base-163.repo

系统是x86_64,163的镜像,请根据你自己的RHEL版本选择对应的版本。
接下来就可以使用yum install安装软件了。
如果仍然报错的话,请编辑/etc/yum.repos.d下的rhel-source.repo,将所有的enable都设置为0,或者直接删除rhel-source.repo。

OK搞定!


02. 4.

今天帮一个朋友update系统时,发现其中一台server居然提示:

Transaction Check Error:
file /usr/lib/perl5/5.8.8/CGI.pm from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/lib/perl5/5.8.8/Digest.pm from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/share/man/man1/c2ph.1.gz from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/share/man/man1/cpan.1.gz from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/share/man/man1/dprofpp.1.gz from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/share/man/man1/perlvms.1.gz from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386
file /usr/share/man/man1/perlvos.1.gz from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386

中间省略100行,都是关于perl的
阅读全文 »


07. 21.

本文系转载:http://my.huhoo.net/archives/2008/12/rsync.html

经常copy大文件,由于服务器、路由等网络的不确定性,老是出现

remote server not responding.

于是查了下资料,发现rsync这个工具支持断点续传功能,这里介绍一下。
rsync也分服务器端和客户端,使用man查看帮助信息,我们发现rsync有六种不同的工作模式:

Local: rsync [OPTION...] SRC... [DEST]

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

List remote files: rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

阅读全文 »


07. 7.

前几天理发后拍的……贴在这里留念~~

模特姓名:周星君
主题:《越狱——儿童版》
性别:男
年龄:3.5岁
和博主关系:父子


06. 25.

忽然想到“做人”这个事情……

我觉得,我认为,我坚信做人首先要对得起自己的感受,自己的感觉要9成良好,偶有压力、挫折实属正常;也要对得起自己的良心,其实就是对得起周围的环境、事物和人。

一句话:要愉快的驾驭自己的生活、学习和工作。

如果做不到,只有两点可以去努力的:

1)去掌握驾驭的技能;

2)去死。

一般人都会选择前者,偶也是一般人~


06. 23.

今天协助研发去处理一份文件对比的事情,就是对比file1.log和file2.log中相同重复的行。

发现很容易实现,直接:

$ for i in `cat file1.log`; do grep $i ./file2.log; done > sameline.log

结果就发现只有一条,研发的同学说至少有上万条记录,我开始找原因:

先输出测试看看格式什么的对不对:

$ for i in `cat file1.log`; do echo "AAA"$i"BBB"; done
BBBxxxxxxxxxxx05_ok
BBBxxxxxxxxxxx06_ok
BBBxxxxxxxxxxx07_ok
BBBxxxxxxxxxxx08_ok

调试一下,发现输出的两端的字符,会选择长度较大的放在最左侧(可以自己试试哈),我一直觉得和换行符有关系,实际上是文件格式的问题。

阅读全文 »


06. 23.

发现一个curl的非常不错的用法,特此分享一下。

本文转载于:http://tonychiu.blog.51cto.com/656605/573527

$ curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} \
http://www.WEB.com
0.081:0.272:0.779

给出对一个流行的新闻站点执行 curl 命令的情况。输出通常是 HTML 代码,通过 -o 参数发送到 /dev/null。-s 参数去掉所有状态信息。-w 参数让 curl 写出表 1 列出的计时器的状态信息:

计时器                            描述
time_connect              建立到服务器的 TCP 连接所用的时间
time_starttransfer    在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
time_total                     完成请求所用的时间

这 些计时器都相对于事务的起始时间,甚至要先于 Domain Name Service(DNS)查询。因此,在发出请求之后,Web 服务器处理请求并开始发回数据所用的时间是 0.272 - 0.081 = 0.191 秒。客户机从服务器下载数据所用的时间是 0.779 - 0.272 = 0.507 秒。
通过观察 curl 数据及其随时间变化的趋势,可以很好地了解站点对用户的响应性。


03. 22.

摘自《水指甲诗集》

5岁或者更早时,他常常把她抱在腿上
她像只小羊羔一般被圈在他怀里
大人们都说他很喜欢她
古今中外琴棋书画
他似乎什么都懂一点
而且乐意教她
他对其他人傲慢无礼又凶神恶煞
却总是笑眯眯地对她
除了一点
阅读全文 »


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