Skip to content


sysstat 安装

This package provides the sar and iostat commands for Linux. Sar and iostat enable system monitoring of disk, network, and other IO activity

http://rpmfind.net/ 下打systat 或 http://pagesperso-orange.fr/sebastien.godard/download.html

含src的rpm安装方式

1.执行rpm -i sysstat-5.0.5-1.src.rpm

  1. cd /usr/src/redhat/SPECS
  2. rpmbuild -bp sysstat-5.0.5-1.specs 一个和你的软件包同名的specs文件
  3. cd /usr/src/redhat/BUILD/sysstat-5.0.5-1/ 一个和你的软件包同名的目录
  4. ./configure 这一步和编译普通的源码软件一样,可以加上参数
  5. make
  6. make install

wget http://perso.orange.fr/sebastien.godard/sysstat-8.0.4.1.tar.gz

tar zxvf sysstat-8.0.4.1.tar.gz

cd sysstat-8.0.4.1

./configure

make

make install

    这个包一但安装下去,一般包括如下的几个命令可以使用。

    sar     iostat     sa1     sa2     sadf     mpstat     sadc     sysstat

crontab -e

/10 /usr/lib/sa/sa1 1 1 53 23 /usr/lib/sa/sa2 -A

 # /etc/init.d/crond restart

http://www.ixpub.net/thread-749930-1-17.html

让普通用户能够使用sar命令,至少有两种办法: 1、将普通用户加到adm组中; 2、这个例子中,就是这个命令:chmod o+x /usr/lib/sa/sadc

查看软件版本


[root@localhost sysstat-8.1.6]# sar -V
sysstat version 8.1.6

查看系统使用的文件描述符

