<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Solo Estoy &#187; Linux</title>
	<atom:link href="http://opslife.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://opslife.com</link>
	<description>人生不过是一场旷日持久却又无法rollback的operation而已</description>
	<lastBuildDate>Thu, 06 May 2010 02:36:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Debian Lenny安装nginx+PHP+MySQL傻瓜手记</title>
		<link>http://opslife.com/install-nginx-php-mysql-on-debian-lenny/</link>
		<comments>http://opslife.com/install-nginx-php-mysql-on-debian-lenny/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 08:05:06 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://opslife.com/install-nginx-php-mysql-on-debian-lenny/</guid>
		<description><![CDATA[<p>新搞了个VPS，打算把Blog以及全套行头迁移过来。</p>
<p>以前的那套图省事，用了CentOS5 Kloxo AllinOne BOX。基本上依靠这个CP搞定了全套，主要是人懒不想折腾而已。这次换了个新的VPS提供商，心血来潮想折腾Debian。所以把过程记录下来，避免以后不折腾了却忘记自己当初怎么搭。</p>
<p>总体思路还是采取懒汉办法，有官方源的从官方源安装，没官方源找第三方社区源，再没有的话自己做deb，无论如何，避免从源代码直接编译。</p>
<p>首先把最简单的MySQL装上，用官方源，一句话搞定：</p>
<p>apt-get install mysql-server</p>

<p>MySQL配置文件稍后再搞，对于小Blog来说MySQL的优化意义不大。</p>
<p>其次是nginx，说实话这东西不熟，不过貌似最近挺流行，Debian Lenny也将其收进官方源了，那就简单apt之</p>
<p>apt-get install nginx</p>

<p>简单netstat看一下发现80已经在监听了，访问http://&#60;IP&#62;发现出现欢迎页“Welcome to nginx!”，接下来就是怎么让PHP在nginx上跑起来。</p>
<p>很没技术含量不是，很不幸后面的也没啥技术含量。一破Blog日IP不过300折腾个什么劲啊，不就是一个玩儿么。</p>
<p>PHP稍微麻烦点，因为Nginx没有像Apache那样的SAPI调用PHP的方式，而是使用FastCGI来调。这里就存在一个对PHP的FastCGI进程如何管理的问题。官方源的php5-cgi本身没有进程管理机制。一个比较好的选择是用spawn-fcgi(源自lighttpd的小东东)来起PHP进程，结果查了一下spawn-fcgi到现在还在sid呆着。还有一个选择是使用php-fpm来做FastCGI进程管理，这东西的灵活性比spawn-fcgi还要高不少，但代价是要往PHP源代码里打Patch才能用，也就意味着&#8211;要重新编译整个PHP。</p>
<p>简单权衡了一下，我觉得我还是想用php-fpm，但是又想偷懒不编译源代码，于是就求助于第三方二进制源了。随便搜了一下发现还真有正合适的&#8211; http://www.dotdeb.org/，这个社区致力于维护Debian下的LAMP类软件的非官方二进制包，恰好它们近期重做了PHP，使用了PHP5.3.1版本，并集成入了Suhosin安全补丁。最让人舒服的是吧php-fpm做成了一个php5-fpm的安装包，并给其加了SysV类的启动脚本，这样PHP的FastCGI方式即可以有自己单独的conf文件，又有单独的init.d控制脚本，可谓完美。</p>
<p>无废话说干就干。</p>
<p>修改/etc/apt/source.list，加入dotdeb的源设置：</p>
<p>deb http://php53.dotdeb.org stable all      deb-src http://php53.dotdeb.org stable all</p>

<p>然后apt之：</p>
<p>apt-get update     apt-get install php5-cgi php5-fpm</p>

<p>这样PHP就算完事了，简单验证一下，运行如下命令，观察phpinfo()输出是否正常：</p>
<p>php-cgi –i</p>

<p>再保险点看一下PHP的FastCGI进程有没有跑起来，ps aux&#124;grep php，应该能看到有进程为”/usr/bin/php5-fpm &#8211;fpm-config /etc/php5/fpm/php5-fpm.conf”在跑。</p>
<p>剩下的事就是搞定nginx的配置文件把站点建好，并让其能调用后台的PHP。这个dotdeb社区源做的php5-fpm好心到都提供了一个nginx的example配置文件，放在/etc/php5/fpm/nginx-site-conf.sample，改改拿来用就好了。</p>
<p>我是将其复制到/etc/nginx/sites-enabled/opslife.com.conf，然后简单修改几个参数，改好的配置文件是这样：</p>
<p>#     # nginx-site-conf.sample:      # Php Site configuration for nginx [...]]]></description>
			<content:encoded><![CDATA[<p>新搞了个VPS，打算把Blog以及全套行头迁移过来。</p>
<p>以前的那套图省事，用了CentOS5 Kloxo AllinOne BOX。基本上依靠这个CP搞定了全套，主要是人懒不想折腾而已。这次换了个新的VPS提供商，心血来潮想折腾Debian。所以把过程记录下来，避免以后不折腾了却忘记自己当初怎么搭。</p>
<p>总体思路还是采取懒汉办法，有官方源的从官方源安装，没官方源找第三方社区源，再没有的话自己做deb，无论如何，避免从源代码直接编译。</p>
<p>首先把最简单的MySQL装上，用官方源，一句话搞定：</p>
<blockquote><p>apt-get install mysql-server</p>
</blockquote>
<p>MySQL配置文件稍后再搞，对于小Blog来说MySQL的优化意义不大。</p>
<p>其次是nginx，说实话这东西不熟，不过貌似最近挺流行，Debian Lenny也将其收进官方源了，那就简单apt之</p>
<blockquote><p>apt-get install nginx</p>
</blockquote>
<p>简单netstat看一下发现80已经在监听了，访问<a href="http://&lt;IP">http://&lt;IP</a>&gt;发现出现欢迎页“Welcome to nginx!”，接下来就是怎么让PHP在nginx上跑起来。</p>
<p>很没技术含量不是，很不幸后面的也没啥技术含量。一破Blog日IP不过300折腾个什么劲啊，不就是一个玩儿么。</p>
<p>PHP稍微麻烦点，因为Nginx没有像Apache那样的SAPI调用PHP的方式，而是使用FastCGI来调。这里就存在一个对PHP的FastCGI进程如何管理的问题。官方源的php5-cgi本身没有进程管理机制。一个比较好的选择是用spawn-fcgi(源自lighttpd的小东东)来起PHP进程，结果查了一下spawn-fcgi到现在还在sid呆着。还有一个选择是使用php-fpm来做FastCGI进程管理，这东西的灵活性比spawn-fcgi还要高不少，但代价是要往PHP源代码里打Patch才能用，也就意味着&#8211;要重新编译整个PHP。</p>
<p>简单权衡了一下，我觉得我还是想用php-fpm，但是又想偷懒不编译源代码，于是就求助于第三方二进制源了。随便搜了一下发现还真有正合适的&#8211; <a title="http://www.dotdeb.org/" href="http://www.dotdeb.org/">http://www.dotdeb.org/</a>，这个社区致力于维护Debian下的LAMP类软件的非官方二进制包，恰好它们近期重做了PHP，使用了PHP5.3.1版本，并集成入了<a href="http://www.suhosin.org/">Suhosin</a>安全补丁。最让人舒服的是吧php-fpm做成了一个php5-fpm的安装包，并给其加了SysV类的启动脚本，这样PHP的FastCGI方式即可以有自己单独的conf文件，又有单独的init.d控制脚本，可谓完美。</p>
<p>无废话说干就干。</p>
<p>修改/etc/apt/source.list，加入dotdeb的源设置：</p>
<blockquote><p>deb <a href="http://php53.dotdeb.org">http://php53.dotdeb.org</a> stable all      <br />deb-src <a href="http://php53.dotdeb.org">http://php53.dotdeb.org</a> stable all</p>
</blockquote>
<p>然后apt之：</p>
<blockquote><p>apt-get update     <br />apt-get install php5-cgi php5-fpm</p>
</blockquote>
<p>这样PHP就算完事了，简单验证一下，运行如下命令，观察phpinfo()输出是否正常：</p>
<blockquote><p>php-cgi –i</p>
</blockquote>
<p>再保险点看一下PHP的FastCGI进程有没有跑起来，ps aux|grep php，应该能看到有进程为”/usr/bin/php5-fpm &#8211;fpm-config /etc/php5/fpm/php5-fpm.conf”在跑。</p>
<p>剩下的事就是搞定nginx的配置文件把站点建好，并让其能调用后台的PHP。这个dotdeb社区源做的php5-fpm好心到都提供了一个nginx的example配置文件，放在/etc/php5/fpm/nginx-site-conf.sample，改改拿来用就好了。</p>
<p>我是将其复制到/etc/nginx/sites-enabled/opslife.com.conf，然后简单修改几个参数，改好的配置文件是这样：</p>
<blockquote><p>#     <br /># nginx-site-conf.sample:      <br /># Php Site configuration for nginx webserver      <br />#      <br /># 1. set server root /path/to/your/website;      <br /># 2. Rename this file. Copy it to /etc/nginx/sites-available, /etc/nginx/sites-enabled      <br />#&#160;&#160;&#160; or otherwise ensure that this file is included by the nginx.conf      <br /># 3. Restart nginx webserver, and php-fpm service.      <br /># </p>
<p>server { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; root&#160; /home/dawnh/opslife.com; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; server_name&#160;&#160;&#160;&#160; opslife.com www.opslife.com d9.opslife.com;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 80; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; access_log&#160; /var/log/nginx/opslife.com.access.log; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; location / {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; index&#160; index.html index.htm index.php;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; #error_page&#160; 404&#160; /404.html; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; # redirect server error pages to the static page /50x.html     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; #      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; error_page&#160;&#160; 500 502 503 504&#160; /50x.html;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; location = /50x.html {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; root&#160;&#160; /var/www/nginx-default;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; # pass the *.php scripts to php-fpm listening on tcp port 9000     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; #      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; location ~ \.php$ { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_pass&#160;&#160; 127.0.0.1:9000;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_index&#160; index.php; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; include fastcgi_params;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_param SERVER_NAME $http_host;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_ignore_client_abort on;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p>}</p>
</blockquote>
<p>这样站点配置就算是完成了，/etc/init.d/nginx restart重启后，新站点应该就会跑起来了，使用域名opslife.com、<a href="http://www.opslife.com">www.opslife.com</a>、 d9.opslife.com都应该访问到新建立的站点。</p>
<p>最后再验证一下，扔一个info.php放到/home/dawnh/opslife.com，内容就一句：</p>
<blockquote><p>&lt;?php phpinfo();?&gt;</p>
</blockquote>
<p>由于主域名还没指过来，先用子域名访问测试，直接访问<a href="http://d9.opslife.com/info.php">http://d9.opslife.com/info.php</a>，看到返回正确的phpinfo信息。到此最后一步也算顺利完成。</p>
<p>&#160;</p>
<p>剩下就是把wordpress的东西从老的VPS迁移过来了，依旧是没什么技术含量。有空再记录。</p>
<ul class="related_post"><li>2009/03/15 -- <a href="http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/" title="手记:VPS上安装Nginx+PHP+FastCGI+MySQL">手记:VPS上安装Nginx+PHP+FastCGI+MySQL</a> (3)</li><li>2009/05/12 -- <a href="http://opslife.com/different-way-of-blogging/" title="独立Blog的几种玩法">独立Blog的几种玩法</a> (5)</li><li>2008/10/30 -- <a href="http://opslife.com/blog%e8%bf%81%e7%a7%bb%e5%88%b0vps/" title="Blog迁移到VPS">Blog迁移到VPS</a> (8)</li><li>2008/10/17 -- <a href="http://opslife.com/buying-new-swvps/" title="新玩具&#8211;VPS入手">新玩具&#8211;VPS入手</a> (6)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2009/04/25 -- <a href="http://opslife.com/why-use-standalone-blog/" title="为什么需要独立Blog">为什么需要独立Blog</a> (9)</li><li>2009/02/26 -- <a href="http://opslife.com/my-blog-revolution/" title="革命啦，每年都来一回！">革命啦，每年都来一回！</a> (4)</li><li>2008/12/22 -- <a href="http://opslife.com/blog-speed-optimize/" title="Blog访问速度优化">Blog访问速度优化</a> (2)</li><li>2008/11/25 -- <a href="http://opslife.com/use-cacti-to-monitor-load-average/" title="抽空弄了个Cacti来画一下性能图表">抽空弄了个Cacti来画一下性能图表</a> (0)</li><li>2008/06/03 -- <a href="http://opslife.com/windows-live-write-new-technical-preview/" title="Windows Live Write new Technical Preview">Windows Live Write new Technical Preview</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/install-nginx-php-mysql-on-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>手记:VPS上安装Nginx+PHP+FastCGI+MySQL</title>
		<link>http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/</link>
		<comments>http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 12:19:57 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/</guid>
		<description><![CDATA[<p>安装这一套的目的是为了看看在VPS这种低内存配置的环境下Nginx跑Wordpress的表现，至于为什么选这么一套搭配的原因就不废话了。</p>
<p>为了避免复杂度就没有使用源代码方式安装，用源代码确实是能安装到最新的版本，但简单看了一下各个Changelog，基本上用发行版自带的二进制包也都没什么问题，还是一切从简吧。</p>
<p>目前这个VPS跑得是Fedora8，因为基本上Host provider就只有这么老的货色了。</p>
<p>首先按照惯例更新一下二进制包管理器数据库：</p>
<p>yum update</p>

<p>然后是安装Nginx，PHP，MySQL，能装的先一股脑装上再慢慢配：</p>
<p>yum install nginx</p>
<p>yum install php</p>
<p>yum install mysql mysql-server</p>

<p>还有要处理FastCGI调用这个环节，PHP的二进制包已经包含了FastCGI支持，因此要做的只不过是弄一个FastCGI的进程管理器而已，用脚本写个简单的wrapper就可以了，不过看了一下Nginx的Wiki发现竟然推荐使用Lighttpd附带的spawn-fcgi工具实现，难道两者除了竞争对手还是合作伙伴吗？既然人家这么写咱也就这么用了吧，好在Lighttpd的包也非常小，顺便装了算了</p>
<p>yum install lighttpd-fastcgi</p>

<p>然后是配置工作了，首先在Nginx上把站点跑起来，修改/etc/nginx/conf.d/virtual.conf，让它变成这样：</p>
<p>#      # A virtual host using mix of IP-, name-, and port-based configuration       # </p>
<p>#server {      #&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160; 8000;       #&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160; somename:8080; [...]]]></description>
			<content:encoded><![CDATA[<p>安装这一套的目的是为了看看在VPS这种低内存配置的环境下Nginx跑Wordpress的表现，至于为什么选这么一套搭配的原因就不废话了。</p>
<p>为了避免复杂度就没有使用源代码方式安装，用源代码确实是能安装到最新的版本，但简单看了一下各个Changelog，基本上用发行版自带的二进制包也都没什么问题，还是一切从简吧。</p>
<p>目前这个VPS跑得是Fedora8，因为基本上Host provider就只有这么老的货色了。</p>
<p>首先按照惯例更新一下二进制包管理器数据库：</p>
<blockquote><p>yum update</p>
</blockquote>
<p>然后是安装Nginx，PHP，MySQL，能装的先一股脑装上再慢慢配：</p>
<blockquote><p>yum install nginx</p>
<p>yum install php</p>
<p>yum install mysql mysql-server</p>
</blockquote>
<p>还有要处理FastCGI调用这个环节，PHP的二进制包已经包含了FastCGI支持，因此要做的只不过是弄一个FastCGI的进程管理器而已，用脚本写个简单的wrapper就可以了，不过看了一下Nginx的Wiki发现竟然推荐使用Lighttpd附带的spawn-fcgi工具实现，难道两者除了竞争对手还是合作伙伴吗？既然人家这么写咱也就这么用了吧，好在Lighttpd的包也非常小，顺便装了算了</p>
<blockquote><p>yum install lighttpd-fastcgi</p>
</blockquote>
<p>然后是配置工作了，首先在Nginx上把站点跑起来，修改/etc/nginx/conf.d/virtual.conf，让它变成这样：</p>
<blockquote><p>#      <br /># A virtual host using mix of IP-, name-, and port-based configuration       <br /># </p>
<p>#server {      <br />#&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160; 8000;       <br />#&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160; somename:8080;       <br />#&#160;&#160;&#160; server_name&#160; somename&#160; alias&#160; another.alias; </p>
<p>#&#160;&#160;&#160; location / {      <br />#&#160;&#160;&#160;&#160;&#160;&#160;&#160; root&#160;&#160; html;       <br />#&#160;&#160;&#160;&#160;&#160;&#160;&#160; index&#160; index.html index.htm;       <br />#&#160;&#160;&#160; }       <br />#} </p>
<p>server {      <br />&#160;&#160;&#160; listen&#160;&#160;&#160;&#160;&#160;&#160; 80;       <br />&#160;&#160;&#160; server_name&#160; vps.dawnh.net dawnh.net; </p>
<p>&#160;&#160;&#160; location / {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; root&#160;&#160; /www/dawnh.net;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; index&#160; index.html index.htm index.php;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; location ~ \.php$ {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /www/dawnh.net;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_pass&#160;&#160; 127.0.0.1:9000;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_index&#160; index.php;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fastcgi_param&#160; SCRIPT_FILENAME&#160; $document_root$fastcgi_script_name;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; include&#160;&#160;&#160;&#160;&#160;&#160;&#160; /etc/nginx/fastcgi_params;       <br />&#160;&#160;&#160; }       <br />}</p>
<p>&#160;</p>
</blockquote>
<p>运行/etc/init.d/nginx restart重起Nginx。</p>
<p>接下来是让PHP的FastCGI进程跑起来，有了spawn-fcgi就简单多了，一行命令即可：</p>
<blockquote><p>/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u nginx -g nginx -f /usr/bin/php-cgi</p>
</blockquote>
<p>没什么问题的话就会看到运行成功的提示。然后就可以把这行丢到自启动脚本里去了。</p>
<p>至此Web Server方面应该是可以跑起来了，写个phpinfo()的测试页丢到/www/dawnh.net/里去，然后通过浏览器访问测试，如果能看到phpinfo页面，说明配置成功。</p>
<ul class="related_post"><li>2009/12/28 -- <a href="http://opslife.com/install-nginx-php-mysql-on-debian-lenny/" title="Debian Lenny安装nginx+PHP+MySQL傻瓜手记">Debian Lenny安装nginx+PHP+MySQL傻瓜手记</a> (14)</li><li>2008/10/17 -- <a href="http://opslife.com/buying-new-swvps/" title="新玩具&#8211;VPS入手">新玩具&#8211;VPS入手</a> (6)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2009/05/12 -- <a href="http://opslife.com/different-way-of-blogging/" title="独立Blog的几种玩法">独立Blog的几种玩法</a> (5)</li><li>2008/11/25 -- <a href="http://opslife.com/use-cacti-to-monitor-load-average/" title="抽空弄了个Cacti来画一下性能图表">抽空弄了个Cacti来画一下性能图表</a> (0)</li><li>2008/10/30 -- <a href="http://opslife.com/blog%e8%bf%81%e7%a7%bb%e5%88%b0vps/" title="Blog迁移到VPS">Blog迁移到VPS</a> (8)</li><li>2007/10/18 -- <a href="http://opslife.com/mysql-proxy-learns-r-w-splitting/" title="MySQL Proxy应用:读写分离">MySQL Proxy应用:读写分离</a> (2)</li><li>2007/08/11 -- <a href="http://opslife.com/new-software-mysql-proxy/" title="发现新玩艺儿&#8212;-MySQL Proxy">发现新玩艺儿&#8212;-MySQL Proxy</a> (1)</li><li>2007/08/07 -- <a href="http://opslife.com/jeffr-comment-about-sd-and-cfs/" title="A comment abount SD, CFS Schedulers,from ULE&#8217;s author">A comment abount SD, CFS Schedulers,from ULE&#8217;s author</a> (15)</li><li>2007/06/21 -- <a href="http://opslife.com/ndsl%e4%b8%80%e5%a4%a9%e6%8a%8a%e7%8e%a9%e6%89%8b%e8%ae%b0/" title="NDSL一天把玩手记">NDSL一天把玩手记</a> (3)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>新玩具&#8211;VPS入手</title>
		<link>http://opslife.com/buying-new-swvps/</link>
		<comments>http://opslife.com/buying-new-swvps/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 03:24:47 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://dawnh.net/linux/332/buying-new-swvps/</guid>
		<description><![CDATA[<p>这两天Dreamhost的速度真的是越来越慢了。然后又风闻目前海外VPS Hosting的价格比以前低了不少，于是就想搞一个来玩玩。比较下来发现现在VPS Hosting的平均价格水平确实是低了很多了。大概是因为经济不景气？不过应该也有技术层面的原因吧，低于$20/Mo的VPS大多是使用OpenVZ或Xen这样的免费平台，而且大多是Unmanaged类型（也就是服务商除了硬件和网络外其它一概不做技术支持，只保证VPS能正常工作，具体使用方面都要客户自己动手）。不过这对于Linux熟手来说，反倒是更喜欢得方式。</p>
<p>简单拟定了一下自己的需求：价位是最重要的，网速其次，性能最末，因为基本上也就是用来承载自己这个越来越没人关注的Blog，再加上能作为一个24&#215;7待命的存储空间、Shell Terminal、Linux Lab，所以价格自然是越低越好，网速越快越好，性能基本靠自己手工来榨取。</p>
<p>另外关于性能，以我做过不算太长时间的VPS Hosting Provider经验来说，CPU资源基本不是大问题，关键问题在内存，现在的应用程序吃内存非常厉害，CPU变成瓶颈了顶多速度慢些，内存耗尽却经常来个OOM然后process被Kill掉，尤其是对于VPS应用，本身内存量就非常少，而且很多Provider还不给开Swap（开了也基本没效果，就是一个立即死和挣扎着死的问题而已），因此对应用的承载能力几乎就是由内存指标决定的。另外内存限制最好有一个较高的Burst，因为有些应用会有瞬时申请大块内存，但实际使用不到这么多内存的行为，而且此类程序还不少。恐怕是现在很多应用流行把软件做成类似CLR或JVM那样自己管理内存分配的原因。</p>
<p>基本上考察了知名的数家VPS Provider之后，敲定了SWVPS这家的LVPS-1 Plan，因为价格只有$9.95/Mo，却可以得到10G Disk/250G Traffic/400M Mem(600M Burst)，这样的指标对于我来说足够了，另外花了$2.5选了LA的Data Center，在这个DC的网络从国内连过去延迟基本在200ms左右，非常了不起的数据，当然部分也归功于上海电信离骨干网出口距离比较近。</p>
<p>SWVPS并不是最便宜的Provider，最便宜的应该是VPSLink，不过从网上找到的评论来看vpslink基本上没什么好评，问题在于对内存限制过死，最便宜的Link-1 Plan只有64M内存而且不设Burst，基本上这种配置系统能启动起来就基本跑满了，所以除非是真的买来耍的，还是不要考虑这个Provider。</p>
<p>回到SWVPS，这个Provider看起来不是个大公司，Support有限，不过还好订购流程基本都是自动完成，而且支持各种订购方式，于是就下单先买一个月玩玩。使用Paypal方式支付，基本没碰到什么问题，有意思的是这家在注册为会员后会要你提供一个电话号码，它们有一套自动的语音系统会拨给你提供一个Pin码来验证身份，也就是和验证码差不多的东西了。我在点完注册后几秒钟电话就响了，一个机械但是还不算难听的女声说了句大意是我们现在给你提供SWVPS的pin码之类的话，然后就报了4个数字，完了就自动挂线，把这4个数字写进去注册才算完事。想想为了个只有10刀的业务而打越洋电话，这公司成本也太高了点。</p>
<p>订单下完之后就是付款，Paypal支付基本上是立刻就到账了，不过貌似我的招行卡还没有收到Paypal的结算通知，按照以前的经验，是要等几天才会出现的。但至少SWVPS那边认为你已经付款了，订单变成Pending状态，然后就是漫长地等待，大约8个小时候VPS才正式开通，也可能我订购的时间不是美国上班时间导致的吧。</p>
<p>最后晒一下配置：</p>
<p> </p>
<p>对了忘了一点，这个VPS我选了Debian 4的OS template，是OpenVZ的实现，然后管理面板使用了HyperVM，都是开源并免费的东东，简单但强大。只有这种时候技术优势才能体现出生产力，这也是低价VPS为什么能生存并赚钱的原因，不过基本上国内是别想了，公司运营成本会远远高于技术优势带来的cost down。对于国内公司，能想到来减低成本的东西往往不是技术，而是类似三聚氰胺之类的东西，所以还是老老实实玩国外产品吧XD</p>
<p>先待个续，以后有空慢慢写VPS怎么搭建应用的文章，目前的计划是先装个Nginx+MySQL，把Blog跑起来玩玩。</p>
</p>
Technorati Tags: VPS
2009/12/28 -- Debian Lenny安装nginx+PHP+MySQL傻瓜手记 (14)2009/03/15 -- 手记:VPS上安装Nginx+PHP+FastCGI+MySQL (3)2009/05/12 -- 独立Blog的几种玩法 (5)2008/11/25 -- 抽空弄了个Cacti来画一下性能图表 (0)2008/10/30 -- Blog迁移到VPS (8)2007/10/10 -- 近期小结 (2)2007/08/07 -- A comment abount SD, CFS Schedulers,from ULE&#8217;s author (15)2007/06/21 -- NDSL一天把玩手记 (3)2007/03/27 -- 集成式式软件防火墙解决方案 [...]]]></description>
			<content:encoded><![CDATA[<p>这两天Dreamhost的速度真的是越来越慢了。然后又风闻目前海外VPS Hosting的价格比以前低了不少，于是就想搞一个来玩玩。比较下来发现现在VPS Hosting的平均价格水平确实是低了很多了。大概是因为经济不景气？不过应该也有技术层面的原因吧，低于$20/Mo的VPS大多是使用OpenVZ或Xen这样的免费平台，而且大多是Unmanaged类型（也就是服务商除了硬件和网络外其它一概不做技术支持，只保证VPS能正常工作，具体使用方面都要客户自己动手）。不过这对于Linux熟手来说，反倒是更喜欢得方式。</p>
<p>简单拟定了一下自己的需求：价位是最重要的，网速其次，性能最末，因为基本上也就是用来承载自己这个越来越没人关注的Blog，再加上能作为一个24&#215;7待命的存储空间、Shell Terminal、Linux Lab，所以价格自然是越低越好，网速越快越好，性能基本靠自己手工来榨取。</p>
<p>另外关于性能，以我做过不算太长时间的VPS Hosting Provider经验来说，CPU资源基本不是大问题，关键问题在内存，现在的应用程序吃内存非常厉害，CPU变成瓶颈了顶多速度慢些，内存耗尽却经常来个OOM然后process被Kill掉，尤其是对于VPS应用，本身内存量就非常少，而且很多Provider还不给开Swap（开了也基本没效果，就是一个立即死和挣扎着死的问题而已），因此对应用的承载能力几乎就是由内存指标决定的。另外内存限制最好有一个较高的Burst，因为有些应用会有瞬时申请大块内存，但实际使用不到这么多内存的行为，而且此类程序还不少。恐怕是现在很多应用流行把软件做成类似CLR或JVM那样自己管理内存分配的原因。</p>
<p>基本上考察了知名的数家VPS Provider之后，敲定了<a href="http://www.swvps.com/">SWVPS</a>这家的LVPS-1 Plan，因为价格只有$9.95/Mo，却可以得到10G Disk/250G Traffic/400M Mem(600M Burst)，这样的指标对于我来说足够了，另外花了$2.5选了LA的Data Center，在这个DC的网络从国内连过去延迟基本在200ms左右，非常了不起的数据，当然部分也归功于上海电信离骨干网出口距离比较近。</p>
<p>SWVPS并不是最便宜的Provider，最便宜的应该是<a href="http://vpslink.com/">VPSLink</a>，不过从网上找到的评论来看vpslink基本上没什么好评，问题在于对内存限制过死，最便宜的Link-1 Plan只有64M内存而且不设Burst，基本上这种配置系统能启动起来就基本跑满了，所以除非是真的买来耍的，还是不要考虑这个Provider。</p>
<p>回到SWVPS，这个Provider看起来不是个大公司，Support有限，不过还好订购流程基本都是自动完成，而且支持各种订购方式，于是就下单先买一个月玩玩。使用Paypal方式支付，基本没碰到什么问题，有意思的是这家在注册为会员后会要你提供一个电话号码，它们有一套自动的语音系统会拨给你提供一个Pin码来验证身份，也就是和验证码差不多的东西了。我在点完注册后几秒钟电话就响了，一个机械但是还不算难听的女声说了句大意是我们现在给你提供SWVPS的pin码之类的话，然后就报了4个数字，完了就自动挂线，把这4个数字写进去注册才算完事。想想为了个只有10刀的业务而打越洋电话，这公司成本也太高了点。</p>
<p>订单下完之后就是付款，Paypal支付基本上是立刻就到账了，不过貌似我的招行卡还没有收到Paypal的结算通知，按照以前的经验，是要等几天才会出现的。但至少SWVPS那边认为你已经付款了，订单变成Pending状态，然后就是漫长地等待，大约8个小时候VPS才正式开通，也可能我订购的时间不是美国上班时间导致的吧。</p>
<p>最后晒一下配置：</p>
<p><a href="http://dawnh.net/uploads/VPS_A066/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="image" src="http://dawnh.net/uploads/VPS_A066/image_thumb.png" width="197" border="0" /></a> </p>
<p>对了忘了一点，这个VPS我选了Debian 4的OS template，是<a href="http://openvz.org/ ">OpenVZ</a>的实现，然后管理面板使用了<a href="http://lxlabs.com/software/hypervm/">HyperVM</a>，都是开源并免费的东东，简单但强大。只有这种时候技术优势才能体现出生产力，这也是低价VPS为什么能生存并赚钱的原因，不过基本上国内是别想了，公司运营成本会远远高于技术优势带来的cost down。对于国内公司，能想到来减低成本的东西往往不是技术，而是类似三聚氰胺之类的东西，所以还是老老实实玩国外产品吧XD</p>
<p>先待个续，以后有空慢慢写VPS怎么搭建应用的文章，目前的计划是先装个<a href="http://nginx.net/">Nginx</a>+MySQL，把Blog跑起来玩玩。</p>
</p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0ed93203-c8b6-49e6-bdae-41c4b8109780" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/VPS" rel="tag">VPS</a></div>
<ul class="related_post"><li>2009/12/28 -- <a href="http://opslife.com/install-nginx-php-mysql-on-debian-lenny/" title="Debian Lenny安装nginx+PHP+MySQL傻瓜手记">Debian Lenny安装nginx+PHP+MySQL傻瓜手记</a> (14)</li><li>2009/03/15 -- <a href="http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/" title="手记:VPS上安装Nginx+PHP+FastCGI+MySQL">手记:VPS上安装Nginx+PHP+FastCGI+MySQL</a> (3)</li><li>2009/05/12 -- <a href="http://opslife.com/different-way-of-blogging/" title="独立Blog的几种玩法">独立Blog的几种玩法</a> (5)</li><li>2008/11/25 -- <a href="http://opslife.com/use-cacti-to-monitor-load-average/" title="抽空弄了个Cacti来画一下性能图表">抽空弄了个Cacti来画一下性能图表</a> (0)</li><li>2008/10/30 -- <a href="http://opslife.com/blog%e8%bf%81%e7%a7%bb%e5%88%b0vps/" title="Blog迁移到VPS">Blog迁移到VPS</a> (8)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2007/08/07 -- <a href="http://opslife.com/jeffr-comment-about-sd-and-cfs/" title="A comment abount SD, CFS Schedulers,from ULE&#8217;s author">A comment abount SD, CFS Schedulers,from ULE&#8217;s author</a> (15)</li><li>2007/06/21 -- <a href="http://opslife.com/ndsl%e4%b8%80%e5%a4%a9%e6%8a%8a%e7%8e%a9%e6%89%8b%e8%ae%b0/" title="NDSL一天把玩手记">NDSL一天把玩手记</a> (3)</li><li>2007/03/27 -- <a href="http://opslife.com/%e9%9b%86%e6%88%90%e5%bc%8f%e5%bc%8f%e8%bd%af%e4%bb%b6%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/" title="集成式式软件防火墙解决方案">集成式式软件防火墙解决方案</a> (0)</li><li>2007/03/20 -- <a href="http://opslife.com/%e7%94%a8%e4%ba%8e%e5%ad%a6%e4%b9%a0%e5%92%8c%e5%ae%9e%e9%aa%8c%e7%9b%ae%e7%9a%84%e7%9a%84%e8%bf%9c%e7%a8%8b%e5%85%8d%e8%b4%b9solaris%e7%9a%84shell%e5%b8%90%e5%8f%b7/" title="用于学习和实验目的的远程免费Solaris的shell帐号">用于学习和实验目的的远程免费Solaris的shell帐号</a> (3)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/buying-new-swvps/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>好大的一个洞&#8211;Linux 2.6内核vmsplice本地权限提升漏洞</title>
		<link>http://opslife.com/linux-vmsplice-local-exploit/</link>
		<comments>http://opslife.com/linux-vmsplice-local-exploit/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 11:12:27 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dawnh.net/linux/284/linux-vmsplice-local-exploit/</guid>
		<description><![CDATA[<p>春节回家玩了几天，期间匆匆浏览过一些新闻，看到这个漏洞公布的文章，当时没怎么注意，今天回头又看了一下，这个漏洞可谓相当恐怖了。</p>
<p>其影响的版本从2.6.17一直到2.6.24.1。使用这些版本内核的的Linux发行版几乎包含了所有厂家近1年的产品，Redhat，Debian，SUSE，Ubuntu等等等等。</p>
<p>只要有一个能运行自己指定代码的帐户，都可以拿到本地的root权限。</p>
<p>看来又是一段时间的大规模打补丁行动。</p>
<p>这个漏洞的exploits链接如下：http://www.milw0rm.com/exploits/5092</p>
<p>国内业界一向反应迟缓，估计又有一段时间不少SA将会从日志中看到不少SSH暴力破解的记录了，那可都是中招的肉鸡啊！不过也有可能国内业界应用的内核版本平均水平迟缓到还没到达2.6.17，无论如何，谁再说Linux安全，那只能代表其无知了。</p>
<p>先贡献一段用iptables防止SSH暴力破解的代码吧，比较起其他script方式实现，用iptables实现比较简洁，且不会占用太多CPU资源，是使用recent这个match实现的，用的时候要注意自己的iptables是否包含了recent模块</p>
<p> iptables -N SSH_CHECK
 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
 iptables -A SSH_CHECK -m recent --set --name SSH
 iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP</p>
<p>在60s内同IP只允许3次22端口的连接请求。</p>
No Related Post]]></description>
			<content:encoded><![CDATA[<p>春节回家玩了几天，期间匆匆浏览过一些新闻，看到这个漏洞公布的文章，当时没怎么注意，今天回头又看了一下，这个漏洞可谓相当恐怖了。</p>
<p>其影响的版本从2.6.17一直到2.6.24.1。使用这些版本内核的的Linux发行版几乎包含了所有厂家近1年的产品，Redhat，Debian，SUSE，Ubuntu等等等等。</p>
<p>只要有一个能运行自己指定代码的帐户，都可以拿到本地的root权限。</p>
<p>看来又是一段时间的大规模打补丁行动。</p>
<p>这个漏洞的exploits链接如下：http://www.milw0rm.com/exploits/5092</p>
<p>国内业界一向反应迟缓，估计又有一段时间不少SA将会从日志中看到不少SSH暴力破解的记录了，那可都是中招的肉鸡啊！不过也有可能国内业界应用的内核版本平均水平迟缓到还没到达2.6.17，无论如何，谁再说Linux安全，那只能代表其无知了。</p>
<p>先贡献一段用iptables防止SSH暴力破解的代码吧，比较起其他script方式实现，用iptables实现比较简洁，且不会占用太多CPU资源，是使用recent这个match实现的，用的时候要注意自己的iptables是否包含了recent模块</p>
<blockquote><p><code> iptables -N SSH_CHECK</code><br />
<code> iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK</code><br />
<code> iptables -A SSH_CHECK -m recent --set --name SSH</code><br />
<code> iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP</code></p></blockquote>
<p>在60s内同IP只允许3次22端口的连接请求。</p>
<ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/linux-vmsplice-local-exploit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A comment abount SD, CFS Schedulers,from ULE&#8217;s author</title>
		<link>http://opslife.com/jeffr-comment-about-sd-and-cfs/</link>
		<comments>http://opslife.com/jeffr-comment-about-sd-and-cfs/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 06:15:38 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[CFS]]></category>
		<category><![CDATA[scheduler]]></category>
		<category><![CDATA[SD]]></category>
		<category><![CDATA[ULE]]></category>

		<guid isPermaLink="false">http://dawnh.net/weblog/240/jeffr-comment-about-sd-and-cfs/</guid>
		<description><![CDATA[<p>前几天Linus决定用CFS替换掉O(1)的时候就引发了一场flame war，然而除了几个当事人之外，其他人也仅仅能从使用体验上提出一些意见或者benchmark数据。更因为这些schedulers都没有经过长期考验，没有经验性数据，一堆各个领域的用户都七嘴八舌得参与进来，进而这场大讨论又闹到Server VS Desktop，Scientific Computing VS Gaming等等等等。谁让scheduler本身就是一个牵一发而动全身的关键组件呢，动这玩艺就相当于给人换大脑一样。</p>
<p>这次论战现在又有学院派的高人卷进来了，恰逢FreeBSD的ULE调度器3.0发布不久，所以ULE的作者Jeff Roberson (jeffr)也写了一篇文发表了自己的看法，见此：http://jeffr-tech.livejournal.com/12933.html</p>
<p> jeffr的文章是从设计角度来讨论了这三个调度器实现的不同点，基本上也就是使用的数据结构和算法不同带来的性能影响，有兴趣可以仔细看看，比起LKM那些论战来，不需要懂得那几个大牛之间的前恩宿怨，应该要好看一些。</p>
<p>另外看看用户而不是开发者的comments也是挺好玩的：http://osnews.com/comment.php?news_id=18401</p>
<p>不过毕竟是看过代码才有发言权，普通用户的言论看过就好，没必要较真，真要了解细节还只能看代码。话说回来看完代码估计也不一定就了解。Scheduler设计真是每个变量都要考虑到毫厘，象我这种仅仅是结合几部书讲解调度器的章节过了一遍O(1)和初代ULE的人，还是不理解为什么这样设计或为什么不那样做。所以还是继续看大牛们的热闹吧。</p>
2009/12/28 -- Debian Lenny安装nginx+PHP+MySQL傻瓜手记 (14)2009/09/18 -- 有关DSR的网络拓扑结构和实现方法 (1)2009/03/15 -- 手记:VPS上安装Nginx+PHP+FastCGI+MySQL (3)2008/10/17 -- 新玩具&#8211;VPS入手 (6)2007/11/22 -- 升级至FreeBSD 7.0-BETA3 (2)2007/11/01 -- 区分几种知名散列算法的散列值的方法 (0)2007/10/30 -- ZFS under FreeBSD performace (0)2007/10/10 -- 近期小结 (2)2007/09/10 -- Sysadmin手记:如何利用mtree做FreeBSD操作系统文件完整性审计 (2)2007/06/21 -- NDSL一天把玩手记 (3)]]></description>
			<content:encoded><![CDATA[<p>前几天Linus决定用CFS替换掉O(1)的时候就引发了一场flame war，然而除了几个当事人之外，其他人也仅仅能从使用体验上提出一些意见或者benchmark数据。更因为这些schedulers都没有经过长期考验，没有经验性数据，一堆各个领域的用户都七嘴八舌得参与进来，进而这场大讨论又闹到Server VS Desktop，Scientific Computing VS Gaming等等等等。谁让scheduler本身就是一个牵一发而动全身的关键组件呢，动这玩艺就相当于给人换大脑一样。</p>
<p>这次论战现在又有学院派的高人卷进来了，恰逢FreeBSD的ULE调度器3.0发布不久，所以ULE的作者Jeff Roberson (jeffr)也写了一篇文发表了自己的看法，见此：<a href="http://jeffr-tech.livejournal.com/12933.html">http://jeffr-tech.livejournal.com/12933.html</a></p>
<p> jeffr的文章是从设计角度来讨论了这三个调度器实现的不同点，基本上也就是使用的数据结构和算法不同带来的性能影响，有兴趣可以仔细看看，比起LKM那些论战来，不需要懂得那几个大牛之间的前恩宿怨，应该要好看一些。</p>
<p>另外看看用户而不是开发者的comments也是挺好玩的：<a href="http://osnews.com/comment.php?news_id=18401">http://osnews.com/comment.php?news_id=18401</a></p>
<p>不过毕竟是看过代码才有发言权，普通用户的言论看过就好，没必要较真，真要了解细节还只能看代码。话说回来看完代码估计也不一定就了解。Scheduler设计真是每个变量都要考虑到毫厘，象我这种仅仅是结合几部书讲解调度器的章节过了一遍O(1)和初代ULE的人，还是不理解为什么这样设计或为什么不那样做。所以还是继续看大牛们的热闹吧。</p>
<ul class="related_post"><li>2009/12/28 -- <a href="http://opslife.com/install-nginx-php-mysql-on-debian-lenny/" title="Debian Lenny安装nginx+PHP+MySQL傻瓜手记">Debian Lenny安装nginx+PHP+MySQL傻瓜手记</a> (14)</li><li>2009/09/18 -- <a href="http://opslife.com/dsr-implemention/" title="有关DSR的网络拓扑结构和实现方法">有关DSR的网络拓扑结构和实现方法</a> (1)</li><li>2009/03/15 -- <a href="http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/" title="手记:VPS上安装Nginx+PHP+FastCGI+MySQL">手记:VPS上安装Nginx+PHP+FastCGI+MySQL</a> (3)</li><li>2008/10/17 -- <a href="http://opslife.com/buying-new-swvps/" title="新玩具&#8211;VPS入手">新玩具&#8211;VPS入手</a> (6)</li><li>2007/11/22 -- <a href="http://opslife.com/upgrade-to-freebsd-7-beta-3/" title="升级至FreeBSD 7.0-BETA3">升级至FreeBSD 7.0-BETA3</a> (2)</li><li>2007/11/01 -- <a href="http://opslife.com/identify-diffrent-hashing-algorithm/" title="区分几种知名散列算法的散列值的方法">区分几种知名散列算法的散列值的方法</a> (0)</li><li>2007/10/30 -- <a href="http://opslife.com/zfs-under-freebsd-performace/" title="ZFS under FreeBSD performace">ZFS under FreeBSD performace</a> (0)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2007/09/10 -- <a href="http://opslife.com/use-mtree-for-freebsd-filesystem-integrity-auditing/" title="Sysadmin手记:如何利用mtree做FreeBSD操作系统文件完整性审计">Sysadmin手记:如何利用mtree做FreeBSD操作系统文件完整性审计</a> (2)</li><li>2007/06/21 -- <a href="http://opslife.com/ndsl%e4%b8%80%e5%a4%a9%e6%8a%8a%e7%8e%a9%e6%89%8b%e8%ae%b0/" title="NDSL一天把玩手记">NDSL一天把玩手记</a> (3)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/jeffr-comment-about-sd-and-cfs/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Dreamhost探密</title>
		<link>http://opslife.com/dreamhost-review/</link>
		<comments>http://opslife.com/dreamhost-review/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 05:55:33 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://dawnh.net/linux/233/dreamhost-review/</guid>
		<description><![CDATA[<p>前几天购买的Hostmonster的Hosting plan跑得好好得突然挂了。检查发现traceroute从骨干网就过不去了，看来是被某BOSS级隐藏超级设备给吃了，无奈搬回Dreamhost。</p>
<p>最近发现比较有空，就仔细研究了一下Dreamhost的基础架构，发现还是很有意思的，记录如下，不断补充中。</p>
<p></p>
<p>须知这些资料都是在没有root权限的情况下通过各种手段取得的，对于Dreamhost来说可能是不希望外人知道的，但任何一个Dreamhoster都可以通过合法的shell拿到这些资料。</p>
<p>首先是硬件信息，第一想到的就是CPU了，很简单，cat /proc/cpuinfo，如下：</p>
<p>/home/dawnh&#62;cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model  : 35
model name : Dual Core AMD Opteron(tm) Processor 175
stepping : 2
cpu MHz  : 2194.610
cache size : 1024 KB
fdiv_bug : no
hlt_bug  : no
f00f_bug : no
coma_bug : no
fpu  : yes
fpu_exception : yes
cpuid level : 1
wp  : yes
flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse
sse2 ht syscall mmxext [...]]]></description>
			<content:encoded><![CDATA[<p>前几天购买的Hostmonster的Hosting plan跑得好好得突然挂了。检查发现traceroute从骨干网就过不去了，看来是被某BOSS级隐藏超级设备给吃了，无奈搬回Dreamhost。</p>
<p>最近发现比较有空，就仔细研究了一下Dreamhost的基础架构，发现还是很有意思的，记录如下，不断补充中。</p>
<p><span id="more-233"></span></p>
<p>须知这些资料都是在没有root权限的情况下通过各种手段取得的，对于Dreamhost来说可能是不希望外人知道的，但任何一个Dreamhoster都可以通过合法的shell拿到这些资料。</p>
<p>首先是硬件信息，第一想到的就是CPU了，很简单，cat /proc/cpuinfo，如下：</p>
<blockquote><p>/home/dawnh&gt;cat /proc/cpuinfo<br />
processor : 0<br />
vendor_id : AuthenticAMD<br />
cpu family : 15<br />
model  : 35<br />
model name : Dual Core AMD Opteron(tm) Processor 175<br />
stepping : 2<br />
cpu MHz  : 2194.610<br />
cache size : 1024 KB<br />
fdiv_bug : no<br />
hlt_bug  : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu  : yes<br />
fpu_exception : yes<br />
cpuid level : 1<br />
wp  : yes<br />
flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse<br />
sse2 ht syscall mmxext lm 3dnowext 3dnow pni<br />
bogomips : 4377.80</p>
<p>processor : 1<br />
vendor_id : AuthenticAMD<br />
cpu family : 15<br />
model  : 35<br />
model name : Dual Core AMD Opteron(tm) Processor 175<br />
stepping : 2<br />
cpu MHz  : 2194.610<br />
cache size : 1024 KB<br />
fdiv_bug : no<br />
hlt_bug  : no<br />
f00f_bug : no<br />
coma_bug : no<br />
fpu  : yes<br />
fpu_exception : yes<br />
cpuid level : 1<br />
wp  : yes<br />
flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse<br />
sse2 ht syscall mmxext lm 3dnowext 3dnow pni<br />
bogomips : 4377.80<br />
home/dawnh&gt;</p></blockquote>
<p>可见是一个双核的Opteron 175，频率2.2G。</p>
<p>其次是内存，如下：</p>
<blockquote><p>/home/dawnh&gt;cat /proc/meminfo<br />
        total:    used:    free:  shared: buffers:  cached:<br />
Mem:  4172861440 4017307648 155553792        0 155500544 2532347904<br />
Swap: 6465036288 283750400 6181285888<br />
MemTotal:      4075060 kB<br />
MemFree:        151908 kB<br />
MemShared:           0 kB<br />
Buffers:        151856 kB<br />
Cached:        2426400 kB<br />
SwapCached:      46596 kB<br />
Active:         835288 kB<br />
Inactive:      1789812 kB<br />
HighTotal:     3211200 kB<br />
HighFree:        14792 kB<br />
LowTotal:       863860 kB<br />
LowFree:        137116 kB<br />
SwapTotal:     6313512 kB<br />
SwapFree:      6036412 kB</p></blockquote>
<p>可见物理内存4G，另外加了6G的swap，这里对于swap容量感到有点奇怪，为什么要分这么大，难道有什么依据么？</p>
<p>再是主板，这方面的资料恐怕不太好获取，经常采用的方法是dmesg，但dreamhost限制了这个文件的浏览权限，使得我们无法获取，但是通过总线挂接的设备大多能获得一些资料：</p>
<blockquote><p>/home/dawnh&gt;lspci<br />
0000:00:01.0 PCI bridge: ServerWorks: Unknown device 0036<br />
0000:00:02.0 Host bridge: ServerWorks: Unknown device 0205<br />
0000:00:02.1 IDE interface: ServerWorks: Unknown device 0214<br />
0000:00:02.2 ISA bridge: ServerWorks: Unknown device 0234<br />
0000:00:03.0 USB Controller: ServerWorks: Unknown device 0223 (rev 01)<br />
0000:00:03.1 USB Controller: ServerWorks: Unknown device 0223 (rev 01)<br />
0000:00:03.2 USB Controller: ServerWorks: Unknown device 0223 (rev 01)<br />
0000:00:05.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)<br />
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge<br />
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge<br />
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge<br />
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge<br />
0000:01:0d.0 PCI bridge: ServerWorks: Unknown device 0104 (rev b2)<br />
0000:01:0e.0 RAID bus controller: ServerWorks: Unknown device 024a<br />
0000:02:03.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)<br />
0000:02:03.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)</p></blockquote>
<p>这里可以看到一个熟悉的字眼：ServerWorks，这是为AMD的CPU生产芯片组的一个品牌，因此可以断定主板芯片组出自ServerWorks之手，同时还能看到集成RageXL的显示芯片，以及Broadcom 5704的双千兆网卡。由于发行版自带的lspci中id数据库版本过低，包括北桥芯片等信息都是Unknown，看不出来。或许可以通过查PCI ID对应找到相应设备，以后有空再作吧。</p>
<p>这里留个问题：<font color="#ff0000">谁还知道查看主板芯片组信息的其他好方法？</font><br />
再其次是存储设备了，首先想到的是fdisk -l，结果发现权限不够，继续在/proc里找寻，发现：</p>
<blockquote><p>/home/dawnh&gt;cat /proc/scsi/scsi<br />
Attached devices:<br />
Host: scsi0 Channel: 00 Id: 00 Lun: 00<br />
  Vendor: ATA      Model: WDC WD800JD-00LS Rev: 06.0<br />
  Type:   Direct-Access                    ANSI SCSI revision: 05</p></blockquote>
<p>其中WDC WD800JD很明显是西部数据（WestData）的硬盘型号，放狗，发现是一个80G Sata2硬盘，在整个系统中就只发现这一个硬盘，基本上，可以把它当作sda了，关于分区和文件系统的信息，后面详述。</p>
<p>关于硬件基本上就只能拿到这么点信息了，下面是软件，集中在操作系统以及各种应用服务的配置。</p>
<p>第一个一定是uname -a了，如下：</p>
<blockquote><p>/home/dawnh&gt;uname -a<br />
Linux caprisun 2.4.32-grsec+f6b+gr217+nfs+a32+fuse23+tg+++opt+c8+gr2b-v6.194 #1 SMP Tue Jun 6 15:52:09 PDT 2006<br />
 i686 GNU/Linux</p></blockquote>
<p>从这里只能看到是用了2.4.32内核的Linux，至于后面一长串加号的东西，难道是某个发行版特有的标记？或者是DH的sysadmin编译内核中加入某些功能的标记？在下只能看出第一个应该是grsecurity，还有nfs，fuse，有知道更详细的兄弟看到此文麻烦给我补补课。</p>
<p>又来问题了：<font color="#ff0000">印象里如果物理内存达到4G最好应该使用64位内核，32位的3G用户地址范围+1G内核地址范围会导致无法充分利用物理内存，DH这里又是因为什么考虑采用了i686？</font></p>
<p>光有uname显然不够，恐怕我们最关心的是发行版吧，看看如此著名的Webhosting公司是选用了何种发行版，答案是：</p>
<blockquote><p>/home/dawnh&gt;cat /etc/issue<br />
Debian GNU/Linux 3.1 \n \l</p></blockquote>
<p>Debian，3.1版应该是Sarge吧。</p>
<p>关心完内核，接下来应该是硬盘分区了，Linux初学者经常会考虑硬盘该怎么分区的问题，来看看DH是怎么分的：</p>
<blockquote><p>/home/dawnh&gt;mount<br />
/dev/sda1 on / type ext3 (rw,noatime,nodiratime,commit=300,errors=remount-ro)<br />
proc on /proc type proc (rw)<br />
devpts on /dev/pts type devpts (rw,gid=5,mode=620)<br />
usbfs on /proc/bus/usb type usbfs (rw)<br />
/dev/sda3 on /usr/local type ext3 (rw,noatime,nodiratime,data=ordered,commit=300)<br />
/dev/sda8 on /usr/local/tmp type ext3 (rw,noexec,noatime,nodiratime,data=ordered,commit=300)<br />
10.3.45.236:/vol/fuchsia/spacey/adam_bliss on /home/.flipside/adam_bliss type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/vol/fuchsia.narc/spacey/adam_bliss on /home/.flipside/adam_bliss/.snapshot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664/spacey/flype on /home/.flipside/flype type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664.narc/spacey/flype on /home/.flipside/flype/.snapshot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664/spacey/hadriel on /home/.flipside/hadriel type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664.narc/spacey/hadriel on /home/.flipside/hadriel/.snapshot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664/spacey/klabusta on /home/.flipside/klabusta type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/mnt/e1664.narc/spacey/klabusta on /home/.flipside/klabusta/.snapshot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/vol/tope/spacey/mytest on /home/.flipside/mytest type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.236:/vol/tope.narc/spacey/mytest on /home/.flipside/mytest/.snapshot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.236)<br />
10.3.45.10:/vol/boot/spacey/mcduff on /home/.mcduff type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.86:/vol/boot/spacey/mckinley on /home/.mckinley type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.86)<br />
10.3.45.10:/vol/boot/spacey/meaghan on /home/.meaghan type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/medea on /home/.medea type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/meely on /home/.meely type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/megan on /home/.megan type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/meko on /home/.meko type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/melanistic on /home/.melanistic type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/melinder on /home/.melinder type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.139:/vol/boot/spacey/melitrissa on /home/.melitrissa type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.139)<br />
10.3.45.10:/vol/boot/spacey/melosa on /home/.melosa type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/memo on /home/.memo type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/meower on /home/.meower type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/mephistopheles on /home/.mephistopheles type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/mercutio on /home/.mercutio type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/meri on /home/.meri type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/merlot on /home/.merlot type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/meryl on /home/.meryl type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.10:/vol/boot/spacey/messier on /home/.messier type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.138:/vol/boot/spacey/metoo on /home/.metoo type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.138)<br />
10.3.45.10:/vol/boot/spacey/mew on /home/.mew type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.51:/vol/boot/spacey/micael on /home/.micael type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.51)<br />
10.3.45.86:/vol/boot/spacey/michant on /home/.michant type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.86)<br />
10.3.45.10:/vol/boot/spacey/micki on /home/.micki type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.51:/vol/boot/spacey/middles on /home/.middles type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.51)<br />
10.3.45.10:/vol/boot/spacey/mighty on /home/.mighty type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.10)<br />
10.3.45.30:/vol/boot/spacey.localbackups/caprisun on /mnt/filerbackup type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.30)<br />
10.3.45.30:/vol/boot/spacey.crontabs/caprisun on /usr/local/var/spool/cron/crontabs type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.30)<br />
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)<br />
10.3.45.61:/vol/boot/spacey.crontabs/caprisun on /usr/local/var/spool/cron/crontabs type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.61)<br />
10.3.45.138:/vol/boot/spacey/mitzi on /home/.mitzi type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.138)<br />
10.3.45.34:/vol/boot/spacey/mem on /home/.mem type nfs (rw,intr,vers=3,bg,rsize=32768,wsize=32768,tcp,acregmin=300,acdirmin=300,acregmax=600,acdirmax=600,addr=10.3.45.34)</p></blockquote>
<p>输出结果意外得多啊，可以看到大部分都是nfs export出来的挂载点，都是挂于/home的，本地挂载点就只有sda1，sda3，sda8，这三个分别挂在/，/usr/local，/usr/local/tmp上，然后通过df来取得这三个分区大小，如下：</p>
<blockquote><p>/home/dawnh&gt;df -h|grep sd<br />
/dev/sda1             2.0G  1.7G  243M  88% /<br />
/dev/sda3             6.9G  1.9G  4.7G  29% /usr/local<br />
/dev/sda8             2.0G  447M  1.5G  24% /usr/local/tmp</p></blockquote>
<p>很有趣，/只有2G大小，/usr/local有7G，/usr/local/tmp有2G。DH硬盘分区策略出人意料得简单，并不如我们想象中此类大容量空间提供商都应该根据业务对硬盘进行细致划分，甚至进行卷管理等策略。这里DH用nfs将客户数据目录通过NAS环境导入进来，因此本地磁盘的就无需承载业务，因此重要性也就不是那么高了。再回头看看，2G的根对于只运行Web Server的系统应该是足够了，因为省却了Xwindow等大部头玩艺，再加上debian这个发行版本身就属于小空间占用的发行版，因此2G的根属于正常考量，而后面的/usr/local个人猜想应该是放置了DH为了支撑整个hosting运行的所有程序，因此单独分区。而/usr/local/tmp应该为程序运行的临时目录，例如PHP存储session的目录等，因为读写频繁但同时不是很重要，所以单独分区便于进一步进行性能和安全方面的规划，注意看这个分区具有noexec属性。</p>
<p><font color="#ff6600">TIPS</font>：注意看三个sd分区的mount选项，不约而同地具有noatime,nodiratime属性，这属于提升性能tunning的一个小技巧，文件都具有ctime，mtime，atime3个时间戳属性，分别是创建时间，修改时间，访问时间，前2者比较有用，而第三者对于大多数用户来说不怎么重要，再加上Web Server这种需要大量文件读写的应用环境，每次访问文件都更新atime会浪费不少cpu时间，因此使用这个选项来实现性能的提升。这个小技巧在很多应用优化文章中都有提到，效果也还是不错的，不过貌似国内文章只提到过noatime，几乎没涉及过nodiratime的。</p>
<p>又来问题了，这三个分区加起来才11G，前面提到有6G的swap，这里还缺了sda2，4，5，6，7，这些分区都到哪去了？下一个命令输出：</p>
<blockquote><p>/home/dawnh&gt;/sbin/swapon -s<br />
Filename   Type  Size Used Priority<br />
/dev/sda5                       partition 2104504 278080 -1<br />
/dev/sda6                       partition 2104504 0 -2<br />
/dev/sda7                       partition 2104504 0 -3</p></blockquote>
<p>这里看到，有3个swap分区，每个2G，加起来刚好6G，这样sda5，6，7有着落了，现在还剩下63G空间，还有sda2和sda4两个分区没着落，假定其中一个是容纳逻辑盘的扩展分区的话，<font color="#ff0000">还有一个分区，以及63G空间不知道是干什么的，有什么办法能找出这个分区来吗？</font><br />
继续我们的探秘旅程，或者也可以说偷窥-_-b。</p>
<p>接下来是关于每个分区放置的数据了，首先自然是/，这里不列表了，仅仅谈谈DH这台服务器上几个与一般发行版不一样的目录。</p>
<p>lrwxrwxrwx     1 root       12 2007-01-08 06:56 dh -&gt; usr/local/dh</p>
<p>这个dh目录恐怕就是dh放置绝大部分核心程序的位置了吧，可以看到是符号链接到了/usr/local/dh，把自定义的数据放在与发行版本身文件不同的分区便于以后的维护和各种业务或安全流程的实施。</p>
<p>lrwxrwxrwx     1 root       14 2007-01-08 06:59 ndn -&gt; /usr/local/ndn</p>
<p>又一个没见过的目录，留待以后仔细分析吧。</p>
<p>lrwxrwxrwx     1 root       14 2007-01-08 06:59 tmp -&gt; /usr/local/tmp</p>
<p>/tmp是大多数程序放置临时文件的地方，这里直接符号连接到了上面所谈的分区，刚好印证了上面的猜测。</p>
<p>lrwxrwxrwx     1 root       13 2007-01-08 06:59 var -&gt; usr/local/var</p>
<p>连/var都符号链接到了/usr/local分区下面的目录，看来这里有不少数据也是需要单独对待的，我第一个想到得就是mysql的数据目录/var/lib/mysql，留待以后仔细研究。<br />
<font color="#ff0000"> </font></p>
<p><font color="#ff0000">更新:关于前面提到的pci设备</font></p>
<p>PCI设备是其特定的ID号来标示的，包含vendor id, device id, subsystem等，这个ID是由一个组织统管并给各大硬件厂商分配。一般来说，一个精确的ID就唯一得确定了一种PCI设置，因此通过读取此ID就可以得知此设备究竟是什么东西。Linux发行版中的lspci工具就是做这个的。但由于发行版发行时间问题，系统自带的ID-设备对硬数据库可能比较陈旧，导致识别不出新的设备来，这是就会出现unknown device，如同上面我们看到的结果。遇到此类情况，解决方法是使用新的IDs数据库。对于Linux，有一个项目是构建公开的ID数据库，在这里：<a href="http://pciids.sourceforge.net/">http://pciids.sourceforge.net/</a>，可以在此网站直接下载其数据库<a href="http://pciids.sourceforge.net/pci.ids">http://pciids.sourceforge.net/pci.ids</a>到本地，然后使用命令lspci  -i path-to-pci.ids来指定使用下载到的ID数据库来鉴别设备。在Dreamhost主机运行后，结果变为：</p>
<blockquote><p>/home/dawnh/source&gt;lspci -i pci.ids       <br />
0000:00:01.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge<br />
0000:00:02.0 Host bridge: Broadcom BCM5785 [HT1000] Legacy South Bridge<br />
0000:00:02.1 IDE interface: Broadcom BCM5785 [HT1000] IDE<br />
0000:00:02.2 ISA bridge: Broadcom BCM5785 [HT1000] LPC<br />
0000:00:03.0 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)<br />
0000:00:03.1 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)<br />
0000:00:03.2 USB Controller: Broadcom BCM5785 [HT1000] USB (rev 01)<br />
0000:00:05.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)<br />
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration<br />
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map<br />
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller<br />
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control<br />
0000:01:0d.0 PCI bridge: Broadcom BCM5785 [HT1000] PCI/PCI-X Bridge (rev b2)<br />
0000:01:0e.0 RAID bus controller: Broadcom BCM5785 [HT1000] SATA (Native SATA Mode)<br />
0000:02:03.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)<br />
0000:02:03.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10)</p></blockquote>
<p>可以看到先前为unknown的设备现在能识别出来了，根据这个结果，很显然确定了主板的芯片组为ServerWorks的HT1000。</p>
<p><font color="#ff0000">越写越多,停不下来了,暂且待续&#8230;&#8230;</font></p>
<ul class="related_post"><li>2007/11/07 -- <a href="http://opslife.com/opensolaris-codename-indiana-simple-review/" title="简评OpenSolaris的Developer Preview&#8212;-Indiana">简评OpenSolaris的Developer Preview&#8212;-Indiana</a> (4)</li><li>2007/08/29 -- <a href="http://opslife.com/resolv-dreamhost-analog-and-wordpress-url-rewrite-issue/" title="实现Wordpress的URL静态化以及Dreamhost的Analog共存">实现Wordpress的URL静态化以及Dreamhost的Analog共存</a> (1)</li><li>2007/05/28 -- <a href="http://opslife.com/refund-from-dreamhost/" title="Refund from Dreamhost">Refund from Dreamhost</a> (6)</li><li>2007/05/08 -- <a href="http://opslife.com/dreamhost-architecture-and-overselling/" title="再论Dreamhost和overselling">再论Dreamhost和overselling</a> (5)</li><li>2007/04/27 -- <a href="http://opslife.com/dreamhosthostmonster/" title="抛弃Dreamhost,投入Hostmonster怀抱">抛弃Dreamhost,投入Hostmonster怀抱</a> (10)</li><li>2007/03/19 -- <a href="http://opslife.com/%e6%9c%89%e5%85%b3dreamhost%e7%9a%84%e6%9c%8d%e5%8a%a1-%e6%81%b6%e5%8a%a3%e8%bf%98%e6%98%af%e4%b8%8d%e6%81%b6%e5%8a%a3%ef%bc%9f/" title="有关Dreamhost的服务-恶劣还是不恶劣？">有关Dreamhost的服务-恶劣还是不恶劣？</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/dreamhost-review/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>localhost导致的灾难</title>
		<link>http://opslife.com/localhost%e5%af%bc%e8%87%b4%e7%9a%84%e7%81%be%e9%9a%be/</link>
		<comments>http://opslife.com/localhost%e5%af%bc%e8%87%b4%e7%9a%84%e7%81%be%e9%9a%be/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 09:25:15 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[resin]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sys-admin]]></category>

		<guid isPermaLink="false">http://dawnh.net/networking/216/localhost%e5%af%bc%e8%87%b4%e7%9a%84%e7%81%be%e9%9a%be/</guid>
		<description><![CDATA[<p>今天接到一个Troubleshooting的Case非常有意思，记录下来。</p>
<p></p>
<p>一台Linux Server，跑得是普通的LAMP架构的web站点，有数十个VirtualHost。同时还有postfix等服务，但几乎不使用，客户称是使用了某厂商的Hosting Panel软件管理的，以前一直正常，突然今天不知道为什么上面的站点都打不开了。据客户称是没做过什么操作，一直运行正常（出了问题有很多客户都这么据称，和讳疾忌医一个道理）。</p>
<p>登录上去简单看了一下，uptime正常，负载很低，top以及检查各项服务都正常，但是确实服务器上Hosting的站点打不开，但不是完全打不开，是非常缓慢，就是5分钟才能显示几个字的那种。快刀斩乱麻排除了DNS解析，网络连通等问题，看来不得不把问题定位在apache+php+mysql了。</p>
<p>tail了一下access_log和error_log，发现访问日志是有的，但每十几秒才出一条，显然与客户站点访问量不符，error_log中没有任何应用报错的信息。遂建立了phpinfo文件访问，发现一样问题，排除客户程序原因。进而建立随手写几个字符的html，也访问极慢，这样PHP+Mysql又被排除了。直接rpm -V httpd，发现客户是使用了发行版自带的httpd，也就稍微改了下配置文件。而配置文件草草浏览了一下也找不出问题来，除了建立VirtualHost几乎没做修改。</p>
<p>到目前为止表面上看不出任何异常来，令人郁闷无比。唯一可以说有点异常的地方就是ps看到的httpd进程有点多，但也估计是由于被block的request积累导致的。无奈启用mod_status想看看各个request是什么状态，竟然发现连/server-status都被block了，一样地慢！一怒之下，直接strace httpd，跟了3个发现都卡在connect调用，连接10.11.12.13:6802这个端口上。要说PHP有可能往外connect我信，但是html也受影响？不对，貌似6802是Resin的端口嘛！这玩意不熟，但八成跑不了就是它的原因了。netstat -an一看，果然有数个往10.11.12.13：6802的SYN_SENT。</p>
<p>继续顺着线撒网！对于不熟悉的东西，咱有个屡试不爽的绝招：grep！直接 grep -R &#8216;10.11.12.13&#8242; /etc，再不行grep root目录，就不信揪不出你来，结果居然是&#8230;&#8230;. grep不到-_-b</p>
<p>又郁闷了，现在是apache在连一个莫名其妙的IP的resin，而这个IP没有存在与任何一个配置文件中&#8230;&#8230;苦苦思考了半天，没办法了，挨条审httpd.conf吧，只要不认识的指令统统当可疑分子抓来细审。</p>
<p>还好这玩意没有挑战在下的耐性，审了大约20分钟，发现一个mod_caucho模块，配置为连接localhost:6802的后端服务，简单放狗一看果然是resin的mod，但是&#8230;&#8230;localhost&#8230;&#8230;.没这么BT吧！！！</p>
<p>ping一下localhost，显示结果果然是10.11.12.13&#8230;&#8230;.-_-b，立马杀奔/etc/hosts发现&#8230;&#8230;.127.0.0.1  localhost&#8230;&#8230; 没问题？！</p>
<p>先不管了，修改httpd.conf的那条指令，替换localhost为127.0.0.1，restart httpd，访问恢复！WoowW~~</p>
<p>剩下的为什么localhost解析到10.11.12.13这么个奇怪IP去就让客户自己问自己去吧，懒得管了，再管估计又是碰到某奇怪的配置文件，甚至可能是某奇怪的DNS服务器，再或者是碰到某奇怪的DNS Admin，你们自己掐去吧。在下打完收工！</p>
<p>总之，做Sys admin每天碰到千奇百怪的事情太多，真要有海量的知识点才有可能大成，所以有丰富经验的Sys Admin会让人像大熊猫一样养起来&#8230;.</p>
<p>又总之，在下估计再稍微补习一下就可以造出一套可用的Resin应用服务器了。人逼人，逼成高人阿！</p>
2008/08/17 -- Windows Server 2008中使用蓝牙 (0)2007/08/29 -- 实现Wordpress的URL静态化以及Dreamhost的Analog共存 (1)2007/08/29 -- Windows Server 2008无法使用arp命令添加静态MAC绑定 (8)2007/05/08 -- 响应一下号召吧-去除访问域名的www (5)]]></description>
			<content:encoded><![CDATA[<p>今天接到一个Troubleshooting的Case非常有意思，记录下来。</p>
<p><span id="more-216"></span></p>
<p>一台Linux Server，跑得是普通的LAMP架构的web站点，有数十个VirtualHost。同时还有postfix等服务，但几乎不使用，客户称是使用了某厂商的Hosting Panel软件管理的，以前一直正常，突然今天不知道为什么上面的站点都打不开了。据客户称是没做过什么操作，一直运行正常（出了问题有很多客户都这么据称，和讳疾忌医一个道理）。</p>
<p>登录上去简单看了一下，uptime正常，负载很低，top以及检查各项服务都正常，但是确实服务器上Hosting的站点打不开，但不是完全打不开，是非常缓慢，就是5分钟才能显示几个字的那种。快刀斩乱麻排除了DNS解析，网络连通等问题，看来不得不把问题定位在apache+php+mysql了。</p>
<p>tail了一下access_log和error_log，发现访问日志是有的，但每十几秒才出一条，显然与客户站点访问量不符，error_log中没有任何应用报错的信息。遂建立了phpinfo文件访问，发现一样问题，排除客户程序原因。进而建立随手写几个字符的html，也访问极慢，这样PHP+Mysql又被排除了。直接rpm -V httpd，发现客户是使用了发行版自带的httpd，也就稍微改了下配置文件。而配置文件草草浏览了一下也找不出问题来，除了建立VirtualHost几乎没做修改。</p>
<p>到目前为止表面上看不出任何异常来，令人郁闷无比。唯一可以说有点异常的地方就是ps看到的httpd进程有点多，但也估计是由于被block的request积累导致的。无奈启用mod_status想看看各个request是什么状态，竟然发现连/server-status都被block了，一样地慢！一怒之下，直接strace httpd，跟了3个发现都卡在connect调用，连接10.11.12.13:6802这个端口上。要说PHP有可能往外connect我信，但是html也受影响？不对，貌似6802是Resin的端口嘛！这玩意不熟，但八成跑不了就是它的原因了。netstat -an一看，果然有数个往10.11.12.13：6802的SYN_SENT。</p>
<p>继续顺着线撒网！对于不熟悉的东西，咱有个屡试不爽的绝招：grep！直接 grep -R &#8216;10.11.12.13&#8242; /etc，再不行grep root目录，就不信揪不出你来，结果居然是&#8230;&#8230;. grep不到-_-b</p>
<p>又郁闷了，现在是apache在连一个莫名其妙的IP的resin，而这个IP没有存在与任何一个配置文件中&#8230;&#8230;苦苦思考了半天，没办法了，挨条审httpd.conf吧，只要不认识的指令统统当可疑分子抓来细审。</p>
<p>还好这玩意没有挑战在下的耐性，审了大约20分钟，发现一个mod_caucho模块，配置为连接localhost:6802的后端服务，简单放狗一看果然是resin的mod，但是&#8230;&#8230;localhost&#8230;&#8230;.没这么BT吧！！！</p>
<p>ping一下localhost，显示结果果然是10.11.12.13&#8230;&#8230;.-_-b，立马杀奔/etc/hosts发现&#8230;&#8230;.127.0.0.1  localhost&#8230;&#8230; 没问题？！</p>
<p>先不管了，修改httpd.conf的那条指令，替换localhost为127.0.0.1，restart httpd，访问恢复！WoowW~~</p>
<p>剩下的为什么localhost解析到10.11.12.13这么个奇怪IP去就让客户自己问自己去吧，懒得管了，再管估计又是碰到某奇怪的配置文件，甚至可能是某奇怪的DNS服务器，再或者是碰到某奇怪的DNS Admin，你们自己掐去吧。在下打完收工！</p>
<p>总之，做Sys admin每天碰到千奇百怪的事情太多，真要有海量的知识点才有可能大成，所以有丰富经验的Sys Admin会让人像大熊猫一样养起来&#8230;.</p>
<p>又总之，在下估计再稍微补习一下就可以造出一套可用的Resin应用服务器了。人逼人，逼成高人阿！</p>
<ul class="related_post"><li>2008/08/17 -- <a href="http://opslife.com/installing-the-microsoft-bluetooth-stack-on-windows-server-2008/" title="Windows Server 2008中使用蓝牙">Windows Server 2008中使用蓝牙</a> (0)</li><li>2007/08/29 -- <a href="http://opslife.com/resolv-dreamhost-analog-and-wordpress-url-rewrite-issue/" title="实现Wordpress的URL静态化以及Dreamhost的Analog共存">实现Wordpress的URL静态化以及Dreamhost的Analog共存</a> (1)</li><li>2007/08/29 -- <a href="http://opslife.com/windows-2008-arp-bug/" title="Windows Server 2008无法使用arp命令添加静态MAC绑定">Windows Server 2008无法使用arp命令添加静态MAC绑定</a> (8)</li><li>2007/05/08 -- <a href="http://opslife.com/removing-www-prefix/" title="响应一下号召吧-去除访问域名的www">响应一下号召吧-去除访问域名的www</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/localhost%e5%af%bc%e8%87%b4%e7%9a%84%e7%81%be%e9%9a%be/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>开启ubuntu 7.04的3D特效</title>
		<link>http://opslife.com/aiglx-under-ubuntu-feisty-fawn-865g/</link>
		<comments>http://opslife.com/aiglx-under-ubuntu-feisty-fawn-865g/#comments</comments>
		<pubDate>Tue, 15 May 2007 03:28:57 +0000</pubDate>
		<dc:creator>dawnh</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[865g]]></category>
		<category><![CDATA[aiglx]]></category>
		<category><![CDATA[compiz]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dawnh.net/linux/194/aiglx-under-ubuntu-feisty-fawn-865g/</guid>
		<description><![CDATA[<p>Ubuntu 7.04(feisty fawn)使用了Xorg 7.2，这是第一个内置了3D渲染支持的Xorg版本。因此在这个版本之下，我们无需安装XGL就可以获得内建的openGL支持（也就是以前称做AIGLX的东西）。而7.04这个版本更是集成了compiz这个官方的用于Composition 的window manager。因此在feisty下，我们想要看到3D特效，就只是动动鼠标修改几个选项这么简单。</p>
<p>然而理想与现实的差距是巨大的，在下在此有差点翻船。过程比较曲折，还好最终解决了，留下手记与心得如下。</p>
<p>首先是做功课了，也就是了解其背景知识，这是作为一个勇敢的小白的必备素质。简单说就是了解一下需要哪些条件，例如需要事先安装哪些软件包，以及硬件驱动支持等。由于以前在测试版本的时候搞过这玩艺，因此也算轻车熟路了，唯一要注意的方面就是以前在1号机上用得是nv的显卡，而现在要玩的2号机是Intel 865G主板的集成显卡。简单看了一下相关资料，硬件方面应该没问题。</p>
<p>因此在下自信满满得在设置-桌面特效中开启了特效并义无反顾得没看预览直接点了应用，等待我的是&#8230;&#8230;.白屏&#8230;&#8230;</p>
<p>这下抓狂了，整个GUI都处于不可控状态了，可以看到从命令行执行到X的程序是可以启动的，但只是显示不出来。重起X也是一样的问题，用户登录成功后就是一片白&#8230;..</p>
<p>这个时候，第一要做的是&#8211;冷静。这是小白的必备素质之二。现在看来只是compiz不知为何输出不了而已，系统本身并没出现什么重大问题，因此要做的只不过是恢复到设置特效之前。所以现在摆在面前唯一的问题就是：如何在命令行方式修改设置，以及&#8211;找到修改这个设置的地方。</p>
<p>具体过程可谓艰辛，按照思路，首先要检查的就是xorg.conf，无果，其次是gdm.conf，亦无果。然后想到的是在整个etc下搜寻composition相关的设置，因此动用了grep -R composition /etc/*，竟然也找不到！无奈，祭出终极大招：find / -mtime 0，找修改时间最近的文件。结果只有2页这么多，比预想的少一些。排除掉/var/run以及tmp一干不相关文件，发现/etc下面并未被修改-_-，keypoint是在home下的&#8230;..再仔细找了一下，最终定位在.gconf这里，是~/.gconf/desktop/gnome/applications/window_manager这个文件夹，文件名为%gconf.xml。其内容如下：</p>
<p>&#60;?xml version=&#8221;1.0&#8243;?&#62;
&#60;gconf&#62;
  &#60;entry name=&#8221;default&#8221; mtime=&#8221;1179157504&#8243; type=&#8221;string&#8221;&#62;
  &#60;stringvalue&#62;/usr/bin/compiz&#60;/stringvalue&#62;
  &#60;/entry&#62;
  &#60;entry name=&#8221;current&#8221; mtime=&#8221;1179158554&#8243; type=&#8221;string&#8221;&#62;
  &#60;stringvalue&#62;/usr/bin/compiz&#60;/stringvalue&#62;
  &#60;/entry&#62;
&#60;/gconf&#62;</p>
<p>看来我最初的思路是错的，这个3D效果开启的开关，只不过是把window manager由metacity换为compiz而已，关于是否开启composition的设置系统并未做任何改动，而是永久开启的。到此也知道如何改回去了，把compiz替换成metacity即可，更暴力的方法是直接删除这个%gconf.xml，重起X，桌面又回来了:)</p>
<p>然后就是想办法解决白屏问题，简单看了一下Xorg的log，发现原因很可能是显卡驱动的api支持方面的问题造成的。于是打算升级一下驱动试试看。由于Intel大部分硬件驱动都是开源的，所以并不像nv或ati那样需要restric的驱动包以及内核。直接用新立得update，看看有没有最新版本的驱动，发现目前使用的i810已经是最新的了。然后又发现这里是有2个显卡驱动的，一个是810，另一个是intel，对比了一下description发现intel的驱动似乎是比较好的，于是选中xserver-xorg-vedio-intel，计算依赖关系时自动删除了xserver-xorg-vedio-i810，安装完成后restart X，结果&#8230;&#8230;X挂了-_-</p>
<p>照样看log，发现是无法载入i810模块，呃，貌似忘记修改xorg.conf了，立刻把i810替换成intel，再startx，起来了。一切顺利。然后再次enable Desktop Effects，这次终于出来了，窗口开始抖了（这次不是崩溃，是特效-_-）。</p>
<p>简单测试了一下，看来集成显卡也是可以用的嘛，不至于太慢。glxgears也有400分，呵呵。</p>
<p>总结一下：</p>
<p>1，在865G的平台上想要开启AIGLX，需要使用intel这个驱动，而不是i810。然后开启Desktop Effects即可。</p>
<p>2，如果Desktop Effects开启出现任何问题导致无法在GUI下进行操作，通过修改gconf配置文件来还原，位置是在用户的~/.gconf。</p>
<p>最后感慨，gconf这玩艺现在越做越象注册表了。</p>
<p>顺便还发现，以前用i810不能调整刷新速率的，现在可以了，找了一下说明发现i810是自己管理分辨率和刷新速率的，无视xorg.conf的设置，怪不得我前段时间调整了好几天的xorg.conf都不能把刷新速率由75Hz降到60Hz。还有intel这个驱动可以支持宽屏的分辨率，不像i810一样需要安装915reslution来实现。</p>
2006/09/24 -- 我的3D桌面新体验：AIGLX＋beryl(compiz) under Ubuntu (6.10)Edgy (2)2007/08/21 -- Ubuntu官方服务器被入侵以及skype瘫痪 (6)2006/06/17 -- Ubuntu 6.06 Linux (0)]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 7.04(feisty fawn)使用了Xorg 7.2，这是第一个内置了3D渲染支持的Xorg版本。因此在这个版本之下，我们无需安装XGL就可以获得内建的openGL支持（也就是以前称做AIGLX的东西）。而7.04这个版本更是集成了compiz这个官方的用于Composition 的window manager。因此在feisty下，我们想要看到3D特效，就只是动动鼠标修改几个选项这么简单。</p>
<p>然而理想与现实的差距是巨大的，在下在此有差点翻船。过程比较曲折，还好最终解决了，留下手记与心得如下。<span id="more-194"></span></p>
<p>首先是做功课了，也就是了解其背景知识，这是作为一个勇敢的小白的必备素质。简单说就是了解一下需要哪些条件，例如需要事先安装哪些软件包，以及硬件驱动支持等。由于以前在测试版本的时候搞过这玩艺，因此也算轻车熟路了，唯一要注意的方面就是以前在1号机上用得是nv的显卡，而现在要玩的2号机是Intel 865G主板的集成显卡。简单看了一下相关资料，硬件方面应该没问题。</p>
<p>因此在下自信满满得在设置-桌面特效中开启了特效并义无反顾得没看预览直接点了应用，等待我的是&#8230;&#8230;.白屏&#8230;&#8230;</p>
<p>这下抓狂了，整个GUI都处于不可控状态了，可以看到从命令行执行到X的程序是可以启动的，但只是显示不出来。重起X也是一样的问题，用户登录成功后就是一片白&#8230;..</p>
<p>这个时候，第一要做的是&#8211;冷静。这是小白的必备素质之二。现在看来只是compiz不知为何输出不了而已，系统本身并没出现什么重大问题，因此要做的只不过是恢复到设置特效之前。所以现在摆在面前唯一的问题就是：如何在命令行方式修改设置，以及&#8211;找到修改这个设置的地方。</p>
<p>具体过程可谓艰辛，按照思路，首先要检查的就是xorg.conf，无果，其次是gdm.conf，亦无果。然后想到的是在整个etc下搜寻composition相关的设置，因此动用了grep -R composition /etc/*，竟然也找不到！无奈，祭出终极大招：find / -mtime 0，找修改时间最近的文件。结果只有2页这么多，比预想的少一些。排除掉/var/run以及tmp一干不相关文件，发现/etc下面并未被修改-_-，keypoint是在home下的&#8230;..再仔细找了一下，最终定位在.gconf这里，是~/.gconf/desktop/gnome/applications/window_manager这个文件夹，文件名为%gconf.xml。其内容如下：</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br />
&lt;gconf&gt;<br />
  &lt;entry name=&#8221;default&#8221; mtime=&#8221;1179157504&#8243; type=&#8221;string&#8221;&gt;<br />
  &lt;stringvalue&gt;/usr/bin/compiz&lt;/stringvalue&gt;<br />
  &lt;/entry&gt;<br />
  &lt;entry name=&#8221;current&#8221; mtime=&#8221;1179158554&#8243; type=&#8221;string&#8221;&gt;<br />
  &lt;stringvalue&gt;/usr/bin/compiz&lt;/stringvalue&gt;<br />
  &lt;/entry&gt;<br />
&lt;/gconf&gt;</p></blockquote>
<p>看来我最初的思路是错的，这个3D效果开启的开关，只不过是把window manager由metacity换为compiz而已，关于是否开启composition的设置系统并未做任何改动，而是永久开启的。到此也知道如何改回去了，把compiz替换成metacity即可，更暴力的方法是直接删除这个%gconf.xml，重起X，桌面又回来了:)</p>
<p>然后就是想办法解决白屏问题，简单看了一下Xorg的log，发现原因很可能是显卡驱动的api支持方面的问题造成的。于是打算升级一下驱动试试看。由于Intel大部分硬件驱动都是开源的，所以并不像nv或ati那样需要restric的驱动包以及内核。直接用新立得update，看看有没有最新版本的驱动，发现目前使用的i810已经是最新的了。然后又发现这里是有2个显卡驱动的，一个是810，另一个是intel，对比了一下description发现intel的驱动似乎是比较好的，于是选中xserver-xorg-vedio-intel，计算依赖关系时自动删除了xserver-xorg-vedio-i810，安装完成后restart X，结果&#8230;&#8230;X挂了-_-</p>
<p>照样看log，发现是无法载入i810模块，呃，貌似忘记修改xorg.conf了，立刻把i810替换成intel，再startx，起来了。一切顺利。然后再次enable Desktop Effects，这次终于出来了，窗口开始抖了（这次不是崩溃，是特效-_-）。</p>
<p>简单测试了一下，看来集成显卡也是可以用的嘛，不至于太慢。glxgears也有400分，呵呵。</p>
<p>总结一下：</p>
<p>1，在865G的平台上想要开启AIGLX，需要使用intel这个驱动，而不是i810。然后开启Desktop Effects即可。</p>
<p>2，如果Desktop Effects开启出现任何问题导致无法在GUI下进行操作，通过修改gconf配置文件来还原，位置是在用户的~/.gconf。</p>
<p>最后感慨，gconf这玩艺现在越做越象注册表了。</p>
<p>顺便还发现，以前用i810不能调整刷新速率的，现在可以了，找了一下说明发现i810是自己管理分辨率和刷新速率的，无视xorg.conf的设置，怪不得我前段时间调整了好几天的xorg.conf都不能把刷新速率由75Hz降到60Hz。还有intel这个驱动可以支持宽屏的分辨率，不像i810一样需要安装915reslution来实现。</p>
<ul class="related_post"><li>2006/09/24 -- <a href="http://opslife.com/ubuntu-aiglx-beryl/" title="我的3D桌面新体验：AIGLX＋beryl(compiz) under Ubuntu (6.10)Edgy">我的3D桌面新体验：AIGLX＋beryl(compiz) under Ubuntu (6.10)Edgy</a> (2)</li><li>2007/08/21 -- <a href="http://opslife.com/ubuntu-server-hijacked-and-skypes-disruption/" title="Ubuntu官方服务器被入侵以及skype瘫痪">Ubuntu官方服务器被入侵以及skype瘫痪</a> (6)</li><li>2006/06/17 -- <a href="http://opslife.com/ubuntu-linux/" title="Ubuntu 6.06 Linux">Ubuntu 6.06 Linux</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/aiglx-under-ubuntu-feisty-fawn-865g/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>集成式式软件防火墙解决方案</title>
		<link>http://opslife.com/%e9%9b%86%e6%88%90%e5%bc%8f%e5%bc%8f%e8%bd%af%e4%bb%b6%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/</link>
		<comments>http://opslife.com/%e9%9b%86%e6%88%90%e5%bc%8f%e5%bc%8f%e8%bd%af%e4%bb%b6%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 19:38:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.opslife.com/?p=159</guid>
		<description><![CDATA[<p>上周末公司的ISA网关崩了，是硬件原因造成的。虽说这个ISA是我当年捡了一台废弃的双P3机器装起来的，虽说从安装到投入使用只有几个小时时间，然而基于Windows 2003的这个玩意儿却是出奇的稳定，几年下来没出过任何问题，只有因为硬件故障造成的几次死机而已。微软的东西只要调教的好，还是很不错的。然而我终究还是决定找另外的东西把它替换掉了，原因是ISA在流量监控方面有先天不足，这也正常，毕竟这不是ISA设计初考虑的东西。另一方面刚好试验一下前一阵子关注过的一些东西。说得直白一些，我就是想拿办公室网络当小白鼠试验一下基于Linux或BSD的软件Router/Firewall/NAT/TrafficShape解决方案，因为总有那么几个近年来比较活跃的东西在诱惑我去尝试。当然，付出的代价就是无法享受ISA那种应用层协议控制能力了。</p>
<p>硬件方面，依旧是从破烂堆里捡出来的一套双PIII-S的1U机架服务器，带有3个Intel 82559的网卡，俩36GSCSI硬盘，用来拖不到100台PC绰绰有余（恐怕那些用来做网吧解决方案的XD们看到这个配置会羡慕死，但对我们来说这确实就是没用的破烂机器，hahaaaa）。</p>
<p>至于软件解决方案呢，备选者有以下3个：</p>
<p>1，RouterOS，老牌的东西了，用的系统似乎是什么WinBOX，不是很了解，但是在用户群里面的评价是比较稳定的东东，但遗憾的是这是个商业产品，所以首先out了。
2，m0n0wall，名字比较奇怪的东东，然而功能可谓强大，是基于FreeBSD系统的实现，包处理的核心机制是IPFilter，同时实现了一套Web-based的管理系统。再加上集成了dhcpd，dnsmasq，racoon，usd-snmpd，ez-ipupdate等杂七杂八的东西，实现了DNS，DHCP，IPSec，VPN，TrafficShape功能，可谓能想到什么就能实现什么了，单论功能，已经比所谓的硬件防火墙强很多了。本来我就是打算拿这玩意儿来研究的，然而一不小心看到了下面这个东西&#8230;..
3，pfsense，这个是m0n0wall的一个fork版本，论功能，与上面的那个没什么区别，然而派生这个分支的关键是作者希望有一个基于PF核心的包处理机制，于是就出现了pfsense，另外m0n0致力于嵌入式应用，多考虑在CF这种media上跑，力图把所有东西做在内存中运行，因此刻意裁减了很多东西，而pfsense就没有这方面的顾虑，所以加入了很多功能强大但同时可能占用较多内存和硬盘资源的玩意，优点就是能实现更多样的功能，缺点就是硬件要求高，同时可能运行在会随时断电的环境下会出问题。</p>
<p>以我个人对FreeBSD系统以及其相应包处理机制的了解来看，IPFilter用作NAT应该是最稳定的，而PF在策略路由等高级路由控制方面是唯一的，其他方案都无相应实现，同时PF的NAT高效，但稳定性还需考验，问题多出现在状态表方面，需要有一些Debug的能力才能驾驭得好，而stateless filter方面应该是ipfw最高效和稳定，然而无论是m0n0wall还是pfsense都不考虑它，那也只有放弃ipfw了。在流量整形方面，无疑是ALTQ最为灵活和高效，而pf则是天生与ALTQ配合得好。
所以答案很明显了，选择pfsense。</p>
<p>下载下来的压缩包只有26M，解开的ISO也不过30M多一些而已，刻盘，引导，都是顺利得无法再顺利了，从DMSG看是FreeBSD 6.1的系统。引导结束进入使用界面，只是以交互式的方式问了几个问题，例如LAN口的IP，WAN口IP，是否开启DHCP，DNS等，全部写完则就已经可以运行了，然后选择安装到硬盘，进入一个sysinstall界面，分区，划slice，开始安装。2分钟文件就全部copy完成。拿掉CD后reboot，和普通FreeBSD一样的启动界面，启动完成后一个带有基础NAT和Web管理界面的网关就这么搞定了，总共用时还不到半小时，插上网线试运行，一切OK。</p>
<p>不得不赞叹现在的软件包设计的完善，接下来准备研究一下其核心实现机制，以及TrafficShape能力了。</p>
<p>Update:发现m0n0wall是利用ipfw+dummeynet来实现流量整形的。</p>
2009/12/28 -- Debian Lenny安装nginx+PHP+MySQL傻瓜手记 (14)2009/03/15 -- 手记:VPS上安装Nginx+PHP+FastCGI+MySQL (3)2008/10/17 -- 新玩具&#8211;VPS入手 (6)2007/10/10 -- 近期小结 (2)2007/08/07 -- A comment abount SD, CFS Schedulers,from ULE&#8217;s author (15)2007/06/21 -- NDSL一天把玩手记 (3)2007/03/28 -- 无光驱、软驱，通过PXE安装Windows 2003 (3)2007/03/27 -- 使用pfsense学习PF笔记之一-NAT (0)2007/03/20 -- 用于学习和实验目的的远程免费Solaris的shell帐号 (3)2007/03/17 -- 利用URL Rewrite禁止baidu mp3搜索 (0)]]></description>
			<content:encoded><![CDATA[<p>上周末公司的ISA网关崩了，是硬件原因造成的。虽说这个ISA是我当年捡了一台废弃的双P3机器装起来的，虽说从安装到投入使用只有几个小时时间，然而基于Windows 2003的这个玩意儿却是出奇的稳定，几年下来没出过任何问题，只有因为硬件故障造成的几次死机而已。微软的东西只要调教的好，还是很不错的。<span id="more-159"></span>然而我终究还是决定找另外的东西把它替换掉了，原因是ISA在流量监控方面有先天不足，这也正常，毕竟这不是ISA设计初考虑的东西。另一方面刚好试验一下前一阵子关注过的一些东西。说得直白一些，我就是想拿办公室网络当小白鼠试验一下基于Linux或BSD的软件Router/Firewall/NAT/TrafficShape解决方案，因为总有那么几个近年来比较活跃的东西在诱惑我去尝试。当然，付出的代价就是无法享受ISA那种应用层协议控制能力了。</p>
<p>硬件方面，依旧是从破烂堆里捡出来的一套双PIII-S的1U机架服务器，带有3个Intel 82559的网卡，俩36GSCSI硬盘，用来拖不到100台PC绰绰有余（恐怕那些用来做网吧解决方案的XD们看到这个配置会羡慕死，但对我们来说这确实就是没用的破烂机器，hahaaaa）。</p>
<p>至于软件解决方案呢，备选者有以下3个：</p>
<p>1，<a href="http://www.mikrotik.com/software.html" >RouterOS</a>，老牌的东西了，用的系统似乎是什么WinBOX，不是很了解，但是在用户群里面的评价是比较稳定的东东，但遗憾的是这是个商业产品，所以首先out了。<br />
2，<a href="http://m0n0.ch/wall/" >m0n0wall</a>，名字比较奇怪的东东，然而功能可谓强大，是基于FreeBSD系统的实现，包处理的核心机制是IPFilter，同时实现了一套Web-based的管理系统。再加上集成了dhcpd，dnsmasq，racoon，usd-snmpd，ez-ipupdate等杂七杂八的东西，实现了DNS，DHCP，IPSec，VPN，TrafficShape功能，可谓能想到什么就能实现什么了，单论功能，已经比所谓的硬件防火墙强很多了。本来我就是打算拿这玩意儿来研究的，然而一不小心看到了下面这个东西&#8230;..<br />
3，<a href="http://www.pfsense.com/" >pfsense</a>，这个是m0n0wall的一个fork版本，论功能，与上面的那个没什么区别，然而派生这个分支的关键是作者希望有一个基于PF核心的包处理机制，于是就出现了pfsense，另外m0n0致力于嵌入式应用，多考虑在CF这种media上跑，力图把所有东西做在内存中运行，因此刻意裁减了很多东西，而pfsense就没有这方面的顾虑，所以加入了很多功能强大但同时可能占用较多内存和硬盘资源的玩意，优点就是能实现更多样的功能，缺点就是硬件要求高，同时可能运行在会随时断电的环境下会出问题。</p>
<p>以我个人对FreeBSD系统以及其相应包处理机制的了解来看，IPFilter用作NAT应该是最稳定的，而PF在策略路由等高级路由控制方面是唯一的，其他方案都无相应实现，同时PF的NAT高效，但稳定性还需考验，问题多出现在状态表方面，需要有一些Debug的能力才能驾驭得好，而stateless filter方面应该是ipfw最高效和稳定，然而无论是m0n0wall还是pfsense都不考虑它，那也只有放弃ipfw了。在流量整形方面，无疑是ALTQ最为灵活和高效，而pf则是天生与ALTQ配合得好。<br />
所以答案很明显了，选择pfsense。</p>
<p>下载下来的压缩包只有26M，解开的ISO也不过30M多一些而已，刻盘，引导，都是顺利得无法再顺利了，从DMSG看是FreeBSD 6.1的系统。引导结束进入使用界面，只是以交互式的方式问了几个问题，例如LAN口的IP，WAN口IP，是否开启DHCP，DNS等，全部写完则就已经可以运行了，然后选择安装到硬盘，进入一个sysinstall界面，分区，划slice，开始安装。2分钟文件就全部copy完成。拿掉CD后reboot，和普通FreeBSD一样的启动界面，启动完成后一个带有基础NAT和Web管理界面的网关就这么搞定了，总共用时还不到半小时，插上网线试运行，一切OK。</p>
<p>不得不赞叹现在的软件包设计的完善，接下来准备研究一下其核心实现机制，以及TrafficShape能力了。</p>
<p><strong>Update:</strong>发现m0n0wall是利用ipfw+dummeynet来实现流量整形的。</p>
<ul class="related_post"><li>2009/12/28 -- <a href="http://opslife.com/install-nginx-php-mysql-on-debian-lenny/" title="Debian Lenny安装nginx+PHP+MySQL傻瓜手记">Debian Lenny安装nginx+PHP+MySQL傻瓜手记</a> (14)</li><li>2009/03/15 -- <a href="http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/" title="手记:VPS上安装Nginx+PHP+FastCGI+MySQL">手记:VPS上安装Nginx+PHP+FastCGI+MySQL</a> (3)</li><li>2008/10/17 -- <a href="http://opslife.com/buying-new-swvps/" title="新玩具&#8211;VPS入手">新玩具&#8211;VPS入手</a> (6)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2007/08/07 -- <a href="http://opslife.com/jeffr-comment-about-sd-and-cfs/" title="A comment abount SD, CFS Schedulers,from ULE&#8217;s author">A comment abount SD, CFS Schedulers,from ULE&#8217;s author</a> (15)</li><li>2007/06/21 -- <a href="http://opslife.com/ndsl%e4%b8%80%e5%a4%a9%e6%8a%8a%e7%8e%a9%e6%89%8b%e8%ae%b0/" title="NDSL一天把玩手记">NDSL一天把玩手记</a> (3)</li><li>2007/03/28 -- <a href="http://opslife.com/%e6%97%a0%e5%85%89%e9%a9%b1%e3%80%81%e8%bd%af%e9%a9%b1%ef%bc%8c%e9%80%9a%e8%bf%87pxe%e5%ae%89%e8%a3%85windows-2003/" title="无光驱、软驱，通过PXE安装Windows 2003">无光驱、软驱，通过PXE安装Windows 2003</a> (3)</li><li>2007/03/27 -- <a href="http://opslife.com/%e4%bd%bf%e7%94%a8pfsense%e5%ad%a6%e4%b9%a0pf%e7%ac%94%e8%ae%b0%e4%b9%8b%e4%b8%80-nat/" title="使用pfsense学习PF笔记之一-NAT">使用pfsense学习PF笔记之一-NAT</a> (0)</li><li>2007/03/20 -- <a href="http://opslife.com/%e7%94%a8%e4%ba%8e%e5%ad%a6%e4%b9%a0%e5%92%8c%e5%ae%9e%e9%aa%8c%e7%9b%ae%e7%9a%84%e7%9a%84%e8%bf%9c%e7%a8%8b%e5%85%8d%e8%b4%b9solaris%e7%9a%84shell%e5%b8%90%e5%8f%b7/" title="用于学习和实验目的的远程免费Solaris的shell帐号">用于学习和实验目的的远程免费Solaris的shell帐号</a> (3)</li><li>2007/03/17 -- <a href="http://opslife.com/rewite-deny-baidu-mp3/" title="利用URL Rewrite禁止baidu mp3搜索">利用URL Rewrite禁止baidu mp3搜索</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/%e9%9b%86%e6%88%90%e5%bc%8f%e5%bc%8f%e8%bd%af%e4%bb%b6%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用于学习和实验目的的远程免费Solaris的shell帐号</title>
		<link>http://opslife.com/%e7%94%a8%e4%ba%8e%e5%ad%a6%e4%b9%a0%e5%92%8c%e5%ae%9e%e9%aa%8c%e7%9b%ae%e7%9a%84%e7%9a%84%e8%bf%9c%e7%a8%8b%e5%85%8d%e8%b4%b9solaris%e7%9a%84shell%e5%b8%90%e5%8f%b7/</link>
		<comments>http://opslife.com/%e7%94%a8%e4%ba%8e%e5%ad%a6%e4%b9%a0%e5%92%8c%e5%ae%9e%e9%aa%8c%e7%9b%ae%e7%9a%84%e7%9a%84%e8%bf%9c%e7%a8%8b%e5%85%8d%e8%b4%b9solaris%e7%9a%84shell%e5%b8%90%e5%8f%b7/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 20:06:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.opslife.com/?p=157</guid>
		<description><![CDATA[<p>也许是国内首家？很高兴能看到终于国内也有人开始做类似的公益性服务了。
我本人由于硬件条件局限，只稍微接触过X86架构下的Solaris，而这次提供的是货真价实的Sun Fire服务器。
提供了一个免费shell帐号，10M空间，用于熟悉Solaris的话，应该是足够了。</p>
<p>首次登陆的motd有如下提示：</p>
<p>欢迎登录Unix体验中心的X4100 服务器。本服务器配备两颗2.4 GHz 的AMD Opteron
280 处理器，4 GB内存，运行Solaris 10操作系统。本系统提供了Sun Studio 11集
成开发环境以及Java SE 5.0软件开发包。
.
您可以使用如下命令调用各种语言程序的编译器：
C 语言：cc
C++ 语言：CC
Java语言：javac
Fortran 语言：f95</p>
<p>看来真的不错，有想研究Unix类操作系统和Sun Solaris的同学们赶紧去注册个帐号玩吧，详细介绍链接如下：</p>
<p>Unix体验中心 －－ 开张啦！</p>
<p>Update:本以为是X86_64的Solaris，没想到uname -a了一下看到还是i386 -_-</p>
2009/12/28 -- Debian Lenny安装nginx+PHP+MySQL傻瓜手记 (14)2009/03/15 -- 手记:VPS上安装Nginx+PHP+FastCGI+MySQL (3)2008/10/17 -- 新玩具&#8211;VPS入手 (6)2007/10/10 -- 近期小结 (2)2007/08/07 -- A comment abount SD, CFS Schedulers,from ULE&#8217;s author (15)2007/06/21 -- NDSL一天把玩手记 (3)2007/03/27 -- 集成式式软件防火墙解决方案 (0)2007/03/12 -- 踩地雷了,要重新编译整个xorg (0)2007/02/26 -- [标记]虚拟 [...]]]></description>
			<content:encoded><![CDATA[<p>也许是国内首家？很高兴能看到终于国内也有人开始做类似的公益性服务了。<br />
我本人由于硬件条件局限，只稍微接触过X86架构下的Solaris，而这次提供的是货真价实的Sun Fire服务器。<br />
提供了一个免费shell帐号，10M空间，用于熟悉Solaris的话，应该是足够了。</p>
<p>首次登陆的motd有如下提示：</p>
<blockquote><p>欢迎登录Unix体验中心的X4100 服务器。本服务器配备两颗2.4 GHz 的AMD Opteron<br />
280 处理器，4 GB内存，运行Solaris 10操作系统。本系统提供了Sun Studio 11集<br />
成开发环境以及Java SE 5.0软件开发包。<br />
.<br />
您可以使用如下命令调用各种语言程序的编译器：<br />
C 语言：cc<br />
C++ 语言：CC<br />
Java语言：javac<br />
Fortran 语言：f95</p></blockquote>
<p>看来真的不错，有想研究Unix类操作系统和Sun Solaris的同学们赶紧去注册个帐号玩吧，详细介绍链接如下：</p>
<p><a href="http://www.unix-center.net/?p=3" >Unix体验中心 －－ 开张啦！</a></p>
<p><strong>Update:本以为是X86_64的Solaris，没想到uname -a了一下看到还是i386 -_-</strong></p>
<ul class="related_post"><li>2009/12/28 -- <a href="http://opslife.com/install-nginx-php-mysql-on-debian-lenny/" title="Debian Lenny安装nginx+PHP+MySQL傻瓜手记">Debian Lenny安装nginx+PHP+MySQL傻瓜手记</a> (14)</li><li>2009/03/15 -- <a href="http://opslife.com/nginx-php-fastcgi-mysql-under-linux-vps/" title="手记:VPS上安装Nginx+PHP+FastCGI+MySQL">手记:VPS上安装Nginx+PHP+FastCGI+MySQL</a> (3)</li><li>2008/10/17 -- <a href="http://opslife.com/buying-new-swvps/" title="新玩具&#8211;VPS入手">新玩具&#8211;VPS入手</a> (6)</li><li>2007/10/10 -- <a href="http://opslife.com/sep-personal-summary/" title="近期小结">近期小结</a> (2)</li><li>2007/08/07 -- <a href="http://opslife.com/jeffr-comment-about-sd-and-cfs/" title="A comment abount SD, CFS Schedulers,from ULE&#8217;s author">A comment abount SD, CFS Schedulers,from ULE&#8217;s author</a> (15)</li><li>2007/06/21 -- <a href="http://opslife.com/ndsl%e4%b8%80%e5%a4%a9%e6%8a%8a%e7%8e%a9%e6%89%8b%e8%ae%b0/" title="NDSL一天把玩手记">NDSL一天把玩手记</a> (3)</li><li>2007/03/27 -- <a href="http://opslife.com/%e9%9b%86%e6%88%90%e5%bc%8f%e5%bc%8f%e8%bd%af%e4%bb%b6%e9%98%b2%e7%81%ab%e5%a2%99%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/" title="集成式式软件防火墙解决方案">集成式式软件防火墙解决方案</a> (0)</li><li>2007/03/12 -- <a href="http://opslife.com/%e8%b8%a9%e5%9c%b0%e9%9b%b7%e4%ba%86%e8%a6%81%e9%87%8d%e6%96%b0%e7%bc%96%e8%af%91%e6%95%b4%e4%b8%aaxorg/" title="踩地雷了,要重新编译整个xorg">踩地雷了,要重新编译整个xorg</a> (0)</li><li>2007/02/26 -- <a href="http://opslife.com/%e6%a0%87%e8%ae%b0%e8%99%9a%e6%8b%9f-linux/" title="[标记]虚拟 Linux">[标记]虚拟 Linux</a> (1)</li><li>2006/09/24 -- <a href="http://opslife.com/ubuntu-aiglx-beryl/" title="我的3D桌面新体验：AIGLX＋beryl(compiz) under Ubuntu (6.10)Edgy">我的3D桌面新体验：AIGLX＋beryl(compiz) under Ubuntu (6.10)Edgy</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://opslife.com/%e7%94%a8%e4%ba%8e%e5%ad%a6%e4%b9%a0%e5%92%8c%e5%ae%9e%e9%aa%8c%e7%9b%ae%e7%9a%84%e7%9a%84%e8%bf%9c%e7%a8%8b%e5%85%8d%e8%b4%b9solaris%e7%9a%84shell%e5%b8%90%e5%8f%b7/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
