工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.51099.com 注册 | 登陆
浏览模式: 标准 | 列表2009年04月的文章

rhel 使用 centos 源升级

redhat 4

http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/yum-2.4.3-4.el4.centos.noarch.rpm
rpm -ivh yum-2.4.3-4.el4.centos.noarch.rpm
warning: yum-2.4.3-4.el4.centos.noarch.rpm: V3 DSA signature: NOKEY, key ID 443e1821
error: Failed dependencies:
        python-elementtree is needed by yum-2.4.3-4.el4.centos.noarch
        python-sqlite is needed by yum-2.4.3-4.el4.centos.noarch
        urlgrabber is needed by yum-2.4.3-4.el4.centos.noarch
        yum-metadata-parser is needed by yum-2.4.3-4.el4.centos.noarch
        yumconf is needed by yum-2.4.3-4.el4.centos.noarch


http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.i386.rpm
rpm -ivh yum-metadata-parser-1.0-8.el4.centos.i386.rpm
warning: yum-metadata-parser-1.0-8.el4.centos.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
error: Failed dependencies:
        libsqlite3.so.0 is needed by yum-metadata-parser-1.0-8.el4.centos.i386


http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/sqlite-3.3.6-2.i386.rpm
rpm -ivh sqlite-3.3.6-2.i386.rpm
warning: sqlite-3.3.6-2.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing...                ########################################### [100%]
   1:sqlite                 ########################################### [100%]


http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/python-sqlite-1.1.7-1.2.1.i386.rpm
http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/python-elementtree-1.2.6-5.el4.centos.i386.rpm
http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/python-urlgrabber-2.9.8-2.noarch.rpm
rpm -ivh python-*
warning: python-elementtree-1.2.6-5.el4.centos.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821
Preparing...                ########################################### [100%]
   1:python-urlgrabber      ########################################### [ 33%]
   2:python-elementtree     ########################################### [ 67%]
   3:python-sqlite          ########################################### [100%]


ftp://ftp.isu.edu.tw/pub/Linux/CentOS/4.7/os/ia64/CentOS/RPMS/centos-yumconf-4-4.5.noarch.rpm
http://rpm.pbone.net/index.php3/stat/4/idpl/2665731/com/centos-yumconf-4-4.5.noarch.rpm.html
rpm -ivh


配置
vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=Red Hat Enterprise As release 4 base
baseurl=http://mirror.centos.org/centos-4/4.7/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos-4/4.7/os/i386/RPM-GPG-KEY-centos4
[update]
name=Red Hat Enterprise As release 4 updates
baseurl=http://mirror.centos.org/centos-4/4.7/updates/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos-4/4.7/os/i386/RPM-GPG-KEY-centos4
[extras]
name=Red Hat Enterprise As release 4 extras
baseurl=http://mirror.centos.org/centos-4/4.7/extras/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos-4/4.7/os/i386/RPM-GPG-KEY-centos4


rhel 5

rhel 5 系统上已有支持并安装yum,但是要用到rh本身的更新服务,如果没买就用不了。
只需要把 /etc/yum.repos.d/rhel-debuginfo.repo 里的内容,替换为centos 5 的就可以了。
把上面的4.7替换为 5.3即可

如果在装系统时没有装上yum,则另外安装
如下,根据依赖关系,安装所有的包

rpm -ivh yum-3.2.19-18.el5.centos.noarch.rpm
warning: yum-3.2.19-18.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:
        yum-rhn-plugin < 0.5.2-1.el5 conflicts with yum-3.2.19-18.el5.centos.noarch

此包可以不安装,加个--nodeps参数直接安装yum
一样可以正常使用yum更新,但都是用centos的源

 

---------------------
mkdir yum;cd yum;wget http://...198/rhel_yum_soft.tar.gz;tar zxvf rhel_yum_soft.tar.gz;rpm -ivh *.rpm;cp CentOS-Base.repo

/etc/yum.repos.d/;cd ..;rm -fr yum;yum update -y udev;

mysql热备

http://database.51cto.com/art/200510/8434.htm
http://imysql.cn/node/56
http://yemaosheng.com/?p=86


setup

要求mysql的版本比较接近

master my.cnf
[mysqld]
log-bin
server-id=1

master
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

restart mysql;

FLUSH TABLES WITH READ LOCK;

tar zcvf mysql-snapshot.tar.gz .

cp tar.gz to slave

tar zxvf tar.gz

show master status;

UNLOCK TABLES;

slave my.cnf
[mysqld]
server-id=slave_id

slave
CHANGE MASTER TO MASTER_HOST='master_host_name',MASTER_USER='replication_user_name',MASTER_PASSWORD='replication_password',MASTER_LOG_FILE='recorded_log_file_name',MASTER_LOG_POS=recorded_log_position;

start slave;

 

利用tcpdump简易抓取MySQL Query Log

原文参考:http://www.davidodwyer.com/category/tags/tcpdump-mysql

