﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-beautykingdom-随笔分类-Linux_SysAdmin</title><link>http://www.cppblog.com/beautykingdom/category/7815.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 03 Sep 2012 09:41:22 GMT</lastBuildDate><pubDate>Mon, 03 Sep 2012 09:41:22 GMT</pubDate><ttl>60</ttl><item><title>ubuntu设置静态ip</title><link>http://www.cppblog.com/beautykingdom/archive/2012/09/02/189133.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sun, 02 Sep 2012 05:52:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2012/09/02/189133.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/189133.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2012/09/02/189133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/189133.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/189133.html</trackback:ping><description><![CDATA[edit &nbsp;/etc/network/interfaces<br /><br />auto eth0<br />iface eth0 inet static<br />address ip<br />gateway default gateway<br />netmask default netmask<img src ="http://www.cppblog.com/beautykingdom/aggbug/189133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2012-09-02 13:52 <a href="http://www.cppblog.com/beautykingdom/archive/2012/09/02/189133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>wget进行整站下载&lt;转&gt;</title><link>http://www.cppblog.com/beautykingdom/archive/2011/08/21/154002.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sun, 21 Aug 2011 01:56:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2011/08/21/154002.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/154002.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2011/08/21/154002.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/154002.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/154002.html</trackback:ping><description><![CDATA[from:<br /><a href="http://blog.chinaunix.net/space.php?uid=9950859&amp;do=blog&amp;id=2105109">http://blog.chinaunix.net/space.php?uid=9950859&amp;do=blog&amp;id=2105109</a><br /><br /><br /><span style="widows: 2; text-transform: none; background-color: rgb(242,247,247); text-indent: 0px; font: 14px/21px 宋体; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(10,20,20); word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span">get<font style="padding-bottom: 0px; line-height: 1.5; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" color="#0000ff">&nbsp;-r -p -np -k</font>&nbsp;http://xxx.com/abc/<br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /><br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" />-r,&nbsp; --recursive（递归）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specify recursive download.（指定递归下载）<br /><br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" />-k,&nbsp; --convert-links（转换链接）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make links in downloaded HTML point to local files.（将下载的HTML页面中的链接转换为相对链接即本地链接）<br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /><br />-p,&nbsp; --page-requisites（页面必需元素）&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get all images, etc. needed to display HTML page.（下载所有的图片等页面显示所需的内容）<br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /><br />-np, --no-parent（不追溯至父级）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;don't ascend to the parent directory.<br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /><br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" />另外断点续传用-nc参数 日志 用-o参数<br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /></span><img src ="http://www.cppblog.com/beautykingdom/aggbug/154002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2011-08-21 09:56 <a href="http://www.cppblog.com/beautykingdom/archive/2011/08/21/154002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过证书方式实现ssh的无密码登陆&lt;转&gt;</title><link>http://www.cppblog.com/beautykingdom/archive/2011/08/11/153065.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Thu, 11 Aug 2011 08:58:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2011/08/11/153065.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/153065.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2011/08/11/153065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/153065.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/153065.html</trackback:ping><description><![CDATA[<p><font color="#000000" face="Verdana"><span style="widows: 2; text-transform: none; text-indent: 0px; letter-spacing: normal; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 15px; font-family: 宋体, Arial; font-size: 12px" class="Apple-style-span"></p>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">相关文章很多，大同小异，本文只是为了按照那些文章配置，但是还是需要输入密码的情况写的。</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">关键字：SSH证书方式登陆依然需要输入密码</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">两台linux机器：A B</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">都已经安装上OpenSSH,A上通过ssh-keygen生成一对密钥，</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">公钥通过任意方式放到B的~/.ssh/authorized_keys文件里面。</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">.ssh目录权限755，authorized_keys权限600。</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">这时候在A上可以通过不用输入密码直接ssh B了。</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">注意：很多文章说是authorized_keys的权限644，当你644的时候可能登陆的时候还会让你输入密码，但是一旦改成600以后并且成功登陆，这时候再改成644，此问题不再出现。</div>
<div style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">被这个问题折腾了将近一个星期，郁闷是难免的了，甚至自己写了程序代替slogin scp等命令，最终还是配置成功了。</div>
<p></span></span><br class="Apple-interchange-newline" />from:<br /><a href="http://blog.chinaunix.net/space.php?uid=233938&amp;do=blog&amp;cuid=211941">http://blog.chinaunix.net/space.php?uid=233938&amp;do=blog&amp;cuid=211941</a><br /></font></p><img src ="http://www.cppblog.com/beautykingdom/aggbug/153065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2011-08-11 16:58 <a href="http://www.cppblog.com/beautykingdom/archive/2011/08/11/153065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Aix下查看占用端口的进程</title><link>http://www.cppblog.com/beautykingdom/archive/2010/12/06/135571.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Mon, 06 Dec 2010 04:08:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/12/06/135571.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/135571.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/12/06/135571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/135571.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/135571.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: song,Verdana; font-size: 14px; line-height: 22px; text-align: left;">Issue the command:<span class="Apple-converted-space">&nbsp;</span><br style="word-wrap: break-word; line-height: normal;">rmsock `netstat -Aan | grep port | awk '{print $1}'` tcpcp<br><br>be sure to utilize the root previledge<span class="Apple-converted-space"> </span><br style="word-wrap: break-word; line-height: normal;"></span></span><br> <img src ="http://www.cppblog.com/beautykingdom/aggbug/135571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-12-06 12:08 <a href="http://www.cppblog.com/beautykingdom/archive/2010/12/06/135571.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解Linux配置文件 </title><link>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133601.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sun, 14 Nov 2010 11:22:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133601.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/133601.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/133601.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/133601.html</trackback:ping><description><![CDATA[<pre style="word-wrap: break-word; white-space: pre-wrap; ">本文说明了 Linux 系统的配置文件，在多用户、多任务环境中，配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组，以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前 Red Hat Linux 系统中的配置文件进行了分类。 
介绍 
每个 Linux 程序都是一个可执行文件，它含有操作码列表，CPU 将执行这些操作码来完成特定的操作。例如，ls 命令是由 /bin/ls 文件提供的，该文件含有机器指令的列表，在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 

Linux 中有没有一个标准的配置文件格式？ 
一句话，没有。不熟悉 Linux 的用户（一定）会感到沮丧，因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中，每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多，从 /etc/shells 文件（它包含被一个换行符分开的 shell 的列表），到 Apache 的复杂的 /etc/httpd.conf 文件。 

什么是系统配置文件？ 
内核本身也可以看成是一个&#8220;程序&#8221;。为什么内核需要配置文件？内核需要了解系统中用户和组的列表，进而管理文件权限（即根据权限判定特定用户（UNIX_USERS）是否可以打开某个文件）。注意，这些文件不是明确地由程序读取的，而是由系统库所提供的一个函数读取，并被内核使用。例如，程序需要某个用户的（加密过的）密码时不应该打开 /etc/passwd 文件。相反，程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核（通过系统库）决定的。 

除非另行指定，Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类： 

访问文件 
/etc/host.conf 告诉网络域名服务器如何查找主机名。（通常是 /etc/hosts，然后就是名称服务器；可通过 netconf 对其进行更改） 
/etc/hosts 包含（本地网络中）已知主机的一个列表。如果系统的 IP 不是动态生成，就可以使用它。对于简单的主机名解析（点分表示法），在请求 DNS 或 NIS 网络名称服务器之前，/etc/hosts.conf 通常会告诉解析程序先查看这里。 
/etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 
/etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 


引导和登录／注销 
/etc/issue &amp; /etc/issue.net 这些文件由 mingetty（和类似的程序）读取，用来向从终端（issue）或通过 telnet 会话（issue.net）连接的用户显示一个&#8220;welcome&#8221;字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。 
/etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。 
/etc/rc.d/rc 通常在所有运行级别运行，级别作为参数传送。例如，要以图形（Graphics）模式（X-Server）引导机器，请在命令行运行下面的命令：init 5。运行级别 5 表示以图形模式引导系统。 
/etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 
/etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 
/etc/rc.d/rc/rcX.d 从 rc 运行的脚本（X 表示 1 到 5 之间的任意数字）。这些目录是特定&#8220;运行级别&#8221;的目录。当系统启动时，它会识别要启动的运行级别，然后调用该运行级别的特定目录中存在的所有启动脚本。例如，系统启动时通常会在引导消息之后显示&#8220;entering run-level 3&#8221;的消息；这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。 


文件系统 
内核提供了一个接口，用来显示一些它的数据结构，这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的，称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。例如，/proc/modules 文件列举系统中当前加载的模块。lsmod 命令读取此信息，然后将其以人们可以看懂的格式显示出来。下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。 /etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说，文件系统被安装和卸载时，改变会立即反映到此文件中。 
/etc/fstab 列举计算机当前&#8220;可以安装&#8221;的文件系统。这非常重要，因为计算机引导时将运行 mount -a 命令，该命令负责安装 fstab 的倒数第二列中带有&#8220;1&#8221;标记的每一个文件系统。 
/etc/mtools.conf DOS 类型的文件系统上所有操作（创建目录、复制、格式化等等）的配置。 


系统管理 
/etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务，可以存在于多个组中。例如，如果一个&#8220;用户&#8221;是&#8220;project 1&#8221;工程组的成员，同时也是管理员，那么在 group 文件中他的条目看起来就会是这样的：user: * : group-id : project1 
/etc/nologin 如果有 /etc/nologin 文件存在，login(1) 将只允许 root 用户进行访问。它将对其它用户显示此文件的内容并拒绝其登录。 
/etc/passwd 请参阅&#8220;man passwd&#8221;。它包含一些用户帐号信息，包括密码（如果未被 shadow 程序加密过）。 
/etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置，这样，当任何 rpm 命令在该系统中运行时，所有的选项都会全局适用。 
/etc/securetty 包含设备名称，由 tty 行组成（每行一个名称，不包括前面的 /dev/），root 用户在这里被允许登录。 
/etc/usertty 
/etc/shadow 包含加密后的用户帐号密码信息，还可以包括密码时效信息。包括的字段有： 
登录名 
加密后的密码 
从 1970 年 1 月 1 日到密码最后一次被更改的天数 
距密码可以更改之前的天数 
距密码必须更改之前的天数 
密码到期前用户被警告的天数 
密码到期后帐户被禁用的天数 
从 1970 年 1 月 1 日到帐号被禁用的天数 

/etc/shells 包含系统可用的可能的&#8220;shell&#8221;的列表。 
/etc/motd 每日消息；在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。 


联网 
/etc/gated.conf gated 的配置。只能被 gated 守护进程所使用。 
/etc/gated.version 包含 gated 守护进程的版本号。 
/etc/gateway 由 routed 守护进程可选地使用。 
/etc/networks 列举从机器所连接的网络可以访问的网络名和网络地址。通过路由命令使用。允许使用网络名称。 
/etc/protocols 列举当前可用的协议。请参阅 NAG（网络管理员指南，Network Administrators Guide）和联机帮助页。 
C 接口是 getprotoent。绝不能更改。 
/etc/resolv.conf 在程序请求&#8220;解析&#8221;一个 IP 地址时告诉内核应该查询哪个名称服务器。 
/etc/rpc 包含 RPC 指令／规则，这些指令／规则可以在 NFS 调用、远程文件系统安装等中使用。 
/etc/exports 要导出的文件系统（NFS）和对它的权限。 
/etc/services 将网络服务名转换为端口号／协议。由 inetd、telnet、tcpdump 和一些其它程序读取。有一些 C 访问例程。 
/etc/inetd.conf inetd 的配置文件。请参阅 inetd 联机帮助页。包含每个网络服务的条目，inetd 必须为这些网络服务控制守护进程或其它服务。注意，服务将会运行，但在 /etc/services 中将它们注释掉了，这样即使这些服务在运行也将不可用。格式为： 
/etc/sendmail.cf 邮件程序 sendmail 的配置文件。比较隐晦，很难理解。 
/etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 读取。 
/etc/sysconfig/network-scripts/if* Red Hat 网络配置脚本。 


系统命令 
系统命令要独占地控制系统，并让一切正常工作。所有如 login（完成控制台用户身份验证阶段）或 bash（提供用户和计算机之间交互）之类的程序都是系统命令。因此，和它们有关的文件也特别重要。这一类别中有下列令用户和管理员感兴趣的文件。 /etc/lilo.conf 包含系统的缺省引导命令行参数，还有启动时使用的不同映象。您在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。 
/etc/logrotate.conf 维护 /var/log 目录中的日志文件。 
/etc/identd.conf identd 是一个服务器，它按照 RFC 1413 文档中指定的方式实现 TCP/IP 提议的标准 IDENT 用户身份识别协议。identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。作为选择，它也可以返回其它信息，而不是用户名。请参阅 identd 联机帮助页。 
/etc/ld.so.conf &#8220;动态链接程序&#8221;（Dynamic Linker）的配置。 
/etc/inittab 按年代来讲，这是 UNIX 中第一个配置文件。在一台 UNIX 机器打开之后启动的第一个程序是 init，它知道该启动什么，这是由于 inittab 的存在。在运行级别改变时，init 读取 inittab，然后控制主进程的启动。 
/etc/termcap 一个数据库，包含所有可能的终端类型以及这些终端的性能。 


守护进程 
守护进程是一种运行在非交互模式下的程序。一般来说，守护进程任务是和联网区域有关的：它们等待连接，以便通过连接提供服务。Linux 可以使用从 Web 服务器到 ftp 服务器的很多守护进程。 /etc/syslogd.conf syslogd 守护进程的配置文件。syslogd 是一种守护进程，它负责记录（写到磁盘）从其它程序发送到系统的消息。这个服务尤其常被某些守护进程所使用，这些守护进程不会有另外的方法来发出可能有问题存在的信号或向用户发送消息。 

/etc/httpd.conf Web 服务器 Apache 的配置文件。这个文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中，但是要确定它的位置，您还需要检查特定的 Apache 安装信息。 
/etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是，kerneld 并不是&#8220;作为守护进程的&#8221;内核。它其实是一种在需要时负责&#8220;快速&#8221;加载附加内核模块的守护进程。 


用户程序 
在 Linux（和一般的 UNIX）中，有无数的&#8220;用户&#8221;程序。最常见的一种用户程序配置文件是 /etc/lynx.cfg。这是著名的文本浏览器 lynx 的配置文件。通过这个文件，您可以定义代理服务器、要使用的字符集等等。下面的代码样本展示了 lynx.cfg 文件的一部分，修改这部分代码可以改变 Linux 系统的代理服务器设置。缺省情况下，这些设置适用于在各自的 shell 中运行 lynx 的所有用户，除非某个用户通过指定 --cfg = "mylynx.cfg" 重设了缺省的配置文件。 

/etc/lynx.cfg 中的代理服务器设置 
.h1 proxy 
.h2 HTTP_PROXY 
.h2 HTTPS_PROXY 
.h2 FTP_PROXY 
.h2 GOPHER_PROXY 
.h2 NEWS_PROXY 
.h2 NNTP_PROXY 
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as 
# firewall gateways and caching servers. They are preferable to the older 
# gateway servers. Each protocol used by Lynx can be mapped separately using 
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have 
# not set them externally, you can set them at run time via this configuration file. 
# They will not override external settings. The no_proxy variable can be used 
# to inhibit proxying to selected regions of the Web (see below). Note that on 
# VMS these proxy variables are set as process logicals rather than symbols, to 
# preserve lowercasing, and will outlive the Lynx image. 
# 
.ex 15 
http_proxy:http://proxy3.in.ibm.com:80/ 
ftp_proxy:http://proxy3.in.ibm.com:80/ 
#http_proxy:http://penguin.in.ibm.com:8080 
#ftp_proxy:http://penguin.in.ibm.com:8080/ 

.h2 NO_PROXY 
# The no_proxy variable can be a comma-separated list of strings defining 
# no-proxy zones in the DNS domain name space. If a tail substring of the 
# domain-path for a host matches one of these strings, transactions with that 
# node will not be proxied. 
.ex 
no_proxy:demiurge.in.ibm.com, demiurge 





更改配置文件 
在更改配置文件时，如果程序不是由系统管理员或内核控制的，就要确保重新启动过使用该配置的程序。普通用户通常没有启动或停止系统程序和／或守护进程的权限。 

内核 
更改内核中的配置文件会立即影响到系统。例如，更改 passwd 文件以增加用户将立即使该用户变为可用。而且任何 Linux 系统的 /proc/sys 目录中都有一些内核可调参数。只有超级用户可以得到对所有这些文件的写访问权力；其它用户只有只读访问权力。此目录中文件的分类的方式和 Linux 内核源代码的分类方式一样。此目录中的每个文件都代表一个内核数据结构，这些数据结构可以被动态地修改，从而改变系统性能。 

注意：在更改其中任何文件的任何值之前，您应该确保自己全面了解该文件，以避免对系统造成不可修复的损害。 
/proc/sys/kernel/ 目录中的文件 文件名 描述 
threads-max 内核可运行的最大任务数。 
ctrl-alt-del 如果值为 1，那么顺序按下这几个键将&#8220;彻底地&#8221;重新引导系统。 
sysrq 如果值为 1，Alt-SysRq 则为激活状态。 
osrelease 显示操作系统的发行版版本号 
ostype 显示操作系统的类型。 
hostname 系统的主机名。 
domainname 网络域，系统是该网络域的一部分。 
modprobe 指定 modprobe 是否应该在启动时自动运行并加载必需的模块。 


守护进程和系统程序 
守护进程是永远运行在后台的程序，它默默地执行自己的任务。常见的守护进程有 in.ftpd（ftp 服务器守护进程）、in.telnetd（telnet 服务器守护进程）和 syslogd（系统日志记录守护进程）。有些守护进程在运行时会严密监视配置文件，在配置文件改变时就会自动重新加载它。但是大多数守护进程并不会自动重新加载配置文件。我们需要以某种方式&#8220;告诉&#8221;这些守护进程配置文件已经被发生了改变并应该重新加载。可以通过使用服务命令重新启动服务来达到这个目的（在 Red Hat Linux 系统上）。 

例如，如果我们更改了网络配置，就需要发出： 
service network restart。 