[root@localhost sysstat-8.1.6]# sar -v 2 3 Linux 2.6.9-5.ELsmp (localhost.localdomain)     10/20/2008      i686  (4 CPU)   03:14:44 PM dentunusd   file-nr  inode-nr    pty-nr 03:14:46 PM     57966       810     66883         2 03:14:48 PM     57966       810     66883         2 03:14:50 PM     57966       810     66883         2 Average:        57966       810     66883         2

  1. 查看CPU使用情况
    <!–

    Code highlighting produced by Actipro CodeHighlighter (freeware)
    http://www.CodeHighlighter.com/

    –>sar  2   5 // 每隔2秒,显示5次,CPU使用的情况
     
  2. 查看内存使用情况
    <!–

    Code highlighting produced by Actipro CodeHighlighter (freeware)
    http://www.CodeHighlighter.com/

    –>sar  – r  2   5 // 每隔2秒,显示5次,内存使用的情况
     
    1. 查看网络吞吐量
    <!–

    Code highlighting produced by Actipro CodeHighlighter (freeware)
    http://www.CodeHighlighter.com/

    –>
    1. sar  – n DEV  2   5 // 每隔2秒,显示5次,网络吞吐量情况
  • Posted in LINUX, 技术.


    linux 下 lynx 安装

    Lynx是一个基于文本的浏览器 下载地址 http://ftp.iasi.roedu.net/mirrors/lynx.isc.org/current/

    lynx 依赖于openssl

    安装lynx

    运行下面的命令安装lynx:

    ./configure --prefix=/usr --libdir=/etc --with-ssl --with-zlib && make && make install && make DOCDIR=/usr/share/doc/lynx-2.8.4/lynx_doc \    HELPDIR=/usr/share/doc/lynx-2.8.4/lynx_help install-doc && make DOCDIR=/usr/share/doc/lynx-2.8.4/lynx_doc \    HELPDIR=/usr/share/doc/lynx-2.8.4/lynx_help install-help && sed s/"t\/etc"/"t\/usr\/share\/doc\/lynx\-2\.8\.4"/ \    /etc/lynx.cfg > /etc/lynx.bak && mv /etc/lynx.bak /etc/lynx.cfg

    Posted in LINUX, 技术.


    自动mount分区

    fdisk -l 得到需挂载的硬盘/dev/sda1

    先mount一下

    mkdir /opt && chmod 0777 /opt

    mount /dev/sda1 /opt

    成功后改/etc/fstab里的LABEL名字的步骤如下:

    e2label /dev/sda1 /opt

    修改并写入/etc/fstab 例如: LABEL=/opt          /opt                   ext3    defaults        1 2

    重启

    Posted in LINUX, 技术.


    linux下安装lucene

    apache+tomcat整合  http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html

     了解 KinoSearch A Perl search engine library. http://www.rectangular.com/kinosearch/  

    Plucene基于java lucene项目创建 安装方法: perl -MCPAN -e “install Plucene” perl -MCPAN -e “install Plucene::Simple”

    Zend Framework http://framework.zend.com/download

    CLucene CLucene是C++版的全文检索引擎,完全移植于Lucene,采用 STL 编写。有php扩展,对中文支持不是很好。 http://sourceforge.net/projects/clucene/

    Lucene4c The Lucene4c project is an implementation of the Lucene search engine in C, built on top of the Apache Portable Runtime.   http://incubator.apache.org/lucene4c/

    Nutch Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 http://lucene.apache.org/nutch http://nutch.sourceforge.net/docs/en/about.html

    jdk6 http://www.java.net/download/jdk6/6u10/promoted/b24/binaries/jdk-6u10-beta-bin-b24-linux-i586-14_may_2008-rpm.bin ant http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.tar.gz lucene http://apache.mirror.phpchina.com/lucene/java/lucene-2.3.2.tar.gz javac https://javacc.dev.java.net/files/documents/17/26776/javacc-4.0.tar.gz php-java bridge http://nchc.dl.sourceforge.net/sourceforge/php-java-bridge/php-java-bridge_5.2.2.tar.gz tomcat http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz

    使用tomcat可以跳过第六步

    一 安装java环境 [root@dev ~]# java -version java version “1.4.2” gcj (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)

    [root@dev ~]# rpm -qa |grep java java-1.4.2-gcj-compat-1.4.2.0-26jpp 注:通常,您不必使用 RPM 卸载 JRE,因为 RPM 可以在您安装新版本时自动卸载旧版本的 JRE!除非您准备永久删除 JRE,否则请跳过本节内容。

    [root@dev ~]# rpm   -e   java-1.4.2-gcj-compat-1.4.2.0-26jpp

    http://download.java.net/jdk6/ 下载jdk包 [root@dev ~]#wget –limit-rate=20000 http://www.java.net/download/jdk6/6u10/promoted/b24/binaries/jdk-6u10-beta-bin-b24-linux-i586-14_may_2008-rpm.bin 限制20k

    [root@dev ~]# chmod 755 jdk-6u10-beta-bin-b24-linux-i586-14_may_2008-rpm.bin\?e\=1212404509\&h\=a151b74ce54cda9cba81a7444944c0ba

    [root@dev ~]#./jdk-6u10-beta-bin-b24-linux-i586-14_may_2008-rpm.bin\?e\=1212404509\&h\=a151b74ce54cda9cba81a7444944c0ba 一路空格后健入yes

    [root@dev ~]# vi /etc/profile set JAVA_HOME=/usr/java/jdk1.6.0_10 export JAVA_HOME set PATH=$PATH:$JAVA_HOME/bin export PATH set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH

    bourne shell家族中赋值不用set,这个郁闷了我好久没找到变量无效的原因。 [root@dev ~]# source /etc/profile 

    用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:

        public class Test {       public static void main(String args[]) {         System.out.println(“A new jdk test !”);       }     }

    编译:在shell终端执行命令 javac Test.java 如果出错可能是javac还没装,先接着下面安装javac后,再返回到这里测试。

    运行:在shell终端执行命令 java Test

    当shell下出现“A new jdk test !”字样则jdk运行正常。

    二 安装ant http://ant.apache.org/bindownload.cgi ant是一个基于JAVA的自动化脚本引擎,脚本格式为XML。除了做JAVA编译相关任务外,ANT还可以通过插件实现很多应用的调用,比make脚本来说还要好维护一些。

    [root@dev ~]# wget http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.tar.gz

    [root@dev ~]# tar zxvf apache-ant-1.7.0-bin.tar.gz

    [root@dev ~]# mv apache-ant-1.7.0 /usr/local/

    [root@dev ~]# vi /etc/profile

    在JAVA_HOME前加上 ANT_HOME=/usr/local/apache-ant-1.7.0 export ANT_HOME 编辑 set PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin

    [root@dev ~]# source /etc/profile 

    三 安装lucene wget http://apache.mirror.phpchina.com/lucene/java/lucene-2.3.2.tar.gz 不是lucene-2.3.2-src.tar.gz哦,这个无lucene-demos-2.3.2.jar [root@dev ~]# tar zxvf lucene-2.3.2.tar.gz

    [root@dev ~]# mv lucene-2.3.2 /usr/local

    四 安装javac https://javacc.dev.java.net/files/documents/17/26776/javacc-4.0.tar.gz [root@dev ~]# wget https://javacc.dev.java.net/files/documents/17/26776/javacc-4.0.tar.gz

    [root@dev ~]# gunzip javacc-4.0.tar.gz

    [root@dev ~]# tar -xvf javacc-4.0.tar

    [root@dev ~]# mv javacc-4.0 /usr/local/

    [root@dev ~]# cd  /usr/local/lucene-2.3.2

    [root@dev ~]# echo javacc.home=/usr/local/javacc-4.0 > ~/build.properties

    [root@dev ~]# ant

    五 测试lucene 再修改/etc/profile,在CLASSPATH前加上 LUCENE_HOME=/usr/local/lucene-2.3.2 修改变量 CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${LUCENE_HOME}/lucene-core-2.3.2.jar:${LUCENE_HOME}/lucene-demos-2.3.2.jar

    #source /etc/profile

    生成索引

    [root@dev ~]# cd ./src/demo

    [root@dev demo]# java org.apache.lucene.demo.IndexFiles /usr/local/lucene-2.3.2/docs Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/lucene/demo/IndexFiles Caused by: java.lang.ClassNotFoundException: org.apache.lucene.demo.IndexFiles at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) Could not find the main class: org.apache.lucene.demo.IndexFiles. Program will exit.

    出现以上错误估计是CLASSPATH没写对。

    搜索…,输入以下命令就会出现搜索提示符。 [root@dev demo]# java org.apache.lucene.demo.SearchFiles

    六 安装php-java bridge php/Java bridge What is php/Java bridge? The php/Java bridge is an optimized, XML-based network protocol, which can be used to connect a native script engine, PHP, with a Java or ECMA 335 virtual machine. It is more than 50 times faster than local RPC via SOAP, requires less resources on the web-server side, and it is faster and more reliable than direct communication via the Java Native Interface. read more… http://php-java-bridge.sourceforge.net

    [root@dev ~]# wget –limit-rate=15000 http://nchc.dl.sourceforge.net/sourceforge/php-java-bridge/php-java-bridge_5.2.2.tar.gz

    [root@dev php-java-bridge-5.2.2]# /opt/lampp/bin/phpize && ./configure –disable-servlet –with-java=/usr/java/jdk1.6.0_10 && make CFLAGS=”-m32″ && make install ./configure: line 2969: php-config: command not found ./configure: line 2970: php-config: command not found configure: error: Cannot find php-config. Please use –with-php-config=PATH

    缺少xampp开发包和php-config 路径设置 http://sourceforge.net/project/showfiles.php?group_id=61776&package_id=60248

    [root@dev ~]# tar -zxvf xampp-linux-devel-xxx.tar.gz

    [root@dev ~]# mv lampp/* /opt/lampp/

    mv: cannot overwrite directory /opt/lampp/lib' mv: cannot overwrite directory/opt/lampp/modules’ mv: cannot overwrite directory `/opt/lampp/share’

    手动一个个移啦

    [root@dev php-java-bridge-5.2.2]# /opt/lampp/bin/phpize && ./configure –disable-servlet –with-php-config=/opt/lampp/bin/php-config –with-java=/usr/java/jdk1.6.0_10 && make CFLAGS=”-m32″ && make install

    make[1]: [php/java/bridge/JavaBridgeIllegalStateException.o] Error 1 make[1]: Leaving directory `/root/php-java-bridge-5.2.2/server’ make: [/root/php-java-bridge-5.2.2/modules/stamp] Error 2 报两个错,不去理它

    [root@dev php-java-bridge-5.2.2]# cp modules/java.so /opt/lampp/modules/

    vi /opt/lampp/etc/php.ini 加上 extension=”java.so”

    [root@dev php-java-bridge-5.2.2]# /opt/lampp/lampp start Starting XAMPP for Linux 1.6.1… PHP Warning: PHP Startup: Unable to load dynamic library ‘/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/java.so’ – /opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/java.so: cannot open shared object file: No such file or directory in Unknown on line 0

    [root@dev php-java-bridge-5.2.2]# cp modules/java.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/ [root@dev php-java-bridge-5.2.2]# /opt/lampp/lampp start Starting XAMPP for Linux 1.6.1… Exception in thread “main” java.lang.NoClassDefFoundError: php/java/bridge/Standalone Caused by: java.lang.ClassNotFoundException: php.java.bridge.Standalone at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) Could not find the main class: php.java.bridge.Standalone. Program will exit.

    不行咯,换成用tomcat 七 安装tomcat http://tomcat.apache.org/tomcat-6.0-doc/setup.html [root@dev ~]# wget –limit-rate=20000 http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz [root@dev ~]# tar -zxvf apache-tomcat-6.0.16.tar.gz [root@dev ~]# mv apache-tomcat-6.0.16 /usr/local/apache-tomcat

    [root@dev ~]# vi /etc/profile export JDK_HOME=${JAVA_HOME}

    export CATALINA_BASE=/usr/local/apache-tomcat export CATALINA_HOME=/usr/local/apache-tomcat [root@dev ~]# source /etc/profile [root@dev ~]# vi /etc/rc.d/rc.local /usr/local/apache-tomcat/bin/startup.sh

    测试 http://192.168.54.96:8080

     vi /usr/local/apache-tomcat/conf/server.xml

    port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ URIEncoding=”UTF-8″#增加此行 redirectPort=”8443″>

    < Host name =”localhost “ appBase =”webapps “ unpackWARs =”true “ autoDeploy =”true “ xmlValidation =”false “ xmlNamespaceAware =”false “ >

    中增加以下内容,将weblucene设为根目录

    –

      < Context path =” “ docBase =”/usr/local/apache-tomcat/webapps/weblucene “ reloadable =”true “ debug =”0 “ crossContext =”true “ />

    server.xml默认有下面一行:

    这样允许任何人只要telnet到服务器的8005端口,输入”SHUTDOWN”,然后回车,服务器立即就被关掉了。 从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串。 例如修改如下: ,这样就只有在telnet到8006,并且输入”lizongbo”才能够关闭Tomcat. 注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。

    参考Tomcat安全文档英文链接:http://jakarta.apache.org/tomcat/faq/security.html#8005 还有两个问题需要注意: 1、 对于tomcat3.1中,屏蔽目录文件自动列出的方法是什么? 缺省情况下,如果你访问tomcat下的一个web应用,那么如果你输入的是一个目录名,而且该目录下没有一个可用的welcome文件,那么tomcat会将该目录下的所有文件列出来,如果你想屏蔽这个缺省行为,那么可以修改conf/web.xml文件,将其中的:

    default org.apache.catalina.servlets.DefaultServlet

    debug

    0

    listings

    true 1修改为:

    default org.apache.catalina.servlets.DefaultServlet

    debug

    0

    listings

    false 1 默认的shutdown.sh一执行就死机,用网上的代替 http://noroot.info/node/16153

    cd /usr/local/apache-tomcat/bin

    mv shutdown.sh shutdown.sh.old

    vi /usr/local/apache-tomcat/bin/shutdown.sh //创建新的shutdown.sh关闭服务脚本

    #!/bin/sh TOMCAT_PID=/bin/netstat -anp|/bin/grep :8080 |/bin/gawk '{print $7}' |/bin/gawk -F [/] '{print $1}' /bin/kill -9 $TOMCAT_PID 2>/dev/null if [ $? -ne 0 ];then echo ‘Tomcat is not running.’ else echo “Succeed to shutdown tomcat.” fi

    chmod a+x shutdown.sh //为新建的脚本文件增加执行权限

    八 apache整合

    可以避免打8080 编辑apache http.conf servername devs.c1gstudio.com

    ProxyPass / balancer://cluster/ BalancerMember http://192.168.54.96:8080/

    Posted in Lucene, Tomcat, 技术.

    Tagged with , , .


    Linux的时间设置与同步 (NTP)

    http://x.86516.com/index.php/uid-69-action-viewspace-itemid-4537

    http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server asia的服务器地址 http://support.ntp.org/bin/view/Servers/NTPPoolServers

    ntp.api.bz ntp.api.bz 是一组NTP服务器集群,目前有6台服务器,位于上海电信。这项服务是 api.bz 继 http://sms.api.bz 移动飞信免费短信发送接口之后的第二项免费 API 服务。

    第二步要做的就是在打开NTP服务器之前先和这些服务器做一个同步,使得我们机器的时间尽量接近标准时间. 这里我们可以用ntpdate命令

    Posted in LINUX, 技术.

    Tagged with , .


    No space left on device

    设置crontab 时提示No space left on device 用df -k 检查还有空间

    用df -i  显示 /var 已占用100%,如果inode耗尽,则系统上将不能创建文件。

    在/var/spoo/clientmqueue/下有超多的文件 ls 半天没反应 用rm -rf * 会自动跳出root,用xargs来解决。

    # cd /var/spool/clientmqueue

    # ls | xargs rm -f

    原因分析:系统中cron执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件; 解决办法:  将crontab里面的命令后面加上> /dev/null 2>&1

    Posted in LINUX, 技术.


    textarea在ie7存在自适应宽度bug

    使用css width:99%控制宽度,当你从文本文件中粘贴一篇无换行的文章时,textarea的滚动条会自动跳至文本框顶部,影响输入。估计是ie7不能准确显示无换行内容的高度,在ie6,ff下无此问题。

    解决方法是去掉css,在textarea中用cols=90 写死宽度,IE7宽屏显示效果会差点,在FF下由于外部套了table仍然会自适应宽度。

    Posted in HTML/XHTML/CSS, 技术.


    通过sendemail脚本发送smtp邮件

    http://caspian.dotconf.net/menu/Software/SendEmail/

    Posted in LINUX, 技术.

    Tagged with .


    linux下在线拼音输入法和在线英文字典

    http://dict.cn/tools.html#hczs

    在线拼音输入法 Online Chinese Input Method Editor (IME)

    在线英文字典

    如何在网页中使用划词助手: 打开任意一个网页,然后点击收藏夹中的”Dict”链接。 您的当前网页会在页面的左上角显示一个Dict.CN的划词助手控制面板。 此时划词助手已经激活,您可以在网页中用鼠标选中或双击要查看的单词,解释和例句会立刻出现在弹出窗口。

    Posted in LINUX, 技术.


    linux 磁盘空间监控脚本 smtp邮件通知

    以下内容存成chkdesk.sh

     

    #!/bin/bash  DISKUSAGE=$(
    df -h |
    awk -F " " '{print $5}'|
    sort -n -r|
    sed -n '1s/[^0-9]//p'
    ) DIR=$(
    df -h |
    awk -F " " '{print $5,$1}' |
    sort -nr|
    awk -F " " 'NR==1 {print $2}'
    ) NUM=80 (定义的磁盘非分比)
    
    function
     Send_Mail { (
    sleep 2;echo "helo localhost" sleep 1;echo "auth login" sleep 1;echo "YW5keQ==" (base64后的用户名) sleep 1;echo "MTIzNDU2"  (base64后的密码) sleep 1;echo "mail from:" sleep 1;echo "rcpt to:" sleep 1;echo "data" sleep 1;echo "From:"disk" " sleep 1;echo "to:"admin" " sleep 1;echo "Subject:your web01 disk directory 
    $DIR
     is full" sleep 1;echo "Content-Type:text/plain;" sleep 1;echo "Content:" sleep 1;echo "web01 disk  directory 
    $DIR
     is full" sleep 1;echo "." sleep 1;echo "quit")| telnet 192.168.1.1 25 >/dev/null 2>&1 }  if
     [ $DISKUSAGE -ge $NUM
     ] ; then
    gmail         Send_Mail         echo "already suuess send alert message" fi

    Posted in shell, 技术.

    Tagged with , .