发布新日志

  • iostat之Device统计

    2011-06-27 11:18:35

    【Device Utilization Report】
      tps --Indicate the number of transfers per second that were issued to the device. A transfer is an I/O request to the device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.
      Blk_read/s --(kB_read/s, MB_read/s) Indicate the amount of data read from the device expressed in a number of blocks (kilobytes, megabytes) per second. Blocks are equivalent to sectors and therefore have a size of 512 bytes.
      Blk_wrtn/s --(kB_wrtn/s, MB_wrtn/s) Indicate the amount of data written to the device expressed in a number of blocks (kilobytes, megabytes) per second.
      Blk_read --(kB_read, MB_read) The total number of blocks (kilobytes, megabytes) read.
      Blk_wrtn --(kB_wrtn, MB_wrtn) The total number of blocks (kilobytes, megabytes) written.
      rrqm/s --The number of read requests merged per second that were queued to the device. 每秒合并的读请求数(使用-x参数时出现此统计,下同)。
      wrqm/s --The number of write requests merged per second that were queued to the device. 每秒合并的写请求数。
      r/s --The number (after merges) of read requests completed per second for the device. 系统每秒发出的读请求数。
      w/s --The number (after merges) of write requests completed per second for the device.系统每秒发出的写请求数。
      rsec/s  --(rkB/s, rMB/s) The number of sectors (kilobytes, megabytes) read from the device per second. 系统每秒的读数据量(单位为扇区,512字节)。
      wsec/s  --(wkB/s, wMB/s) The  number of sectors (kilobytes, megabytes) written to the device per second. 系统每秒的写数据量(单位为扇区,512字节)。
      avgrq-sz --The average size (in sectors) of the requests that were issued to the device. 系统平均每个读请求大小(单位为KB)。
      avgqu-sz --The average queue length of the requests that were issued to the device. 统平均每个写请求大小(单位为KB)。
      await --The average  time  (in  milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. 系统平均每个I/O请求的wait时间(从放入队列到I/O完成)。
      r_await --The average time (in milliseconds) for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.
      w_await --The average time (in milliseconds) for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.
      %util --Percentage of CPU time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs  when this value is close to 100%. I/O的使用率,也就是I/O请求队列中有请求的时间占所有时间的百分比。

    一般而言:
    >. util值为100%左右表明系统的I/O非常忙,磁头基本上没有空闲的时间。
    >. 对RAID卡而言,在随机读写比较多的情况下,(r/s + w/s)大概在1000左右的时候,I/O基本上就处于极限了。
  • iostat之CPU统计

    2011-06-27 11:16:49

    iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

    【CPU Utilization Report】
      %user --Show the percentage of CPU utilization that occurred while executing at the user level (application).
      %nice --Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.
      %system --Show the percentage of CPU utilization that occurred while executing at the system level (kernel).
      %iowait --Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.
      %steal --Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.
      %idle --Show the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
  • Linux软件安装之安装与卸载_其它

    2011-06-25 17:39:31

    三、deb软件包的安装与卸载
    deb是DebianLinux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在DebinaLinux中。
    它的优点是不用被严格的依赖性检查所困扰,缺点是只在DebianLinux发行版中才能见到这个包管理工具。
    ★ 安装
    执行命令:dpkg -i debpackate_name
    如,dpkg -i MYsoftware-1.2.-1.deb
    ★ 卸载
    执行命令:dpkg -e debsoftware_name
    如,dpkg -e MYsoftware

    四、bin软件包的安装与卸载
    扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。
    ★ 安装
    有一些软件可以发布为以.bin为后缀的安装包,例如,流媒体播放器RealONE。如果安装过RealONE的Windows版的话,那么安装RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常简单了。
    执行命令:./filename.bin
    如,./r1p1_linux22_libc6_i386_a1.bin
    接下来选择安装方式,有普通安装和高级安装两种。如果不想改动安装目录,就可选择普通安装,整个安装过程几乎和在Windwos下一样。
    ★ 卸载
    以RealONE for Linux为例,如果采用普通安装方式的话,在用户主目录下会有Real和Realplayer9两个文件夹,把它们删除即可。

    五、Linux绿色软件
    Linux也有一些绿色软件,不过不是很多。Linux系统提供一种机制:自动响应软件运行进程的要求,为它设定好可以马上运行的环境。这种机制可以是一种接口,或者是中间件。程序员编写的程序可以直接拷贝分发,不用安装,只要点击程序的图标,访问操作系统提供的接口,设定好就可以工作。若要删除软件,直接删除就可以,不用链接文件。这是最简单的软件安装、卸载方式。
  • Linux软件安装之安装与卸载_rpm

    2011-06-25 17:38:13

    二、rpm软件包的安装与卸载
    RPM全称是Redhat Package Manager(RedHat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。
    与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
    目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。
    【.rpm的安装与卸载】
    ★ 安装
    执行命令:rpm –ivh rpmpackage_name
    如,rpm –ivh software-1.2.3-1.i386.rpm
    RPM命令主要参数:
      -i 安装软件。
      -t 测试安装,不是真的安装。
      -p 显示安装进度。
      -f 忽略任何错误。
      -U 升级安装。
      -v 检测套件是否正确安装。
    这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
    ★ 卸载
    执行命令:rpm –e software_name
    如,rpm –e software
    注:卸载时使用的是软件名,而不是软件包名。
    PS:有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。
    例如,执行命令“rpm -e xsnow”,可能出现如下报错信息:
    error: removing these packages would break dependencies:
    /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1
    在这种情况下,可以用--force选项重新安装xsnow:rpm -ivh --force xsnow-1.41-1.i386.rpm
    推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。
    【src.rpm的安装】
    执行命令:rpm --rebuild Filename.src.rpm
    这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。
    然后执行rpm安装即可:rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm。
  • Linux软件安装之安装与卸载_tar

    2011-06-25 17:34:52

    一、tar软件包的安装与卸载
    ★ 安装
    整个安装过程可以分为如下几步:
    01>. 取得应用软件
    通过WEB下载或购买光盘的方法获得。
    02>. 解压缩文件
    源代码软件通常以.tar.gz做为扩展名,也有tar.Z、tar.bz2或.tgz为扩展名的。一般tar包都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包。
    03>. 阅读附带的INSTALL文件、README文件
    尽管许多源代码文件包都使用基本相同的命令,但是有时在阅读这些文件时能发现一些重要的区别。例如,有些软件包含一个可以安装的安装脚本程序(.sh)。在安装前阅读这些说明文件,有助于安装成功和节约时间。
    04>. 执行“./configure”命令
    配置包,为编译做准备。
    05>. 执行“make”命令
    进行软件编译。
    06>. 执行“make install”命令
    完成安装。
    07>. 执行“make clean”命令
    删除安装时产生的临时文件。
        好了,到此大功告成!我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放之四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
    ★ 卸载
    有些软件包的源代码编译安装后可以用make uninstall命令卸载。
    如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,应该在编译前进行配置。
    另,有两个软件能够解决tar安装的卸载问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。
  • Linux软件安装之软件包介绍

    2011-06-25 17:30:32

        要充分发挥电脑的作用,就得有大量的应用软件,完成不同的工作。在Windows环境中安装各种应用软件的思路与方法,想必大家早已熟悉。然而,在使用Linux时,我们却总会被这些本不应该是问题的问题所困扰:怎么安装应用软件?我的软件安装在什么地方?如何删除不要的应用软件?……

    一、解析安装包命名
    01. 通常Linux应用软件的安装包有三种形式
    a>. tar包:如software-1.2.3-1.tar.gz,它是使用UNIX系统的打包工具tar打包的。
    b>. rpm包:如software-1.2.3-1.i386.rpm,它是Redhat Linux提供的一种包封装格式。
    c>. dpkg包:如software-1.2.3-1.deb,它是Debain Linux提供的一种包封装格式。
    02. 软件安装包的扩展后缀名
    >. 后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的。
    >. 后缀为.rpm最初是RedHatLinux提供的一种包封装格式,现在许多Linux发行版本都使用。
    >. 后缀为.deb是DebainLinux提供的一种包封装格式。
    >. 后缀为.bin的一般是一些商业软件。
    03. 软件安装包命名规则
    大多数Linux应用软件包的命名也有一定的规律,它遵循:名称-版本-修正版-类型。例如,
    a> software-1.2.3-1.tar.gz 意味着:
       > 软件名称:software
       > 版本号:1.2.3
       > 修正版本:1
       > 类型:tar.gz,说明是一个tar包。
    b> sfotware-1.2.3-1.i386.rpm
       > 软件名称:software
       > 版本号:1.2.3
       > 修正版本:1
       > 可用平台:i386,适用于Intel 80x86平台。
       > 类型:rpm,说明是一个rpm包。(注:由于rpm格式的通常是已编译的程序,所以需指明平台。)

    二、了解包里的内容
    一个Linux应用程序的软件包中可以包含两种不同的内容:
    1>. 一种就是可执行文件
        也就是解开包后就可以直接运行的,在Windows中所有的软件包都是这种类型。安装完这个程序后,就可以使用,但看不到源程序。而且下载时要注意这个软件是否是所使用的平台,否则将无法正常安装。
    2>. 另一种则是源程序
        也就解开包后,还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
        
        通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的,可以根据自己的情况来选择。

  • vmstat之瓶颈分析

    2011-06-23 18:08:18

    通过vmstat识别CPU瓶颈
    r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了逻辑CPU数目(cat /proc/cpuinfo|grep processor|wc -l),就会出现CPU瓶颈了
    解决办法大体几种:
    1. 最简单的就是增加CPU个数
    2. 通过调整任务执行时间,如大任务放到系统不繁忙的情况下进行执行,进尔平衡系统任务
    3. 调整已有任务的优先级

    通过vmstat识别CPU满负荷
    首先需要声明一点的是,vmstat中CPU的度量是百分比的。当us+sy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU 满负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。

    通过vmstat识别RAM瓶颈
    当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。

    vmstat确定系统受限于CPU或内存
    >. 如果CPU的sy和us值相加的百分比接近100%,或者运行队列(r) 中等待的进程数总是不等于 0,则该系统受限于CPU.
    >. 如果si、so的值总是不等于0,则该系统受限于内存。
  • vmstat之参数详解

    2011-06-23 18:07:03

    vmstat监视内存性能:该命令用来检查虚拟内存的统计信息,并可显示有关进程状态、空闲和交换空间、调页、磁盘空间、CPU负载和交换,cache刷新以及中断等方面的信息。

    【Procs】
    r: The number of processes waiting for run time. 运行的和等待(CPU时间片)运行的进程数。 # 这个值也可以判断是否需要增加CPU(长期大于1)。
    b: The number of processes in uninterruptable sleep. 处于不可中断状态的进程数。 # 常见的情况是由I/O引起的,b值越高说明I/O越忙。b的值大于3表示I/O性能不好。

    【Memory】
    swpd: the amount of virtual memory used (kB). 虚拟内存使用量。 
    free: the amount of idle memory (kB). 空闲的物理内存。
    buff: the amount of memory used as buffers (kB). 作为buffer cache的内存,对块设备的读写进行缓冲。
    cache: the amount of memory used as cache. 作为cache的内存,对页数据的交互进行缓冲。

    【Swap】
    si: Amount of memory swapped in from disk (kB/s). 虚拟内存的页导入(从SWAP DISK导入RAM)。
    so: Amount of memory swapped to disk (kB/s). 虚拟内存的页导出(从RAM到SWAP DISK)。
    # 如果(Memory)swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常。

    【IO】
    bi: Blocks sent to a block device (blocks/s). 写磁盘。
    bo: Blocks received from a block device (blocks/s). 读磁盘。
    # 随机磁盘读写的时候,这2个值越大(如超出1M),能看到CPU在IO等待的值也会越大。

    【System】
    in: The number of interrupts per second, including the clock. 每秒产生的中断次数 [设备中断]
    cs: The number of context switches per second. 每秒产生的上下文切换次数。
    # 这2个值越大,说明内核消耗的CPU会越多。

    【cpu】
    us: Time spent running non-kernel code, (user time, including nice time). 用户进程使用的时间(percentage of total processor time consumed by user-space)。 # 如果us长期大于50%,需要考虑优化用户的程序。
    sy: Time spent running kernel code, (system time). 内核(系统)进程消耗的CPU时间百分比[系统进程使用的时间][系统中断](percentage of total processor time consumed by the kernel)
    # 这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
    id: Time spent idle, this includes IO-wait time. CPU处在空闲状态时间百分比(percentage of total processor time spent idle)。
    wa: Time spent waiting for IO. IO等待消耗的CPU时间百分比(percentage of total processor time spent in I/O wait)。
    # wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
  • vmstat之背景介绍

    2011-06-23 18:04:32

    vmstat:Virtual Memory Statistics
        Linux的虚拟内存是一个十分复杂的子系统,它实现了进程间代码与数据共享机制的透明性,并能够分配比系统现有物理内存更多的内存,某些操作系统的虚存甚至能通过提供缓存功能影响到文件系统的性能。
    各种风格的Linux的虚存的实现方式区别很大,但都离不开下面的4个概念:
    1> 实际内存
    实际内存是指一个系统中实际存在的物理内存,称为RAM。实际内存是存储临时数据最快最有效的方式,因此必须尽可能地分配给应用程序,现在的RAM的形式有多种:SIMM、DIMM、Rambus、DDR等,很多RAM都可以使用纠错机制(ECC)。
    2> 交换空间
    交换空间是专门用于临时存储内存的一块磁盘空间,通常在页面调度和交换进程数据时使用,通常推荐交换空间的大小应该是物理内存的二到四倍。
    3> 页面调度
    页面调度是指从磁盘向内存传输数据,以及相反的过程。这个过程之所以被称为页面调度,是因为Linux内存被平均划分成大小相等的页面,通常页面大小为4KB和8KB(在Solaris中可以用pagesize命令查看)。当可执行程序开始运行时,它的映象会一页一页地从磁盘中换入,与此类似,当某些内存在一段时间内空闲,就可以把它们换出到交换空间中,这样就可以把空闲的RAM交给其他需要它的程序使用。
    4> 交换
    交换通常容易和页面调度的概念混淆,页面调度是指把一个进程所占内存的空闲部分传输到磁盘上,而交换是指当系统中实际的内存已不够满足新的分配需求时,把整个进程传输到磁盘上,交换活动通常意味着内存不足。
    当内存严重不足时,系统会频繁使用调页和交换,这增加了磁盘I/O的负载,进一步降低了系统对作业的执行速度,即系统I/O资源问题又会影响到内存资源的分配。
       
        为了提高磁盘存取效率, Linux采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了I/O系统调用(比如read,write,getdents)的时间。
    swpd/buff/cache的区别
    >. swpd: 系统使用的虚拟内存数量(也就是使用交换分区的数量)。
    >. buff:系统中用于buff的物理内存数量,buff也是cache的一种,它与cache的区别在于buff是系统与磁盘在用块为单位进行数据交互时使用,而cache是系统与磁盘在用整页为单位进行数据交互时使用。
    >. cache:系统中用于cache的内存数量。
  • chkconfig 服务

    2011-06-21 22:15:31

    Linux查看服务的启动状态,并且启动和停止服务的方法

    #查看服务在每个级别的运行状态
    [root@localhost ~]#chkconfig --list
    httpd 0:off 1:off 2:off 3:off 4:off 5:on 6:off
    bluetooth 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    #停止httpd服务
    [root@localhost ~]# service httpd stop
    Stopping httpd:[ OK ]

    #启动httpd服务
    [root@localhost ~]# service httpd start
    Starting httpd:[ OK ]

    #重起httpd服务
    [root@localhost ~]# service httpd restart
    Stopping httpd:[ OK ]
    Starting httpd:[ OK ]

    #让httpd在机器启动的时候在运行级别上停止
    [root@localhost ~]# chkconfig --level 345 httpd off
    [root@localhost ~]# chkconfig --list |grep httpd
    httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    #让httpd在机器启动的时候在运行级别上启动
    [root@localhost ~]# chkconfig --level 345 httpd on
    [root@localhost ~]# chkconfig --list |grep httpd
    httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  • LR 输出系统时间

    2011-06-21 15:21:52

    方法一:
    //(可放在相应页面之前)输出格式为:YY-MM-DD HH:MM:SS
    lr_save_datetime("%c",DATE_NOW + TIME_NOW,"time");
    lr_message("%s",lr_eval_string("{time}"));
    //仅输出日期,格式为:YYYY-MM-DD
    lr_save_datetime("%Y-%m-%d ",DATE_NOW,"date");
    lr_message("%s", lr_eval_string("{date}"));

    方法二:
    //输出格式为:星期 月 日 时:分:秒 年
    long t;
    time(&t);
    lr_message("%s",ctime(&t));
  • 关闭浏览器BAT

    2011-06-16 19:14:38

    @ECHO OFF
    title Close Browsers
    color a

    echo *************************************************************
    echo @ Input the number below to terminate the browser process! @

    echo ---------------------------
    echo   1:IE
    echo   2:360se
    echo   3:Chome
    echo   4:Firefox
    echo   0:All above
    echo.
    echo Type [e] to exit directly.
    echo ---------------------------

    :start
    set /p num=Please input:
    echo.

    if "%num%"=="e" goto END
    if "%num%"=="1" goto IE
    if "%num%"=="2" goto 360se
    if "%num%"=="3" goto Chrome
    if "%num%"=="4" goto Firefox
    if "%num%"=="0" goto ALL
    goto retry

    :END
    exit

    :IE
    taskkill /f /im iexplore.exe
    exit

    :360se
    taskkill /f /im 360se.exe
    exit

    :Chrome
    taskkill /f /im chrome.exe
    exit

    :Firefox
    taskkill /f /im firefox.exe
    exit

    :ALL
    taskkill /f /im iexplore.exe
    taskkill /f /im 360se.exe
    taskkill /f /im chrome.exe
    taskkill /f /im firefox.exe
    exit

    :retry
    echo ===== Error: Invalid character, try again please! =====
    echo.
    goto start
  • Liunx流量统计

    2011-06-14 09:52:36

    #!/bin/bash
    echo -n "Input the eth: "
    read eth
    echo "The eth is "$eth
    echo -n "Input seconds: "
    read sec
    echo "Please wait ...."
    infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
    outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
    sumfirst=$(($infirst+$outfirst))
    sleep $sec"s"
    inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
    outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
    sumend=$(($inend+$outend))
    sum=$(($sumend-$sumfirst))
    echo
    echo "==========Duration is "$sec" seconds=========="
    echo "Total: " $sum "Bytes"
    aver=$(($sum/$sec))
    echo "Avrage: " $aver "Bytes/sec"
    echo "========================================="
    echo
  • [转]Linux软件安装

    2011-06-07 19:46:52

      先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.debDebain Linux提供的一种包封装格式;后缀为.tar.gztar.Ztar.bz2.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。

      RPM格式软件包的安装
      1.简介
      几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。
      RPM全称是Red Hat Package ManagerRed Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。RPM示意图见图1
      大多数Linux RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型-MYsoftware-1.2 -1.i386.rpm
      2.安装RPM包软件
      # rpm -ivh MYsoftware-1.2 -1.i386.rpm
      RPM命令主要参数:
      -i 安装软件。
      -t 测试安装,不是真的安装。
      -p 显示安装进度。
      -f 忽略任何错误。
      -U 升级安装。
      -v 检测套件是否正确安装。
      这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
      3.卸载软件
      # rpm -e 软件名
      需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:
      #rpm -e software
    4.
    强行卸载RPM
      有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息:

      ## rpm -e xsnow
      error: removing these packages would break dependencies:
      /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1
      
      在这种情况下,可以用--force选项重新安装xsnow

      ## rpm -ivh --force xsnow-1.41-1.i386.rpm
      xsnow
      
      这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。

      5.安装.src.rpm类型的文件
      目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。
      rpm --rebuild Filename.src.rpm

      这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:
      rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

      使用deb打包的软件安装

      debDebian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在Debina Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。

      1. 安装
      # dpkg -i MYsoftware-1.2.-1.deb

      2. 卸载
      # dpkg -e MYsoftware

      使用源代码进行软件安装

      和RPM安装方式相比,使用源代码进行软件安装会复杂一些,但是用源代码安装软件是Linux下进行软件安装的重要手段,也是运行Linux的最主要的优势之一。使用源代码安装软件,能按照用户的需要选择定制的安装方式进行安装,而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外,仍然有一些软件程序只能从源代码处进行安装。

      现在有很多地方都提供源代码包,到底在什么地方获得取决于软件的特殊需要。对于那些使用比较普遍的软件,如Sendmail,可以从商业网站处下载源代码软件包(如[url]http://www.sendmail.org[/url] )。一般的软件包,可从开发者的Web站点下载。下面介绍一下安装步骤:

      1.解压数据包
      源代码软件通常以.tar.gz做为扩展名,也有tar.Ztar.bz2.tgz为扩展名的。不同扩展名解压缩命令也不相同,见表1
      
      2.编译软件
      成功解压缩源代码文件后,进入解包的目录。在安装前阅读Readme文件和Install文件。尽管许多源代码文件包都使用基本相同的命令,但是有时在阅读这些文件时能发现一些重要的区别。例如,有些软件包含一个可以安装的安装脚本程序(.sh)。在安装前阅读这些说明文件,有助于安装成功和节约时间。

      在安装软件以前要成为root用户。实现这一点通常有两种方式:在另一台终端以root用户登录,或者输入“su”,此时系统会提示输入root用户的密码。输入密码以后,就将一直拥有root用户的权限。如果已经是root用户,那就可以进行下一步。
    通常的安装方法是从安装包的目录执行以下命令:

      gunzip soft1.tar.gz
      cd soft1
      #. /configure #配置#
      make #调用make
      make install #安装源代码#  

      删除安装时产生的临时文件:
      #make clean

      卸载软件:
      #make uninstall

      有些软件包的源代码编译安装后可以用make uninstall命令卸载。如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,应该在编译前进行配置。

      .bin文件安装

      扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,例如,流媒体播放器RealONE。如果安装过RealONEWindows版的话,那么安装RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常简单了:
      #chmod +x r1p1_linux22_libc6_i386_a1.bin
      ./ r1p1_linux22_libc6_i386_a1.bin

      接下来选择安装方式,有普通安装和高级安装两种。如果不想改动安装目录,就可选择普通安装,整个安装过程几乎和在Windwos下一样。

      .bin文件的卸载,以RealONE for Linux为例,如果采用普通安装方式的话,在用户主目录下会有RealRealplayer9两个文件夹,把它们删除即可。

      Linux绿色软件

      Linux也有一些绿色软件,不过不是很多。Linux系统提供一种机制:自动响应软件运行进程的要求,为它设定好可以马上运行的环境。这种机制可以是一种接口,或者是中间件。程序员编写的程序可以直接拷贝分发,不用安装,只要点击程序的图标,访问操作系统提供的接口,设定好就可以工作。若要删除软件,直接删除就可以,不用链接文件。这是最简单的软件安装、卸载方式。

      上面介绍了Linux软件安装的方法,对于Linux初学者来说,RPM安装是一个不错的选择。如果想真正掌握Linux系统,源代码安装仍然是Linux下软件安装的重要手段。

  • 表空间

    2011-06-03 19:19:38

    【创建表空间】
    CREATE TABLESPACE  testspace 
    DATAFILE
    'F:\app\administrator\oradata\mydb\testspace.dbf' size 1024k REUSE 
    AUTOEXTEND ON NEXT 1024k
    MAXSIZE 200M
    ONLINE
    PERMANENT;

    【创建表空间用户】
    CREATE USER  testusr  IDENTIFIED BY  testcode  DEFAULT TABLESPACE testspace;
    GRANT GLOBAL QUERY REWRITE, UNLIMITED TABLESPACE,CONNECT, RESOURCE, CREATE MATERIALIZED VIEW TO  testusr ;

    【查看表空间列表】
    SQL> SELECT tablespace_name,logging,status FROM dba_tablespaces;

    【查看表空间对应数据文件】
    SQL> SELECT file_name,tablespace_name,status FROM dba_data_files WHERE tablespace_name = 'TESTSPACE';
  • BAT

    2011-06-03 19:16:26

    【echo状态】
    echo #查看ECHO处于[打开/关闭]状态
    echo on #打开ECHO
    echo off #关闭ECHO

    【pause暂停】
    系统输出:pause
    >.输出:请按任意键继续...
    自定义输出:echo Please press any key to continue ... &pause > nul
    >.输出:Please press any key to continue ... 

    【设置CMD窗口标题】
    title 标题 #设置CMD窗口标题

    【设置CMD前景/背景颜色】
    color xy #x(第一个)为背景色,y(第二个)为前景色
    e.g.
    >color fc #设置背景为亮白色(f),前景为淡红色(c)
    >color a #设置前景色为淡绿色(a)
    >color #还原默认颜色设置(等同于color 07,即背黑前白)

    【设置行高/列宽】
    mode con lines=x cols=y #设置行高为x,列宽为y
    e.g.
    mode con lines=30 cols=100 #设置行高为30,列宽为100
  • [转]VM调整分辨率

    2011-05-20 18:27:59

    在Virtual Machine中按装了Solaris 10, 或者Linux之后,经常会出现的一个问题就是,新安装的Linux或者Solaris分辨率太低。说实在话,这个问题困扰了我好长时间。因为我觉得很奇怪,安装Solaris就是分辨率比较低,调节分辨率的那个文件也找不到。但是,安装了Suse却没有这个问题,调整到1024*768很正常。本来怀疑是否安装了显卡驱动,但是,这个是VM自动支持的啊。

    今天一不小心才看到VM Tool, 巨晕啊,这个东西,就是用来增强显示效果的。以前怎么就没在意~~。安装很容易。
    1.运行你的Linux.到进入系统界面。
    2.在VM菜单中选择,VM\Install VM Tool。
    3.然后你会发现,你的光驱里多了一个文件夹。"VM Tool.....jar.gz"?反正是一个压缩包。
    4.我选择在Home目录解压缩,然后,打开install 文件,里面详细记录如何安装这个软件的。
    5.在终端模式,运行 ./instll.pl(好像是这个名字) 一步一步选择默认选项就可以了。
    6.安装好之后,会在最后提示你选择那一个分辨率模式,选择一个你喜欢的好了。
    7.重新启动系统。
    8.收功。

  • CPU个数与核数

    2011-05-20 18:27:13

    【判断依据】
    01. 具有相同physical id的CPU是同一颗CPU封装的Core或者Thread;
    02. 具有相同core id(同一physical id中)的CPU是同一个Core的超线程。

    【查看】
    a. 物理CPU个数
    [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
    2
    b. 每个物理CPU中Core的个数(即核数)
    [root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
    cpu cores : 4 
    c. 每个物理CPU中逻辑CPU(可能是Core、Thread或Both)的个数 
    [root@localhost ~]# cat /proc/cpuinfo | grep "siblings" | uniq
    siblings : 8 


  • tree命令

    2011-05-20 18:26:25

    【功能说明】以树状图列出目录的内容。

    【语  法】tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

    【补充说明】执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

    【参  数】
      -a   显示所有文件和目录。
      -A   使用ASNI绘图字符显示树状图而非以ASCII字符组合。
      -C   在文件和目录清单加上色彩,便于区分各种类型。
      -d   显示目录名称而非内容。
      -D   列出文件或目录的更改时间。
      -f   在每个文件或目录之前,显示完整的相对路径名称。
      -F   在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
      -g   列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
      -i   不以阶梯状列出文件或目录名称。
      -I<范本样式>   不显示符合范本样式的文件或目录名称。
      -l   如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
      -n   不在文件和目录清单加上色彩。
      -N   直接列出文件和目录名称,包括控制字符。
      -p   列出权限标示。
      -P<范本样式>   只显示符合范本样式的文件或目录名称。
      -q   用"?"号取代控制字符,列出文件和目录名称。
      -s   列出文件或目录大小。
      -t   用文件和目录的更改时间排序。
      -u   列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
      -x   将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

  • kill命令

    2011-05-20 18:25:37

    killall -9 pname 结束所有(父、子)进程
    kill pid
    其中,信号代码:
    -9 --代表强制执行
    -17 --将进程挂起
    -19 --激活挂起的进程

291/212>
Open Toolbar