注意：这些服务最常见的是 /etc/rc.d/init.d/* 目录中存在的脚本，在系统被引导时由 init 启动。所以，您也可以执行如下操作来重新启动服务： 
/etc/rc.d/init.d/ start | stop | status 
start、stop 和 status 是这些脚本接受的输入值，用来执行操作。 

用户程序 
用户或系统程序在每次启动时都会读取其配置文件。尽管如此，请记住，有些系统程序在计算机打开时情况不一样，它们的行为依赖于在 /etc/ 中的配置文件中读到的内容。所以，用户程序第一次启动时将从 /etc/ 目录中存在的文件读取缺省配置。然后，用户可以通过使用 rc 和 .（点）文件来定制程序，正如下面一节所示。 

用户配置文件：.（点）文件和 rc 文件 
我们已经看到怎样容易地配置程序。但是如果有的人不喜欢在 /etc/ 中配置程序的方式该怎么办呢？&#8220;普通&#8221;用户不能简单地进入 /etc 然后更改配置文件；从文件系统的角度来看，配置文件的所有者是 root 用户！这就是大多数用户程序都定义两个配置文件的原因：第一个是&#8220;系统&#8221;级别的，位于 /etc/；另一个属于用户&#8220;专用&#8221;，可以在他或她的主目录中找到。 

例如，我在我的系统中安装了非常有用的 wget 实用程序。/etc/ 中有一个 /etc/wgetrc 文件。在我的主目录中，有一个名为 .wgetrc 的文件，它描述了我定制的配置（只有在我，也就是用户运行 wget 命令时，才会加载这个配置文件）。其它用户在他们自己的主目录（/home/other）中也可以有 .wgetrc 文件；当然，只有这些用户运行 wget 命令时，才会读取这个文件。换句话说，/etc/wgetrc 文件为 wget 提供了&#8220;缺省&#8221;值，而 /home/xxx/.wgetrc 文件列举了某个用户的&#8220;定制项&#8221;。重要的是这只是&#8220;一般规则&#8221;，并非所有情况都如此。例如，一个象 pine 一样的程序，在 /etc/ 中并没有任何文件，它只在用户主目录中有一个定制配置文件，名为 .pinerc。其它程序可能只有 /etc/ 中的缺省配置文件，而且可能不允许用户&#8220;定制&#8221;这些配置文件（/etc 目录中只有少数 config. 文件是这种情况）。 

通常使用的 rc 和 .（点）文件 
文件名 描述 
~/.bash_login 请参考&#8220;man bash&#8221;。如果 ~/.bash_profile 不存在，bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。 
~/.bash_logout 请参考&#8220;man bash&#8221;。在退出时由 bash 登录 shell 引用。 
~/.bash_profile 由 bash 登录 shell 引用 /etc/profile 之后引用。 
~/.bash_history 先前执行的命令的列表。 
~/.bashrc 请参考&#8220;man bash&#8221;。由 bash 非登录交互式 shell 引用（没有其它文件）。除非设置了 BASH_ENV 或 ENV，非交互式 shell 不引用任何文件。 
~/.emacs 启动时由 emac 读取。 
~/.forward 如果这里包含一个电子邮件地址，那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。 
~/.fvwmrc ~/.fvwm2rc fvwm 和 fvwm2（基本的 X Window 管理器）的配置文件。 
~/.hushlogin 请参考&#8220;man login&#8221;。引起&#8220;无提示&#8221;登录（没有邮件通知、上次登录信息或者 MOD 信息）。 
~/.mail.rc 邮件程序的用户初始化文件。 
~/.ncftp/ ncftp 程序的目录；包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议（Internet standard File Transfer Protocol）提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。 
~/.profile 请参考&#8220;man bash&#8221;。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在，bash 则将 ~/.profile 作为 ~/.bash_profile 处理，并被其它继承 Bourn 的 shell 使用。 
~/.pinerc Pine 配置 
~/.muttrc Mutt 配置 
~/.exrc 这个文件可以控制 vi 的配置。 
示例：set ai sm ruler 
在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。 
~/.vimrc 缺省的&#8220;Vim&#8221;配置文件。和 .exrc 一样。 
~/.gtkrc GNOME 工具包（GNOME Toolkit）。 
~/.kderc KDE 配置。 
~/.netrc ftp 缺省登录名和密码。 
~/.rhosts 由 r- 工具（如 rsh、rlogin 等等）使用。因为冒充主机很容易，所以安全性非常低。 
必须由用户（~/ 的所有者）或超级用户拥有。 
列出一些主机，用户可以从这些主机访问该帐号。 
如果是符号链接则被忽略。 

~/.rpmrc 请参阅&#8220;man rpm&#8221;。如果 /etc/rpmrc 不存在则由 rpm 读取。 
~/.signature 消息文本，将自动附加在从此帐号发出的邮件末尾。 
~/.twmrc twm（The Window Manager）的配置文件。 
~/.xinitrc 启动时由 X 读取（而不是由 xinit 脚本读取）。通常会启动一些程序。 
示例：exec /usr/sbin/startkde 
如果该文件中存在上面这行内容，那么在从这个帐号发出 startx 命令时，这一行就会启动&#8220;KDE 视窗管理器&#8221;（KDE Window Manager）。 
~/.xmodmaprc 此文件被传送到 xmodmap 程序，而且可以被命名为任何文件（例如 ~/.Xmodmap 和 ~/.keymap.km）。 
~/.xserverrc 如果 xinit 可以找到要执行的 X，xinit 就会将该文件作为 X 服务器运行。 
~/News/Sent-Message-IDs gnus 的缺省邮件历史文件。 
~/.Xauthority 由 xdm 程序读和写，以处理权限。请参阅 X、xdm 和 xauth 联机帮助页。 
~/.Xdefaults, 
~/.Xdefaults-hostname 在主机 hostname 的启动过程中由 X 应用程序读取。如果找不到 -hostname 文件，则查找 .Xdefaults 文件。 
~/.Xmodmap 指向 .xmodmaprc；Red Hat 有使用这个名称的 .xinitrc 文件。 
~/.Xresources 通常是传送到 xrdb 以加载 X 资源数据库的文件的名称，旨在避免应用程序需要读取一个很长的 .Xdefaults 文件这样的情况。（有些情况曾经使用了 ~/.Xres。） 

~/mbox 用户的旧邮件。 


参考资料 

要了解更多信息，请阅读 Jack Wallen, Jr. 的 Linux configuration files。 


在 developerWorks 上还有： 
Technical FAQ for Linux users 
What good is a Linux client? 
Using the xinetd program for system administration 


流览 developerWorks 上的更多 Linux 参考资料。 


流览 developerWorks 上的更多开放源代码参考资料。 

关于作者 
Subodh Soni 持有印度 College Surat 大学计算机科学与技术地区工程学的工程学学士学位。他为印度的 IBM Global Services（IBM Software Labs）工作；他还是 IBM Linux Technology Center 的成员之一，在那里他致力于 Linux RAS（Reliability，Availability and Serviceability（可靠性、可用性和适用性））。他感兴趣的其它领域还有操作系统内部、Linux 系统管理和疑难解答。您可以通过 subodh@in.ibm.com 与他联系。 

</pre><pre style="word-wrap: break-word; white-space: pre-wrap; "><br></pre><pre style="word-wrap: break-word; white-space: pre-wrap; ">from: ibm developerworks</pre>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/133601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-11-14 19:22 <a href="http://www.cppblog.com/beautykingdom/archive/2010/11/14/133601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网络配置文件快速解读</title><link>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133600.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sun, 14 Nov 2010 11:20:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133600.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/133600.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/11/14/133600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/133600.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/133600.html</trackback:ping><description><![CDATA[<pre style="word-wrap: break-word; white-space: pre-wrap; ">iamafan 


在Linux系统中，TCP/IP网络是通过若干个文本文件进行配置的，需要编辑这些文件来完成联网工作。系统中重要的有关网络配置文件为： 

◆ /etc/sysconfig/network 
◆ /etc/HOSTNAME 
◆ /etc/hosts 
◆ /etc/services 
◆ /etc/host.conf 
◆ /etc/nsswitch.conf 
◆ /etc/resolv.conf 
◆ /etc/rc.d/init.d/network 

接下来我们将对这些文件逐一讲述，这些文件都可以在系统运行时进行修改，不用启动或者停止任何守护程序，更改会立刻生效(除了/etc/sysconfig/network)。另外，这些文件都支持由"#"开头的注释，每一个文件都有在UNIX手册页中的第5部分中有一项，可以用man命令来获取它们。 

◆ /etc/sysconfig/network 网络设置 
该文件用来指定服务器上的网络配置信息，包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件： 

NETWORKING=yes 
HOSTNAME=machine1 
GATEWAY=210.34.6.2 
FORWARD_IPV4=yes 
GATEWAYDEV= 

其中，NETWORK=yes/no 表示网络是否被配置； 
HOSTNAME=hostname hostname 表示服务器的主机名； 
GATEWAY=gw-ip gw-ip 表示网络网关的IP地址； 
FORWARD_IPV4=yes/no 是否开启IP转发功能； 
GAREWAYDEV=gw-dev gw-dw 表示网关的设备名，如：eth0等； 
为了和老的一些软件相兼容，"/etc/HOSTNAME"文件应该用和HOSTNAME=hostname相同的主机名。 

◆ /etc/HOSTNAME 主机名 

该文件包含了系统的主机名称，包括完全的域名，如： 

192.168.0.1 machine1.domain machine1 

这个文件是在启动时从文件/etc/sysconfig/network中的HOSTNAME行中得到的，用于在启动时设置系统的主机名。 

◆ /etc/hosts IP地址和主机名的映射 

/etc/hosts中包含了IP地址和主机名之间的映射，还包括主机名的别名，IP地址的设计使计算机容易识别，但对于人却很难记住它们，为了解决这个问题，创建了/etc/hosts这个文件。下面是一个例子文件： 

127.0.0.1 machine1 localhost.localdomain localhost 
192.168.1.100 machine7 
192.168.1.101 otherpc otheralias 

在这个例子中，本机名是machine1，otherpc还有别名otheralias，它可以指向otheralias。。一旦配置完机器的网络配置文件，应该重新启动网络以使修改生效，使用下面的命令来重新启动网络： 

/etc/rc.d/init.d/network restart 

/etc/hosts文件通常含有主机名、localhost和系统管理员经常使用的系统别名，有时候telnet到Linux机器要等待很长时间，可以通过在"/etc/hosts"加入客户的机器的IP地址和主机名的匹配项，就可以减少登录等待时间。在没有域名服务器情况下，系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址，否则，其他的主机名通常使用DNS来解决，DNS客户部分的配置在文件/etc/resolv.conf中。 

◆ /etc/services 

/etc/services中包含了服务名和端口号之间的映射，不少的系统程序要使用这个文件，下面是RedHat 安装时缺省的/etc/services中的前几行： 

tcpmux 1/tcp # TCP port service multiplexer 
echo 7/tcp 
echo 7/udp 
discard 9/tcp sink null 
discard 9/udp sink null 
systat 11/tcp users 

最左边一列是主机服务名，中间一列是端口号，&#8221;/&#8220; 后面是端口类型，可以是TCP也可以是UDP。任何后面的列都是前面服务的别名。在这个文件中也存在着别名，它们出现在端口号后面，在上述例子中sink和null 都是discard服务的别名。 

◆ /etc/host.conf 配置名字解析器 

有两个文件声明系统到哪里寻找名字信息来配置UNIX名字解析器的库。文件/etc/host.conf由版本5的libc库所使用，而/etc/nsswitch.conf由版本6使用(glibc )。问题在于一些程序使用其中一个，而一些使用另一个，所以将两个文件都配置正确是必要的。 

/etc/host.conf文件指定如何解析主机名，Linux通过解析器库来获得主机名对应的IP地址。下面是RedHat安装后缺省的"/etc/host.conf"内容： 

order hosts，bind 
multi on 

※"order " 指定主机名查询顺序，其参数为用逗号隔开的查找方法，支持的查找方法为bind、hosts和nis，分别代表DNS、/etc/hosts和NIS，这里规定先查询"/etc/hosts"文件然后再使用DNS来解析域名。 
※"trim" 表明当通过DNS进行地址到主机名的转换时，域名将从主机名中被裁剪掉，trim可以被多个域包含多次，对/etc/hosts和NIS查询方法不起作用，注意在/etc/hosts和NIS表中主机名是被适当地(有或没有全域名)列出的。 
※"multi" 指定是否"/etc/hosts"文件中指定的主机可以有多个地址，值为on表示允许，拥有多个IP地址的主机一般称为具有多个网络界面。 
※"nospoof " 指是否允许对该服务器进行IP地址欺骗，值为on表示不允许，IP欺骗是一种攻击系统安全的手段，通过把IP地址伪装成别的计算机，来取得其它计算机的信任。 
※"alert" 当nospoof指令为on时，alert控制欺骗的企图是否用syslog工具进行记录，值为on表示使用，缺省值为off。 
※"rccorder" 如果被设置为on，所有的查询将被重新排序，所以在同一子网中的主机将首选被返回，缺省值为off。 

◆ /etc/nsswitch.conf 配置名字解析器 

/etc/nsswitch.conf文件是由S u n公司开发并用于管理系统中多个配置文件查找的顺序，它比/etc/host.conf文件提供了更多的功能。/etc/nsswitch.conf中的每一行或者是注释(以#号开头)或者是一个关键字后跟冒号和一系列要试用的有顺序的方法。每一个关键字是在/etc/目录可以被/etc/nsswitch.conf控制的/etc文件的名字。下面是可以被包含的关键字： 

※aliases 邮件别名； 
※passwd 系统用户； 
※group 用户组； 
※shadow 隐蔽口令； 
※hosts 主机名和I P地址； 
※networks 网络名和号； 
※protocols 网络协议； 
※services 端口号和服务名称； 
※ethers 以太网号； 
※rpc 远程进程调用的名称和号 
※netgroup 网内组 

下面也是可以包含的关键字： 

※files 除了netgroup，对其他关键字都有效。在相应的/etc文件中寻找记录 
※db 除了netgroup，对其他关键字都有效。在相应的/var/db数据库中寻找记录。对长文件很有效，如passwd文件已经 超过500项。要从标准/etc文件中产生这些文件，应改变目录到/var/db并运行run命令 
※compat 兼容性模式，对passwd、group和shadow文件有效。在本模式中，将先在对应的/etc文件中查找。如果想进行NIS查找，需要第一个值(用户名或组名)为加号( + )，后面跟对应数量的冒号( : ) ( /etc/passwd为6个， /etc/group为3个， /etc/shadow为8个)。如在/etc/passwd文件中，下面一行应被包含在文件尾： + : * : : : : : 
※dns 只对hosts有意义。像在/etc/resolvconf配置的，在DNS中进行查找 
※nis 对所有的关键字都有意义。如NIS是可以用的，在NIS服务器中查找 
※[ STATUS = action ] 控制名字服务的行为。STATUS是SUCCESS(操作被成功执行)、NOTFOUND (记录没找到)、UNAVAIL (所选择的服务不可用)和TRYAGAIN (服务暂时不可用，请重试)中的一个。action是return (终止查找并返回当前状态)或continue (继续这一行的其他项)中的一个。如hosts: dns nis [NOTFOUND=return] files将会首先在DNS中，然后在NIS中查找主机名。只有当前两项都不可用时才使用文件/etc/hosts 

◆ /etc/resolv.conf 配置DNS客户 

文件/etc/resolv.conf配置DNS客户，它包含了主机的域名搜索顺序和DNS服务器的地址，每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件： 

search mydom.edu.cn 
nameserver 210.34.0.14 
nameserver 210.34.0.2 

合法的参数及其意义如下： 
※nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver，每一个带一个I P地址。在查询时就按nameserver在本文件中的顺序进行，且只有当第一个nameserver没有反应时才查询下面的nameserver. 
※domain 声明主机的域名。很多程序用到它，如邮件系统；当为没有域名的主机进行DNS查询时，也要用到。如果没有域名，主机名将被使用，删除所有在第一个点( . )前面的内容。 
※search 它的多个参数指明域名查询顺序。当要查询没有域名的主机，主机将在由search声明的域中分别查找。domain和search不能共存；如果同时存在，后面出现的将会被使用。 
※sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对，允许任意的排列顺序。Red Hat中没有提供缺省的/ e t c / r e s o l v. c o n f文件，它的内容是根据在安装时给出的选项动态创建的。 

◆ /etc/init.d/network 主机地址、子网掩码和网关 

不像很多其他的UNIX和Linux操作系统， Red Hat当前并不能自动地通过/etc/hostname和/etc/hosts文件来配置网络。为了改变主机缺省的IP地址，必须直接编辑/etc/init.d/network脚本使其反映正确的网络配置。这个文件包括了声明IP地址、掩码、网络、广播地址和缺省路由器的变量。下面是这个文件中相应的部分： 

IPADDR=192.168.1.100 
NETMASK=255.255.255.0 
BROADCAST=192.168.1.255 
GATEWAY=192.168.1.1  </pre>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/133600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-11-14 19:20 <a href="http://www.cppblog.com/beautykingdom/archive/2010/11/14/133600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AIX系统信息查看</title><link>http://www.cppblog.com/beautykingdom/archive/2010/10/02/128281.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sat, 02 Oct 2010 01:19:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/10/02/128281.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/128281.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/10/02/128281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/128281.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/128281.html</trackback:ping><description><![CDATA[
<span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><div><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">看编译器版本：</span>lslpp -l | grep Xlc</div><div>bootinfo -k(小写)</div></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回当前的启动模式/返回机器的钥匙的位置</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">1 Key is in Secure position.</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">2 Key is in Service position.</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">3 Key is in Normal position.</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -K(大写)</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回当前</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><span href="tag.php?name=%E7%B3%BB%E7%BB%9F" class="t_tag" style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(255, 0, 0); white-space: nowrap; ">系统</span></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">运行的内核为32位还是64位</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -m</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回机器类型码</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -c</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">-c Displays bootp daemon reply packet information stored with IPL control block.</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -t</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回当前启动类型</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">1 Disk boot</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">3 CD-ROM boot</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">4 Tape boot</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">5 Network boot</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -z</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回机器是否支持多</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><span href="tag.php?name=%E5%A4%84%E7%90%86%E5%99%A8" class="t_tag" style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(255, 0, 0); white-space: nowrap; ">处理器</span></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">0 不支持</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">1 支持</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -T</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回机器的硬件平台类型，比如rspc</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -r</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回实际</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><span href="tag.php?name=%E5%86%85%E5%AD%98" class="t_tag" style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(255, 0, 0); white-space: nowrap; ">内存</span></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">容量，单位为kbytes</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -b</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回最后一次启动的设备</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">bootinfo -y</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回机器硬件是32位还是64位</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">uname -p</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回系统芯片类型，如powerpc</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">uname -M</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; "></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">返回机器型号，如</span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><span href="tag.php?name=IBM" class="t_tag" style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; text-decoration: none; line-height: normal; cursor: pointer; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(255, 0, 0); white-space: nowrap; ">IBM</span></span><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; ">,7026-B80</span>

<div><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><br></span></div><div><span style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 22px; "><span  style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: normal; font-size: 13px; ">内存lsattr -El mem0<br>cpu lsdev -C |grep proc<br>CPU的信息lsattr -El proc0</span></span></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/128281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-10-02 09:19 <a href="http://www.cppblog.com/beautykingdom/archive/2010/10/02/128281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>aix6.1编译器报错版本和系统不符合</title><link>http://www.cppblog.com/beautykingdom/archive/2010/10/01/128211.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Fri, 01 Oct 2010 10:02:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/10/01/128211.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/128211.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/10/01/128211.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/128211.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/128211.html</trackback:ping><description><![CDATA[<span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">I was able to solve this using the following procedure:</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">cd /etc</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">cp -pr /etc/vac.cfg.53 vac.cfg.61</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">rm /etc/vac/cfg</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">ln -s /etc/vac.cfg.61 vac.cfg</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">vi vac.cfg.61</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">under common definitions</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">options</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">add -D_AIX61 to the list of operating systems.</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">change</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">oslevel = 6.1</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">os_major = 6</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">os_minor = 1</span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><br style="color: rgb(102, 102, 102); font: normal normal normal 12px/normal arial; line-height: 15px; "></span><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; ">works fine now.</span><div><font  color="#333333" face="arial" size="3"><span  style="font-size: 13px; line-height: 18px;">from：<br></span></font>

<div><span  style="color: rgb(51, 51, 51); font-family: arial; font-size: 13px; line-height: 18px; "><a href="http://unix.ittoolbox.com/groups/technical-functional/ibm-aix-l/aix-c-compiler-2052509">http://unix.ittoolbox.com/groups/technical-functional/ibm-aix-l/aix-c-compiler-2052509</a></span></div></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/128211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-10-01 18:02 <a href="http://www.cppblog.com/beautykingdom/archive/2010/10/01/128211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu proxy setting</title><link>http://www.cppblog.com/beautykingdom/archive/2010/08/31/125354.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Tue, 31 Aug 2010 01:48:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/08/31/125354.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/125354.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/08/31/125354.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/125354.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/125354.html</trackback:ping><description><![CDATA[open up a terminal, and:<br>
sudo gedit /etc/apt/apt.conf<br>
(type in the sudo password)<br>
<br>
type this in:<br>
Acquire::http::Proxy "http://username:password@address:8080";<br>
<br>
note: you may also need ftp (simply replace the http with ftp and put this line below the http one)<br>
<br>
where:<br>
username is your proxy username<br>
password is your proxy password<br>
address  is your proxy address<br>
<br>
exit this file then type:<br>
cd <br>
gedit .bashrc<br>
<br>
then down the bottom of this file type:<br>
<br>
export http_proxy=http://username:password@address:8080<br>
<br>
exit this file and exit terminal<br>
then go to System -&gt; Preferences -&gt; Network Proxy<br>
select manual proxy configuration<br>
type this in the box:<br>
username:password@address<br>
also select port 8080<br>
click on details and enter username and password.<br>
<br>
exit this then go to System -&gt; Administration -&gt; Synaptic Package Manager -&gt; Settings -&gt; Preferences<br>
<br>
select the Network tab, then do the same thing you did with the Network Proxy.<br>
<br>
There is plenty of details on the web about this, although I ran into
this problem and found nothing for a long time. Hope this helps :)<img src ="http://www.cppblog.com/beautykingdom/aggbug/125354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-08-31 09:48 <a href="http://www.cppblog.com/beautykingdom/archive/2010/08/31/125354.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux系统共享内存设置</title><link>http://www.cppblog.com/beautykingdom/archive/2010/05/05/114490.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Wed, 05 May 2010 06:53:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/05/05/114490.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/114490.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/05/05/114490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/114490.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/114490.html</trackback:ping><description><![CDATA[Linux系统共享内存设置,有下面三个参数可以调整：<br>/proc/sys/kernel/shmall<br>/proc/sys/kernel/shmmni<br>/proc/sys/kernel/shmmax<br><br><img src ="http://www.cppblog.com/beautykingdom/aggbug/114490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-05-05 14:53 <a href="http://www.cppblog.com/beautykingdom/archive/2010/05/05/114490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>selinux应用</title><link>http://www.cppblog.com/beautykingdom/archive/2010/04/01/111302.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Thu, 01 Apr 2010 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/04/01/111302.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/111302.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/04/01/111302.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/111302.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/111302.html</trackback:ping><description><![CDATA[<div class="entrytext">
<div class="snap_preview">
<p>看了很多網路上有關於 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 的文章以及到書店去翻了一下有提到 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 的
Linux 書籍<br>
看完了的感覺不是很好<br>
幾乎都沒提到什麼是 <strong style="color: black; background-color: #ffff66;">SELinux</strong>？<strong style="color: black; background-color: #ffff66;">SELinux</strong>
的運作機制是什麼？<br>
大部份提到的解決辦法，都是 &#8220;請把 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 停用&#8221;<br>
這樣也只不過是治標而不是治本的方法</p>
<h3><strong style="color: black; background-color: #ffff66;">SELinux</strong>
的設定檔</h3>
<p>* /etc/<strong style="color: black; background-color: #ffff66;">selinux</strong>/config</p>
<pre># This file controls the state of <strong style="color: black; background-color: #ffff66;">SELinux</strong> on the system.<br># <strong style="color: black; background-color: #ffff66;">SELINUX</strong>= can take one of these three values:<br>#       enforcing - <strong style="color: black; background-color: #ffff66;">SELinux</strong> security policy is enforced.<br>#       permissive - <strong style="color: black; background-color: #ffff66;">SELinux</strong> prints warnings instead of enforcing.<br>#       disabled - <strong style="color: black; background-color: #ffff66;">SELinux</strong> is fully disabled.<br><strong style="color: black; background-color: #ffff66;">SELINUX</strong>=enforcing<br># SELINUXTYPE= type of policy in use. Possible values are:<br>#       targeted - Only targeted network daemons are protected.<br>#       strict - Full <strong style="color: black; background-color: #ffff66;">SELinux</strong> protection.<br>SELINUXTYPE=targeted<br></pre>
<p>若要停用 <strong style="color: black; background-color: #ffff66;">SELinux</strong>，
則把 <strong style="color: black; background-color: #ffff66;">SELINUX</strong>=enforcing
改成 <strong style="color: black; background-color: #ffff66;">SELINUX</strong>=disabled
後重新開機即可</p>
<h3><strong style="color: black; background-color: #ffff66;">SELinux</strong>
的一些相關指令</h3>
<p>* sestatus<br>
查看 <strong style="color: black; background-color: #ffff66;">SELinux</strong>
是否啟用及目前狀態如何的指令<br>
如:<br>
1.<strong style="color: black; background-color: #ffff66;">SELinux</strong>
Disabled</p>
<pre>$ sestatus<br><strong style="color: black; background-color: #ffff66;">SELinux</strong> status:         disabled<br></pre>
<p>2.<strong style="color: black; background-color: #ffff66;">SELinux</strong>
Enabled<br>
mode: enforcing<br>
Policy: targeted</p>
<pre>$ sestatus<br><strong style="color: black; background-color: #ffff66;">SELinux</strong> status:         disabled<br><strong style="color: black; background-color: #ffff66;">SELinux</strong> status:         enabled<br>SELinuxfs mount:        /<strong style="color: black; background-color: #ffff66;">selinux</strong><br>Current mode:           enforcing<br>Mode from config file:  enforcing<br>Policy version:         18<br>Policy from config file:targeted<br><br>Policy booleans:<br>...skip...<br>httpd_builtin_scripting active<br>httpd_disable_trans     active<br>httpd_enable_cgi        active<br>httpd_enable_homedirs   active<br>httpd_ssi_exec          active<br>httpd_tty_comm          inactive<br>httpd_unified           active<br>...skip...<br></pre>
<p>* system-config-securitylevel<br>
圖形化介面的工具程式，除了可以設定防火牆(iptables)外，也可以設定 <strong style="color: black; background-color: #ffff66;">SELinux</strong></p>
<p>* setenforce<br>
在 <strong style="color: black; background-color: #ffff66;">SELinux</strong>
啟動為 enforcing 的狀況下，可以執行 &#8220;setenforce 0&#8220; 來將 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 暫時停用</p>
<p>* getsebool and setsebool<br>
/etc/<strong style="color: black; background-color: #ffff66;">selinux</strong>/targeted/booleans
這個檔裡面放的就是各個 Policy 的布林值，不過，在 FC5 之後，已經沒有這個檔了，你可以用<br>
$ getsebool -a<br>
來查看所有的 booleans 設定狀況<br>
或是使用如:<br>
$ setsebool -P httpd_disable_trans 1<br>
來將 httpd_disable_trans 停用，這樣其實也就等於是停用 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 對 <strong style="color: black; background-color: #a0ffff;">httpd</strong> 的保護了</p>
<p>* chcon<br>
傳統的 chmod 指令是用來設定檔案或目錄的權限的，而同樣的 chcon 指令則是用來設定 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 對檔案或目錄的 content 標籤的</p>
<p>* fixfiles<br>
fixfiles check 指令可以用來檢查檔案或目錄的 <strong style="color: black; background-color: #ffff66;">SELinux</strong> content<br>
fixfiles restore 指令則可以用來修正(還原)檔案或目錄的 <strong style="color: black; background-color: #ffff66;">SELinux</strong> content<br>
fixfiles relabel 則是會重新修正(還原)所有的檔案及目錄的 <strong style="color: black; background-color: #ffff66;">SELinux</strong> content</p>
<h3>如何在 <strong style="color: black; background-color: #ffff66;">SELinux</strong>
啟動為 enforcing 的狀況下也讓 Web Server(<strong style="color: black; background-color: #a0ffff;">httpd</strong>) 能正常運作？</h3>
<p>前面提到，我們可以將 <strong style="color: black; background-color: #ffff66;">SELinux</strong> 停用(disabled) 或是執行 &#8220;setsebool -P httpd_disable_trans
1&#8220; 來停用 <strong style="color: black; background-color: #ffff66;">SELinux</strong>
對 <strong style="color: black; background-color: #a0ffff;">httpd</strong>
的保護，這樣，<strong style="color: black; background-color: #a0ffff;">httpd</strong>
就可以跟平常一樣的運作了<br>
那如果我們要啟用 <strong style="color: black; background-color: #ffff66;">SELinux</strong>
且讓 <strong style="color: black; background-color: #a0ffff;">httpd</strong>
也可以正常運作呢？<br>
舉個例子來說:</p>
<pre>[root@acer:~] pwd<br>/root<br>[root@acer:~] echo "" &gt; index.php<br>[root@acer:~] mv index.php /var/www/html/<br>`index.php' -&gt; `/var/www/html/index.php'<br>[root@acer:~]<br></pre>
<p>在上述的指令中，我在 root 的 $HOME 目錄下產生了一個 index.php 的檔案，內容為顯示 phpinfo<br>
然後把再把這個檔案搬移到 /var/www/html 目錄底下，然後開 browser 來瀏覽
http://localhost/index.php 這個頁面，得到的畫面卻是:</p>
<pre>Forbidden<br><br>You don't have permission to access /index.php on this server.<br><br>Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.<br></pre>
<p>沒錯，無法存取，我們來看一看到底是怎麼回事:</p>
<pre>[root@acer:~] ls -Z /var/www/html/index.php<br>-rw-r--r--  root     root     root:object_r:user_home_t        /var/www/html/index.php<br>[root@acer:~]<br>[root@acer:~] ls -Z /var/www/<br>drwxr-xr-x  root     root     system_u:object_r:httpd_sys_script_exec_t cgi-bin/<br>drwxr-xr-x  root     root     system_u:object_r:httpd_sys_content_t error/<br>drwxr-xr-x  root     root     system_u:object_r:httpd_sys_content_t html/<br>drwxr-xr-x  root     root     system_u:object_r:httpd_sys_content_t icons/<br>drwxr-xr-x  root     root     system_u:object_r:httpd_sys_content_t manual/<br></pre>
<p>因為 index.php 的 content type 為 user_home_t 而不是 httpd_sys_content_t
所以無法存取<br>
因此，我們可以執行:</p>
<pre>[root@acer:~] chcon -u system_u -t httpd_sys_content_t /var/www/html/index.php<br>[root@acer:~] ls -Z /var/www/html/index.php<br>-rw-r--r--  root     root     system_u:object_r:httpd_sys_content_t /var/www/html/index.php<br></pre>
<p>請再開一次 browser (or reload)，現在是不是可以正常存取 index.php 頁面了呢？</p>
<p>再看另一個例子:</p>
<pre>[root@acer:~] wget http://wordpress.org/latest.tar.gz<br>--13:36:59--  http://wordpress.org/latest.tar.gz<br>           =&gt; `latest.tar.gz'<br>Resolving wordpress.org... 72.232.44.122<br>Connecting to wordpress.org|72.232.44.122|:80... connected.<br>HTTP request sent, awaiting response... 200 OK<br>Length: unspecified [application/octet-stream]<br><br>    [                                  ] 505,475       90.49K/s<br><br>13:37:07 (90.28 KB/s) - `latest.tar.gz' saved [505475]<br><br>[root@acer:~] tar zxf latest.tar.gz<br>[root@acer:~] mv wordpress /var/www/html/wp<br>`wordpress' -&gt; `/var/www/html/wp'<br></pre>
<p>瀏覽 http://localhost/wp/ 的結果一樣被拒絕存取，因為 content 的問題</p>
<pre>[root@acer:~] ls -dZ /var/www/html/wp<br>drwxr-xr-x  1025     1011     root:object_r:user_home_t        /var/www/html/wp/<br></pre>
<p>同樣的，我們可以用 chone -R 指令來修正 content</p>
<pre>[root@acer:~] chcon -R -u system_u -t httpd_sys_content_t /var/www/html/wp/<br></pre>
<p>或是使用 fixfiles restore 指令也可以</p>
<pre>[root@acer:~] fixfiles restore /var/www/html/wp/<br></pre>
<p>修正過後的狀況:</p>
<pre>[root@acer:~] ls -dZ /var/www/html/wp<br>drwxr-xr-x  apache   apache   system_u:object_r:httpd_sys_content_t /var/www/html/wp/<br></pre>
<h3>相關參考文件</h3>
<p><a  href="http://linux.vbird.org/somepaper/20050801_SELinux.pdf">http://linux.vbird.org/somepaper/20050801_SELinux.pdf</a><br>
<a  href="http://fedoraproject.org/wiki/SELinux">http://fedoraproject.org/wiki/<strong style="color: black; background-color: #ffff66;">SELinux</strong></a><br>
<a  href="http://fedora.redhat.com/docs/selinux-faq/">http://fedora.redhat.com/docs/<strong style="color: black; background-color: #ffff66;">selinux</strong>-faq/</a><br>
<a  href="http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/">http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/<strong style="color: black; background-color: #ffff66;">selinux</strong>-guide/</a><br>
<a  href="http://www.redhat.com/magazine/001nov04/features/selinux/">http://www.redhat.com/magazine/001nov04/features/<strong style="color: black; background-color: #ffff66;">selinux</strong>/</a><br>
<a  href="http://www.redhat.com/magazine/006apr05/features/selinux/">http://www.redhat.com/magazine/006apr05/features/<strong style="color: black; background-color: #ffff66;">selinux</strong>/</a><br>
<a  href="http://www.tresys.com/selinux/index.shtml">http://www.tresys.com/<strong style="color: black; background-color: #ffff66;">selinux</strong>/index.shtml</a><br>
<a  href="http://www.nsa.gov/selinux/">http://www.nsa.gov/<strong style="color: black; background-color: #ffff66;">selinux</strong>/</a></p>
<p><br></p>
<p><a  href="http://www.nsa.gov/selinux/">from：</a></p>
<p><a  href="http://www.nsa.gov/selinux/">http://blog.chinaunix.net/u1/38576/showart_1926391.html<br></a></p>
</div>
</div><img src ="http://www.cppblog.com/beautykingdom/aggbug/111302.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-04-01 17:22 <a href="http://www.cppblog.com/beautykingdom/archive/2010/04/01/111302.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux文件系统ACLs权限控制</title><link>http://www.cppblog.com/beautykingdom/archive/2010/01/28/106632.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Thu, 28 Jan 2010 07:02:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/01/28/106632.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/106632.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/01/28/106632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/106632.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/106632.html</trackback:ping><description><![CDATA[

<div><span  style="font-family: 宋体; font-size: 14px; line-height: 26px; "><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">Linux文件系统给所有者（owner）、所有组（owning group）、其它（other）每一类用户分别定义了的rwx权限，且是彼此独立的。虽然Linux有也Linux特殊文件权限的功能支持，但要像在Windows下把权限控制可以精确到用户和组（如允许某个文件允许某一特殊用户修改，允许某一组的用户可以查看等）一样灵活，这些显然还不够。令人欣慰的是，Linux也有ACLs权限控制的支持，在Linux中ACLs在ReiserFS,Ext2,Ext3,JFS,XFS等文件系统中受到支持。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">修改文件ACL：setfacl -m u:tux:rw file允许用户tux读写file文件</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">查看文件ACL：getfacl file</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">使用了ACL的文件，通过ls -l命令来查看权限时，后面会有一个&#8220;+&#8221;号，group的权限会有变化（使用了ACL mask权限）。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">文件使用ACL后，权限角色有如下几种类型：</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">最小化ACL：</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">owning user</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">owning group</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">other</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">扩展ACL：</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">可以包含若干个对象：named user（设置单独用户的访问权限）、named group（设置单独群组的访问权限）</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">包含一个mask（限制named users 和 named groups的权限）</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">举例说明如下：</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">owner user::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">named user user:name:rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">owning&nbsp; group group ::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">named group group :nam e:rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">mask mask::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">other other::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">定义在owner、other里的权限一直都是有效的，其它权限可能用效或者被隐蔽。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">named user与named group的值是否生效，还要看其值与mask的&#8220;与&#8221;值，即mask也要有该权限，才能生效。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">mask的值一般是与owning group一致的，可以通过修改owning group的值来修改mask。</p></span></div><div><span  style="font-family: 宋体; font-size: 14px; line-height: 26px; "><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">举例说明如下：</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">linux-canbeing:/home/canbeing/temp # getfacl my</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># file: my</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># owner: canbeing</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># group: users</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">user::rw-</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">user:canbeing:rwx#effective:r-x&nbsp;&nbsp; w没有生效</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">group::r--</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">mask::r-x</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">other::r--</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">子目录会继承父目录的ACL。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">如果父目录有ACL，则创建新文件或者文件夹时，默认权限不会根据umask来计算，而是继承或者根据命令参数。</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">使用setfacl -d -m u:canbeing:rw /tmp/acl_test/&nbsp; 则此权限会得到子目录及文件的继承（权限以default开头）</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">getfacl: Removing leading '/' from absolute path names</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># file: tmp/acl_test/</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># owner: root</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; "># group: root</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">user::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">user:canbeing:rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">group::---</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">mask::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">other::---</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">default:user::rwx</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">default:user:canbeing:rw-</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">default:group::---</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">default:mask::rw-</p><p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; text-indent: 28px; ">default:other::---</p></span></div><div>from:</div><div><a href="http://os.51cto.com/art/200909/151135.htm">http://os.51cto.com/art/200909/151135.htm</a></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/106632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-01-28 15:02 <a href="http://www.cppblog.com/beautykingdom/archive/2010/01/28/106632.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>wget curl c查看web服务器信息</title><link>http://www.cppblog.com/beautykingdom/archive/2010/01/21/106141.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Thu, 21 Jan 2010 07:59:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/01/21/106141.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/106141.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/01/21/106141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/106141.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/106141.html</trackback:ping><description><![CDATA[来源于CU的一个帖子,问如何查看web<a  href="http://server.chinaitlab.com/" class="channel_keylink" target="_blank">服务器</a>信息,忽然想起自己好像也比较想知道,遂google之
<p>　　[root@dbrg-2 ~]# curl -I <a  href="http://www.baidu.com/">www.baidu.com</a></p>
<p>　　HTTP/1.1 200 OK</p>
<p>　　Date: Wed, 29 Jul 2009 02:51:19 GMT</p>
<p>　　Server: BWS/1.0</p>
<p>　　Content-Length: 3509</p>
<p>　　Content-Type: text/html</p>
<p>　　Cache-Control: private</p>
<p>　　Expires: Wed, 29 Jul 2009 02:51:19 GMT</p>
<p>　　Set-Cookie: BAIDUID=0D5F54C0853B7C38D6BD3A3E5EA63C44:FG=1; expires=Wed, 29-Jul-39 02:51:19 GMT; path=/; domain=.baidu.com</p>
<p>　　P3P: CP=" OTI DSP COR IVA OUR IND COM "</p>
<p>　　[root@dbrg-2 ~]# wget -S --spider <a  href="http://www.baidu.com/">www.baidu.com</a></p>
<p>　　--10:51:34-- <a  href="http://www.baidu.com/">http://www.baidu.com/</a></p>
<p>　　=&gt; `index.html</p>
<p>　　那么工具是实现了,如何用c来实现呢... 其实也很简单,我刚开始还走了点弯路想的是去查看wget or curl的源码,奈何那种代码相互之间依赖性太强实在不易阅读,于是自己用wireshark抓包, so easy!!!!有兴趣的自己去抓下</p>
<p>　　#include &lt;stdio.h&gt;</p>
<p>　　#include &lt;stdlib.h&gt;</p>
<p>　　#include &lt;unistd.h&gt;</p>
<p>　　#include &lt;string.h&gt;</p>
<p>　　#include &lt;sys/socket.h&gt;</p>
<p>　　#include &lt;netinet/in.h&gt;</p>
<p>　　#include &lt;netdb.h&gt;</p>
<p>　　#define HTTPPORT 80</p>
<p>　　char* head =</p>
<p>　　"HEAD / HTTP/1.0\r\n"</p>
<p>　　"Accept: */*\r\n"</p>
<p>　　"User-Agent: Wget/1.10.2 (Red Hat modified)\r\n"</p>
<p>　　"Host:127.0.0.1\r\n"</p>
<p>　　"Connection: Keep-Alive\r\n\r\n";</p>
<p>　　int connect_URL(char *domain,int port)</p>
<p>　　{</p>
<p>　　int sock;</p>
<p>　　struct hostent * host;</p>
<p>　　struct sockaddr_in server;</p>
<p>　　host = gethostbyname(domain);</p>
<p>　　if (host == NULL)</p>
<p>　　{</p>
<p>　　printf("gethostbyname error\n");</p>
<p>　　return -2;</p>
<p>　　}</p>
<p>sock = socket(AF_INET,SOCK_STREAM,0);
</p>
<p>　　if (sock &lt; 0)</p>
<p>　　{</p>
<p>　　printf("invalid socket\n");</p>
<p>　　return -1;</p>
<p>　　}</p>
<p>　　memset(&amp;server,0,sizeof(struct sockaddr_in));</p>
<p>　　memcpy(&amp;server.sin_addr,host-&gt;h_addr_list[0],host-&gt;h_length);</p>
<p>　　server.sin_family = AF_INET;</p>
<p>　　server.sin_port = htons(port);</p>
<p>　　return (connect(sock,(struct sockaddr *)&amp;server,sizeof(struct sockaddr)) &lt;0) ? -1 : sock;</p>
<p>　　}</p>
<p>　　int main()</p>
<p>　　{</p>
<p>　　int sock;</p>
<p>　　int ret;</p>
<p>　　char buf[100];</p>
<p>　　char *domain = "127.0.0.1";</p>
<p>　　FILE* fp = fopen("test","w+");</p>
<p>　　if(NULL == fp){</p>
<p>　　printf("can't open stockcode file!\n");</p>
<p>　　return -1;</p>
<p>　　}</p>
<p>　　sock = connect_URL(domain,HTTPPORT);</p>
<p>　　if (sock &lt;0){</p>
<p>　　printf("connetc err\n");</p>
<p>　　return -1;</p>
<p>　　}</p>
<p>　　send(sock,head,strlen(head),0);</p>
<p>　　while(1)</p>
<p>　　{</p>
<p>　　if((ret=recv(sock,buf,100-1,0))&lt;1)</p>
<p>　　break;</p>
<p>　　buf[ret]='\0';</p>
<p>　　printf("%s", buf);</p>
<p>　　fprintf(fp,"%s",buf); //save http data</p>
<p>　　}</p>
<p>　　fclose(fp);</p>
<p>　　close(sock);</p>
<p>　　//printf("bye!\n");</p>
<p>　　return 0;</p>
<p>　　}</p>
<p><br></p>
<p>from:</p>
<p>http://linux.chinaitlab.com/server/800420_2.html<br></p>
<p><br></p><img src ="http://www.cppblog.com/beautykingdom/aggbug/106141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-01-21 15:59 <a href="http://www.cppblog.com/beautykingdom/archive/2010/01/21/106141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下的nc命令</title><link>http://www.cppblog.com/beautykingdom/archive/2010/01/12/105513.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Tue, 12 Jan 2010 13:14:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/01/12/105513.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/105513.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/01/12/105513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/105513.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/105513.html</trackback:ping><description><![CDATA[<span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; "><p style="font: normal normal normal 12px/normal song, Verdana; font-size: 14pt; color: rgb(255, 0, 0); ">linux下的nc命令中，-l后跟随监听端口，-p后跟随与目标主机建立连接时的本地端口，二者不可能同时使用。<br style="font: normal normal normal 12px/normal song, Verdana; "></p><p style="font: normal normal normal 12px/normal song, Verdana; ">&nbsp;</p><p style="font: normal normal normal 12px/normal song, Verdana; ">nc -l 1234</p>nc 127.0.0.1 1234<br style="font: normal normal normal 12px/normal song, Verdana; ">在端口1234建立连接，互相发送输入<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">nc -p 1234 -w 5 host.example.com 80<br style="font: normal normal normal 12px/normal song, Verdana; ">建立从本地1234端口到host.example.com的80端口连接，5秒超时<br style="font: normal normal normal 12px/normal song, Verdana; ">nc&nbsp;<span style="color: rgb(255, 0, 0); ">-u</span>&nbsp;host.example.com 53<br style="font: normal normal normal 12px/normal song, Verdana; ">u为UDP连接<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80<br style="font: normal normal normal 12px/normal song, Verdana; ">连接到主机并执行<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">nc -v&nbsp;<span style="color: rgb(255, 0, 0); ">-z</span>&nbsp;host.example.com 70-80<br style="font: normal normal normal 12px/normal song, Verdana; ">扫描端口(70到80)，可指定范围。-v输出详细信息。</span>

