﻿<?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>BlogJava-szhswl-文章分类-操作系统</title><link>http://www.blogjava.net/szhswl/category/27916.html</link><description>宋针还的个人空间</description><language>zh-cn</language><lastBuildDate>Wed, 12 Dec 2007 15:06:33 GMT</lastBuildDate><pubDate>Wed, 12 Dec 2007 15:06:33 GMT</pubDate><ttl>60</ttl><item><title>apache2自动启动脚本FOR RHEL AS4 U2</title><link>http://www.blogjava.net/szhswl/articles/167344.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Wed, 12 Dec 2007 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/167344.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/167344.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/167344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/167344.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/167344.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">!/bin/bash&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #008000">#&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #008000">#&nbsp;httpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup&nbsp;script&nbsp;for&nbsp;the&nbsp;Apache&nbsp;HTTP&nbsp;Server&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #008000">#&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #008000">#&nbsp;chkconfig:&nbsp;-&nbsp;85&nbsp;15&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #008000">#&nbsp;description:&nbsp;Apache&nbsp;is&nbsp;a&nbsp;World&nbsp;Wide&nbsp;Web&nbsp;server.&nbsp;&nbsp;It&nbsp;is&nbsp;used&nbsp;to&nbsp;serve&nbsp;\&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #008000">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTML&nbsp;files&nbsp;and&nbsp;CGI.&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #008000">#&nbsp;processname:&nbsp;httpd&nbsp;<br />
</span><span style="color: #008080">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #008000">#&nbsp;config:&nbsp;/etc/httpd/conf/httpd.conf&nbsp;<br />
</span><span style="color: #008080">&nbsp;10</span>&nbsp;<span style="color: #008000">#&nbsp;config:&nbsp;/etc/sysconfig/httpd&nbsp;<br />
</span><span style="color: #008080">&nbsp;11</span>&nbsp;<span style="color: #008000">#&nbsp;pidfile:&nbsp;/var/run/httpd.pid&nbsp;<br />
</span><span style="color: #008080">&nbsp;12</span>&nbsp;<span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;13</span>&nbsp;<span style="color: #008000">#&nbsp;Source&nbsp;function&nbsp;library.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;14</span>&nbsp;<span style="color: #000000">.</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">etc</span><span style="color: #000000">/</span><span style="color: #000000">rc</span><span style="color: #000000">.</span><span style="color: #000000">d</span><span style="color: #000000">/</span><span style="color: #000000">init</span><span style="color: #000000">.</span><span style="color: #000000">d</span><span style="color: #000000">/</span><span style="color: #000000">functions&nbsp;<br />
</span><span style="color: #008080">&nbsp;15</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;16</span>&nbsp;<span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">f&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">etc</span><span style="color: #000000">/</span><span style="color: #000000">sysconfig</span><span style="color: #000000">/</span><span style="color: #000000">httpd&nbsp;];&nbsp;then&nbsp;<br />
</span><span style="color: #008080">&nbsp;17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">.</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">etc</span><span style="color: #000000">/</span><span style="color: #000000">sysconfig</span><span style="color: #000000">/</span><span style="color: #000000">httpd&nbsp;<br />
</span><span style="color: #008080">&nbsp;18</span>&nbsp;<span style="color: #000000">fi&nbsp;<br />
</span><span style="color: #008080">&nbsp;19</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;20</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;Start&nbsp;httpd&nbsp;in&nbsp;the&nbsp;C&nbsp;locale&nbsp;by&nbsp;default.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;21</span>&nbsp;<span style="color: #000000">HTTPD_LANG</span><span style="color: #000000">=</span><span style="color: #000000">${HTTPD_LANG</span><span style="color: #000000">-</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">C</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">}&nbsp;<br />
</span><span style="color: #008080">&nbsp;22</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;23</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;This&nbsp;will&nbsp;prevent&nbsp;initlog&nbsp;from&nbsp;swallowing&nbsp;up&nbsp;a&nbsp;pass-phrase&nbsp;prompt&nbsp;if&nbsp;<br />
</span><span style="color: #008080">&nbsp;24</span>&nbsp;<span style="color: #008000">#&nbsp;mod_ssl&nbsp;needs&nbsp;a&nbsp;pass-phrase&nbsp;from&nbsp;the&nbsp;user.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;25</span>&nbsp;<span style="color: #000000">INITLOG_ARGS</span><span style="color: #000000">=</span><span style="font-weight: bold; color: #000000">""</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;26</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;27</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;Set&nbsp;HTTPD=/usr/sbin/httpd.worker&nbsp;in&nbsp;/etc/sysconfig/httpd&nbsp;to&nbsp;use&nbsp;a&nbsp;server&nbsp;<br />
</span><span style="color: #008080">&nbsp;28</span>&nbsp;<span style="color: #008000">#&nbsp;with&nbsp;the&nbsp;thread-based&nbsp;"worker"&nbsp;MPM;&nbsp;BE&nbsp;WARNED&nbsp;that&nbsp;some&nbsp;modules&nbsp;may&nbsp;not&nbsp;<br />
</span><span style="color: #008080">&nbsp;29</span>&nbsp;<span style="color: #008000">#&nbsp;work&nbsp;correctly&nbsp;with&nbsp;a&nbsp;thread-based&nbsp;MPM;&nbsp;notably&nbsp;PHP&nbsp;will&nbsp;refuse&nbsp;to&nbsp;start.&nbsp;<br />
</span><span style="color: #008080">&nbsp;30</span>&nbsp;<span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;31</span>&nbsp;<span style="color: #008000">#&nbsp;Path&nbsp;to&nbsp;the&nbsp;apachectl&nbsp;script,&nbsp;server&nbsp;binary,&nbsp;and&nbsp;short-form&nbsp;for&nbsp;messages.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;32</span>&nbsp;<span style="color: #000000">apachectl</span><span style="color: #000000">=/</span><span style="color: #000000">usr</span><span style="color: #000000">/</span><span style="color: #0000ff">local</span><span style="color: #000000">/</span><span style="color: #000000">apache2</span><span style="color: #000000">/</span><span style="color: #000000">bin</span><span style="color: #000000">/</span><span style="color: #000000">apachectl&nbsp;<br />
</span><span style="color: #008080">&nbsp;33</span>&nbsp;<span style="color: #000000">httpd</span><span style="color: #000000">=</span><span style="color: #000000">${HTTPD</span><span style="color: #000000">-/</span><span style="color: #000000">usr</span><span style="color: #000000">/</span><span style="color: #0000ff">local</span><span style="color: #000000">/</span><span style="color: #000000">apache2</span><span style="color: #000000">/</span><span style="color: #000000">bin</span><span style="color: #000000">/</span><span style="color: #000000">httpd}&nbsp;<br />
</span><span style="color: #008080">&nbsp;34</span>&nbsp;<span style="color: #000000">prog</span><span style="color: #000000">=</span><span style="color: #000000">httpd&nbsp;<br />
</span><span style="color: #008080">&nbsp;35</span>&nbsp;<span style="color: #000000">pidfile</span><span style="color: #000000">=</span><span style="color: #000000">${PIDFILE</span><span style="color: #000000">-/</span><span style="color: #000000">var</span><span style="color: #000000">/</span><span style="color: #000000">run</span><span style="color: #000000">/</span><span style="color: #000000">httpd</span><span style="color: #000000">.</span><span style="color: #000000">pid}&nbsp;<br />
</span><span style="color: #008080">&nbsp;36</span>&nbsp;<span style="color: #000000">lockfile</span><span style="color: #000000">=</span><span style="color: #000000">${LOCKFILE</span><span style="color: #000000">-/</span><span style="color: #000000">var</span><span style="color: #000000">/</span><span style="color: #0000ff">lock</span><span style="color: #000000">/</span><span style="color: #000000">subsys</span><span style="color: #000000">/</span><span style="color: #000000">httpd}&nbsp;<br />
</span><span style="color: #008080">&nbsp;37</span>&nbsp;<span style="color: #000000">RETVAL</span><span style="color: #000000">=</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;38</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;39</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;check&nbsp;for&nbsp;1.3&nbsp;configuration&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;40</span>&nbsp;<span style="color: #000000">check13&nbsp;()&nbsp;{&nbsp;<br />
</span><span style="color: #008080">&nbsp;41</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CONFFILE</span><span style="color: #000000">=/</span><span style="color: #000000">usr</span><span style="color: #000000">/</span><span style="color: #0000ff">local</span><span style="color: #000000">/</span><span style="color: #000000">apache2</span><span style="color: #000000">/</span><span style="color: #000000">conf</span><span style="color: #000000">/</span><span style="color: #000000">httpd</span><span style="color: #000000">.</span><span style="color: #000000">conf&nbsp;<br />
</span><span style="color: #008080">&nbsp;42</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GONE</span><span style="color: #000000">=</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">(ServerType|BindAddress|Port|AddModule|ClearModuleList|</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;43</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GONE</span><span style="color: #000000">=</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;44</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GONE</span><span style="color: #000000">=</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">${GONE}AccessConfig|ResourceConfig)</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;45</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;LANG</span><span style="color: #000000">=</span><span style="color: #000000">C&nbsp;</span><span style="color: #0000ff">grep</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">Eiq&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">^[[:space:]]*($GONE)</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$CONFFILE</span><span style="color: #000000">;&nbsp;then&nbsp;<br />
</span><span style="color: #008080">&nbsp;46</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<br />
</span><span style="color: #008080">&nbsp;47</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">&gt;&amp;</span><span style="color: #800000">2</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">&nbsp;Apache&nbsp;1.3&nbsp;configuration&nbsp;directives&nbsp;found</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">&gt;&amp;</span><span style="color: #800000">2</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">&nbsp;please&nbsp;read&nbsp;/usr/share/doc/httpd-2.0.52/migration.html</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;failure&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">Apache&nbsp;1.3&nbsp;config&nbsp;directives&nbsp;test</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;50</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<br />
</span><span style="color: #008080">&nbsp;51</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;52</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi&nbsp;<br />
</span><span style="color: #008080">&nbsp;53</span>&nbsp;<span style="color: #000000">}&nbsp;<br />
</span><span style="color: #008080">&nbsp;54</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;55</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;The&nbsp;semantics&nbsp;of&nbsp;these&nbsp;two&nbsp;functions&nbsp;differ&nbsp;from&nbsp;the&nbsp;way&nbsp;apachectl&nbsp;does&nbsp;<br />
</span><span style="color: #008080">&nbsp;56</span>&nbsp;<span style="color: #008000">#&nbsp;things&nbsp;--&nbsp;attempting&nbsp;to&nbsp;start&nbsp;while&nbsp;running&nbsp;is&nbsp;a&nbsp;failure,&nbsp;and&nbsp;shutdown&nbsp;<br />
</span><span style="color: #008080">&nbsp;57</span>&nbsp;<span style="color: #008000">#&nbsp;when&nbsp;not&nbsp;running&nbsp;is&nbsp;also&nbsp;a&nbsp;failure.&nbsp;&nbsp;So&nbsp;we&nbsp;just&nbsp;do&nbsp;it&nbsp;the&nbsp;way&nbsp;init&nbsp;scripts&nbsp;<br />
</span><span style="color: #008080">&nbsp;58</span>&nbsp;<span style="color: #008000">#&nbsp;are&nbsp;expected&nbsp;to&nbsp;behave&nbsp;here.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;59</span>&nbsp;<span style="color: #000000">start()&nbsp;{&nbsp;<br />
</span><span style="color: #008080">&nbsp;60</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">Starting&nbsp;$prog:&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;61</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check13&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;62</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LANG</span><span style="color: #000000">=</span><span style="color: #800080">$HTTPD_LANG</span><span style="color: #000000">&nbsp;daemon&nbsp;</span><span style="color: #800080">$httpd</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$OPTIONS</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;63</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;64</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<br />
</span><span style="color: #008080">&nbsp;65</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;</span><span style="color: #800080">$RETVAL</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;]&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;touch&nbsp;${lockfile}&nbsp;<br />
</span><span style="color: #008080">&nbsp;66</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$RETVAL</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;67</span>&nbsp;<span style="color: #000000">}&nbsp;<br />
</span><span style="color: #008080">&nbsp;68</span>&nbsp;<span style="color: #000000">stop()&nbsp;{&nbsp;<br />
</span><span style="color: #008080">&nbsp;69</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">Stopping&nbsp;$prog:&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;70</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;killproc&nbsp;</span><span style="color: #800080">$httpd</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;71</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;72</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<br />
</span><span style="color: #008080">&nbsp;73</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;</span><span style="color: #800080">$RETVAL</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">0</span><span style="color: #000000">&nbsp;]&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;rm&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">f&nbsp;${lockfile}&nbsp;${pidfile}&nbsp;<br />
</span><span style="color: #008080">&nbsp;74</span>&nbsp;<span style="color: #000000">}&nbsp;<br />
</span><span style="color: #008080">&nbsp;75</span>&nbsp;<span style="color: #000000">reload()&nbsp;{&nbsp;<br />
</span><span style="color: #008080">&nbsp;76</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">n&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">Reloading&nbsp;$prog:&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;77</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">!</span><span style="color: #000000">&nbsp;LANG</span><span style="color: #000000">=</span><span style="color: #800080">$HTTPD_LANG</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$httpd</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$OPTIONS</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">t&nbsp;</span><span style="color: #000000">&gt;&amp;/</span><span style="color: #000000">dev</span><span style="color: #000000">/</span><span style="color: #000000">null;&nbsp;then&nbsp;<br />
</span><span style="color: #008080">&nbsp;78</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;79</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">not&nbsp;reloading&nbsp;due&nbsp;to&nbsp;configuration&nbsp;syntax&nbsp;error</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;80</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;failure&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">not&nbsp;reloading&nbsp;$httpd&nbsp;due&nbsp;to&nbsp;configuration&nbsp;syntax&nbsp;error</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;81</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;82</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;killproc&nbsp;</span><span style="color: #800080">$httpd</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">HUP&nbsp;<br />
</span><span style="color: #008080">&nbsp;83</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;84</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;fi&nbsp;<br />
</span><span style="color: #008080">&nbsp;85</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<br />
</span><span style="color: #008080">&nbsp;86</span>&nbsp;<span style="color: #000000">}&nbsp;<br />
</span><span style="color: #008080">&nbsp;87</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;88</span>&nbsp;<span style="color: #008000">#</span><span style="color: #008000">&nbsp;See&nbsp;how&nbsp;we&nbsp;were&nbsp;called.&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;89</span>&nbsp;<span style="color: #000000">case&nbsp;</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">$1</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;in&nbsp;<br />
</span><span style="color: #008080">&nbsp;90</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;start)&nbsp;<br />
</span><span style="color: #008080">&nbsp;91</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start&nbsp;<br />
</span><span style="color: #008080">&nbsp;92</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">&nbsp;93</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;stop)&nbsp;<br />
</span><span style="color: #008080">&nbsp;94</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop&nbsp;<br />
</span><span style="color: #008080">&nbsp;95</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">&nbsp;96</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;status)&nbsp;<br />
</span><span style="color: #008080">&nbsp;97</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;</span><span style="color: #800080">$httpd</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;98</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;99</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">100</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;restart)&nbsp;<br />
</span><span style="color: #008080">101</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop&nbsp;<br />
</span><span style="color: #008080">102</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start&nbsp;<br />
</span><span style="color: #008080">103</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">104</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;condrestart)&nbsp;<br />
</span><span style="color: #008080">105</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;[&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">f&nbsp;${pidfile}&nbsp;]&nbsp;;&nbsp;then&nbsp;<br />
</span><span style="color: #008080">106</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop&nbsp;<br />
</span><span style="color: #008080">107</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start&nbsp;<br />
</span><span style="color: #008080">108</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi&nbsp;<br />
</span><span style="color: #008080">109</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">110</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;reload)&nbsp;<br />
</span><span style="color: #008080">111</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reload&nbsp;<br />
</span><span style="color: #008080">112</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">113</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;graceful</span><span style="color: #000000">|</span><span style="color: #000000">help</span><span style="color: #000000">|</span><span style="color: #000000">configtest</span><span style="color: #000000">|</span><span style="color: #000000">fullstatus)&nbsp;<br />
</span><span style="color: #008080">114</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080">$apachectl</span><span style="color: #000000">&nbsp;$@&nbsp;<br />
</span><span style="color: #008080">115</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETVAL</span><span style="color: #000000">=</span><span style="color: #000000">$</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">116</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;<br />
</span><span style="color: #008080">117</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">)&nbsp;<br />
</span><span style="color: #008080">118</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$</span><span style="font-weight: bold; color: #000000">"</span><span style="font-weight: bold; color: #000000">Usage:&nbsp;$prog&nbsp;{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}</span><span style="font-weight: bold; color: #000000">"</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">119</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">1</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">120</span>&nbsp;<span style="color: #000000">esac&nbsp;<br />
</span><span style="color: #008080">121</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">122</span>&nbsp;<span style="color: #0000ff">exit</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">$RETVAL</span></div>
<img src ="http://www.blogjava.net/szhswl/aggbug/167344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/szhswl/" target="_blank">宋针还</a> 2007-12-12 21:58 <a href="http://www.blogjava.net/szhswl/articles/167344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>找回ROOT密码</title><link>http://www.blogjava.net/szhswl/articles/166545.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Mon, 10 Dec 2007 00:40:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/166545.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/166545.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/166545.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/166545.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/166545.html</trackback:ping><description><![CDATA[一. Freebsd <br />
　　FreeBSD 4.7 <br />
　　当显示 boot ... 9 seconds按任意健 <br />
　　输入：boot -s <br />
　　登录以后 <br />
　　#/sbin/mount -a <br />
　　#passwd <br />
　　输入新密码. <br />
　　FreeBSD 5.* <br />
　当要求选择启动模式时按4进入单用户模式登录以后 <br />
　　#/sbin/mount -a <br />
　　#passwd <br />
　　输入新密码. <br />
　　二. Solaris <br />
　　ROOT密码遗忘的处理方法 <br />
　　1,如果还能用普通用户登陆的话,%df /etc,确定包含/etc目录分区的设备名 <br />
　　%df /etc <br />
　　/ /dev/dsk/c0t0d0s0... <br />
　　此例中是c0t0d0s0,如果你的根目录分区设备不一样的话,替换一下就可以啦 <br />
　　2,把系统盘插入cdrom中 <br />
　　3,出现提示符后,使用sync命令刷新文件系统 <br />
　　4,按下stop+A <br />
　　5,ok状态下键入boot cdrom -s <br />
　　6,在#提示符下键入mkdir /temp ,然后键入mount /dev/dsk/c0t0d0s0 /temp <br />
　　如果出现挂接不上的情况时,那么就运行fsck先 fsck /dev/rdsk/c0t0d0s0,然后在mount <br />
　　7,cd /temp/etc <br />
　　8,cp shadow shadowbak <br />
　　9,cat shadow <br />
　　得到root的口令字符串 <br />
　　root:djglcj0J:6453::::(其中djglcj0J就是root的加密后的口令字符串) <br />
　　10,sed s/djglcj0J// shadow&gt;shadownew <br />
11,cat shadownew查看是否已经变为 <br />
　　root::6453:::: <br />
　　12,cp shadownew shadow <br />
　　13,cd / <br />
　　unmount /temp <br />
　　sync <br />
　　shutdown -i0 -g0 -y <br />
　　14,取出CD后,重起系统,这时root就不需要密码啦！ <br />
　　这样也可以！ <br />
　　OK boot cdrom -s <br />
　　#TERM=sun <br />
　　#export TERM <br />
　　#mount /dev/dsk/c0t0d0s0 /a <br />
　　#vi /a/etc/shadow(删除root的加密后的密码) <br />
　　#reboot <br />
　　三. SCO UNIX <br />
　　一旦运行SCO UNIX 机器的超级用户口令忘了，可以用这个方法解决。 <br />
　　在另一台安装了SCO UNIX的机器上，以Root用户注册，进入系统，用 mkdev fd命令或命令scoadmin中的Filesystem之Floppy Filesystem Manager来制作应急启动盘，包括Boottable 盘和Root filesystem盘。 <br />
　　将上述制作的Root filesystem盘安装到硬盘上。 <br />
　　# mount /dev/fd0135ds18 /mnt <br />
　　再将硬盘上的/etc/passwd 和/tcb/files/auth/r/root两个文件拷贝到Root filesystem盘上。 <br />
　　# cp /etc/passwd /mnt <br />
　　# cp /tcb/files/auth/r/root /mnt <br />
　　卸载机器1硬盘上的软盘。 <br />
　　# umount /dev/rfd0135ds18 <br />
　　用Boot软盘去启动遗忘口令的机器，根据提示插入Root filesystem软盘，待出现"#"时，进行下面操作，将硬盘挂到软盘上： <br />
　　# mount /dev/hd0root /mnt <br />
　　备份硬盘上的/etc/passwd和/tcb/files/auth/r/root两个文件。因为这两个文件中还包含其他用户的注册信息。 <br />
　　用Root filesystem软盘上的两个文件，覆盖硬盘上的两个文件/etc/passwd 和/tcb/files/auth/r/root。 <br />
　# mkdir /cyh <br />
　　# mount /dev/fd0135ds18 /cyh <br />
　　# cd /cyh <br />
　　# cp passwd /mnt/etc <br />
　　# cp root /mnt/tcb/files/auth <br />
　　卸载安装上的两个文件系统。 <br />
　　# umount /dev/hd0root <br />
　　# umount /dev/fd0135ds18 <br />
　　取出软盘，重新启动机器，待出现Login时，以Root用户注册，键入第二台机器的超级用户口令，这样便可进入的超级用户了。 <br />
　　进入超级用户后，用Passwd和Root这两个文件的备份覆盖原来的文件，接着用passwd命令修改超级用户的口令。 <br />
　　用户可以用Alt+F2换一个窗口，以Root注册，现在用修改后的口令就能用了。 <br />
　　四. AIX 4.3.3(IBM) RS/6000 <br />
　　将第一张安装盘放入光驱，重起机器，按f5键，终端按5，进入maintance页面，选择mount rootvg的功能选项，调用password修改口令，退出即可 <br />
　　五. Linux <br />
　　三种办法： <br />
　　1.在系统进入单用户状态，直接用passwd root去更改 <br />
　　2.用安装光盘引导系统，进行linux rescue状态，将原来/分区挂接上来,作法如下： <br />
　　cd /mnt <br />
　　mkdir hd <br />
　　mount -t auto /dev/hdaX(原来/分区所在的分区号) hd <br />
　　cd hd <br />
　　chroot ./ <br />
　　passwd root <br />
　　这样可以搞定 <br />
　　3.将本机的硬盘拿下来，挂到其他的linux系统上，采用的办法与第二种相同 <br />
六. RedHat 8/RedHat9 <br />
　　（1）. lilo法 <br />
　　1. 在出现 lilo: 提示时键入 linux single <br />
　　画面显示 lilo: linux single <br />
　　2. 回车可直接进入linux命令行 <br />
　　3. #vi /etc/shadow <br />
　　将第一行，即以root开头的一行中root:后和下一个:前的内容删除， <br />
　　第一行将类似于 <br />
　　root::...... <br />
　　保存 <br />
　　4. #reboot重启，root密码为空 <br />
　　（2）. grub法 <br />
　　1. 在出现grub画面时，用上下键选中你平时启动linux的那一项(别选dos哟)，然后按e键 <br />
　　2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/)，然后按e键 <br />
　　3. 修改你现在见到的命令行，加入single，结果如下： <br />
　　kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ <br />
　　4. 回车返回，然后按b键启动，即可直接进入linux命令行 <br />
　　5. #vi /etc/shadow <br />
　　将第一行，即以root开头的一行中root:后和下一个:前的内容删除， <br />
　　第一行将类似于 <br />
　　root::...... <br />
　　保存 <br />
　　6. #reboot重启，root密码为空 <br />
　　7.HP-UX <br />
　　启动时按esc 进入isl <br />
　　进入ISL后： <br />
　　isl&gt;bo pri <br />
　　(yes/no)y <br />
　　ipl&gt;hpux -is <br />
　　ipl&gt;vi /etc/passwd <br />
　　去掉root 的密码即可
<img src ="http://www.blogjava.net/szhswl/aggbug/166545.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/szhswl/" target="_blank">宋针还</a> 2007-12-10 08:40 <a href="http://www.blogjava.net/szhswl/articles/166545.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Solaris安装和基本配置</title><link>http://www.blogjava.net/szhswl/articles/166321.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Sat, 08 Dec 2007 11:16:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/166321.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/166321.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/166321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/166321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/166321.html</trackback:ping><description><![CDATA[下载:<br />
从这个网址（http://www.sun.com/software/solaris/get.jsp） 可以下载最新的Solaris 10 3/05 for x64/x86的光盘。上去一看，有好多光盘啊，我下载了下面五张：<br />
Solaris 10 3/05 CD 1<br />
Solaris 10 3/05 CD 2<br />
Solaris 10 3/05 CD 3<br />
Solaris 10 3/05 CD 4<br />
Solaris 10 3/05 Language CD<br />
下载完Solaris 10 的光盘, 粗粗地看了一下其中的内容。第一张盘主要是Solaris 系统基本软件，第二张有许多和gnome相关的包，第三张主要是staroffice, 第四张包含了许多open source的软件如Apache/Ant/Python/TCL/mysql等等。<br />
<br />
<br />
安装准备：<br />
笔者还是喜欢用Linux 的分区工具， 通过使用http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?GXHC_JSESSIONID=-2089798192477626027&amp;GXHC_jive.user.lastvisited=1107746952510&amp;forum=14&amp;thread=6819 描述<br />
的方法做了分区。 我把自己60G的硬盘分为4个区， <br />
名称 内容 类型 大小 文件系统 描述<br />
/dev/hda1 Win-&gt;C: Primary 10G NTFS Windows XP <br />
/dev/hda2 Ext Ext 25G --- 扩展分区<br />
/dev/hda3 Linux Primary 10G EXT3 Linux <br />
/dev/hda4 Solaris Primary 11.5G Solaris Solaris x86 partition<br />
/dev/hda5 数据分区 Logical 12G FAT32 所有操作系统共享<br />
/dev/hda6 数据分区 Logical 12G FAT32 所有操作系统共享<br />
/dev/hda7 linux swap Logical 1G swap Linux swap,<br />
<br />
其中第四个主分区ID配成了0x82 (Solaris 分区), 大小为12G, 然后把自己下载的文件都先解成.iso文件并放在/dev/hda5分区下,这个分区在Windows下面是D盘.<br />
<br />
<br />
安装:<br />
笔者比较吝啬，一看要刻那么多盘，不干了。决定试试只刻第一张盘的方法。 刻好第一张盘，把BIOS设为光盘启动，然后从光盘启动。 非常顺利地看到了Solaris 的启动界面：<br />
SunOS Secondary Boot Version 4.02, 然后等待Initializing System... 选1。 Solaris Interactive, 继续等待. Configuring devices 那一步比较慢。<br />
<br />
经过几分钟的等待后就看到系统自己认识了我的Intel Pro/100 VE 网卡 iprb0， 接着又看到系统自己认识了我的显卡(Nvidia Gefore 4 420)、键盘和鼠标等， 非常高兴! <br />
要知道，在Solaris 9安装的时候，我可是费了好大的劲才配上显卡网卡的啊。(请参见<br />
http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?GXHC_JSESSIONID=-2089798192477626027&amp;GXHC_jive.user.lastvisited=1107746952510&amp;forum=14&amp;thread=6681)<br />
<br />
接着就开始配置了。 我选的是用简体中文安装，接下来配置网络、地域、时间、Root口令等，非常简单，这里我就不多说了。接下来我选择软件自动重新引导和自动弹出CD, <br />
第一张盘安装的介质我选择了CD, 后面的几张盘我都是选择了网络文件系统。 接收License Agreement后选择了初始安装、自定义安装， 选择了所有的中文的软件包并且把默认语言环境设为中文的GB18030, 没有选择任何附加产品，然后选择整个群组/缺省包， 选择磁盘上的Solaris分区，选择不保留数据，在分布文件系统时，因为是个人机器, 我只配了/ 和swap 两个文件系统<br />
<br />
我的文件系统如下<br />
/ 10G<br />
swap 1.5G<br />
接着就开始安装了。<br />
<br />
当第一张盘安装结束后， 要注意在重启过程中取出第一张光盘，否则机器又会从光盘启动。当系统提示第二张光盘的位置时，我选择了网络文件系统(目的是节约几张光盘)。<br />
前面讲到，我的Solaris 10光盘ISO文件在/dev/hda5下面，也就是Windows下的D盘，是FAT32的文件系统。我的做法是，先打开一个Terminal，然后把这个FAT32的磁盘mount 到Solaris下，最后通过lofiadm/mount命令把ISO文件 mount到Solaris下面。做法如下：<br />
1. 把FAT32的光盘mount到Solaris下面：<br />
首先建立目的目录，我打算把/dev/hda5 mount到/wind, /dev/hda6 mount到/wine. 所以，运行# mkdir /wind #mkdir /wine. <br />
接着/dev/dsk, ls 看到c0d0p0到c0d0p4, 这里c0d0p2就对应前面分区表中的/dev/hda2了，也就是那个扩展分区，里面包含了两个FAT32的logical-drive /dev/hda5和/dev/hda6。<br />
在Solaris 里面用device-name和logical-drive分别对应主分区和逻辑分区。这里扩展分区的device-name是c0d0p2，/dev/hda5逻辑分区的logical-drive 可以用c 或者数字1来表示。 /dev/hda6的logical-drive是d 或者数字2。弄清楚了这些命令就简单了。<br />
#mount -F pcfs /dev/dsk/c0d0p2:c /wind<br />
#mount -F pcfs /dev/dsk/c0d0p2:d /wine<br />
当然，要记住在/etc/vfstab里面加入下面两行，以便系统重新启动时能把FAT32的分区自动mount上<br />
/dev/dsk/c0d0p2:c /dev/rdsk/c0d0p2:c /wind pcfs 2 yes -<br />
/dev/dsk/c0d0p2:d /dev/rdsk/c0d0p2:d /wine pcfs 3 yes -<br />
<br />
参考文档：<br />
System Administration Guide: Devices and File Systems (http://docs.sun.com/app/docs/doc/817-5093)<br />
ch. 18. Mounting and Unmounting File Systems, Page 306, x86: How to Mount a PCFS (DOS) File System From a Hard Disk<br />
<br />
2. 用lofiadm/mount命令做虚拟光驱<br />
在Windows上有很多虚拟光驱程序，如Daemon, Virtual CD等，可以把.iso文件虚拟成光驱。 在Solaris下，我们用lofiadm命令。方法如下: <br />
# lofiadm -a /wind/solaris10/sol-10-GA-x86-v2-iso.iso 把.iso文件export为块设备，参数-a 表示add, 这个命令的output是/dev/lofi/1。这样我们就可以把设备/dev/lofi/1 mount到文件系统了<br />
# mount -F hsfs -o ro /dev/lofi/1 /mnt 把/dev/lofi/1 mount到/mnt<br />
<br />
然后#cd /mnt, 看到mount成功后，里面有了光盘上的内容，再回到安装界面， 在路径里面输入/mnt， 然后就能顺利安装了。接下来要装第三张盘的时候，同样到Terminal去，<br />
# umount /mnt 用来unmount, 这个不用我多说了<br />
# lofiadm -d /dev/lofi/1 <br />
接着对照第二张盘的命令来安装第三、第四张盘和语言包。<br />
装完后，系统会提示重新启动。 重启后，有CDE和JDS3两种桌面可供选择，我选择进入Java Desktop System 3的界面。<br />
<br />
大功告成！ 整个过程花了我将近2.5小时的时间。其中觉得第四张盘耗的时间最长。另外觉得JDS 3的桌面很漂亮也很方便使用。<br />
<br />
<br />
基本配置：<br />
1. 1400x1050分辨率的设置<br />
我的笔记本分辨率是1400x1050的，而Solaris 10起来后默认使用的是1280x1024的，看起来有点模糊。查了一些文档，知道需要新建一个文件/etc/X11/xorg.conf。下面是我的/etc/X11/xorg.conf的内容。<br />
[/etc/X11/xorg.conf]<br />
<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "ServerFlags"<br />
Option "HandleSpecialKeys" "Always"<br />
EndSection<br />
<br />
Section "Files"<br />
RgbPath "/usr/X11R6/lib/X11/rgb"<br />
ModulePath "/usr/X11R6/lib/modules"<br />
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/Type1/sun/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/F3bitmaps/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/misc/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"<br />
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "dbe"<br />
Load "extmod"<br />
Load "record"<br />
Load "xtrap"<br />
Load "bitstream"<br />
Load "speedo"<br />
Load "type1"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "keyboard"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/mouse"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse1"<br />
Driver "mouse"<br />
Option "Protocol" "IMPS/2"<br />
Option "Device" "/dev/kdmouse"<br />
Option "SendCoreEvents"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
HorizSync 28.0-70.0<br />
VertRefresh 55.0-100.0<br />
DisplaySize 288 216<br />
EndSection<br />
<br />
Section "Device"<br />
### Available Driver options are:-<br />
### Values: &lt;i&gt;: integer, &lt;f&gt;: float, &lt;bool&gt;: "True"/"False",<br />
### &lt;string&gt;: "String", &lt;freq&gt;: "&lt;f&gt; Hz/kHz/MHz"<br />
### [arg]: arg optional<br />
#Option "SWcursor" # [&lt;bool&gt;]<br />
#Option "HWcursor" # [&lt;bool&gt;]<br />
#Option "NoAccel" # [&lt;bool&gt;]<br />
#Option "ShadowFB" # [&lt;bool&gt;]<br />
#Option "UseFBDev" # [&lt;bool&gt;]<br />
#Option "Rotate" # [&lt;str&gt;]<br />
#Option "VideoKey" # &lt;i&gt;<br />
Option "FlatPanel" # [&lt;bool&gt;]<br />
#Option "FPDither" # [&lt;bool&gt;]<br />
#Option "CrtcNumber" # &lt;i&gt;<br />
Option "MergedFB" "true" # [&lt;bool&gt;]<br />
Option "CRT2HSync" "31-60" # [&lt;str&gt;]<br />
Option "CRT2VRefresh" "50-75" # [&lt;str&gt;]<br />
Option "CRT2Position" "Clone" # [&lt;str&gt;]<br />
Option "MeataModes" "1400x1050-1024x768 1280x1024-1024x768 1024x768-1024x768 800x600-800x600 640x480-640x480"<br />
Identifier "Card0"<br />
Driver "nv"<br />
VendorName "nVidia Corporation"<br />
BoardName "NV17 [GeForce4 420 Go]"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
Modes "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"<br />
EndSubSection<br />
EndSection<br />
<br />
<br />
[End of /etc/X11/xorg.conf]<br />
<br />
注意，我加入了<br />
Section "ServerFlags"<br />
Option "HandleSpecialKeys" "Always"<br />
EndSection<br />
这样在Xorg的XServer 碰到问题时，我就可以按"Alt + Ctrl + BkSp" 重新启动xserver了，非常方便。<br />
另外我还根据我的实际情况到启动-&gt;首选项-&gt;桌面首先项-&gt;显示下面更改了很多东西，这里我就不一一描述了。其中比较重要的一个是为了把字体改大，我选择了字体-&gt;细节-&gt;分辨率，把每英寸点数从96改为120，解决了1400x1050分辨率下字很小的问题。<br />
<br />
2. DHCP Client配置<br />
我公司里用的是DHCP，但问题是DHCP Server给我分配的主机名老是dhcp-12什么的，而且会变动，对于装JES什么的特别不方便。于是我修改了<br />
/etc/default/dhcpagent，把最后一行从PARAM_REQUEST_LIST=1,3,6,12,15,28,43 改为PARAM_REQUEST_LIST=1,3,6,15,28,43。<br />
去掉了选项hostname(12)。这个大家可以看注释。 另外就是加入新文件/etc/nodename, 里面的内容是自己喜欢的主机名。我用的是lap1。<br />
<br />
3. 默认权限的配置<br />
系统默认是采用安全的方案，但我的机器上面没有什么非常重要的数据，而且经常需要用root用户进行ssh,telnet,ftp等，而这些系统默认都不允许。<br />
没办法，手工改啦。<br />
ssh:<br />
/etc/ssh/sshd_config, 把PermitRootLogin改为yes。另外我曾经出现不能正常启动ssh service的情况。原因是没有在/etc/ssh下面自动生成<br />
ssh_host_rsa_key<br />
ssh_host_rsa_key.pub <br />
ssh_host_dsa_key<br />
ssh_host_dsa_key.pub<br />
等key文件， 最后我手工生成了这些文件，解决了这个问题：<br />
＃ ssh-keygen -b 1024 -t rsa1 -f /etc/ssh/ssh_host_key -N ""<br />
＃ ssh-keygen -b 1024 -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""<br />
＃ ssh-keygen -b 1024 -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""<br />
<br />
telnet:<br />
简单，修改文件/etc/default/login，把行CONSOLE=/dev/console注释掉，就可以用root用户telnet上来了<br />
ftp:<br />
只要修改/etc/ftpd/ftpusers， 把root用户注释掉就可以用root用户进行ftp了。<br />
<br />
4. 默认shell的配置。 <br />
系统默认使用的是/sbin/sh，但我喜欢使用更流行的bash, 于是修改/etc/passwd，把第一行从root:x:0:0:Super-User:/:/sbin/sh 改为root:x:0:0:Super-User:/:/bin/bash，重新登陆后发现默认shell成功更改。据说这个做法不是特别安全，但我还是喜欢这么做。<br />
<br />
5. 打印机的配置。 <br />
在Solaris 10的JDS桌面下安装打印机比较简单，只要通过启动-&gt;首选项-&gt;系统首选项-&gt;添加/删除打印机就行了。在图形界面里选择打印机-&gt;新的附加打印机或者新的网络打印机，通过图形界面就可以很简单配好打印机。<br />
<br />
<span style="font-size: 8pt">本文转自:http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp</span>
<img src ="http://www.blogjava.net/szhswl/aggbug/166321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/szhswl/" target="_blank">宋针还</a> 2007-12-08 19:16 <a href="http://www.blogjava.net/szhswl/articles/166321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Solaris10中新的Dtrace工具</title><link>http://www.blogjava.net/szhswl/articles/165874.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Thu, 06 Dec 2007 11:55:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/165874.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/165874.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/165874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/165874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/165874.html</trackback:ping><description><![CDATA[<div>DTrace即动态跟踪Dynamic Tracing，是Solaris 10的一个新功能，透过此一新功能，用户能够动态检测操作系统内核和用户进程，以更精确地掌握系统的资源使用状况，提高系统性能，减少支持成本，并进行有效的调节。1997年，供职于Sun而现已是Solaris内核开发部高级工程师的Bryan Cantrill 与他的工作组在紧张地研究一个性能问题，它出现在刚刚提及的Sun E10000服务器。该服务器在运行基准测试时，速度突然在一段时间内奇怪地降低。工作组经过六天夜以继日的工作后，终于发现了问题的根本原因。某个&#8220;愚蠢之极&#8221;的配置错误将服务器配置成了路由器。<br />
<br />
&#8220;我很受震惊，&#8221;Cantrill 说到， &#8220;这是任何一个客户都可能遇到的问题，但是他们可不敢奢望让内核开发人员为之夜以继日地工作，编写自定义代码以弄清楚问题。我们得找出一个更好的方法。&#8221;&nbsp; <br />
经过两年半的紧张开发，Cantrill和他的工作组终于研究出了这个更好的方法： Dtrace <br />
DTrace是过去十年中在操作系统方面最具意义的革新之一:<br />
Probe，Solaris中分散着30,000多的位置指针，也叫探测器probes，DTrace可激活成千上万的探测器，记录所关注的位置指定的数据，如命中，即可从该地址显示用户进程或系统内核的数据，从而了解系统，包括：<br />
1。任何函数的参数 <br />
2。内核的任何全局变量 <br />
3。函数调用的时间（NS，十亿分之一秒，无任何其它PC/Unix在ns一级精度） <br />
4。跟踪堆栈，包括指明函数调用的代码 <br />
5。函数调用时运行的进程 <br />
6。产生函数调用的线程 <br />
Probe于自定义D语言程序相关联，probe表示的格式为： <br />
provider:module:function:name <br />
1。显示当前动态系统中的动态Dtrace探针probe: <br />
# dtrace -l |more <br />
&nbsp;&nbsp; ID&nbsp;&nbsp; PROVIDER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MODULE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNCTION NAME <br />
&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; dtrace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BEGIN <br />
&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; dtrace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END <br />
&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; dtrace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ERROR <br />
&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; vminfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fasttrap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fasttrap_uwrite softlock <br />
&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp; vminfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fasttrap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fasttrap_uread softlock <br />
&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_open entry <br />
&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_open return <br />
&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_close entry <br />
&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_close return <br />
&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_ioctl entry <br />
&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_ioctl return <br />
&nbsp;&nbsp; 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_info entry <br />
&nbsp;&nbsp; 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pool_info return <br />
。。。 <br />
43545&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z_strerror return <br />
43546&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z_uncompress entry <br />
43547&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fbt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zmod&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z_uncompress return <br />
即当前本人V210上有43547个probe。 <br />
2。体验 dtrace 与 Unix ps 命令： <br />
如用ps看mozilla进程： <br />
# ps -e |grep mozilla <br />
&nbsp; 2386 pts/11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00 mozilla <br />
&nbsp; 2436 pts/11&nbsp;&nbsp;&nbsp;&nbsp; 10:12 mozilla- <br />
也可使用dtrace 通过probe探针看： <br />
# dtrace -n 'syscall::exece:return { trace(execname);}' <br />
dtrace: description 'syscall::exece:return ' matched 1 probe <br />
CPU&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNCTION:NAME <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; uname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; uname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; basename&nbsp;&nbsp; <br />
。。。 <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; sed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; mozilla-bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 1&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; csh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 1&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; mozilla&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
。。。 <br />
2。实际dtrace看的更细， <br />
如用date显示系统时间，很快就结束了，无法跟踪，体验dtrace跟踪效果： <br />
% date <br />
2005年05月24日 星期二 20时39分03秒 CST <br />
# dtrace -n 'syscall::exece: {trace(timestamp)}' <br />
ddtrace: description 'syscall::exece: ' matched 2 probes <br />
CPU&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNCTION:NAME <br />
&nbsp; 0&nbsp; 11081&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:entry&nbsp;&nbsp; 102890531281542 <br />
&nbsp; 0&nbsp; 11082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exece:return&nbsp;&nbsp; 102890532181875 <br />
即可跟踪其在第102890531281542纳秒开始读取，第102890532181875返回结果。 <br />
3。体验Dtrace 对系统调用更多的观察： <br />
如看机器忙闲状态，常用vmstat: <br />
# vmstat 1 <br />
&nbsp;kthr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; faults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cpu <br />
&nbsp;r b w&nbsp;&nbsp; swap&nbsp; free&nbsp; re&nbsp; mf pi po fr de sr s0 s3 s1 s1&nbsp;&nbsp; in&nbsp;&nbsp; sy&nbsp;&nbsp; cs us sy id <br />
&nbsp;0 0 0 5523680 1378352 14 48 84 1&nbsp; 0&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 341 2058&nbsp; 883&nbsp; 3&nbsp; 1 96 <br />
&nbsp;0 0 0 5368296 1218688 0 23 15&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 336 2605&nbsp; 722 10&nbsp; 1 89 <br />
&nbsp; <br />
得知产生2605多系统调用，但无和简单查找哪个进程的问题呢，试用dtrace看： <br />
# dtrace -n 'syscall::read:entry <a href="mailto:{@NUM[execname">{@NUM[execname</a>] = count();}' <br />
ddtrace: description 'syscall::read:entry ' matched 1 probe <br />
^C<br />
&nbsp;&nbsp;dtfile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 <br />
&nbsp; sdtperfmeter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 <br />
&nbsp; soffice.bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23 <br />
&nbsp; dic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23 <br />
&nbsp; dtterm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 53 <br />
&nbsp; mozilla-bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 394 <br />
&nbsp; Xsun&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 545 <br />
显然发现CDE和Mozilla是产生大量系统调用的程序，看I/O分布也可： <br />
如还是Mozilla: <br />
# dtrace -n 'syscall::write:entry <a href="mailto:{@NUM[execname">{@NUM[execname</a>] = quantize(arg2);}' <br />
...&nbsp;<br />
&nbsp; mozilla-bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value&nbsp; ------------- Distribution ------------- count&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 |@@@@@@@@@@@@@@@@@@@@@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 470&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 128 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 256 |@@@@@@@@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 184&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 |@@@@@@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 146&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 |@@@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2048 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8192 |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; <br />
... <br />
可观察到大量Mozilla产生的I/O在256-512字节间。 <br />
4。 想再仔细看程序内部情况？ <br />
truss不错： <br />
# truss /usr/sfw/bin/mozilla <br />
execve("/usr/bin/ksh", 0xFFBFF564, 0xFFBFF574)&nbsp; argc = 3 <br />
resolvepath("/usr/bin/ksh", "/usr/bin/ksh", 1023) = 12 <br />
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12 <br />
stat("/usr/bin/ksh", 0xFFBFF340)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0 <br />
open("/var/ld/ld.config", O_RDONLY)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Err#2 ENOENT <br />
stat("/lib/libc.so.1", 0xFFBFEE70)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0 <br />
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14 <br />
open("/lib/libc.so.1", O_RDONLY)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3 <br />
mmap(0x00010000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 。。。 <br />
试下dtrace: <br />
# dtrace -n 'syscall::read:return /execname =="mozilla" /{ ustack();}' <br />
dtrace: description 'syscall::read:return ' matched 1 probe <br />
CPU&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNCTION:NAME <br />
&nbsp; 0&nbsp; 10984&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read:return&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libc.so.1`_read+0x8 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`io_readbuff+0x264 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`0x245e4 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`io_readc+0x2c <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`0x29c54 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`main+0xa30 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`_start+0x108 <br />
&nbsp; 0&nbsp; 10984&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read:return&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libc.so.1`_read+0x8 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`io_readbuff+0x264 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`0x245e4 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`io_readc+0x2c <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`0x28938 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ksh`0x28654 <br />
... <br />
看到n多调用，开始和返回，够开发人员分析的。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;总结，Dtrace功能强大，精度高，轻量，truss有时降低系统30％CPU利用率。但复杂，需对系统内核和应用熟悉，否则看不懂跟踪到的数据，估计以后CU该开Dtrace编程板块了。</div>
<img src ="http://www.blogjava.net/szhswl/aggbug/165874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/szhswl/" target="_blank">宋针还</a> 2007-12-06 19:55 <a href="http://www.blogjava.net/szhswl/articles/165874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOLARIS10一些设置</title><link>http://www.blogjava.net/szhswl/articles/165870.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Thu, 06 Dec 2007 11:49:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/165870.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/165870.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/165870.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/165870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/165870.html</trackback:ping><description><![CDATA[1，进入控制台<br />
Sun Microsystems Inc.&nbsp;&nbsp; SunOS 5.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Generic January 2005<br />
You have new mail.<br />
# /usr/X11/bin/xorgconfig<br />
<br />
2，显示：<br />
This program will create a basic xorg.conf file, based on menu selections<br />
you make.&nbsp; This program will ask for a pathname when it is ready to write<br />
the file.<br />
<br />
The xorg.conf file usually resides in /etc/X11.&nbsp; If no xorg.conf file<br />
is present there, Xorg will probe the system to autoconfigure itself.<br />
You can run Xorg -configure to generate a xorg.conf file based on<br />
the results of autoconfiguration, or let this program produce a base<br />
xorg.conf file for your configuration and fine-tune it.<br />
<br />
Before continuing with this program, make sure you know what video card<br />
you have, and preferably also the chipset it uses and the amount of video<br />
memory on your video card, as well as the specifications of your monitor.<br />
<br />
Press enter to continue, or ctrl-c to abort.<br />
<br />
3，我们ENTER<br />
First specify a mouse protocol type. Choose one from the following list:<br />
<br />
&nbsp;1.&nbsp; Auto<br />
&nbsp;2.&nbsp; VUID<br />
&nbsp;3.&nbsp; SysMouse<br />
&nbsp;4.&nbsp; MouseSystems<br />
&nbsp;5.&nbsp; PS/2<br />
&nbsp;6.&nbsp; Microsoft<br />
&nbsp;7.&nbsp; Busmouse<br />
&nbsp;8.&nbsp; IMPS/2<br />
&nbsp;9.&nbsp; ExplorerPS/2<br />
10.&nbsp; GlidePointPS/2<br />
11.&nbsp; MouseManPlusPS/2<br />
12.&nbsp; NetMousePS/2<br />
13.&nbsp; NetScrollPS/2<br />
14.&nbsp; ThinkingMousePS/2<br />
<br />
The recommended protocol is Auto. If you have a very old mouse<br />
or don't want OS support or auto detection, and you have a two-button<br />
or three-button serial mouse, it is most likely of type Microsoft.<br />
<br />
Enter a protocol number: <br />
<br />
4，选择鼠标的种类，这里我们选5，PS2<br />
<br />
If your mouse has only two buttons, it is recommended that you enable<br />
Emulate3Buttons.<br />
<br />
Please answer the following question with either 'y' or 'n'.<br />
Do you want to enable Emulate3Buttons? <br />
<br />
5，要不要用鼠标的第三个键，废话当然用<br />
<br />
Now give the full device name that the mouse is connected to, for example<br />
/dev/tty00. Just pressing enter will use the default, /dev/kdmouse.<br />
<br />
Mouse device: <br />
<br />
6，鼠标的设备名，用默认的。<br />
<br />
Please select one of the following keyboard types that is the better<br />
description of your keyboard. If nothing really matches,<br />
choose 1 (Generic 101-key PC)<br />
<br />
&nbsp; 1&nbsp; Sun Type 6 USB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Sun Type 6 USB (European layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Sun Type 6 USB (Japanese layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Sun Type 6 USB (Unix layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Generic 101-key PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 6&nbsp; Generic 102-key (Intl) PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 7&nbsp; Generic 104-key PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 8&nbsp; Generic 105-key (Intl) PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 9&nbsp; Sun Type 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;10&nbsp; Sun Type 4 (Canadian layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;11&nbsp; Sun Type 4 (Japanese layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;12&nbsp; Sun Type 4 (European layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;13&nbsp; Sun Type 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;14&nbsp; Sun Type 5 (European layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;15&nbsp; Sun Type 5 (Japanese layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;16&nbsp; Sun Type 5 (Unix layout)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Enter a number to choose the keyboard.<br />
<br />
7，选择键盘的类型，现在没烂键盘了吧。选7<br />
<br />
&nbsp; 1&nbsp; U.S. English&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; U.S. English w/ ISO9995-3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; U.S. English w/ deadkeys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Albanian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Arabic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 6&nbsp; Armenian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 7&nbsp; Azerbaijani&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 8&nbsp; Belarusian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 9&nbsp; Belgian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;10&nbsp; Bengali&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;11&nbsp; Bosnian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;12&nbsp; Brazilian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;13&nbsp; Bulgarian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;14&nbsp; Burmese&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;15&nbsp; Canadian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;16&nbsp; French Canadian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;17&nbsp; Croatian&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;18&nbsp; Croatian (US)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Enter a number to choose the country.<br />
Press enter for the next page<br />
<br />
8，语言用第一个，US<br />
<br />
Please enter a variant name for 'us' layout. Or just press enter<br />
for default variant<br />
<br />
9，回车用默认的 。<br />
<br />
Please answer the following question with either 'y' or 'n'.<br />
Do you want to select additional XKB options (group switcher,<br />
group indicator, etc.)? <br />
<br />
10，接下来是功能健的设置。我们选Y进去看看<br />
<br />
&nbsp; 1&nbsp; Right Alt key switches group while pressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Left Alt key switches group while pressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Left Win-key switches group while pressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Right Win-key switches group while pressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Both Win-keys switch group while pressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 6&nbsp; Right Alt key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 7&nbsp; Left Alt key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 8&nbsp; Caps Lock key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 9&nbsp; Shift+CapsLock changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;10&nbsp; Both Shift keys together change group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;11&nbsp; Both Alt keys together change group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;12&nbsp; Both Ctrl keys together change group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;13&nbsp; Control+Shift changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;14&nbsp; Alt+Control changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;15&nbsp; Alt+Shift changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;16&nbsp; Menu key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;17&nbsp; Left Win-key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;18&nbsp; Right Win-key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;19&nbsp; Left Shift key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;20&nbsp; Right Shift key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;21&nbsp; Left Ctrl key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;22&nbsp; Right Ctrl key changes group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Please select the option or just press enter if none<br />
<br />
11，根据自己的喜好随意设置吧，不过应该没人会动吧<br />
<br />
&nbsp;&nbsp; Third level choosers<br />
<br />
&nbsp; 1&nbsp; Press Right Control to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Press Left Alt key to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Press Right Alt key to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Press any of Alt keys to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Press Menu key to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 6&nbsp; Press any of Win-keys to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 7&nbsp; Press Left Win-key to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 8&nbsp; Press Right Win-key to choose 3rd level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Please select the option or just press enter if none<br />
<br />
12，默认回车<br />
<br />
&nbsp;&nbsp; Control Key Position<br />
<br />
&nbsp; 1&nbsp; Make CapsLock an additional Control&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Swap Control and Caps Lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Control key at left of 'A'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Control key at bottom left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Right Control key works as Right Alt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Please select the option or just press enter if none<br />
<br />
13，随意<br />
<br />
&nbsp;&nbsp; Use keyboard LED to show alternative group<br />
<br />
&nbsp; 1&nbsp; Num_Lock LED shows alternative group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Caps_Lock LED shows alternative group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Scroll_Lock LED shows alternative group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Please select the option or just press enter if none<br />
<br />
14，三个LED灯的设置<br />
<br />
&nbsp;&nbsp; CapsLock key behavior<br />
<br />
&nbsp; 1&nbsp; uses internal capitalization. Shift cancels Caps. <br />
&nbsp; 2&nbsp; uses internal capitalization. Shift doesn't cancel Caps.<br />
&nbsp; 3&nbsp; acts as Shift with locking. Shift cancels Caps.&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; acts as Shift with locking. Shift doesn't cancel Caps.<br />
<br />
Please select the option or just press enter if none<br />
<br />
15，大写字母锁定键指示灯的设置<br />
<br />
&nbsp;&nbsp; Alt/Win key behavior<br />
<br />
&nbsp; 1&nbsp; Add the standard behavior to Menu key.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; Alt and Meta on the Alt keys (default).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; Meta is mapped to the Win-keys.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; Meta is mapped to the left Win-key.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; Super is mapped to the Win-keys (default).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 6&nbsp; Hyper is mapped to the Win-keys.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 7&nbsp; Right Alt is Compose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 8&nbsp; Right Win-key is Compose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 9&nbsp; Menu is Compose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;10&nbsp; Kana Lock key is locking&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;11&nbsp; Shift with numpad keys works as in MS Windows.&nbsp;&nbsp;&nbsp; <br />
&nbsp;12&nbsp; Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server.<br />
<br />
Please select the option or just press enter if none<br />
<br />
16，ALT+WIN键的设置。<br />
<br />
Now we want to set the specifications of the monitor. The two critical<br />
parameters are the vertical refresh rate, which is the rate at which the<br />
the whole screen is refreshed, and most importantly the horizontal sync rate,<br />
which is the rate at which scanlines are displayed.<br />
<br />
The valid range for horizontal sync and vertical sync should be documented<br />
in the manual of your monitor. If in doubt, check the monitor database<br />
/usr/X11/share/doc/Monitors to see if your monitor is there.<br />
<br />
Press enter to continue, or ctrl-c to abort.<br />
<br />
17，检查显卡的数据库，回车<br />
<br />
You must indicate the horizontal sync range of your monitor. You can either<br />
select one of the predefined ranges below that correspond to industry-<br />
standard monitor types, or give a specific range.<br />
<br />
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal<br />
sync range that is beyond the capabilities of your monitor. If in doubt,<br />
choose a conservative setting.<br />
<br />
&nbsp;&nbsp;&nbsp; hsync in kHz; monitor type with characteristic modes<br />
&nbsp;1&nbsp; 31.5; Standard VGA, 640x480 @ 60 Hz<br />
&nbsp;2&nbsp; 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz<br />
&nbsp;3&nbsp; 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)<br />
&nbsp;4&nbsp; 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz<br />
&nbsp;5&nbsp; 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz<br />
&nbsp;6&nbsp; 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz<br />
&nbsp;7&nbsp; 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz<br />
&nbsp;8&nbsp; 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz<br />
&nbsp;9&nbsp; 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz<br />
10&nbsp; 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz<br />
11&nbsp; Enter your own horizontal sync range<br />
<br />
Enter your choice (1-11): <br />
<br />
18，我选7，文献也是这样选的<br />
<br />
You must indicate the vertical sync range of your monitor. You can either<br />
select one of the predefined ranges below that correspond to industry-<br />
standard monitor types, or give a specific range. For interlaced modes,<br />
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).<br />
<br />
&nbsp;1&nbsp; 50-70<br />
&nbsp;2&nbsp; 50-90<br />
&nbsp;3&nbsp; 50-100<br />
&nbsp;4&nbsp; 40-150<br />
&nbsp;5&nbsp; Enter your own vertical sync range<br />
<br />
Enter your choice: <br />
<br />
19，选2<br />
<br />
You must now enter a few identification/description strings, namely an<br />
identifier, a vendor name, and a model name. Just pressing enter will fill<br />
in default names.<br />
<br />
The strings are free-form, spaces are allowed.<br />
Enter an identifier for your monitor definition: <br />
<br />
20，用默认的吧<br />
<br />
Now we must configure video card specific settings. At this point you can<br />
choose to make a selection out of a database of video card definitions.<br />
Because there can be variation in Ramdacs and clock generators even<br />
between cards of the same model, it is not sensible to blindly copy<br />
the settings (e.g. a Device section). For this reason, after you make a<br />
selection, you will still be asked about the components of the card, with<br />
the settings from the chosen database entry presented as a strong hint.<br />
<br />
The database entries include information about the chipset, what driver to<br />
run, the Ramdac and ClockChip, and comments that will be included in the<br />
Device section. However, a lot of definitions only hint about what driver<br />
to run (based on the chipset the card uses) and are untested.<br />
<br />
If you can't find your card in the database, there's nothing to worry about.<br />
You should only choose a database entry that is exactly the same model as<br />
your card; choosing one that looks similar is just a bad idea (e.g. a<br />
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of<br />
hardware as can be).<br />
<br />
Do you want to look at the card database? <br />
<br />
21，是否要看显卡的数据库？文献税这里键入Y和YES是不一样的结果，我看一样。。。<br />
<br />
&nbsp; 0&nbsp; * Generic VESA compatible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 1&nbsp; * Generic VGA compatible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 2&nbsp; * Unsupported VGA compatible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 3&nbsp; ** 3DLabs, TI (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [glint]&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 4&nbsp; ** 3Dfx (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [tdfx]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 5&nbsp; ** ATI (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ati]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 6&nbsp; ** ATI Radeon (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [radeon]&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 7&nbsp; ** ATI Rage 128 based (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [r128]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 8&nbsp; ** Alliance Pro Motion (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [apm]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp; 9&nbsp; ** Ark Logic (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ark]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;10&nbsp; ** Chips and Technologies (generic)&nbsp;&nbsp; [chips]&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;11&nbsp; ** Cirrus Logic (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [cirrus]&nbsp;&nbsp;&nbsp; -<br />
&nbsp;12&nbsp; ** Cyrix MediaGX (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [cyrix]&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;13&nbsp; ** DEC TGA (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [tga]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;14&nbsp; ** Intel i740 (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [i740]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;15&nbsp; ** Intel i810 (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [i810]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;16&nbsp; ** Linux framebuffer (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [fbdev]&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;17&nbsp; ** Matrox Graphics (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [mga]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
<br />
Enter a number to choose the corresponding card definition.<br />
Press enter for the next page, q to continue configuration.<br />
<br />
22，因为我在虚拟机里这页没有，回车下一页，如果是实体安装，就要选择相应的显卡<br />
<br />
&nbsp;18&nbsp; ** NVIDIA (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [nv]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;19&nbsp; ** NeoMagic (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [neomagic]&nbsp; -<br />
&nbsp;20&nbsp; ** Number Nine I128 (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [i128]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;21&nbsp; ** Rendition (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [rendition] -<br />
&nbsp;22&nbsp; ** S3 (not ViRGE or Savage) (generic) [s3]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;23&nbsp; ** S3 Savage (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [savage]&nbsp;&nbsp;&nbsp; -<br />
&nbsp;24&nbsp; ** S3 ViRGE (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [s3virge]&nbsp;&nbsp; -<br />
&nbsp;25&nbsp; ** SiS (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [sis]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;26&nbsp; ** Silicon Motion (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [siliconmotion]-<br />
&nbsp;27&nbsp; ** Trident (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [trident]&nbsp;&nbsp; -<br />
&nbsp;28&nbsp; ** Tseng Labs (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [tseng]&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;29&nbsp; ** VMWare guest OS (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [vmware]&nbsp;&nbsp;&nbsp; -<br />
&nbsp;30&nbsp; 2 the Max MAXColor S3 Trio64V+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -<br />
&nbsp;31&nbsp; 2-the-Max MAXColor 6000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ET6000<br />
&nbsp;32&nbsp; 3DLabs Oxygen GMX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PERMEDIA 2<br />
&nbsp;33&nbsp; 928Movie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S3 928<br />
&nbsp;34&nbsp; AGX (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AGX-014/15/16<br />
&nbsp;35&nbsp; ALG-5434(E)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CL-GD5434<br />
<br />
Enter a number to choose the corresponding card definition.<br />
Press enter for the next page, q to continue configuration.<br />
<br />
23，在虚拟机里，选29。<br />
<br />
Your selected card definition:<br />
<br />
Identifier: ** VMWare guest OS (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [vmware]<br />
Chipset:&nbsp;&nbsp;&nbsp; -<br />
Driver:&nbsp;&nbsp;&nbsp;&nbsp; vmware<br />
<br />
Press enter to continue, or ctrl-c to abort.<br />
<br />
24，确认<br />
<br />
Now you must give information about your video card. This will be used for<br />
the "Device" section of your video card in xorg.conf.<br />
<br />
It is probably a good idea to use the same approximate amount as that detected<br />
by the server you intend to use. If you encounter problems that are due to the<br />
used server not supporting the amount memory you have, specify the maximum<br />
amount supported by the server.<br />
<br />
How much video memory do you have on your video card:<br />
<br />
&nbsp;1&nbsp; 256K<br />
&nbsp;2&nbsp; 512K<br />
&nbsp;3&nbsp; 1024K<br />
&nbsp;4&nbsp; 2048K<br />
&nbsp;5&nbsp; 4096K<br />
&nbsp;6&nbsp; 8192K<br />
&nbsp;7&nbsp; 16384K<br />
&nbsp;8&nbsp; 32768K<br />
&nbsp;9&nbsp; 65536K<br />
10&nbsp; 131072K<br />
11&nbsp; 262144K<br />
12&nbsp; Other<br />
<br />
25，显存，文献上说用4M或8M都可以，我选8M<br />
<br />
You must now enter a few identification/description strings, namely an<br />
identifier, a vendor name, and a model name. Just pressing enter will fill<br />
in default names (possibly from a card definition).<br />
<br />
Your card definition is ** VMWare guest OS (generic)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [vmware].<br />
<br />
The strings are free-form, spaces are allowed.<br />
Enter an identifier for your video card definition:<br />
<br />
26，给你的显存写描述<br />
<br />
For each depth, a list of modes (resolutions) is defined. The default<br />
resolution that the server will start-up with will be the first listed<br />
mode that can be supported by the monitor and card.<br />
Currently it is set to:<br />
<br />
"1280x1024" "1024x768" "800x600" "640x480" for 8-bit<br />
"1280x1024" "1024x768" "800x600" "640x480" for 16-bit<br />
"1280x1024" "1024x768" "800x600" "640x480" for 24-bit<br />
<br />
Modes that cannot be supported due to monitor or clock constraints will<br />
be automatically skipped by the server.<br />
<br />
&nbsp;1&nbsp; Change the modes for 8-bit (256 colors)<br />
&nbsp;2&nbsp; Change the modes for 16-bit (32K/64K colors)<br />
&nbsp;3&nbsp; Change the modes for 24-bit (24-bit color)<br />
&nbsp;4&nbsp; The modes are OK, continue.<br />
<br />
Enter your choice: <br />
<br />
27，选择色深。文献是16位的，我也跟风。。。<br />
<br />
Select modes from the following list:<br />
<br />
&nbsp;1&nbsp; "640x400"<br />
&nbsp;2&nbsp; "640x480"<br />
&nbsp;3&nbsp; "800x600"<br />
&nbsp;4&nbsp; "1024x768"<br />
&nbsp;5&nbsp; "1280x1024"<br />
&nbsp;6&nbsp; "320x200"<br />
&nbsp;7&nbsp; "320x240"<br />
&nbsp;8&nbsp; "400x300"<br />
&nbsp;9&nbsp; "1152x864"<br />
&nbsp;a&nbsp; "1600x1200"<br />
&nbsp;b&nbsp; "1800x1400"<br />
&nbsp;c&nbsp; "512x384"<br />
&nbsp;d&nbsp; "1400x1050"<br />
<br />
Please type the digits corresponding to the modes that you want to select.<br />
For example, 432 selects "1024x768" "800x600" "640x480", with a<br />
default mode of 1024x768.<br />
<br />
Which modes? <br />
<br />
28，分辨率的设置，可以多选，我选5432<br />
<br />
You can have a virtual screen (desktop), which is screen area that is larger<br />
than the physical screen and which is panned by moving the mouse to the edge<br />
of the screen. If you don't want virtual desktop at a certain resolution,<br />
you cannot have modes listed that are larger. Each color depth can have a<br />
differently-sized virtual screen<br />
<br />
Please answer the following question with either 'y' or 'n'.<br />
Do you want a virtual screen that is larger than the physical screen?<br />
<br />
29，设置鼠标是否可以越过虚拟桌面，一般选N，但文献说选Y很好玩。。。。所以选Y <br />
<br />
For each depth, a list of modes (resolutions) is defined. The default<br />
resolution that the server will start-up with will be the first listed<br />
mode that can be supported by the monitor and card.<br />
Currently it is set to:<br />
<br />
"1280x1024" "1024x768" "800x600" "640x480" for 8-bit<br />
"1280x1024" "1024x768" "800x600" "640x480" for 16-bit<br />
"1280x1024" "1024x768" "800x600" "640x480" for 24-bit<br />
<br />
Modes that cannot be supported due to monitor or clock constraints will<br />
be automatically skipped by the server.<br />
<br />
&nbsp;1&nbsp; Change the modes for 8-bit (256 colors)<br />
&nbsp;2&nbsp; Change the modes for 16-bit (32K/64K colors)<br />
&nbsp;3&nbsp; Change the modes for 24-bit (24-bit color)<br />
&nbsp;4&nbsp; The modes are OK, continue.<br />
<br />
Enter your choice: <br />
<br />
30，又回到原来的地方了。选4确认模式。<br />
<br />
Please specify which color depth you want to use by default:<br />
<br />
&nbsp; 1&nbsp; 1 bit (monochrome)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 2&nbsp; 4 bits (16 colors)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 3&nbsp; 8 bits (256 colors)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 4&nbsp; 16 bits (65536 colors)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; 5&nbsp; 24 bits (16 million colors)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
Enter a number to choose the default depth.<br />
<br />
31，默认的色深。16位的，选4<br />
<br />
I am going to write the xorg.conf file now. Make sure you don't accidently<br />
overwrite a previously configured one.<br />
<br />
Shall I write it to /etc/X11/xorg.conf? <br />
<br />
32，是否要保存配置文件？那还用说！！<br />
<br />
File has been written. Take a look at it before starting an X server. Note that<br />
the xorg.conf file must be in one of the directories searched by the server<br />
(e.g. /etc/X11) in order to be used. Within the server press<br />
ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,<br />
alt and backspace simultaneously immediately exits the server (use if<br />
the monitor doesn't sync for a particular mode).<br />
<br />
For further configuration, refer to the xorg.conf(5) manual page.<br />
<br />
33，提示OK<br />
接下来sync;init 6重启<br />
<br />
好大的桌面啊～～～^o^<br />
<br />
<img id="ViewPicture.ascx_GalleryImage" style="border-right: black 2px solid; border-top: black 2px solid; border-left: black 2px solid; width: 514px; border-bottom: black 2px solid; height: 385px" alt="" src="file:///E:/资料/HTML/solaris%2010鼠标键盘显卡分辨率刷新率等等的设置（本文在solaris10下post）%20-%20风海迷沙的程序员生活%20-%20CSDNBlog.files/r_So26.jpg" />&nbsp;<img id="ViewPicture.ascx_GalleryImage" style="border-right: black 2px solid; border-top: black 2px solid; border-left: black 2px solid; width: 578px; border-bottom: black 2px solid; height: 453px" alt="" src="file:///E:/资料/HTML/solaris%2010鼠标键盘显卡分辨率刷新率等等的设置（本文在solaris10下post）%20-%20风海迷沙的程序员生活%20-%20CSDNBlog.files/r_So27.jpg" />
<p><br />
<br />
<br />
</p>
<br />
<br />
<p id="TBPingURL" style="font-size: 8pt">本文转自: http://tb.blog.csdn.net/TrackBack.aspx?PostId=616106</p>
<img src ="http://www.blogjava.net/szhswl/aggbug/165870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/szhswl/" target="_blank">宋针还</a> 2007-12-06 19:49 <a href="http://www.blogjava.net/szhswl/articles/165870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LINUX的VSFTP配置</title><link>http://www.blogjava.net/szhswl/articles/165850.html</link><dc:creator>宋针还</dc:creator><author>宋针还</author><pubDate>Thu, 06 Dec 2007 09:25:00 GMT</pubDate><guid>http://www.blogjava.net/szhswl/articles/165850.html</guid><wfw:comment>http://www.blogjava.net/szhswl/comments/165850.html</wfw:comment><comments>http://www.blogjava.net/szhswl/articles/165850.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/szhswl/comments/commentRss/165850.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/szhswl/services/trackbacks/165850.html</trackback:ping><description><![CDATA[以下文章介绍Liunx 环境下vsftpd的三种实现方法 <br />
<br />
一、前言 <br />
Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器，目前已经被许多大型站点所采用，如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Vsftpd的实现有三种方式 <br />
1、匿名用户形式：在默认安装的情况下，系统只提供匿名用户访问 <br />
2、本地用户形式：以/etc/passwd中的用户名为认证方式 <br />
3、虚拟用户形式：支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说，虚拟用户只是FTP服务器的专有用户，虚拟用户只能访问FTP服务器所提供的资源，这大大增强系统本身的安全性。相对于匿名用户而言，虚拟用户需要用户名和密码才能获取FTP服务器中的文件，增加了对用户和下载的可管理性。对于需要提供下载服务，但又不希望所有人都可以匿名下载；既需要对下载用户进行管理，又考虑到主机安全和管理方便的FTP站点来说，虚拟用户是一种极好的解决方案。 <br />
&nbsp; &nbsp;&nbsp;&nbsp;<br />
二、获取最新版的Vsftp程序 <br />
代码: <br />
# cd /home/xuchen <br />
# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序 <br />
# cd vsftpd-2.0.3<br />
三、三种方式的实现&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
1、匿名用户形式实现 <br />
# vi builddefs.h&nbsp;&nbsp;\编辑builddefs.h 文件，文件内容如下： <br />
<br />
#ifndef VSF_BUILDDEFS_H <br />
<br />
#define VSF_BUILDDEFS_H <br />
#undef VSF_BUILD_TCPWRAPPERS <br />
#define VSF_BUILD_PAM <br />
#undef VSF_BUILD_SSL <br />
<br />
#endif /* VSF_BUILDDEFS_H */ <br />
将以上undef的都改为define，支持tcp_wrappers，支持PAM认证方式，支持SSL <br />
<br />
# make&nbsp;&nbsp;//直接在vsftpd-2.0.3里用make编译 <br />
# ls -l vsftpd <br />
-rwxr-xr-x&nbsp;&nbsp;1 root root 86088 Jun&nbsp;&nbsp;6 12:29 vsftpd&nbsp;&nbsp;//可执行程序已被编译成功 <br />
<br />
创建必要的帐号，目录： <br />
# useradd nobody&nbsp;&nbsp;//可能你的系统已经存在此帐号，那就不用建立 <br />
# mkdir /usr/share/empty&nbsp;&nbsp;//可能你的系统已经存在此目录，那就不用建立 <br />
# mkdir /var/ftp&nbsp;&nbsp;//可能你的系统已经存在此目录，那就不用建立 <br />
# useradd -d /var/ftp ftp&nbsp;&nbsp;//可能你的系统已经存在此帐号，那就不用建立 <br />
# chown root:root /var/ftp <br />
# chmod og-w /var/ftp <br />
请记住，如果你不想让用户在本地登陆，那么你需要把他的登陆SHELL设置成/sbin/nologin，比如以上的nobody和ftp我就设置成/sbin/nologin <br />
<br />
安装vsftp配置文件，可执行程序，man等: <br />
# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano <br />
# install -m 644 vsftpd.8 /usr/share/man/man8 <br />
# install -m 644 vsftpd.conf.5 /usr/share/man/man5 <br />
# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf <br />
这样就安装完成了，那么我们开始进行简单的配置 <br />
<br />
# vi /etc/vsftpd-ano.conf ,将如下三行加入文件 <br />
listen=YES <br />
listen_port=21 <br />
tcp_wrappers=YES <br />
anon_root=/var/ftp //设置匿名用户本地目录，和ftp用户目录必须相同 <br />
listen=YES的意思是使用standalone启动vsftpd，而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式) <br />
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &amp;&nbsp;&nbsp;//以后台方式启动vsftpd <br />
注意：每行的值都不要有空格，否则启动时会出现错误，举个例子，假如我在listen=YES后多了个空格，那我启动时就出现如下错误： <br />
500 OOPS: bad bool value in config file for: listen <br />
<br />
测试搭建好的匿名用户方式 <br />
# ftp 127.0.0.1 <br />
Connected to 127.0.0.1. <br />
220 (vsFTPd 2.0.3) <br />
530 Please login with USER and PASS. <br />
530 Please login with USER and PASS. <br />
KERBEROS_V4 rejected as an authentication type <br />
Name (127.0.0.1:root): ftp <br />
331 Please specify the password. <br />
Password: <br />
230 Login successful. <br />
Remote system type is UNIX. <br />
Using binary mode to transfer files. <br />
ftp&gt; pwd <br />
257 "/" <br />
ftp&gt; quit <br />
221 Goodbye. <br />
# <br />
OK，已经完成了，very nice.<br />
<br />
高级配置 <br />
细心的朋友可能已经看出来我们只在默认配置文件增加了四行，就实现了FTP连接（也证明了vsftpd的易用性），那么让我们传个文件吧，呀！！传输失败了（见图1） <br />
为什么呢？因为 vsftpd 是为了安全需要，/var/ftp目录不能把所有的权限打开，所以我们这时要建一个目录pub，当然也还是需要继续修改配置文件的。 <br />
# mkdir /var/ftp/pub <br />
# chmod -R 777 /var/ftp/pub <br />
<br />
为了测试方便，我们先建立一个名为kill-ano的脚本，是为了杀掉FTP程序的 <br />
#!/bin/bash <br />
a=`/bin/ps -A | grep vsftpd-ano | awk '{print }'` <br />
kill -9 $a<br />
那么现在大家看看我的匿名服务器配置文件吧 <br />
anonymous_enable=YES&nbsp;&nbsp;//允许匿名访问，这是匿名服务器必须的 <br />
write_enable=YES&nbsp;&nbsp;//全局配置可写 <br />
no_anon_password=YES //匿名用户login时不询问口令 <br />
anon_umask=077&nbsp;&nbsp;//匿名用户上传的文件权限是-rw---- <br />
anon_upload_enable=YES&nbsp;&nbsp;//允许匿名用户上传文件 <br />
anon_mkdir_write_enable=YES&nbsp;&nbsp;//允许匿名用户建立目录 <br />
anon_other_write_enable=YES&nbsp;&nbsp;//允许匿名用户具有建立目录，上传之外的权限，如重命名，删除 <br />
dirmessage_enable=YES&nbsp;&nbsp;//当使用者转换目录,则会显示该目录下的.message信息 <br />
xferlog_enable=YES&nbsp; &nbsp;//记录使用者所有上传下载信息 <br />
xferlog_file=/var/log/vsftpd.log&nbsp;&nbsp;//将上传下载信息记录到/var/log/vsftpd.log中 <br />
xferlog_std_format=YES&nbsp; &nbsp;//日志使用标准xferlog格式 <br />
idle_session_timeout=600&nbsp;&nbsp;//客户端超过600S没有动作就自动被服务器踢出 <br />
data_connection_timeout=120&nbsp;&nbsp;//数据传输时超过120S没有动作被服务器踢出 <br />
chown_uploads=YES <br />
chown_username=daemon&nbsp;&nbsp;//上传文件的属主 <br />
ftpd_banner=Welcome to d-1701.com FTP service.&nbsp;&nbsp;//FTP欢迎信息 <br />
anon_max_rate=80000&nbsp;&nbsp;//这是匿名用户的下载速度为80KBytes/s <br />
check_shell=NO&nbsp;&nbsp;//不检测SHELL<br />
现在再测试，先kill掉再启动FTP程序 <br />
# ./kill-ano <br />
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &amp; <br />
上传一个文件测试一下，怎么样？OK了吧，下载刚上传的那个文件，恩？不行，提示 <br />
550 Failed to open file. <br />
传输已失败！ <br />
传输队列已完成 <br />
1 个文件传输失败 <br />
<br />
没有关系，你记得咱们设置了anon_umask=077了吗？所以你下载不了，如果你到服务器上touch 一个文件（644），测试一下，是可以被下载下来的，好了，匿名服务器就说到这里了。<br />
<br />
本地用户形式实现 <br />
# cd /home/xuchen/vsftpd-2.0.3&nbsp;&nbsp;//进入vsftpd-2.0.3的源代码目录 <br />
# make clean&nbsp;&nbsp;//清除编译环境 <br />
# vi builddefs.h&nbsp;&nbsp;\继续编辑builddefs.h 文件，文件内容如下： <br />
#ifndef VSF_BUILDDEFS_H <br />
<br />
#define VSF_BUILDDEFS_H <br />
#define VSF_BUILD_TCPWRAPPERS <br />
#define VSF_BUILD_PAM <br />
#define VSF_BUILD_SSL <br />
<br />
#endif /* VSF_BUILDDEFS_H */ <br />
将以上define VSF_BUILD_PAM行的define改为undef，支持tcp_wrappers，不支持PAM认证方式，支持SSL，记住啊，如果支持了PAM认证方式，你本地用户是不能登陆的。 <br />
<br />
# make&nbsp;&nbsp;//直接在vsftpd-2.0.3里用make编译 <br />
# ls -l vsftpd <br />
-rwxr-xr-x&nbsp;&nbsp;1 root root 84712 Jun&nbsp;&nbsp;6 18:56 vsftpd&nbsp;&nbsp;//可执行程序已被编译成功<br />
创建必要的帐号，目录： <br />
# useradd nobody&nbsp;&nbsp;//可能你的系统已经存在此帐号，那就不用建立 <br />
# mkdir /usr/share/empty&nbsp;&nbsp;//可能你的系统已经存在此目录，那就不用建立 <br />
# mkdir /var/ftp&nbsp;&nbsp;//可能你的系统已经存在此目录，那就不用建立 <br />
# useradd -d /var/ftp ftp&nbsp;&nbsp;//可能你的系统已经存在此帐号，那就不用建立 <br />
# chown root:root /var/ftp <br /