#!/bin/bash
tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e '
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
if (defined $q) { print "$q\n"; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'

查看打开的文件数量,统计,相关操作

关于ulimit命令的一些用法,其中有
ulimit -n 4096
也就是限制用户的最大文件打开数为4096个

在网上查了关于怎么查看文件打开数的文章大致有两种说法

/proc/sys/fs/file-nr
该文件与 file-max 相关,它有三个值:

已分配文件句柄的数目
已使用文件句柄的数目
文件句柄的最大数目
该文件是只读的,仅用于显示信息。

查看所有进程的文件打开数
lsof |wc -l

查看某个进程打开的文件数
lsof -p pid |wc -l

释放linux Cache(转)

因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。
先说下free命令怎么看内存

[root@yuyii proc]# free
total used free shared buffers cached
Mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
Swap: 682720 112 682608

其中第一行用全局角度描述系统使用的内存状况:
total——总物理内存
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
free——完全未被使用的内存
shared——应用程序共享内存
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
cached——缓存,用于已打开的文件
note:
total=used+free
used=buffers+cached (maybe add shared also)

第二行描述应用程序的内存使用:
前个值表示-buffers/cache——应用程序使用的内存大小,used减去缓存值
后个值表示+buffers/cache——所有可供应用程序使用的内存大小,free加上缓存值
note:
-buffers/cache=used-buffers-cached
+buffers/cache=free+buffers+cached

第三行表示swap的使用:
used——已使用
free——未使用

cache释放:
To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

说明,释放前最好sync一下,防止丢数据。

有关/proc/sys/vm/drop_caches的用法在下面进行了说明

/proc/sys/vm/drop_caches (since Linux 2.6.16)
Writing to this file causes the kernel to drop clean caches,
dentries and inodes from memory, causing that memory to become
free.
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches; to
free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >
/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects
are not freeable, the user should run sync(8) first.

---------

在执行上面的操作前,应先执行一下sync 以保证数据的完整性

手动执行sync命令(描述:sync 命令运行 sync 子例程。假如必须停止系统,则运行 sync 命令以确保文档系统的完整性。sync 命令将任何未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文档)

sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

IE下查看header的软件Fiddler

官方网站 http://www.fiddler2.com/

HTTP调试工具:Fiddler介绍一(翻译)(原文地址:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/IE_IntroFiddler.asp)

这个工具我已经使用比较长时间了,对我的帮助也挺大,今天我翻译的微软的文章,让更多的朋友都来了解这个不错的工具,也是我第一次翻译文章,不恰当之处请大家大家多多指正。
介绍:

你是不是曾经疑惑过你的web程序和IE是如何交互的?你是不是遇到过一些奇怪的而你又无法解决的性能瓶颈?你是不是对那些发送给服务器端的cookie 和那些你下载下来的被标记为可缓存的内容感到好奇?

Fiddler官方网站及下载地址:http://www.fiddlertool.com/Fiddler/dev/

微软的Fiddler能够帮助你回答以上的问题,不但如此,它还是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler 是用C#写出来的。
。。。。。接下来是一大段废话,关于如何安装的,只要一路next,就可以了。这段话我就跳过,直接切入正题了。

Running Fiddler

当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理中去。你可以通过检查代理设置对话框来验证Fiddler是被正确地截取了web请求。操作是这样的:点击IE设置,工具,局域网设置,最后点击高级。

PHP判断是否为中文代码

$ks=explode(" ",@me);@me="";for ($ki=0;$ki<=sizeof($ks);$ki++) { if (preg_match('/[\x80-\xff]./',$ks[$ki])) {@me.= '<a href="/plus/search.php?keyword='.$ks[$ki].'&searchtype=titlekeyword" target=_blank>'.$ks[$ki].'</a>&nbsp;';}}

 

http://www.phpx.com/happy//thread-137410-1-1.html

lm-sensors CPU温度

http://www.edgedesign.us/about/lm_sensors
http://www.lm-sensors.org/wiki/Download

sensors-detect
/etc/rc.d/init.d/lm_sensors start ()
/etc/rc.d/init.d/lm_sensors status
sensors


eeprom-i2c-0-56
Adapter: SMBus I801 adapter at 1440
Unknown EEPROM type (8)

eeprom-i2c-0-55
Adapter: SMBus I801 adapter at 1440
Unknown EEPROM type (8)

eeprom-i2c-0-52
Adapter: SMBus I801 adapter at 1440
Unknown EEPROM type (8)

eeprom-i2c-0-51
Adapter: SMBus I801 adapter at 1440
Unknown EEPROM type (8)

adt7463-i2c-0-2e
Adapter: SMBus I801 adapter at 1440
ERROR: Can't get alarm mask data!
V1.5:      +3.216 V  (min =  +1.42 V, max =  +1.58 V)   ALARM
VCore:     +1.313 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
V3.3:      +3.334 V  (min =  +3.13 V, max =  +3.47 V)
V5:       +5.130 V  (min =  +4.74 V, max =  +5.26 V)
V12:      +0.063 V  (min = +11.38 V, max = +12.62 V)   ALARM
CPU_Fan:      0 RPM  (min = 4000 RPM)                     ALARM
CPU:      +87.00癈  (low  =   +10癈, high =   +50癈)     ALARM
Board:    +38.00癈  (low  =   +10癈, high =   +35癈)     ALARM
Remote:   +41.00癈  (low  =   +10癈, high =   +35癈)     ALARM
CPU_PWM:   255
Fan2_PWM:  255
Fan3_PWM:  255

adt7463-i2c-0-2c
Adapter: SMBus I801 adapter at 1440
ERROR: Can't get alarm mask data!
V1.5:      +3.216 V  (min =  +1.42 V, max =  +1.58 V)   ALARM
VCore:     +1.301 V  (min =  +0.00 V, max =  +0.00 V)   ALARM
V3.3:      +3.317 V  (min =  +3.13 V, max =  +3.47 V)
V5:       +5.026 V  (min =  +4.74 V, max =  +5.26 V)
V12:      +0.063 V  (min = +11.38 V, max = +12.62 V)   ALARM
CPU_Fan:      0 RPM  (min = 4000 RPM)                     ALARM
CPU:      +56.00癈  (low  =   +10癈, high =   +50癈)     ALARM
Board:    +35.00癈  (low  =   +10癈, high =   +35癈)     ALARM
Remote:   +49.00癈  (low  =   +10癈, high =   +35癈)     ALARM
CPU_PWM:   128
Fan2_PWM:  255
Fan3_PWM:  128