<div><span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; "><br></span></div><div><font  face="song, Verdana" size="3"><span  style="border-collapse: collapse; font-size: 12px;">转自：</span></font></div><div><font  face="song, Verdana" size="3"><span  style="border-collapse: collapse; font-size: 12px;"><a href="http://blog.chinaunix.net/u2/76292/showart.php?id=2146656">http://blog.chinaunix.net/u2/76292/showart.php?id=2146656</a></span></font></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/105513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-01-12 21:14 <a href="http://www.cppblog.com/beautykingdom/archive/2010/01/12/105513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux系统性能指标介绍</title><link>http://www.cppblog.com/beautykingdom/archive/2010/01/11/105438.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Mon, 11 Jan 2010 14:07:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2010/01/11/105438.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/105438.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2010/01/11/105438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/105438.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/105438.html</trackback:ping><description><![CDATA[<span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; ">转自Andrew(http://andrew913.javaeye.com/blog/431259)<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">在我们介绍Linux系统的各 种调优参数和性能监测工具之前，需要先讨论一些关于性能调优的参数。因为Linux是一个开源操作系统，所以又大量可用的性能监测工具。对这些工具的选择 取决于你的个人喜好和对数据细节的要求。所有的性能监测工具都是按照同样的规则来工作的，所以无论你使用哪种监测工具都需要理解这些参数。下面列出了一些 重要的参数，有效的理解它们是很有用处的。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">（1）处理器参数&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">CPU utilization&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这是一个很简单的参数，它直观的描述了每个CPU的利用率。在xSeries架构中，如果CPU的利用率长时间的超过80％，就可能是出现了处理器的瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Runable processes&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个值描述了正在准备被执行的进程，在一个持续时间里这个值不应该超过物理CPU数量的10倍，否则CPU方面就可能存在瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Blocked&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了那些因为等待I/O操作结束而不能被执行的进程，Blocked可能指出你正面临I/O瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">User time&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了处理用户进程的百分比，包括nice time。如果User time的值很高，说明系统性能用在处理实际的工作。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">System time&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了CPU花费在处理内核操作包括IRQ和软件中断上面的百分比。如果system time很高说明系统可能存在网络或者驱动堆栈方面的瓶颈。一个系统通常只花费很少的时间去处理内核的操作。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Idle time&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了CPU空闲的百分比。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Nice time&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了CPU花费在处理re-nicing进程的百分比。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Context switch&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">系统中线程之间进行交换的数量。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Waiting&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">CPU花费在等待I/O操作上的总时间，与blocked相似，一个系统不应该花费太多的时间在等待I/O操作上，否则你应该进一步检测I/O子系统是否存在瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Interrupts&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">Interrupts 值包括硬Interrupts和软Interrupts，硬Interrupts会对系统性能带来更多的不利影响。高的Interrupts值指出系统可 能存在一个软件的瓶颈，可能是内核或者驱动程序。注意Interrupts值中包括CPU时钟导致的中断（现代的xServer系统每秒1000个 Interrupts值）。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">（2）内存参数&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">Free memory&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">相比其他操作系统，Linux空闲内存的值不应该做为一个性能参考的重要指标，因为就像我们之前提到过的，Linux内核会分配大量没有被使用的内存作为文件系统的缓存，所以这个值通常都比较小。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Swap usage&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这 个值描述了已经被使用的swap空间。Swap usage只表示了Linux管理内存的有效性。对识别内存瓶颈来说，Swap In/Out才是一个比较又意义的依据，如果Swap In/Out的值长期保持在每秒200到300个页面通常就表示系统可能存在内存的瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Buffer and cache&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这 个值描述了为文件系统和块设备分配的缓存。注意在Red Hat Enterprise Linux 3和更早一些的版本中，大部分空闲内存会被分配作为缓存使用。在Red Hat Enterprise Linux 4以后的版本中,你可以通过修改/proc/sys/vm中的page_cache_tuning来调整空闲内存中作为缓存的数量。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Slabs&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述了内核使用的内存空间，注意内核的页面是不能被交换到磁盘上的。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Active versus inactive memory&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">提供了关于系统内存的active内存信息，Inactive内存是被kswapd守护进程交换到磁盘上的空间。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">（3）网络参数&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">Packets received and sent&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个参数表示了一个指定网卡接收和发送的数据包的数量。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Bytes received and sent&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个参数表示了一个指定网卡接收和发送的数据包的字节数。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Collisions per second&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个值提供了发生在指定网卡上的网络冲突的数量。持续的出现这个值代表在网络架构上出现了瓶颈，而不是在服务器端出现的问题。在正常配置的网络中冲突是非常少见的，除非用户的网络环境都是由hub组成。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Packets dropped&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个值表示了被内核丢掉的数据包数量，可能是因为防火墙或者是网络缓存的缺乏。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Overruns&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">Overruns表达了超出网络接口缓存的次数，这个参数应该和packets dropped值联系到一起来判断是否存在在网络缓存或者网络队列过长方面的瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Errors&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个值记录了标志为失败的帧的数量。这个可能由错误的网络配置或者部分网线损坏导致，在铜口千兆以太网环境中部分网线的损害是影响性能的一个重要因素。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">（4）块设备参数&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">Iowait&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">CPU等待I/O操作所花费的时间。这个值持续很高通常可能是I/O瓶颈所导致的。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Average queue length&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">I/O请求的数量，通常一个磁盘队列值为2到3为最佳情况，更高的值说明系统可能存在I/O瓶颈。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Average wait&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">响应一个I/O操作的平均时间。Average wait包括实际I/O操作的时间和在I/O队列里等待的时间。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Transfers per second&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">描述每秒执行多少次I/O操作（包括读和写）。Transfers per second的值与kBytes per second结合起来可以帮助你估计系统的平均传输块大小，这个传输块大小通常和磁盘子系统的条带化大小相符合可以获得最好的性能。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Blocks read/write per second&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">这个值表达了每秒读写的blocks数量，在2.6内核中blocks是1024bytes，在早些的内核版本中blocks可以是不同的大小，从512bytes到4kb。&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; "><br style="font: normal normal normal 12px/normal song, Verdana; ">Kilobytes per second read/write&nbsp;<br style="font: normal normal normal 12px/normal song, Verdana; ">按照kb为单位表示读写块设备的实际数据的数量。</span>

<div><span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; ">转自：</span></div><div><span  style="border-collapse: collapse; font-family: song, Verdana; font-size: 12px; "><a href="http://blog.chinaunix.net/u/17928/showart.php?id=2145659">http://blog.chinaunix.net/u/17928/showart.php?id=2145659</a></span></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/105438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2010-01-11 22:07 <a href="http://www.cppblog.com/beautykingdom/archive/2010/01/11/105438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Suse防火墙修改端口</title><link>http://www.cppblog.com/beautykingdom/archive/2009/12/25/104032.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Fri, 25 Dec 2009 03:33:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/12/25/104032.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/104032.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/12/25/104032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/104032.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/104032.html</trackback:ping><description><![CDATA[<div id="fileContent">手动修改：<br>#vi /etc/sysconfig/SuSEfirewall2<br><br>#TCP端口的情况：对不同的端口，用空格隔开，用&#8216;|&#8217;不管用<br>FW_SERVICES_EXT_TCP = "6000"<br>#UDP端口的情况：<br>FW_SERVICES_EXT_UDP = "177"<br>防火墙设置的生效：<br>#rcSuSEfirewall2 restart</div><img src ="http://www.cppblog.com/beautykingdom/aggbug/104032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-12-25 11:33 <a href="http://www.cppblog.com/beautykingdom/archive/2009/12/25/104032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux必学的网络操作命令</title><link>http://www.cppblog.com/beautykingdom/archive/2009/12/19/103551.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sat, 19 Dec 2009 15:22:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/12/19/103551.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/103551.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/12/19/103551.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/103551.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/103551.html</trackback:ping><description><![CDATA[因为Linux系统是在Internet上起源和发展的，它与生俱来拥有强大的网络功能和丰富的网络应用软件，尤其是TCP/IP网络协议的实现尤为成熟。Linux的网络命令比较多，其中一些命令像ping、ftp、telnet、route、netstat等在其它操作系统上也能看到，但也有一些Unix/Linux系统独有的命令，如ifconfig、finger、mail等。Linux网络操作命令的一个特点是，命令参数选项和功能很多，一个命令往往还可以实现其它命令的功能。 <br><br>&nbsp;&nbsp;&nbsp; ifconfig<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; ifconfig用于查看和更改网络接口的地址和参数，包括IP地址、网络掩码、广播地址，使用权限是超级用户。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; ifconfig -interface [options] address<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-interface：指定的网络接口名，如eth0和eth1。<br>up：激活指定的网络接口卡。<br>down：关闭指定的网络接口。<br>broadcast address：设置接口的广播地址。<br>pointopoint：启用点对点方式。<br>address：设置指定接口设备的IP地址。<br>netmask address：设置接口的子网掩码。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用说明<br>&nbsp;&nbsp;&nbsp;&nbsp; ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络，这是一个必须掌握的命令。使用该命令的好处是无须重新启动机器。要赋给eth0接口IP地址207.164.186.2，并且马上激活它，使用下面命令：<br>&nbsp;&nbsp;&nbsp;&nbsp; #fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令，这个命令将显示机器所有激活接口的信息。带有&#8220;-a&#8221;参数的命令则显示所有接口的信息，包括没有激活的接口。注意，用ifconfig命令配置的网络设备参数，机器重新启动以后将会丢失。<br>&nbsp;&nbsp;&nbsp;&nbsp; 如果要暂停某个网络接口的工作，可以使用down参数：<br>#ifconfig eth0 down<br><br>&nbsp;&nbsp;&nbsp; ip<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; ip是iproute2软件包里面的一个强大的网络配置工具，它能够替代一些传统的网络管理工具，例如ifconfig、route等，使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br>&nbsp;&nbsp;&nbsp;&nbsp; OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头，分为长、短两种形式。目前，ip支持如表1所示选项。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 表1 ip支持的选项<br><br>-V,-Version&nbsp;&nbsp; &nbsp;打印ip的版本并退出。<br>-s,-stats,-statistics&nbsp;&nbsp; &nbsp;输出更为详尽的信息。如果这个选项出现两次或多次，则输出的信息将更为详尽。<br>-f,-family&nbsp;&nbsp; &nbsp;这个选项后面接协议种类，包括inet、inet6或link，强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类，ip就会使用默认值inet或any。link比较特殊，它表示不涉及任何网络协议。<br>-4&nbsp;&nbsp; &nbsp;是-family inet的简写。<br>-6&nbsp;&nbsp; &nbsp;是-family inet6的简写。<br>-0&nbsp;&nbsp; &nbsp;是-family link的简写。<br>-o,-oneline&nbsp;&nbsp; &nbsp;对每行记录都使用单行输出，回行用字符代替。如果需要使用wc、grep等工具处理ip的输出，则会用到这个选项。<br>-r,-resolve&nbsp;&nbsp; &nbsp;查询域名解析系统，用获得的主机名代替主机IP地址<br><br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; COMMAND设置针对指定对象执行的操作，它和对象的类型有关。一般情况下，ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作，或者有其它的一些命令。对于所有的对象，用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没有指定对象的操作命令，ip会使用默认的命令。一般情况下，默认命令是list，如果对象不能列出，就会执行help命令。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; ARGUMENTS是命令的一些参数，它们倚赖于对象和命令。ip支持两种类型的参数：flag和parameter。flag由一个关键词组成；parameter由一个关键词加一个数值组成。为了方便，每个命令都有一个可以忽略的默认参数。例如，参数dev是ip link命令的默认参数，因此ip link ls eth0等于ip link ls dev eth0。我们将在后面的详细介绍每个命令的使用，命令的默认参数将使用default标出。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用实例<br>&nbsp;&nbsp;&nbsp;&nbsp; 添加IP地址192.168.2.2/24到eth0网卡上：<br>&nbsp;&nbsp;&nbsp;&nbsp; #ip addr add 192.168.1.1/24 dev eth0<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 丢弃源地址属于192.168.2.0/24网络的所有数据报：<br>&nbsp;&nbsp;&nbsp;&nbsp; #ip rule add from 192.168.2.0/24 prio 32777 reject<br><br>&nbsp;&nbsp;&nbsp; ping<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; ping检测主机网络接口状态，使用权限是所有用户。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-d：使用Socket的SO_DEBUG功能。<br>-c：设置完成要求回应的次数。<br>-f：极限检测。<br>-i：指定收发信息的间隔秒数。<br>-I：网络界面使用指定的网络界面送出数据包。<br>-l：前置载入，设置在送出要求信息之前，先行发出的数据包。<br>-n：只输出数值。<br>-p：设置填满数据包的范本样式。<br>-q：不显示指令执行过程，开头和结尾的相关信息除外。<br>-r：忽略普通的Routing Table，直接将数据包送到远端主机上。<br>-R：记录路由过程。<br>-s：设置数据包的大小。<br>-t：设置存活数值TTL的大小。<br>-v：详细显示指令的执行过程。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; ping命令是使用最多的网络指令，通常我们使用它检测网络是否连通，它使用ICMP协议。但是有时会有这样的情况，我们可以浏览器查看一个网页，但是却无法ping通，这是因为一些网站处于安全考虑安装了防火墙。另外，也可以在自己计算机上试一试，通过下面的方法使系统对ping没有反应：<br># echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_all<br><br><br><br>netstat<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; 检查整个Linux网络状态。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-a--all：显示所有连线中的Socket。<br>-A：列出该网络类型连线中的IP相关地址和网络类型。<br>-c--continuous：持续列出网络状态。<br>-C--cache：显示路由器配置的快取信息。<br>-e--extend：显示网络其它相关信息。<br>-F--fib：显示FIB。<br>-g--groups：显示多重广播功能群组组员名单。<br>-h--help：在线帮助。<br>-i--interfaces：显示网络界面信息表单。<br>-l--listening：显示监控中的服务器的Socket。<br>-M--masquerade：显示伪装的网络连线。<br>-n--numeric：直接使用IP地址，而不通过域名服务器。<br>-N--netlink--symbolic：显示网络硬件外围设备的符号连接名称。<br>-o--timers：显示计时器。<br>-p--programs：显示正在使用Socket的程序识别码和程序名称。<br>-r--route：显示Routing Table。<br>-s--statistice：显示网络工作信息统计表。<br>-t--tcp：显示TCP传输协议的连线状况。<br>-u--udp：显示UDP传输协议的连线状况。<br>-v--verbose：显示指令执行过程。<br>-V--version：显示版本信息。<br>-w--raw：显示RAW传输协议的连线状况。<br>-x--unix：和指定&#8220;-A unix&#8221;参数相同。<br>--ip--inet：和指定&#8220;-A inet&#8221;参数相同。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用实例<br>&nbsp;&nbsp;&nbsp;&nbsp; netstat主要用于Linux察看自身的网络状况，如开启的端口、在为哪些用户服务，以及服务的状态等。此外，它还显示系统路由表、网络接口状态等。可以说，它是一个综合性的网络状态的察看工具。在默认情况下，netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口，使用-a参数即可：<br><br>#netstat -a<br>Active Internet connections (only servers)<br>Proto&nbsp; Recv-Q&nbsp;&nbsp; Send-Q&nbsp;&nbsp;&nbsp; Local Address&nbsp; Foreign Address&nbsp; State<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:32768 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:32769 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:nfs *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:32770 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:868 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:617 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:mysql *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:netbios-ssn *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:sunrpc *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:10000 *:* LISTEN<br>tcp&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; *:http *:* LISTEN<br>......<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 上面显示出，这台主机同时提供HTTP、FTP、NFS、MySQL等服务。<br><br>&nbsp;&nbsp;&nbsp; telnet<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; telnet表示开启终端机阶段作业，并登入远端主机。telnet是一个Linux命令，同时也是一个协议（远程登陆协议）。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称IP地址&lt;通信端口&gt;]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-8：允许使用8位字符资料，包括输入与输出。<br>-a：尝试自动登入远端系统。<br>-b：使用别名指定远端主机名称。<br>-c：不读取用户专属目录里的.telnetrc文件。<br>-d：启动排错模式。<br>-e：设置脱离字符。<br>-E：滤除脱离字符。<br>-f：此参数的效果和指定&#8220;-F&#8221;参数相同。<br>-F：使用Kerberos V5认证时，加上此参数可把本地主机的认证数据上传到远端主机。<br>-k：使用Kerberos认证时，加上此参数让远端主机采用指定的领域名，而非该主机的域名。<br>-K：不自动登入远端主机。<br>-l：指定要登入远端主机的用户名称。<br>-L：允许输出8位字符资料。<br>-n：指定文件记录相关信息。<br>-r：使用类似rlogin指令的用户界面。<br>-S：服务类型，设置telnet连线所需的IP TOS信息。<br>-x：假设主机有支持数据加密的功能，就使用它。<br>-X：关闭指定的认证形态。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用说明<br>&nbsp;&nbsp;&nbsp;&nbsp; 用户使用telnet命令可以进行远程登录，并在远程计算机之间进行通信。用户通过网络在远程计算机上登录，就像登录到本地机上执行命令一样。为了通过telnet登录到远程计算机上，必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能，但出于对安全的考虑，要限制来宾的操作权限，因此，这种情况下能使用的功能是很少的。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; telnet只为普通终端提供终端仿真，而不支持X-Window等图形环境。当允许远程用户登录时，系统通常把这些用户放在一个受限制的Shell中，以防系统被怀有恶意的或不小心的用户破坏。用户还可以使用telnet从远程站点登录到自己的计算机上，检查电子邮件、编辑文件和运行程序，就像在本地登录一样。<br><br>&nbsp;&nbsp;&nbsp; ftp<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; ftp命令进行远程文件传输。FTP是ARPANet的标准文件传输协议，该网络就是现今Internet的前身，所以ftp既是协议又是一个命令。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; ftp [-dignv][主机名称IP地址]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-d：详细显示指令执行过程，便于排错分析程序执行的情形。<br>-i：关闭互动模式，不询问任何问题。<br>-g：关闭本地主机文件名称支持特殊字符的扩充特性。<br>-n：不使用自动登陆。<br>-v：显示指令执行过程。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用说明<br>&nbsp;&nbsp;&nbsp;&nbsp; ftp命令是标准的文件传输协议的用户接口，是在TCP/IP网络计算机之间传输文件简单有效的方法，它允许用户传输ASCⅡ文件和二进制文件。为了使用ftp来传输文件，用户必须知道远程计算机上的合法用户名和口令。这个用户名/口令的组合用来确认ftp会话，并用来确定用户对要传输的文件进行什么样的访问。另外，用户需要知道对其进行ftp会话的计算机名字的IP地址。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 用户可以通过使用ftp客户程序，连接到另一台计算机上；可以在目录中上下移动、列出目录内容；可以把文件从远程计算机机拷贝到本地机上；还可以把文件从本地机传输到远程系统中。ftp内部命令有72个，下面列出主要几个内部命令：<br><br>ls：列出远程机的当前目录。<br>cd：在远程机上改变工作目录。<br>lcd：在本地机上改变工作目录。<br>close：终止当前的ftp会话。<br>hash：每次传输完数据缓冲区中的数据后就显示一个#号。<br>get（mget）：从远程机传送指定文件到本地机。 <br>put（mput）：从本地机传送指定文件到远程机。<br>quit：断开与远程机的连接，并退出ftp。<br><br><br>&nbsp;&nbsp;&nbsp; route<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; route表示手工产生、修改和查看路由表。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If] <br>&nbsp;&nbsp;&nbsp;&nbsp; #route [－delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-add：增加路由。<br>-delete：删除路由。<br>-net：路由到达的是一个网络，而不是一台主机。<br>-host：路由到达的是一台主机。<br>-netmask Nm：指定路由的子网掩码。<br>gw：指定路由的网关。<br>[dev]If：强迫路由链指定接口。<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用实例<br><br>route命令是用来查看和设置Linux系统的路由信息，以实现与其它网络的通信。要实现两个不同的子网之间的通信，需要一台连接两个网络的路由器，或者同时位于两个网络的网关来实现。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 在Linux系统中，设置路由通常是为了解决以下问题：该Linux系统在一个局域网中，局域网中有一个网关，能够让机器访问Internet，那么就需要将这台机器的IP地址设置为Linux机器的默认路由。使用下面命令可以增加一个默认路由：<br>&nbsp;&nbsp;&nbsp;&nbsp; route add 0.0.0.0 192.168.1.1<br><br>&nbsp;&nbsp;&nbsp; rlogin<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; rlogin用来进行远程注册。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br>&nbsp;&nbsp;&nbsp;&nbsp; -8：此选项始终允许8位输入数据通道。该选项允许发送格式化的ANSI字符和其它的特殊代码。如果不用这个选项，除非远端的不是终止和启动字符，否则就去掉奇偶校验位。<br>&nbsp;&nbsp;&nbsp;&nbsp; -E：停止把任何字符当作转义字符。当和-8选项一起使用时，它提供一个完全的透明连接。<br>&nbsp;&nbsp;&nbsp;&nbsp; -K：关闭所有的Kerberos确认。只有与使用Kerberos 确认协议的主机连接时才使用这个选项。<br>&nbsp;&nbsp;&nbsp;&nbsp; -L：允许rlogin会话在litout模式中运行。要了解更多信息，请查阅tty联机帮助。<br>&nbsp;&nbsp;&nbsp;&nbsp; -d：打开与远程主机进行通信的TCP sockets的socket调试。要了解更多信息，请查阅setsockopt的联机帮助。<br>&nbsp;&nbsp;&nbsp;&nbsp; -e：为rlogin会话设置转义字符，默认的转义字符是&#8220;～&#8221;。<br>&nbsp;&nbsp;&nbsp;&nbsp; -k：请求rlogin获得在指定区域内远程主机的Kerberos许可，而不是获得由krb_realmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。<br>&nbsp;&nbsp;&nbsp;&nbsp; -x：为所有通过rlogin会话传送的数据打开DES加密。这会影响响应时间和CPU利用率，但是可以提高安全性。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.使用说明<br>&nbsp;&nbsp;&nbsp;&nbsp; 如果在网络中的不同系统上都有账号，或者可以访问别人在另一个系统上的账号，那么要访问别的系统中的账号，首先就要注册到系统中，接着通过网络远程注册到账号所在的系统中。rlogin可以远程注册到别的系统中，它的参数应是一个系统名。<br><br><br><br>rcp<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; rcp代表远程文件拷贝，用于计算机之间文件拷贝，使用权限是所有用户。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br>&nbsp;&nbsp;&nbsp;&nbsp; -r：递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项，目的必须是一个目录。<br>&nbsp;&nbsp;&nbsp;&nbsp; -p：试图保留源文件的修改时间和模式，忽略umask。<br>&nbsp;&nbsp;&nbsp;&nbsp; -k：请求rcp获得在指定区域内的远程主机的Kerberos许可，而不是获得由krb_relmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。<br>&nbsp;&nbsp;&nbsp;&nbsp; -x：为传送的所有数据打开DES加密。<br><br>&nbsp;&nbsp;&nbsp; finger<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; finger用来查询一台主机上的登录账号的信息，通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息，使用权限为所有用户。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; finger [选项] [使用者] [用户@主机]<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br>&nbsp;&nbsp;&nbsp;&nbsp; -s：显示用户注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。<br>&nbsp;&nbsp;&nbsp;&nbsp; -l：除了用-s选项显示的信息外，还显示用户主目录、登录Shell、邮件状态等信息，以及用户主目录下的.plan、.project和.forward文件的内容。<br>&nbsp;&nbsp;&nbsp;&nbsp; -p：除了不显示.plan文件和.project文件以外，与-l选项相同。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.应用实例<br>&nbsp;&nbsp;&nbsp;&nbsp; 在计算机上使用finger：<br><br>[root@localhost root]# Finger<br>Login&nbsp; Name&nbsp; Tty&nbsp;&nbsp;&nbsp; Idle&nbsp; Login Time&nbsp; Office&nbsp; Office Phone<br>root&nbsp;&nbsp; root&nbsp; tty1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp; Dec 15 11<br>root&nbsp;&nbsp; root&nbsp; pts/0&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; Dec 15 11<br>root&nbsp;&nbsp; root&nbsp; *pts/1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dec 15 11<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 5.应用说明<br>&nbsp;&nbsp;&nbsp;&nbsp; 如果要查询远程机上的用户信息，需要在用户名后面接&#8220;@主机名&#8221;，采用[用户名@主机名]的格式，不过要查询的网络主机需要运行finger守护进程的支持。<br><br>&nbsp;&nbsp;&nbsp; mail<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; mail作用是发送电子邮件，使用权限是所有用户。此外，mail还是一个电子邮件程序。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br><br>mail&nbsp; [-s subject] [-c address] [-b address] <br>&nbsp;&nbsp; mail -f [mailbox]mail [-u user]<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.主要参数<br><br>-b address：表示输出信息的匿名收信人地址清单。 &nbsp;<br>-c address：表示输出信息的抄送（）收信人地址清单。 &nbsp;<br>-f [mailbox]：从收件箱者指定邮箱读取邮件。<br>-s subject：指定输出信息的主体行。<br>[-u user]：端口指定优化的收件箱读取邮件。<br><br><br>&nbsp;&nbsp;&nbsp; nslookup<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.作用<br>&nbsp;&nbsp;&nbsp;&nbsp; nslookup命令的功能是查询一台机器的IP地址和其对应的域名。使用权限所有用户。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器，就可以用这个命令查看不同主机的IP地址对应的域名。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.格式<br>&nbsp;&nbsp;&nbsp;&nbsp; nslookup ［IP地址/域名］<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.应用实例<br>&nbsp;&nbsp;&nbsp;&nbsp; （1）在本地计算机上使用nslookup命令<br><br>$ nslookup<br>Default Server: name.cao.com.cn<br>Address: 192.168.1.9<br>&gt;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 在符号&#8220;&gt;&#8221;后面输入要查询的IP地址域名，并回车即可。如果要退出该命令，输入&#8220;exit&#8221;，并回车即可。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; （2）使用nslookup命令测试named<br>&nbsp;&nbsp;&nbsp;&nbsp; 输入下面命令：<br>&nbsp;&nbsp;&nbsp;&nbsp; nslookup<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 然后就进入交换式nslookup环境。如果named正常启动，则nslookup会显示当前DNS服务器的地址和域名，否则表示named没能正常启动。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 下面简单介绍一些基本的DNS诊断。 <br>&nbsp;&nbsp;&nbsp;&nbsp; ◆检查正向DNS解析，在nslookup提示符下输入带域名的主机名，如hp712.my.com，nslookup应能显示该主机名对应的IP地址。如果只输入hp712，nslookup会根据/etc/resolv.conf的定义，自动添加my.com域名，并回答对应的IP地址。 <br>&nbsp;&nbsp;&nbsp;&nbsp; ◆检查反向DNS解析，在nslookup提示符下输入某个IP地址，如192.22.33.20，nslookup应能回答该IP地址所对应的主机名。 <br>&nbsp;&nbsp;&nbsp;&nbsp; ◆检查MX邮件地址记录在nslookup提示符下输入： <br>&nbsp;&nbsp;&nbsp;&nbsp; set q=mx<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 然后输入某个域名，输入my.com和mail.my.com，nslookup应能够回答对应的邮件服务器地址，即support.my.com和support2.my.com。<br><br>&nbsp;&nbsp;&nbsp; 动手练习<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 1.危险的网络命令<br>&nbsp;&nbsp;&nbsp;&nbsp; 互联网的发展使安全成为一个不能忽视的问题，finger、ftp、rcp和telnet在本质上都是不安全的，因为它们在网络上用明文传送口令和数据，嗅探器可以非常容易地截获这些口令和数据。而且，这些服务程序的安全验证方式也是有弱点的，很容易受到&#8220;中间服务器&#8221;方式的攻击。这里笔者把一些不安全的命令根据危险等级列出，见表3所示。<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 现在ftp、telnet可以被SSH命令代替绑定在端口22上，其连接采用协商方式，使用RSA加密。身份鉴别完成之后，后面的所有流量都使用IDEA进行加密。SSH（Secure　Shell）程序可以通过网络登录到远程主机，并执行命令。rcp、rlogin等远程调用命令也逐渐被VNC软件代替。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 2.在一张网卡上绑定多个IP地址<br>&nbsp;&nbsp;&nbsp;&nbsp; 在Linux下，可以使用ifconfig方便地绑定多个IP地址到一张网卡。例如，eth0接口的原有IP地址为192.168.0 .254，可以执行下面命令：<br><br>ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0 <br>ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0 <br>......<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 3.修改网卡MAC地址<br>&nbsp;&nbsp;&nbsp;&nbsp; 首先必须关闭网卡设备，命令如下：<br>&nbsp;&nbsp;&nbsp;&nbsp; /sbin/ifconfig eth0 down<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 修改MAC地址，命令如下：<br>&nbsp;&nbsp;&nbsp;&nbsp; /sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 重新启用网卡：<br>&nbsp;&nbsp;&nbsp;&nbsp; /sbin/ifconfig eht0 up<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 这样网卡的MAC地址就更改完成了。每张网卡的MAC地址是惟一，但不是不能修改的，只要保证在网络中的MAC地址的惟一性就可以了。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 4.初步部署IPv6<br>&nbsp;&nbsp;&nbsp;&nbsp; IPv4技术在网络发展中起到了巨大的作用，不过随着时间的流逝它无论在网络地址的提供、服务质量、安全性等方面都越来越力不从心，IPv6呼之欲出。Linux是所有操作系统中最先支持IPv6的，一般Linux基于2.4内核的Linux发行版本都可以直接使用IPv6，不过主要发行版本没有加载IPv6模块，可以使用命令手工加载，需要超级用户的权限。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; (1)加载IPv6模块<br>&nbsp;&nbsp;&nbsp;&nbsp; 使用命令检测，其中inet6 addr: fe80::5054:abff:fe34:5b09/64，就是eth0网卡的IPv6地址。<br><br># modprobe IPv6<br>＃ifconfig <br>eth0&nbsp; Link encap:Ethernet&nbsp; HWaddr 52:54:AB:34:5B:09<br>&nbsp;&nbsp;&nbsp;&nbsp; inet addr:192.168.1.2&nbsp; Bcast:192.168.1.255&nbsp; Mask:255.255.255.0<br>&nbsp;&nbsp;&nbsp; inet6 addr: fe80::5054:abff:fe34:5b09/64 Scope:Link<br>&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING MULTICAST&nbsp; MTU:1500&nbsp; Metric:1<br>&nbsp;&nbsp;&nbsp; RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br>&nbsp;&nbsp;&nbsp; TX packets:21 errors:0 dropped:0 overruns:0 carrier:0<br>&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:100<br>&nbsp;&nbsp;&nbsp; RX bytes:0 (0.0 b)&nbsp; TX bytes:1360 (1.3 Kb)<br>&nbsp;&nbsp;&nbsp; Interrupt:5 Base address:0xec00<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; (2)使用ping命令检测网卡的IPv6地址是否有效<br>&nbsp;&nbsp;&nbsp;&nbsp; #ping6 -I eth0 -c 2 fe80::200:e8ff:fea0:2586<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 和IPv4不一样，使用ping6命令时必须指定一个网卡界面，否则系统不知道将数据包发送到哪个网络设备。I表示Interface、eth0是第一个网卡，－c表示回路，2表示ping6操作两次。结果见图1所示。<br><br><br>图1 IPv6网络下的ping6命令<br><br>&nbsp;&nbsp;&nbsp;&nbsp; (3)使用ip命令在IPv6下为eth0增加一个IP地址<br>&nbsp;&nbsp;&nbsp;&nbsp; #ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 使用ifconfig命令，查看网卡是否出现第二个IPv6地址。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; Linux网络的主要优点是能够实现资源和信息的共享，并且用户可以远程访问信息。Linux提供了一组强有力的网络命令来为用户服务，这些工具能够帮助用户进行网络设定、检查网络状况、登录到远程计算机上、传输文件和执行远程命令等。<br><br>&nbsp;&nbsp;&nbsp;&nbsp; 上面介绍了Linux中比较重要的网络命令，其实Linux还有许多命令需要学习。Linux网络操作命令的一个特点就是命令参数选项很多，并不要求全部记住，关键在于理解命令的主要用途和学会使用帮助信息。
<br><br>from:<br>http://blog.chinaunix.net/u2/76292/showart_1328251.html
<br><br><img src ="http://www.cppblog.com/beautykingdom/aggbug/103551.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-12-19 23:22 <a href="http://www.cppblog.com/beautykingdom/archive/2009/12/19/103551.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux系统信息查看命令大全</title><link>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103021.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Fri, 11 Dec 2009 15:45:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103021.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/103021.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/103021.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/103021.html</trackback:ping><description><![CDATA[<p>系统<br># uname -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看内核/操作系统/CPU信息<br># head -n 1 /etc/issue&nbsp;&nbsp; # 查看操作系统版本<br># cat /proc/cpuinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看CPU信息<br># hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看计算机名<br># lspci -tv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 列出所有PCI设备<br># lsusb -tv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 列出所有USB设备<br># lsmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 列出加载的内核模块<br># env&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看环境变量</p>
<p>资源<br># free -m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看内存使用量和交换区使用量<br># df -h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看各分区使用情况<br># du -sh &lt;目录名&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看指定目录的大小<br># grep MemTotal /proc/meminfo&nbsp;&nbsp; # 查看内存总量<br># grep MemFree /proc/meminfo&nbsp;&nbsp;&nbsp; # 查看空闲内存量<br># uptime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看系统运行时间、用户数、负载<br># cat /proc/loadavg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看系统负载</p>
<p>磁盘和分区<br># mount | column -t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看挂接的分区状态<br># fdisk -l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有分区<br># swapon -s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有交换分区<br># hdparm -i /dev/hda&nbsp;&nbsp;&nbsp;&nbsp; # 查看磁盘参数(仅适用于IDE设备)<br># dmesg | grep IDE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看启动时IDE设备检测状况</p>
<p>网络<br># ifconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有网络接口的属性<br># iptables -L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看防火墙设置<br># route -n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看路由表<br># netstat -lntp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有监听端口<br># netstat -antp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有已经建立的连接<br># netstat -s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看网络统计信息</p>
<p>进程<br># ps -ef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看所有进程<br># top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 实时显示进程状态</p>
<p>用户<br># w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看活动用户<br># id &lt;用户名&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看指定用户信息<br># last&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看用户登录日志<br># cut -d: -f1 /etc/passwd&nbsp;&nbsp; # 查看系统所有用户<br># cut -d: -f1 /etc/group&nbsp;&nbsp;&nbsp; # 查看系统所有组<br># crontab -l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 查看当前用户的计划任务</p>
from:<br><a href="http://blog.chinaunix.net/u2/76292/showart_1276219.html">http://blog.chinaunix.net/u2/76292/showart_1276219.html</a><br>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/103021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-12-11 23:45 <a href="http://www.cppblog.com/beautykingdom/archive/2009/12/11/103021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux系统面面观 PROC文件系统详细介绍</title><link>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103013.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Fri, 11 Dec 2009 15:17:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103013.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/103013.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/12/11/103013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/103013.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/103013.html</trackback:ping><description><![CDATA[<p>什么是proc文件系统？ </p>
<p>　　</p>
<p>　　proc文件系统是一个伪文件系统，它只存在内存当中，而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息，并可以改变内核的某些参数。由于系统的信息，如进程，是动态改变的，所以用户或应用程序读取proc文件时，proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下：</p>
<p>　　</p>
<p>　　目录名称 目录内容</p>
<p>　　apm 高级电源管理信息</p>
<p>　　cmdline 内核命令行</p>
<p>　　Cpuinfo 关于Cpu信息</p>
<p>　　Devices 可以用到的设备（块设备/字符设备）</p>
<p>　　Dma 使用的DMA通道</p>
<p>　　Filesystems 支持的文件系统</p>
<p>　　Interrupts 中断的使用</p>
<p>　　Ioports I/O端口的使用</p>
<p>　　Kcore 内核核心印象</p>
<p>　　Kmsg 内核消息</p>
<p>　　Ksyms 内核符号表</p>
<p>　　Loadavg 负载均衡</p>
<p>　　Locks 内核锁</p>
<p>　　Meminfo 内存信息</p>
<p>　　Misc 杂项</p>
<p>　　Modules 加载模块列表</p>
<p>　　Mounts 加载的文件系统</p>
<p>　　Partitions 系统识别的分区表</p>
<p>　　Rtc 实时时钟</p>
<p>　　Slabinfo Slab池信息</p>
<p>　　Stat 全面统计状态表</p>
<p>　　Swaps 对换空间的利用情况</p>
<p>　　Version 内核版本</p>
<p>　　Uptime 系统正常运行时间</p>
<p>　　</p>
<p>　　并不是所有这些目录在你的系统中都有，这取决于你的内核配置和装载的模块。另外，在/proc下还有三个很重要的目录：net，scsi和sys。 Sys目录是可写的，可以通过它来访问或修改内核的参数（见下一部分），而net和scsi则依赖于内核配置。例如，如果系统不支持scsi，则scsi 目录不存在。</p>
<p>　　</p>
<p>　　除了以上介绍的这些，还有的是一些以数字命名的目录，它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下，以进程的 PID号为目录名，它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口，是一个link。Proc文件系统的名字就是由之而起。进程目录的结构如下：</p>
<p>　　</p>
<p>　　目录名称 目录内容</p>
<p>　　Cmdline 命令行参数</p>
<p>　　Environ 环境变量值</p>
<p>　　Fd 一个包含所有文件描述符的目录</p>
<p>　　Mem 进程的内存被利用情况</p>
<p>　　Stat 进程状态</p>
<p>　　Status 进程当前状态，以可读的方式显示出来</p>
<p>　　Cwd 当前工作目录的链接</p>
<p>　　Exe 指向该进程的执行命令文件</p>
<p>　　Maps 内存映象</p>
<p>　　Statm 进程内存状态信息</p>
<p>　　Root 链接此进程的root目录</p>
<p>　　</p>
<p>　　用户如果要查看系统信息，可以用cat命令。例如：</p>
<p>　　</p>
<p>　　# cat /proc/interrupts</p>
<p>　　CPU0</p>
<p>　　0: 8728810 XT-PIC timer</p>
<p>　　1: 895 XT-PIC keyboard</p>
<p>　　2: 0 XT-PIC cascade</p>
<p>　　3: 531695 XT-PIC aha152x</p>
<p>　　4: 2014133 XT-PIC serial</p>
<p>　　5: 44401 XT-PIC pcnet_cs</p>
<p>　　8: 2 XT-PIC rtc</p>
<p>　　11: 8 XT-PIC i82365</p>
<p>　　12: 182918 XT-PIC Mouse</p>
<p>　　13: 1 XT-PIC fpu PS/2</p>
<p>　　14: 1232265 XT-PIC ide0</p>
<p>　　15: 7 XT-PIC ide1</p>
<p>　　NMI: 0</p>
<p>　　</p>
<p>　　用户还可以实现修改内核参数。在/proc文件系统中有一个有趣的目录：/proc/sys。它不仅提供了内核信息，而且可以通过它修改内核参数，来优化你的系统。但是你必须很小心，因为可能会造成系统崩溃。最好是先找一台无关紧要的机子，调试成功后再应用到你的系统上。</p>
<p>　　</p>
<p>　　要改变内核的参数，只要用vi编辑或echo参数重定向到文件中即可。下面有一个例子：</p>
<p>　　</p>
<p>　　# cat /proc/sys/fs/file-max</p>
<p>　　4096</p>
<p>　　# echo 8192 &gt; /proc/sys/fs/file-max</p>
<p>　　# cat /proc/sys/fs/file-max</p>
<p>　　8192</p>
<p>　　</p>
<p>　　如果你优化了参数，则可以把它们写成添加到文件rc.local中，使它在系统启动时自动完成修改。</p>
<p>　　</p>
<p>　　/proc文件系统中网络参数</p>
<p>　　</p>
<p>　　在/proc/sys/net/ipv4/目录下，包含的是和tcp/ip协议相关的各种参数，下面我们就对这些网络参数加以详细的说明。</p>
<p>　　</p>
<p>　　ip_forward 参数类型：BOOLEAN</p>
<p>　　0 - 关闭(默认值)</p>
<p>　　not 0 - 打开ip转发</p>
<p>　　</p>
<p>　　在网络本地接口之间转发数据报。该参数非常特殊，对该参数的修改将导致其它所有相关配置参数恢复其默认值(对于主机参阅RFC1122，对于路由器参见RFC1812)</p>
<p>　　</p>
<p>　　ip_default_ttl 参数类型：INTEGER</p>
<p>　　默认值为 64 。表示IP数据报的Time To Live值。</p>
<p>　　</p>
<p>　　ip_no_pmtu_disc 参数类型：BOOLEAN</p>
<p>　　关闭路径MTU探测，默认值为FALSE</p>
<p>　　</p>
<p>　　ipfrag_high_thresh 参数类型：整型</p>
<p>　　用来组装分段的IP包的最大内存量。当ipfrag_high_thresh数量的内存被分配来用来组装IP包，则IP分片处理器将丢弃数据报直到ipfrag_low_thresh数量的内存被用来组装IP包。</p>
<p>　　</p>
<p>　　ipfrag_low_thresh 参数类型：整型</p>
<p>　　参见ipfrag_high_thresh。</p>
<p>　　</p>
<p>　　ipfrag_time 参数类型：整型</p>
<p>　　保存一个IP分片在内存中的时间。</p>
<p>　　</p>
<p>　　inet_peer_threshold 参数类型：整型</p>
<p>　　INET对端存储器某个合适值，当超过该阀值条目将被丢弃。该阀值同样决定生存时间以及废物收集通过的时间间隔。条目越多 存活期越低 GC 间隔越短</p>
<p>　　</p>
<p>　　inet_peer_minttl 参数类型：整型</p>
<p>　　条目的最低存活期。在重组端必须要有足够的碎片(fragment)存活期。这个最低存活期必须保证缓冲池容积是否少于 inet_peer_threshold。该值以 jiffies为单位测量。</p>
<p>　　</p>
<p>　　inet_peer_maxttl 参数类型：整型</p>
<p>　　条目的最大存活期。在此期限到达之后 如果缓冲池没有耗尽压力的话(例如 缓冲池中的条目数目非常少) 不使用的条目将会超时。该值以 jiffies为单位测量。</p>
<p>　　</p>
<p>　　inet_peer_gc_mintime 参数类型：整型</p>
<p>　　废物收集(GC)通过的最短间隔。这个间隔会影响到缓冲池中内存的高压力。 该值以 jiffies为单位测量。</p>
<p>　　</p>
<p>　　inet_peer_gc_maxtime 参数类型：整型</p>
<p>　　废物收集(GC)通过的最大间隔，这个间隔会影响到缓冲池中内存的低压力。 该值以 jiffies为单位测量。</p>
<p>　　</p>
<p>　　tcp_syn_retries 参数类型：整型</p>
<p>　　对于一个新建连接，内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255，默认值是5，对应于180秒左右。</p>
<p>　　</p>
<p>　　tcp_synack_retries 参数类型：整型</p>
<p>　　对于远端的连接请求SYN，内核会发送SYN ＋ ACK数据报，以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。</p>
<p>　　</p>
<p>　　tcp_keepalive_time 参数类型：整型</p>
<p>　　当keepalive打开的情况下，TCP发送keepalive消息的频率，默认值是2个小时。</p>
<p>　　</p>
<p>　　tcp_keepalive_probes 参数类型：整型</p>
<p>　　TCP发送keepalive探测以确定该连接已经断开的次数，默认值是9。</p>
<p>　　</p>
<p>　　tcp_keepalive_interval 参数类型：整型</p>
<p>　　探测消息发送的频率，乘以tcp_keepalive_probes就得到对于从开始探测以来没有响应的连接杀除的时间。默认值为75秒，也就是没有活动的连接将在大约11分钟以后将被丢弃。</p>
<p>　　</p>
<p>　　tcp_retries1 参数类型：整型</p>
<p>　　当出现可疑情况而必须向网络层报告这个可疑状况之前 需要进行多少次重试。最低的 RFC 数值是 3 这也是默认值 根据RTO的值大约在3秒 - 8分钟之间。</p>
<p>　　</p>
<p>　　tcp_retries2 参数类型：整型</p>
<p>　　在丢弃激活的TCP连接之前 需要进行多少次重试。RFC1122规定，该值必须大于100秒。默认值为15，根据RTO的值来决定，相当于13-30分钟，</p>
<p>　　</p>
<p>　　tcp_orphan_retries 参数类型：整型</p>
<p>　　在近端丢弃TCP连接之前 要进行多少次重试。默认值是 7 个 相当于 50秒 - 16分钟 视 RTO 而定。如果您的系统是负载很大的web服务器 那么也许需要降低该值 这类 sockets 可能会耗费大量的资源。另外参的考 tcp_max_orphans 。</p>
<p>　　</p>
<p>　　tcp_fin_timeout 参数类型：整型</p>
<p>　　对于本端断开的socket连接，TCP保持在FIN-WAIT-2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默 认值为 60 秒。过去在2.2版本的内核中是 180 秒。您可以设置该值 但需要注意 如果您的机器为负载很重的web服务器 您可能要冒内存被大量无效数据报填满的风险 FIN-WAIT-2 sockets 的危险性低于 FIN-WAIT-1 因为它们最多只吃 1.5K 的内存 但是它们存在时间更长。另外参考 tcp_max_orphans。</p>
<p>　　</p>
<p>　　tcp_max_tw_buckets 参数类型：整型</p>
<p>　　系统在同时所处理的最大timewait sockets 数目。如果超过此数的话 time-wait socket 会被立即砍除并且显示警告信息。之所以要设定这个限制 纯粹为了抵御那些简单的 DoS 攻击 千万不要人为的降低这个限制 不过 如果网络条件需要比默认值更多 则可以提高它(或许还要增加内存)。</p>
<p>　　</p>
<p>　　tcp_tw_recycle 参数类型：布尔</p>
<p>　　打开快速 TIME-WAIT sockets 回收。默认值是1。除非得到技术专家的建议或要求 请不要随意修改这个值。</p>
<p>　　</p>
<p>　　tcp_max_orphans 参数类型：整型</p>
<p>　　系统所能处理不属于任何进程的TCP sockets最大数量。假如超过这个数量 那么不属于任何进程的连接会被立即reset，并同时显示警告信息。之所以要设定这个限制 纯粹为了抵御那些简单的 DoS 攻击 千万不要依赖这个或是人为的降低这个限制</p>
<p>　　</p>
<p>　　tcp_abort_on_overflow 参数类型：布尔</p>
<p>　　当守护进程太忙而不能接受新的连接，就象对方发送reset消息，默认值是false。这意味着当溢出的原因是因为一个偶然的猝发，那么连接将恢复状态。只有在你确信守护进程真的不能完成连接请求时才打开该选项，该选项会影响客户的使用。</p>
<p>　　</p>
<p>　　tcp_syncookies 参数类型：整型</p>
<p>　　只有在内核编译时选择了CONFIG_SYNCOOKIES时才会发生作用。当出现syn等候队列出现溢出时象对方发送syncookies。目的是为了防止syn flood攻击。默认值是false。</p>
<p>　　</p>
<p>　　注意：该选项千万不能用于那些没有收到攻击的高负载服务器，如果在日志中出现synflood消息，但是调查发现没有收到synflood攻 击，而是合法用户的连接负载过高的原因，你应该调整其它参数来提高服务器性能。参考: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.</p>
<p>　　</p>
<p>　　syncookie严重的违背TCP协议，不允许使用TCP扩展，可能对某些服务导致严重的性能影响(如SMTP转发)。</p>
<p>　　</p>
<p>　　tcp_stdurg 参数类型：整型</p>
<p>　　使用 TCP urg pointer 字段中的主机请求解释功能。大部份的主机都使用老旧的 BSD解释，因此如果您在 Linux 打开它 或会导致不能和它们正确沟通。默认值为为 FALSE</p>
<p>　　</p>
<p>　　tcp_max_syn_backlog 参数类型：整型</p>
<p>　　对于那些依然还未获得客户端确认的连接请求 需要保存在队列中最大数目。对于超过 128Mb 内存的系统 默认值是 1024 低于 128Mb 的则为 128。如果服务器经常出现过载 可以尝试增加这个数字。警告 假如您将此值设为大于 1024 最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE 以保持 TCP_SYNQ_HSIZE*16&lt;=tcp_max_syn_backlog 并且编进核心之内。</p>
<p>　　</p>
<p>　　tcp_window_scaling 参数类型：布尔</p>
<p>　　正常来说，TCP/IP 可以接受最大到65535字节的 windows。对于宽带网络，该值可能是不够的，通过调整该参数有助于提高宽带服务器性能。</p>
<p>　　</p>
<p>　　tcp_timestamps 参数类型：布尔</p>
<p>　　Timestamps 用在其它一些东西中 可以防范那些伪造的 sequence 号码。一条1G的宽带线路或许会重遇到带 out-of-line数值的旧sequence 号码(假如它是由于上次产生的)。Timestamp 会让它知道这是个 '旧封包'。</p>
<p>　　</p>
<p>　　tcp_sack 参数类型：布尔</p>
<p>　　使用 Selective ACK 它可以用来查找特定的遗失的数据报--- 因此有助于快速恢复状态。</p>
<p>　　</p>
<p>　　tcp_fack 参数类型：布尔</p>
<p>　　打开FACK拥塞避免和快速重传功能。</p>
<p>　　</p>
<p>　　tcp_dsack 参数类型：布尔</p>
<p>　　允许TCP发送"两个完全相同"的SACK。</p>
<p>　　</p>
<p>　　tcp_ecn 参数类型：布尔</p>
<p>　　打开TCP的直接拥塞通告功能。</p>
<p>　　</p>
<p>　　tcp_reordering 参数类型：整型</p>
<p>　　TCP流中重排序的数据报最大数量默认值是 3 。</p>
<p>　　</p>
<p>　　tcp_retrans_collapse 参数类型：布尔</p>
<p>　　对于某些有bug的打印机提供针对其bug的兼容性。</p>
<p>　　</p>
<p>　　tcp_wmem - 三个整数的向量： min, default, max</p>
<p>　　min：为TCP socket预留用于发送缓冲的内存最小值。每个tcp socket都可以在建议以后都可以使用它。默认值为4K。</p>
<p>　　</p>
<p>　　default：为TCP socket预留用于发送缓冲的内存数量，默认情况下该值会影响其它协议使用的net.core.wmem_default 值，一般要低于net.core.wmem_default的值。默认值为16K。</p>
<p>　　</p>
<p>　　max: 用于TCP socket发送缓冲的内存最大值。该值不会影响net.core.wmem_max，今天选择参数SO_SNDBUF则不受该值影响。默认值为128K。</p>
<p>　　</p>
<p>　　tcp_rmem - 三个整数的向量： min, default, max</p>
<p>　　min：为TCP socket预留用于接收缓冲的内存数量，即使在内存出现紧张情况下tcp socket都至少会有这么多数量的内存用于接收缓冲，默认值为8K。</p>
<p>　　</p>
<p>　　default：为TCP socket预留用于接收缓冲的内存数量，默认情况下该值影响其它协议使用的 net.core.wmem_default 值。该值决定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win:0是默认值情况下，tcp 窗口大小为65535。</p>
<p>　　</p>
<p>　　max：用于TCP socket接收缓冲的内存最大值。该值不会影响 net.core.wmem_max，今天选择参数 SO_SNDBUF则不受该值影响。默认值为 128K。默认值为87380*2 bytes。</p>
<p>　　</p>
<p>　　tcp_mem - 三个整数的向量： low, pressure, high</p>
<p>　　low：当TCP使用了低于该值的内存页面数时，TCP不会考虑释放内存。</p>
<p>　　</p>
<p>　　pressure：当TCP使用了超过该值的内存页面数量时，TCP试图稳定其内存使用，进入pressure模式，当内存消耗低于low值时则退出pressure状态。</p>
<p>　　</p>
<p>　　high：允许所有tcp sockets用于排队缓冲数据报的页面量。</p>
<p>　　</p>
<p>　　一般情况下这些值是在系统启动时根据系统内存数量计算得到的。</p>
<p>　　</p>
<p>　　tcp_app_win - 整数</p>
<p>　　</p>
<p>　　保留max(window/2^tcp_app_win, mss)数量的窗口由于应用缓冲。当为0时表示不需要缓冲。默认值是31。</p>
<p>　　</p>
<p>　　tcp_adv_win_scale - 整数</p>
<p>　　计算缓冲开销bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale &gt; 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale &lt;= 0），默认值为2。</p>
<p>　　</p>
<p>　　ip_local_port_range - 两个整数</p>
<p>　　定于TCP和UDP使用的本地端口范围，第一个数是开始，第二个数是最后端口号，默认值依赖于系统中可用的内存数：</p>
<p>　　&gt; 128Mb 32768-61000</p>
<p>　　&lt; 128Mb 1024-4999 or even less.</p>
<p>　　该值决定了活动连接的数量，也就是系统可以并发的连接数</p>
<p>　　</p>
<p>　　icmp_echo_ignore_all - 布尔类型</p>
<p>　　icmp_echo_ignore_broadcasts - 布尔类型</p>
<p>　　如果任何一个设置为true(&gt;0)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。</p>
<p>　　</p>
<p>　　icmp_destunreach_rate - 整数</p>
<p>　　icmp_paramprob_rate - 整数</p>
<p>　　icmp_timeexceed_rate - 整数</p>
<p>　　icmp_echoreply_rate - 整数(not enabled per default)</p>
<p>　　限制发向特定目标的ICMP数据报的最大速率。0表示没有任何限制，否则表示jiffies数据单位中允许发送的个数。</p>
<p>　　</p>
<p>　　icmp_ignore_bogus_error_responses - 布尔类型</p>
<p>　　某些路由器违背RFC1122标准，其对广播帧发送伪造的响应来应答。这种违背行为通常会被以告警的方式记录在系统日志中。如果该选项设置为True，内核不会记录这种警告信息。默认值为False。</p>
<p>　　</p>
<p>　　(1) Jiffie: 内核使用的内部时间单位，在i386系统上大小为1/100s，在Alpha中为1/1024S。在/usr/include/asm/param.h中的HZ定义有特定系统的值。</p>
<p>　　</p>
<p>　　conf/interface/*:</p>
<p>　　conf/all/*是特定的，用来修改所有接口的设置，is special and changes the settings for all interfaces.</p>
<p>　　Change special settings per interface.</p>
<p>　　</p>
<p>　　log_martians - 布尔类型</p>
<p>　　记录带有不允许的地址的数据报到内核日志中。</p>
<p>　　</p>
<p>　　accept_redirects - 布尔类型</p>
<p>　　收发接收ICMP重定向消息。对于主机来说默认为True，对于用作路由器时默认值为False。</p>
<p>　　</p>
<p>　　forwarding - 布尔类型</p>
<p>　　在该接口打开转发功能</p>
<p>　　</p>
<p>　　mc_forwarding - 布尔类型</p>
<p>　　是否进行多播路由。只有内核编译有CONFIG_MROUTE并且有路由服务程序在运行该参数才有效。</p>
<p>　　</p>
<p>　　proxy_arp - 布尔类型</p>
<p>　　打开proxy arp功能。</p>
<p>　　</p>
<p>　　shared_media - 布尔类型</p>
<p>　　发送(路由器)或接收(主机) RFC1620 共享媒体重定向。覆盖ip_secure_redirects的值。默认为True。</p>
<p>　　</p>
<p>　　secure_redirects - 布尔类型</p>
<p>　　仅仅接收发给默认网关列表中网关的ICMP重定向消息，默认值是TRUE。</p>
<p>　　</p>
<p>　　send_redirects - 布尔类型</p>
<p>　　如果是router，发送重定向消息，默认值是TRUE</p>
<p>　　</p>
<p>　　bootp_relay - 布尔类型</p>
<p>　　接收源地址为0.b.c.d，目的地址不是本机的数据报。用来支持BOOTP转发服务进程，该进程将捕获并转发该包。默认为False，目前还没有实现。</p>
<p>　　</p>
<p>　　accept_source_route - 布尔类型</p>
<p>　　接收带有SRR选项的数据报。对于主机来说默认为False，对于用作路由器时默认值为True。</p>
<p>　　</p>
<p>　　rp_filter 参数类型</p>
<p>　　1 - 通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。</p>
<p>　　0 - 不通过反向路径回溯进行源地址验证。</p>
<p>　　默认值为0。某些发布在启动时自动将其打开。<br><br>&nbsp;from:http://blog.chinaunix.net/u2/76292/showart_1327412.html </p>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/103013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-12-11 23:17 <a href="http://www.cppblog.com/beautykingdom/archive/2009/12/11/103013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解Linux系统的日志</title><link>http://www.cppblog.com/beautykingdom/archive/2009/12/07/102757.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Mon, 07 Dec 2009 15:08:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/12/07/102757.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/102757.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/12/07/102757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/102757.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/102757.html</trackback:ping><description><![CDATA[<p>日志对于安全来说，非常重要，他记录了系统每天发生的各种各样的事情，你可以通过他来检查错误发生</p>
<p>的原因，或者受到攻击时攻击者留下的痕迹。日志主要的功能有：审计和监测。他还可以实时的监测系统状态，</p>
<p>监测和追踪侵入者等等。</p>
<p>&nbsp;</p>
<p>　　1. 日志简介</p>
<p>　　日志对于安全来说，非常重要，他记录了系统每天发生的各种各样的事情，你可以通过他来检查错误发生</p>
<p>的原因，或者受到攻击时攻击者留下的痕迹。日志主要的功能有：审计和监测。他还可以实时的监测系统状态，</p>
<p>监测和追踪侵入者等等。</p>
<p>　　在Linux系统中，有三个主要的日志子系统：</p>
<p>　　连接时间日志--由多个程序执行，把纪录写入到/var/log/wtmp和/var/run/utmp，login等程序更</p>
<p>新wtmp和utmp文件，使系统管理员能够跟踪谁在何时登录到系统。</p>
<p>　　进程统计--由系统内核执行。当一个进程终止时，为每个进程往进程统计文件（pacct或acct）中写一个</p>
<p>纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。</p>
<p>　　错误日志--由syslogd（8）执行。各种系统守护进程、用户程序和内核通过syslog（3）向文件</p>
<p>/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服</p>
<p>务的服务器也保持详细的日志。</p>
<p>　　常用的日志文件如下：</p>
<p>　　access-log 纪录HTTP/web的传输</p>
<p>　　acct/pacct 纪录用户命令</p>
<p>　　aculog 纪录MODEM的活动</p>
<p>　　btmp 纪录失败的纪录</p>
<p>　　lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录</p>
<p>　　messages 从syslog中记录信息（有的链接到syslog文件）</p>
<p>　　sudolog 纪录使用sudo发出的命令</p>
<p>　　sulog 纪录使用su命令的使用</p>
<p>　　syslog 从syslog中记录信息（通常链接到messages文件）</p>
<p>　　utmp 纪录当前登录的每个用户</p>
<p>　　wtmp 一个用户每次登录进入和退出时间的永久纪录</p>
<p>　　xferlog 纪录FTP会话</p>
<p>　　utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。</p>
<p>有关当前登录用户的信息记录在文件utmp中；登录进入和退出纪录在文件wtmp中；最后一次登录文件可以</p>
<p>用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件</p>
<p>（lastlog通常不大）在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长，除非定期截取。</p>
<p>许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命</p>
<p>名并循环使用wtmp文件。通常，wtmp在第一天结束后命名为wtmp.1；第二天后wtmp.1变为wtmp.2等等，直</p>
<p>到wtmp.7。</p>
<p>　　每次有一个用户登录时，login程序在文件lastlog中察看用户的UID。如果找到了，则把用户上次登录、</p>
<p>退出时间和主机名写到标准输出中，然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写</p>
<p>入后，utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令</p>
<p>文件使用，包括who、w、users和finger。</p>
<p>　　下一步，login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时，具有更新时间戳的同</p>
<p>一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。</p>
<p>　　2. 具体命令</p>
<p>　　wtmp和utmp文件都是二进制文件，他们不能被诸如tail命令剪贴或合并（使用cat命令）。用户</p>
<p>需要使用who、w、users、last和ac来使用这两个文件包含的信息。</p>
<p>　　who：who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录</p>
<p>日期及远程主机。例如：who（回车）显示</p>
<p><br>chyang pts/0 Aug 18 15&#58;06<br>ynguo pts/2 Aug 18 15&#58;32<br>ynguo pts/3 Aug 18 13&#58;55<br>lewis pts/4 Aug 18 13&#58;35<br>ynguo pts/7 Aug 18 14&#58;12<br>ylou pts/8 Aug 18 14&#58;15</p>
<p><br>　　如果指明了wtmp文件鈀?浴? ?? ??ゐ?!名，则who命令查询所有以前的纪录。命令who /var/log/wtmp将报告自从wtmp文件</p>
<p>创建或删改以来的每一次登录。</p>
<p>　　w：w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。例如：w（回车）显</p>
<p>示：3&#58;36pm up 1 day, 22&#58;34, 6 users, load average&#58; 0.23, 0.29, 0.27</p>
<p><br>USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT<br>chyang pts/0 202.38.68.242 3&#58;06pm 2&#58;04 0.08s 0.04s -bash<br>ynguo pts/2 202.38.79.47 3&#58;32pm 0.00s 0.14s 0.05s w<br>lewis pts/3 202.38.64.233 1&#58;55pm 30&#58;39 0.27s 0.22s -bash<br>lewis pts/4 202.38.64.233 1&#58;35pm 6.00s 4.03s 0.01s sh /home/users/<br>ynguo pts/7 simba.nic.ustc.e 2&#58;12pm 0.00s 0.47s 0.24s telnet mail<br>ylou pts/8 202.38.64.235 2&#58;15pm 1&#58;09m 0.10s 0.04s -bash</p>
<p><br>　　users：users用单独的一行打印出当前登录的用户，每个显示的用户名对应一个登录会话。如果一个</p>
<p>用户有不止一个登录会话，那他的用户名将显示相同的次数。例如：users（回车）显</p>
<p>示：chyang lewis lewis ylou ynguo ynguo</p>
<p>　　last：last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如：</p>
<p><br>chyang pts/9 202.38.68.242 Tue Aug 1 08&#58;34 - 11&#58;23 &#40;02&#58;49&#41;<br>cfan pts/6 202.38.64.224 Tue Aug 1 08&#58;33 - 08&#58;48 &#40;00&#58;14&#41;<br>chyang pts/4 202.38.68.242 Tue Aug 1 08&#58;32 - 12&#58;13 &#40;03&#58;40&#41;<br>lewis pts/3 202.38.64.233 Tue Aug 1 08&#58;06 - 11&#58;09 &#40;03&#58;03&#41;<br>lewis pts/2 202.38.64.233 Tue Aug 1 07&#58;56 - 11&#58;09 &#40;03&#58;12&#41;</p>
<p><br>　　如果指明了用户，那么last只报告该用户的近期活动，例如：last ynguo（回车）显示：</p>
<p><br>ynguo pts/4 simba.nic.ustc.e Fri Aug 4 16&#58;50 - 08&#58;20 &#40;15&#58;30&#41;<br>ynguo pts/4 simba.nic.ustc.e Thu Aug 3 23&#58;55 - 04&#58;40 &#40;04&#58;44&#41;<br>ynguo pts/11 simba.nic.ustc.e Thu Aug 3 20&#58;45 - 22&#58;02 &#40;01&#58;16&#41;<br>ynguo pts/0 simba.nic.ustc.e Thu Aug 3 03&#58;17 - 05&#58;42 &#40;02&#58;25&#41;<br>ynguo pts/0 simba.nic.ustc.e Wed Aug 2 01&#58;04 - 03&#58;16 1+02&#58;12&#41;<br>ynguo pts/0 simba.nic.ustc.e Wed Aug 2 00&#58;43 - 00&#58;54 &#40;00&#58;11&#41;<br>ynguo pts/9 simba.nic.ustc.e Thu Aug 1 20&#58;30 - 21&#58;26 &#40;00&#58;55&#41;</p>
<p><br>　　ac：ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间（小时），</p>
<p>如果不使用标志，则报告总的时间。例如：ac（回车）显示：total 5177.47</p>
<p>　　ac -d（回车）显示每天的总的连结时间</p>
<p><br>Aug 12 total 261.87<br>Aug 13 total 351.39<br>Aug 14 total 396.09<br>Aug 15 total 462.63<br>Aug 16 total 270.45<br>Aug 17 total 104.29<br>Today total 179.02</p>
<p><br>　　ac -p （回车）显示每个用户的总的连接时间</p>
<p><br>ynguo 193.23<br>yucao 3.35<br>rong 133.40<br>hdai 10.52<br>zjzhu 52.87<br>zqzhou 13.14<br>liangliu 24.34<br>total 5178.24</p>
<p><br>　　last鈀?浴? ?? ??ゐ?!log：lastlog文件在每次有用户登录时被查询。可以使用lastlog命令来检查某特定用户上次</p>
<p>登录的时间，并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口</p>
<p>号（tty）和上次登录时间。如果一个用户从未登录过，lastlog显示"**Never logged**。注意需要</p>
<p>以root运行该命令，例如：</p>
<p><br>rong 5 202.38.64.187 Fri Aug 18 15&#58;57&#58;01 +0800 2000<br>dbb **Never logged in**<br>xinchen **Never logged in**<br>pb9511 **Never logged in**<br>xchen 0 202.38.64.190 Sun Aug 13 10&#58;01&#58;22 +0800 2000</p>
<p><br>　　另外，可一加一些参数，例如，last -u 102将报告UID为102的用户；last -t 7表示限制上一周的报告。</p>
<p>　　3. 进程统计</p>
<p>　　UNIX可以跟踪每个用户运行的每条命令，如果想知道昨晚弄乱了哪些重要的文件，进程统计子系统可</p>
<p>以告诉你。它对还跟踪一个侵入者有帮助。与连接时间日志不同，进程统计子系统缺省不激活，它必须启</p>
<p>动。在Linux系统中启动进程统计使用accton命令，必须用root身份来运行。Accton命令的形</p>
<p>式accton file，file必须先存在。先使用touch命令来创建pacct文件：touch /var/log/pacct，</p>
<p>然后运行accton： accton /var/log/pacct。一旦accton被激活，就可以使用lastcomm命令监测系统</p>
<p>中任何时候执行的命令。若要关闭统计，可以使用不带任何参数的accton命令。</p>
<p>　　lastcomm命令报告以前执行的文件。不带参数时，lastcomm命令显示当前统计文件生命周期内纪录</p>
<p>的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用</p>
<p>户，输入则可能很长。下面的例子：</p>
<p><br>crond F root ?? 0.00 secs Sun Aug 20 00&#58;16<br>promisc_check.s S root ?? 0.04 secs Sun Aug 20 00&#58;16<br>promisc_check root ?? 0.01 secs Sun Aug 20 00&#58;16<br>grep root ?? 0.02 secs Sun Aug 20 00&#58;16<br>tail root ?? 0.01 secs Sun Aug 20 00&#58;16<br>sh root ?? 0.01 secs Sun Aug 20 00&#58;15<br>ping S root ?? 0.01 secs Sun Aug 20 00&#58;15<br>ping6.pl F root ?? 0.01 secs Sun Aug 20 00&#58;15<br>sh root ?? 0.01 secs Sun Aug 20 00&#58;15<br>ping S root ?? 0.02 secs Sun Aug 20 00&#58;15<br>ping6.pl F root ?? 0.02 secs Sun Aug 20 00&#58;15<br>sh root ?? 0.02 secs Sun Aug 20 00&#58;15<br>ping S root ?? 0.00 secs Sun Aug 20 00&#58;15<br>ping6.pl F root ?? 0.01 secs Sun Aug 20 00&#58;15<br>sh root ?? 0.01 secs Sun Aug 20 00&#58;15<br>ping S root ?? 0.01 secs Sun Aug 20 00&#58;15<br>sh root ?? 0.02 secs Sun Aug 20 00&#58;15<br>ping S root ?? 1.34 secs Sun Aug 20 00&#58;15<br>locate root ttyp0 1.34 secs Sun Aug 20 00&#58;15<br>accton S root ttyp0 0.00 secs Sun Aug 20 00&#58;15</p>
<p><br>　　进程统计的一个问题是pacct文件可能增长的十分迅速。这时需要交互式的或经过cron机制运行sa命</p>
<p>令来保持日志数据在系统控制内。sa命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信</p>
<p>息压缩到摘要文件/var/log/savacct和/var/log/usracct中。这些摘要包含按命令名和用户名分类的系统</p>
<p>统计数据。sa缺省情况下先读它们，然后读pacct文件，使报告能包鈀?浴? ?? ??ゐ?!含所有的可用信息。sa的输出有下面一</p>
<p>些标记项：</p>
<p>　　avio--每次执行的平均I/O操作次数</p>
<p>　　cp--用户和系统时间总和，以分钟计</p>
<p>　　cpu--和cp一样</p>
<p>　　k--内核使用的平均CPU时间，以1k为单位</p>
<p>　　k*sec--CPU存储完整性，以1k-core秒</p>
<p>　　re--实时时间，以分钟计</p>
<p>　　s--系统时间，以分钟计</p>
<p>　　tio--I/O操作的总数</p>
<p>　　u--用户时间，以分钟计</p>
<p>　　例如：</p>
<p><br>842 173.26re 4.30cp 0avio 358k<br>2 10.98re 4.06cp 0avio 299k find<br>9 24.80re 0.05cp 0avio 291k ***other<br>105 30.44re 0.03cp 0avio 302k ping<br>104 30.55re 0.03cp 0avio 394k sh<br>162 0.11re 0.03cp 0avio 413k security.sh*<br>154 0.03re 0.02cp 0avio 273k ls<br>56 31.61re 0.02cp 0avio 823k ping6.pl*<br>2 3.23re 0.02cp 0avio 822k ping6.pl<br>35 0.02re 0.01cp 0avio 257k md5sum<br>97 0.02re 0.01cp 0avio 263k initlog<br>12 0.19re 0.01cp 0avio 399k promisc_check.s<br>15 0.09re 0.00cp 0avio 288k grep<br>11 0.08re 0.00cp 0avio 332k awk</p>
<p><br>　　用户还可以根据用户而不是命令来提供一个摘要报告。例如sa -m显示如下：</p>
<p><br>885 173.28re 4.31cp 0avk<br>root 879 173.23re 4.31cp 0avk<br>alias 3 0.05re 0.00cp 0avk<br>qmailp 3 0.01re 0.00cp 0avk</p>
<p><br>　　4. Syslog设备</p>
<p>　　Syslog已被许多日志函数采纳，它用在许多保护措施中--任何程序都可以通过syslog 纪录事件。<br>syslog可以纪录系统事件，可以写到一个文件或设备中，或给用户发送一个信息。它能纪录本地事件或通过</p>
<p>网络纪录另一个主机上的事件。</p>
<p>　　Syslog设备依据两个重要的文件：/etc/syslogd（守护进程）和/etc/syslog.conf配置文件，习惯上，</p>
<p>多数syslog信息被写到/var/adm或/var/log目录下的信息文件中（messages.*）。一个典型的syslog纪录包</p>
<p>括生成程序的名字和一个文本信息。它还包括一个设备和一个优先级范围（但不在日之中出现）。</p>
<p>　　每个syslog消息被赋予下面的主要设备之一：</p>
<p>　　LOG_AUTH--认证系统：login、su、getty等</p>
<p>　　LOG_AUTHPRIV--同LOG_AUTH，但只登录到所选择的单个用户可读的文件中</p>
<p>　　LOG_CRON--cron守护进程</p>
<p>　　LOG_DAEMON--其他系统守护进程，如routed</p>
<p>　　LOG_FTP--文件传输协议：ftpd、tftpd</p>
<p>　　LOG_KERN--内核产生的消息</p>
<p>　　LOG_LPR--系统打印机缓冲池：lpr、lpd</p>
<p>　　LOG_MAIL--电子邮件系统</p>
<p>　　LOG_NEWS--网络新闻系统</p>
<p>　　LOG_SYSLOG--由syslogd（8）产生的内部消息</p>
<p>　　LOG_USER--随机用户进程产生的消息</p>
<p>　　LOG_UUCP--UUCP子系统</p>
<p>　　LOG_LOCAL0~LOG_LOCAL7--为本地使用保留</p>
<p>　　Syslog为每个事件赋予几个不同的优先级：</p>
<p>　　LOG_EMERG--紧急情况</p>
<p>　　LOG_ALERT--应该被立即改正的问题，如系统数据库破坏</p>
<p>　　LOG_CRIT--重要情况，如硬盘错误</p>
<p>　　LOG_ERR--错误</p>
<p>　　LOG_WARNING--警告信息</p>
<p>　　LOG_NOTICE--不是错误情况，但是可能需要处理</p>
<p>　　LOG_INFO--情报信息</p>
<p>　　LOG_DEBUG--包含情报的信息，通常旨在调试一个程序时使用</p>
<p>　　syslog.conf文件指明syslogd程序纪录日志的行为，该程序在启动时查询配置文件。该文件由不同程</p>
<p>序或消息分类的单个条目组成，每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab隔开：</p>
<p>选择域鈀?浴? ?? ??ゐ?!指明消息的类型和优先级；动作域指明syslogd接收到一个与选择标准相匹配的消息时所执行的动作。</p>
<p>每个选项是由设备和优先级组成。当指明一个优先级时，syslogd将纪录一个拥有相同或更高优先级的消息。</p>
<p>所以如果指明"crit"，那所有标为crit、alert和emerg的消息将被纪录。每行的行动域指明当选择域选择了一个</p>
<p>给定消息后应该把他发送到哪儿。例如，如果想把所有邮件消息纪录到一个文件中，如下：</p>
<p><br>#Log all the mail messages in one place<br>mail.* /var/log/maillog</p>
<p><br>　　其他设备也有自己的日志。UUCP和news设备能产生许多外部消息。它把这些消息存到自己的日志</p>
<p>（/var/log/spooler）中并把级别限为"err"或更高。例如：</p>
<p><br># Save mail and news errors of level err and higher in aspecial file.<br>uucp,news.crit /var/log/spooler</p>
<p><br>　　当一个紧急消息到来时，可能想让所有的用户都得到。也可能想让自己的日志接收并保存。</p>
<p><br>#Everybody gets emergency messages， plus log them on anther machine<br>*.emerg *<br>*.emerg @linuxaid.com.cn</p>
<p><br>　　alert消息应该写到root和tiger的个人账号中：</p>
<p><br>#Root and Tiger get alert and higher messages<br>*.alert root,tiger</p>
<p><br>　　有时syslogd将产生大量的消息。例如内核（"kern"设备）可能很冗长。用户可能想把内核消息纪录</p>
<p>到/dev/console中。下面的例子表明内核日志纪录被注释掉了：</p>
<p><br>#Log all kernel messages to the console<br>#Logging much else clutters up the screen<br>#kern.* /dev/console</p>
<p><br>　　用户可以在一行中指明所有的设备。下面的例子把info或更高级别的消息送到/var/log/messages，</p>
<p>除了mail以外。级别"none"禁止一个设备：</p>
<p><br>#Log anything（except mail）of level info or higher<br>#Dont log private authentication messages!<br>*.info&#58;mail.none;authpriv.none /var/log/messages</p>
<p><br>　　在有些情况下，可以把日志送到打印机，这样网络入侵者怎么修改日志都没有用了。通常要广泛纪录</p>
<p>日志。Syslog设备是一个攻击者的显著目标。一个为其他主机维护日志的系统对于防范服务器攻击特别脆</p>
<p>弱，因此要特别注意。</p>
<p>　　有个小命令logger为syslog（3）系统日志文件提供一个shell命令接口，使用户能创建日志文件中的条</p>
<p>目。用法：logger 例如：logger This is a test！</p>
<p>　　它将产生一个如下的syslog纪录：Aug 19 22&#58;22&#58;34 tiger&#58; This is a test!</p>
<p>　　注意不要完全相信日志，因为攻击者很容易修改它的。</p>
<p>　　5. 程序日志</p>
<p>　　许多程序通过维护日志来反映系统的安全状态。su命令允许用户获得另一个用户的权限，所以它的安全</p>
<p>很重要，它的文件为sulog。同样的还有sudolog。另外，想Apache有两个日志：access_log和error_log。<br><br>转自 <a href="http://blog.chinaunix.net/u2/76292/showart_1335926.html">http://blog.chinaunix.net/u2/76292/showart_1335926.html</a><br></p>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/102757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-12-07 23:08 <a href="http://www.cppblog.com/beautykingdom/archive/2009/12/07/102757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux硬件信息查看(转)</title><link>http://www.cppblog.com/beautykingdom/archive/2009/11/23/101732.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Mon, 23 Nov 2009 13:06:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/11/23/101732.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/101732.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/11/23/101732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/101732.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/101732.html</trackback:ping><description><![CDATA[<br>
<div>1, 主板信息　　.<br>查看主板的序列号　　--------------------------------------------------　　<br>#使用<a onclick="javascript:tagshow(event, '%C3%FC%C1%EE');" href="javascript:;" target=_self><u><strong>命令</strong></u></a>　　dmidecode | grep -i 'serial number'　　<br>#查看板卡信息　　cat /proc/pci　　------------- ...　　<br>1, 主板信息<br>.查看主板的序列号<br>--------------------------------------------------<br>#使用命令<br>dmidecode | grep -i 'serial number'<br>#查看板卡信息<br>cat /proc/pci<br>--------------------------------------------------<br>2, cpu信息<br>--------------------------------------------------<br>#通过/proc文件<a onclick="javascript:tagshow(event, '%CF%B5%CD%B3');" href="javascript:;" target=_self><u><strong>系统</strong></u></a><br>1) cat /proc/cpuinfo<br>#通过查看开机信息<br>2) dmesg | grep -i 'cpu'<br>#<br>3)dmidecode -t processor<br>--------------------------------------------------<br>3, 硬盘信息<br>--------------------------------------------------<br>#查看分区情况<br>fdisk -l<br>#查看大小情况<br>df -h<br>#查看使用情况<br>du -h<br>#<br>hdparm -I /dev/sda<br>#<br>dmesg | grep sda<br>--------------------------------------------------<br>4, 内存信息<br>--------------------------------------------------<br>1) cat /proc/meminfo<br>2) dmesg | grep mem<br>3) free -m<br>4) vmstat<br>5) dmidecode | grep -i mem<br>--------------------------------------------------<br>5, 网卡信息<br>--------------------------------------------------<br>1) dmesg | grep -i 'eth'<br>2) cat /etc/sysconfig/hwconf | grep -i eth<br>3) lspci | grep -i 'eth'<br>--------------------------------------------------<br>6, 鼠标键盘和USB信息<br>查看键盘和鼠标：cat /proc/bus/input/devices<br>查看USB设备：cat /proc/bus/usb/devices<br>查看各设备的中断请求(IRQ):cat /proc/interrupts<br>7, 显卡信息<br>--------------------------------------------------<br>1)lspci |grep -i 'VGA'<br>2)dmesg | grep -i 'VGA'<br>--------------------------------------------------<br>8, 声卡信息<br>--------------------------------------------------<br>1)lspci |grep -i 'VGA'<br>2)dmesg | grep -i 'VGA'<br>--------------------------------------------------<br>7, 其他命令<br>.用<a onclick="javascript:tagshow(event, '%D3%B2%BC%FE');" href="javascript:;" target=_self><u><strong>硬件</strong></u></a>检测程序kuduz探测新硬件：service kudzu start (&nbsp;or&nbsp;restart)<br>.dmesg (查看所有启动时检测到的硬件信息)<br>.lspci (显示外设信息, 如usb，网卡等信息)<br>.cat /etc/sysconfig/hwconf<br>.mpstat<br>8, 需要手动安装的工具<br>lshw,hwinfo,hal-device-manager <br></div>
<br>转自：<br><a href="http://blog.chinaunix.net/u/28584/showart.php?id=2098880">http://blog.chinaunix.net/u/28584/showart.php?id=2098880</a>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/101732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-11-23 21:06 <a href="http://www.cppblog.com/beautykingdom/archive/2009/11/23/101732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Initrd启动和功能分析</title><link>http://www.cppblog.com/beautykingdom/archive/2009/11/19/101389.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Thu, 19 Nov 2009 08:54:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/11/19/101389.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/101389.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/11/19/101389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/101389.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/101389.html</trackback:ping><description><![CDATA[
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; color: rgb(68, 68, 68); font-size: 14px; line-height: 25px; ">Initrd启动及功能分析&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">Initrd这个设计的初衷是用来加载额外内核模块供启动的。可以参考 内核文档 Documentation/initrd.txt。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">在加载完内核后，如果存在initrd，则会执行 initrd 里的 /init。（文档里说的是/linuxrc，在 init/do_mounts_initrd.c 里也是这个，在 init/main.c 里是 /init，具体待考。）&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">进入主题：简单说来，initrd 主要功能就一个：找到根分区，把权力交给主系统。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">要完成这个功能，涉及的功能主要有：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">1.有基本的程序运行环境&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">2.检测存储设备，创建设备节点&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">3.检测文件系统，挂载根文件系统&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">4.将权力交给主系统的init&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">一.基本的程序运行环境&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">initrd 主要有两种格式：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">1. 传统的 ramdisk&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">这种格式的好处是还可以返回到 initrd，进行些后继的处理。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">缺点是需要内核的文件系统支持，通常会用 ext2，且更改较为麻烦。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">制作方法：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">dd if=/dev/zero of=initrd bs=1M count=8&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mkfs.ext2 -f -m 0 initrd&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -o loop initrd /path/to/&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">在/path/to建立好initrd的系统后&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">umount /path/to&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">gzip initrd&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">2. cpio 格式&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">这种格式的好处是内核原生不需要额外的文件系统支持，制作也比较容易。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">制作方法：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">cd /path/to&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">find . |cpio -o -H newc |gzip -c &gt; ../initrd.gz&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">如果没有特别的需要，通常使用cpio格式。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">找到根文件系统的任务通常是用shell脚本来完成，主要原因是：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">1.体积所限，通常initrd不会做很大，因为它功能很明确单一&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">2.方便修改，针对不同硬件/系统通常会做一定更改，编译型语言更改起来较麻烦&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">通常使用的shell有busybox的ash，klibc的sh等。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">busybox提供很多功能，可根据自己的需要编译，因为要支持udev等，所以推荐编译成动态链接的。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">klibc是专门设计为小巧的libc，它自带了一些程序，体积很小巧，功能相对busybox提供的不会那么多。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">还有相关的程序。对于很单一的应用用它是合适的，如果想在initrd里实现较复杂功能，使用klibc会显得有些捉襟见肘。<br></span><div><font color="#444444" face="Verdana, Arial, Helvetica, sans-serif" size="4"><span style="font-size: 14px; line-height: 25px;">对于动态链接的程序，需要把相应的库和 helper 放进系统中。可用ldd实现这个功能，如：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">$ ldd /bin/busybox&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">linux-gate.so.1 =&gt; (0xffffe000)&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">libcrypt.so.1 =&gt; /lib/libcrypt.so.1 (0xb7f30000)&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">libm.so.6 =&gt; /lib/libm.so.6 (0xb7f0b000)&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">libc.so.6 =&gt; /lib/libc.so.6 (0xb7de1000)&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/lib/ld-linux.so.2 (0xb7f73000)&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">我们也提供了一个程序来自动完成这个工作，见文后参考。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">对于klibc的，一般会有个库文件，例如 /usr/lib/klibc/lib/klibc-KC4v-FjcUUw8mDjRL-kY8PS8U3E.so&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">将此文件放在相对initrd的根目录的 /lib 目录下即可。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">需要的设备有：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mknod dev/console c 5 1&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mknod dev/null c 1 3&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 如果为ramdisk，最好创建它&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mknod dev/ram0 c 1 0&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">二.检测存储设备&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">早先有 devfs hotplug等来检测，或是静态创建加载模块以支持存储设备如硬盘，光盘等。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">udev的出现使这个过程转移到用户空间，灵活性大大增强，使这个过程能自动完成。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">对于新版的 udev (大概是&gt;098)，完成这一过程只需写好相应的规则，有相应的模块，执行以下命令即可自动加载模块并创建相应的设备节点：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 挂载所需文件系统&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -t proc none /proc&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -t sysfs none /sys&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -t tmpfs -o size=10M none /dev&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 关闭内核消息打印&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">echo '0' &gt; /proc/sys/kernel/printk&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 一些连接&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">ln -sf /proc/self/fd /dev/fd&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">ln -sf /proc/self/fd/0 /dev/stdin&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">ln -sf /proc/self/fd/1 /dev/stdout&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">ln -sf /proc/self/fd/2 /dev/stderr&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">ln -sf /proc/kcore /dev/core&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 启动 udev&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/sbin/udevd --daemon&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/sbin/udevtrigger&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/sbin/udevsettle&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">三.检测文件系统&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">由于各系统和内核的不同，挂载文件系统有时不像我们平时使用的那样，会自动探测，可以使用udev或blkid来识别：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">udev的方法：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># /lib/udev/vol_id -t /dev/hda5&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">xfs&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">blkid的方法：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># blkid&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda1: TYPE="ntfs"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda5: LABEL="Gentoo" UUID="78460951-666e-4d29-9d9b-85e9a9b16b62" TYPE="xfs"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda6: TYPE="ntfs"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda8: UUID="c51d3bb4-caee-4150-ae22-7d5931db31f5" LABEL="ROOT" TYPE="reiserfs"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda9: LABEL="Home" UUID="89b31278-b2a3-4626-99c5-e6ca77fe60f0" TYPE="xfs"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">/dev/hda7: LABEL="swap" UUID="8686fb94-560c-4c87-97dd-c5f97bbb6c78" TYPE="swap"&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">另外，我们也可以使用UUID或者LABEL的方式来挂载文件系统，&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -U&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount -L&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">四.交权给主系统的init&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">实现方法主要有 pivot_root 和 switch_root与 run-init。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">在这之前需要对之前挂载的虚拟文件系统与dev转移到主系统。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount --move /dev /root/dev&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount --move /proc /root/proc&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mount --move /sys /root/sys&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">1.pivot_root&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">传统的做法是用 pivot_root，然而 pivot_root不会自动处理很多工作，如释放initrd所有的内存，执行主系统的init。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">使用方法如下：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">cd /root&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">mkdir -p initrd&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">pivot_root . initrd&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 注意 /root 要是合法的设备挂载上的 如 /dev/sda1，如果不是这样，将可能出现错误。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 目标目录也需要存在，其它参阅man page&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">exec chroot . sh -c 'umount /initrd; exec /sbin/init' dev/console 2&gt;&amp;1&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "># 如果不需要清理，也可简单的运行&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">exec chroot . /sbin/init&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">2.switch_root/run-init&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">这两者差别不大，前者是busybox提供的，后者是klibc的。有点区别的是后者可接受 - 开头的参数。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">用法：&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">cd /root&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">exec switch_root . /sbin/init&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">或&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">exec run-init . /sbin/init --debug&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; ">至此，initrd的使命完成。&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; "></span></font></div><div><font  color="#444444" face="Verdana, Arial, Helvetica, sans-serif" size="4"><span  style="font-size: 14px; line-height: 25px;">转自：</span></font></div><div><font  color="#444444" face="Verdana, Arial, Helvetica, sans-serif" size="4"><span  style="font-size: 14px; line-height: 25px;"><a href="http://www.91linux.com/html/article/kernel/20090712/17508.html">http://www.91linux.com/html/article/kernel/20090712/17508.html</a></span></font></div><img src ="http://www.cppblog.com/beautykingdom/aggbug/101389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-11-19 16:54 <a href="http://www.cppblog.com/beautykingdom/archive/2009/11/19/101389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下C语言延时&lt;转&gt;</title><link>http://www.cppblog.com/beautykingdom/archive/2009/07/07/89491.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Tue, 07 Jul 2009 12:45:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/07/07/89491.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/89491.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/07/07/89491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/89491.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/89491.html</trackback:ping><description><![CDATA[转自 <a href="http://blog.chinaunix.net/u/22630/showart_1674283.html">http://blog.chinaunix.net/u/22630/showart_1674283.html</a><br>
<div><font size=3>在linux下延时可以采用如下函数：<br></div>
</font>
<div><font size=3>1.unsigned int sleep(unsigned int seconds);&nbsp; <br></font></div>
<div><font size=3>&nbsp; sleep()会使当前程序休眠seconds秒。如果sleep()没睡饱，它将会返回还需要补眠的时间，否则一般返回零。&nbsp; </font></div>
<div><font size=3>2.void usleep(unsigned long usec);&nbsp; <br></font></div>
<div><font size=3>&nbsp;usleep与sleep()类同，不同之处在于休眠的时间单位为毫秒（10E-6秒）。&nbsp; </font></div>
<div><font size=3>3.int select(0,NULL,NULL,NULL,struct timeval *tv);&nbsp;&nbsp;<br>&nbsp;</font></div>
<div><font size=3>&nbsp; 可以利用select实现sleep()的功能，它将不会等待任何事件发生。&nbsp; </font></div>
<div><font size=3></font>&nbsp;<font size=3>4.int nanosleep(struct timespec *req,struct timespec *rem);&nbsp; <br></font></div>
<div><font size=3>&nbsp; nanosleep会沉睡req所指定的时间，若rem为non-null，而且没睡饱，将会把要补眠的时间放在rem上。</font></div>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/89491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-07-07 20:45 <a href="http://www.cppblog.com/beautykingdom/archive/2009/07/07/89491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux头文件说明</title><link>http://www.cppblog.com/beautykingdom/archive/2009/07/06/89414.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Mon, 06 Jul 2009 15:15:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2009/07/06/89414.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/89414.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2009/07/06/89414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/89414.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/89414.html</trackback:ping><description><![CDATA[<span style="FONT-WEIGHT: bold"><em>在编写程序时要include一些头文件<br></em></span><span style="FONT-WEIGHT: bold">头文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明</span><br><font size=3>&lt;a s s e r t . h&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 验证程序断言<br>&lt;c p i o . h&gt;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c p i o归档值<br>&lt;c t y p e . h&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 字符类型<br>&lt;d i r e n t . h&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目录项<br>&lt;e r r n o . h&gt; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 出错码<br>&lt;f c n t l . h&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 文件控制<br>&lt;f l o a t . h&gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 浮点常数<br>&lt;f t w . h&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 文件树漫游<br>&lt; g r p . h &gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 组文件<br>&lt; l a n g i n f o . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 语言信息常数<br>&lt; l i m i t s . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实施常数<br>&lt; l o c a l e . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本地类别<br>&lt; m a t h . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数学常数<br>&lt; n l _ t y p e s . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 消息类别<br>&lt; p w d . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 口令文件<br>&lt; r e g e x . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正则表达式<br>&lt; s e a r c h . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 搜索表<br>&lt; s e t j m p . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非局部goto <br>&lt; s i g n a l . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 信号<br>&lt; s t d a r g . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可变参数表<br>&lt; s t d d e f . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准定义<br>&lt; s t d i o . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准I / O库<br>&lt; s t d l i b . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 公用函数<br>&lt; s t r i n g . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符串操作<br>&lt; t a r . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t a r归档值<br>&lt; t e r m i o s . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 终端I / O <br>&lt; t i m e . h &gt; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 时间和日期<br>&lt; u l i m i t . h &gt;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 用户限制<br>&lt; u n i s t d . h &gt;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 符号常数<br>&lt; u t i m e . h &gt;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件时间<br>&lt; s y s / i p c . h &gt;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; I P C <br>&lt; s y s / m s g . h &gt;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 消息队列<br>&lt; s y s / s e m . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 信号量<br>&lt; s y s / s h m . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共享存储<br>&lt; s y s / s t a t . h &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件状态<br>&lt; s y s / t i m e s . h &gt;&nbsp;&nbsp;&nbsp; 进程时间<br>&lt; s y s / t y p e s . h &gt;&nbsp;&nbsp;&nbsp; 原系统数据类型<br>&lt; s y s /u t s n a m e . h&gt;&nbsp; 系统名<br>&lt; s y s /w a i t . h &gt;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 进程控制<br></font>
<img src ="http://www.cppblog.com/beautykingdom/aggbug/89414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2009-07-06 23:15 <a href="http://www.cppblog.com/beautykingdom/archive/2009/07/06/89414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux小命令</title><link>http://www.cppblog.com/beautykingdom/archive/2008/11/22/67565.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sat, 22 Nov 2008 03:32:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2008/11/22/67565.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/67565.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2008/11/22/67565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/67565.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/67565.html</trackback:ping><description><![CDATA[mount -t cifs -o username=dsfsdf,password=dsfsf //ip/sharedRemoteDir localdir<br><img src ="http://www.cppblog.com/beautykingdom/aggbug/67565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2008-11-22 11:32 <a href="http://www.cppblog.com/beautykingdom/archive/2008/11/22/67565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux时钟 </title><link>http://www.cppblog.com/beautykingdom/archive/2008/08/10/58468.html</link><dc:creator>chatler</dc:creator><author>chatler</author><pubDate>Sun, 10 Aug 2008 13:37:00 GMT</pubDate><guid>http://www.cppblog.com/beautykingdom/archive/2008/08/10/58468.html</guid><wfw:comment>http://www.cppblog.com/beautykingdom/comments/58468.html</wfw:comment><comments>http://www.cppblog.com/beautykingdom/archive/2008/08/10/58468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/beautykingdom/comments/commentRss/58468.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/beautykingdom/services/trackbacks/58468.html</trackback:ping><description><![CDATA[<div>Linux系统有两个时钟：一个是由主板电池驱动的&#8220;Real Time
Clock&#8221;，也叫做RTC或者CMOS时钟，硬件时钟。当操作系统关机的时候，用这个来记录时间，但是对于运行的系统是不用这个时间的。另一个时钟是 &#8220;System
clock&#8221;，也叫内核时钟或者软件时钟，是由软件根据时间中断来进行计数的，内核时钟在系统关机的情况下是不存在的，所以，当操作系统启动的时候，内核时钟是要读取RTC时间来进行时间同步（有些情况下，内核时钟也可以通过ntp服务器来读取时间）。这两个时钟通常会有一些误差，所以长时间可以导致这两个时钟偏离的比较多，最简单的保持两个时间同步的方法是用软件测出他们之间的误差率，然后进行修正。在每次重新启动系统的时候，系统都会用hwclock命令对时间进行同步。如果内核时钟在每一个时间中断都快或者慢的话，可以用adjtimex命令进行调整，使得RTC和内核时间走的快慢一致.</div>
<div><br>&nbsp;&nbsp;&nbsp; Linux的内核时间实际上是记录从1970年1月1日距离现在的秒数，并且以GMT（格林尼治时间)（或者叫UTC-
Coordinated Universal
Time）为标准,UTC是不随着DST（夏令时）变换，需要有变化的是由应用程序自身来完成时间的转换。通常，本地时间=UTC时间+时区。</div>
<div><br>&nbsp;&nbsp;&nbsp;
从Linux启动过程来看，系统时钟和硬件时钟不会发生冲突，但Linux中的所有命令(包括函数)都是采用的系统时钟设置。不仅如此，系统时钟和硬件时钟还可以采用异步方式。这样做的好处对于普通用户意义不大，但对于Linux网络管理员却有很大的用处。例如，要将一个很大的网络中(跨越若干时区)的服务器同步，假如位于美国纽约的Linux服务器和北京的Linux服务器，其中一台服务器无须改变硬件时钟而只需临时设置一个系统时间，如要将北京服务器上的时间设置为纽约时间，两台服务器完成文件的同步后，再与原来的时钟同步一下即可。这样系统和硬件时钟就提供了更为灵活的操作。
</div>
<div>&nbsp;</div>
<br><img src ="http://www.cppblog.com/beautykingdom/aggbug/58468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/beautykingdom/" target="_blank">chatler</a> 2008-08-10 21:37 <a href="http://www.cppblog.com/beautykingdom/archive/2008/08/10/58468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>