<?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>开源小站</title>
	<atom:link href="http://www.litrin.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.litrin.net</link>
	<description>It is Cool to OpenSource</description>
	<lastBuildDate>Thu, 04 Mar 2010 02:43:16 +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>将Apache日志实时写入mysql</title>
		<link>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/</link>
		<comments>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:54:15 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1176</guid>
		<description><![CDATA[




貌似 站长Litrin已经很久没有关注过LAMP的东西了。
作为网站运行来说，日志分析是一个很重要的工作。当一个网站的日志到了一定程度，或者一个网站同时有多台服务器的时候，传统的文本日志分析总会遇到瓶颈。
这个时候我就会想起强大的sql语句。看了网上很多人的帖子，都是将日志转成sql语句再导入的，搞得有点复杂。本方案不需要任何多余的软件和操作，一切全是实时、自动，供各位参考。

主机至少需要预安装apache(废话！)和mysql的客户端。如果访问量不大且服务器的资源管够的话可以将mysql装在本地，否则建议一台独立的mysql服务器。
在apache配置文件或者虚拟主机配置文件中面添加





LogFormat INSERT INTO apacheLog (ID, dateTime, IP, URL, code, referer, userAgent, size, request) VALUES ( NULL , \"%{%Y-%m-%d %H:%M:%S}t\", \"%a\", \"%U\", \"%&#62;s\", \" %{Referer}i\", \"%{User-Agent}i\", %b, %T);" sqlcomm
CustomLog "&#124; /usr/local/Mysql --host=HOST --user=USER --password=PASSWORD --database=LITRIN_NET" sqlcomm
建立数据库apacheLog。
建数据表（不写sql了，我直接用phpmyadmin建的）：
+-----------+--------------+------+-----+---------+----------------+
&#124; Field     &#124; Type         &#124; Null &#124; Key &#124; Default &#124; Extra          &#124;
+-----------+--------------+------+-----+---------+----------------+
&#124; ID        &#124; int(11)      &#124; NO   &#124; PRI &#124; NULL    [...]]]></description>
			<content:encoded><![CDATA[<p>貌似 站长Litrin已经很久没有关注过LAMP的东西了。</p>
<p>作为网站运行来说，日志分析是一个很重要的工作。当一个网站的日志到了一定程度，或者一个网站同时有多台服务器的时候，传统的文本日志分析总会遇到瓶颈。</p>
<p>这个时候我就会想起强大的sql语句。看了网上很多人的帖子，都是将日志转成sql语句再导入的，搞得有点复杂。本方案不需要任何多余的软件和操作，一切全是实时、自动，供各位参考。</p>
<p><span id="more-1176"></span></p>
<p>主机至少需要预安装apache(废话！)和mysql的客户端。如果访问量不大且服务器的资源管够的话可以将mysql装在本地，否则建议一台独立的mysql服务器。</p>
<p>在apache配置文件或者虚拟主机配置文件中面添加</p>
<pre>LogFormat INSERT INTO apacheLog (ID, dateTime, IP, URL, code, referer, userAgent, size, request) VALUES ( NULL , \"%{%Y-%m-%d %H:%M:%S}t\", \"%a\", \"%U\", \"%&gt;s\", \" %{Referer}i\", \"%{User-Agent}i\", %b, %T);" sqlcomm
CustomLog "| /usr/local/Mysql --host=HOST --user=USER --password=PASSWORD --database=LITRIN_NET" sqlcomm</pre>
<p>建立数据库apacheLog。</p>
<pre>建数据表（不写sql了，我直接用phpmyadmin建的）：</pre>
<pre>+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| ID        | int(11)      | NO   | PRI | NULL    | auto_increment |
| dateTime  | datetime     | NO   |     | NULL    |                |
| IP        | varchar(15)  | NO   |     | NULL    |                |
| URL       | varchar(256) | NO   |     | NULL    |                |
| code      | varchar(3)   | NO   |     | NULL    |                |
| referer   | varchar(256) | NO   |     | NULL    |                |
| userAgent | varchar(256) | NO   |     | NULL    |                |
| size      | int(11)      | NO   |     | NULL    |                |
| request   | int(11)      | NO   |     | NULL    |                |
+-----------+--------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)</pre>
<p> 确认无误后重启apache生效！</p>
<p>其实整个流程很简单：先是利用LogFormat设置将日志转换为接近sql的格式，再通过CustomLog 调用pipe实现mysql写入。你也可以参照<a rel="nofollow" target="_blank" href="http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats">http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats</a>的格式设置写入自己关心的数据。<br />
此外，你也可以使用<code>SetEnvIf配合正则表达式过滤掉诸如图片、CSS、JS之类相对不重要的信息。</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/24/%e5%b0%86apache%e6%97%a5%e5%bf%97%e5%ae%9e%e6%97%b6%e5%86%99%e5%85%a5mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solaris连锁故障</title>
		<link>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/</link>
		<comments>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 06:19:29 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1172</guid>
		<description><![CDATA[公司有一台服务器，属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。
且说这天需要重启，重启后无法通过ssh连接，通过串口终端连上之后发觉由于之前习惯于ssh key登录，一直没有root密码。郁闷中。

这台机器，一没有显卡，二没有光驱。实在让人头疼。七手八脚的把自己本本的光驱拆下来装在机器上，又发觉是自动硬盘启动的那种，无法光驱启动。
获得OK提示符
获得OK，相对比较容易，只是一般的键盘不是sun专用，没有那一堆控制键。
进入串口终端，启动机器并载入操作系统之后，在终端输入 #. 进入SC，运气不错，SC没有密码。输入break，再console回来就获得了Ok提示符。
获取root密码
进入OK后，放入solaris for sparc的盘，输入boot cdrom -s 进入修复系统。中间有一段比较漫长的等待。
进入系统后将硬盘 /dev/dsk/c1t0d0s0 挂装好之后找到硬盘上的etc/shadow。
将第一行的root:xxxxxxxxxxxx:14302:::::: 修改为root::14302::::::
重新启动后用空密码就可以直接登系统。
SVCS问题
进入系统后，发现一大堆SVC服务无法启动，所有的问题都来自于一个关键应用 system-filesystem-local:default 无法正常启动。
tail /var/svc/log/system-filesystem-local:default.log 发觉有如下报错：WARNING: /sbin/mountall -l failed: exit status 1
不解，但既然是mount的问题，肯定和/etc/vfstab有关。打开这个文件，顿时就傻了——最后一行：
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no
&#8230;&#8230;.
/dev/dsk/c1t3d0s0  /dev/rdsk/c1t3d0s0  /backup  ufs  0  yes  rw
系统将/backup的挂装顺序设置为了0，/为1。这意味着系统默认会先挂/backup，后挂/。摆明了肯定会错。注释掉/backup这一行，问题解决！
分析
问题出的无厘头。
原来之前曾经对这个机器添加过硬盘，当时通过webmin直接修改的vfstab，webmin的一个bug导致了vfstab的错误。只是之前从未重启，也没暴露出来。
没有root密码也是因为一直没有暴露出这个交接不清的问题。

Webmin BUG -&#62;硬盘挂装出错-&#62;fs关键服务不能启动-&#62;网络不启动-&#62;ssh不启动-&#62;无密码不能登入-&#62;需要OK提示符纠结~~~~
]]></description>
			<content:encoded><![CDATA[<p>公司有一台服务器，属于经常被冷落的那种。SunV245 + solaris 10 + Oracle 10G 。自从装好机之后uptime至少有2年了。</p>
<p>且说这天需要重启，重启后无法通过ssh连接，通过串口终端连上之后发觉由于之前习惯于ssh key登录，一直没有root密码。郁闷中。</p>
<p><span id="more-1172"></span></p>
<p>这台机器，一没有显卡，二没有光驱。实在让人头疼。七手八脚的把自己本本的光驱拆下来装在机器上，又发觉是自动硬盘启动的那种，无法光驱启动。</p>
<p><strong>获得OK提示符</strong></p>
<p>获得OK，相对比较容易，只是一般的键盘不是sun专用，没有那一堆控制键。<br />
进入串口终端，启动机器并载入操作系统之后，在终端输入 #. 进入SC，运气不错，SC没有密码。输入break，再console回来就获得了Ok提示符。</p>
<p><strong>获取root密码</strong></p>
<p>进入OK后，放入solaris for sparc的盘，输入boot cdrom -s 进入修复系统。中间有一段比较漫长的等待。<br />
进入系统后将硬盘 /dev/dsk/c1t0d0s0 挂装好之后找到硬盘上的etc/shadow。<br />
将第一行的root:xxxxxxxxxxxx:14302:::::: 修改为root::14302::::::<br />
重新启动后用空密码就可以直接登系统。</p>
<p><strong>SVCS问题</strong></p>
<p>进入系统后，发现一大堆SVC服务无法启动，所有的问题都来自于一个关键应用 system-filesystem-local:default 无法正常启动。<br />
tail /var/svc/log/system-filesystem-local:default.log 发觉有如下报错：<span style="color: #ff0000;">WARNING: /sbin/mountall -l failed: exit status 1</span></p>
<p><span style="color: #000000;">不解，但既然是mount的问题，肯定和/etc/vfstab有关。打开这个文件，顿时就傻了——最后一行：<br />
</span><span style="color: #000000;">/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     <span style="text-decoration: underline;">1 </span>      no<br />
&#8230;&#8230;.</span><span style="color: #000000;"><br />
/dev/dsk/c1t3d0s0  /dev/rdsk/c1t3d0s0  /backup  ufs <span style="text-decoration: underline;"> 0</span>  yes  rw<br />
系统将/backup的挂装顺序设置为了0，/为1。这意味着系统默认会先挂/backup，后挂/。摆明了肯定会错。注释掉/backup这一行，问题解决！</span></p>
<p><span style="color: #000000;"><strong>分析</strong></span></p>
<p><span style="color: #000000;">问题出的无厘头。<br />
原来之前曾经对这个机器添加过硬盘，当时通过webmin直接修改的vfstab，webmin的一个bug导致了vfstab的错误。只是之前从未重启，也没暴露出来。<br />
没有root密码也是因为一直没有暴露出这个交接不清的问题。</span></p>
<p><span style="color: #000000;"><br />
<strong>Webmin BUG -&gt;硬盘挂装出错-&gt;fs关键服务不能启动-&gt;网络不启动-&gt;ssh不启动-&gt;无密码不能登入-&gt;需要OK提示符</strong></span><span style="color: #000000;">纠结~~~~</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/22/solaris%e8%bf%9e%e9%94%81%e6%95%85%e9%9a%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用SSH Tunnel穿越防火墙</title>
		<link>http://www.litrin.net/2010/02/09/%e7%94%a8ssh-tunnel%e7%a9%bf%e8%b6%8a%e9%98%b2%e7%81%ab%e5%a2%99/</link>
		<comments>http://www.litrin.net/2010/02/09/%e7%94%a8ssh-tunnel%e7%a9%bf%e8%b6%8a%e9%98%b2%e7%81%ab%e5%a2%99/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 02:17:06 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[桌面应用]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1164</guid>
		<description><![CDATA[这次接上篇。
很多企业对互联网的访问进行了限制，如何突破防火墙的限制成了一个问题。本文就是利用了SSH tunnel搭建了socket5代理。
首先，申请一个外网的ssh帐户，个人建议使用http://www.unix-center.net/提供的免费资源，该网站还提供多种平台主机可供测试之用，非常不错！当然，如果可以使用密钥方式登录那就完美了。

申请好账户之后，依然在本地安装ssh的客户端，windows推荐putty。
安装好后执行putty，在hostname里面输入主机名，或者用户名@主机名。我选了FreeBSD的那台，有兴趣的话还有ubuntu，Sun，甚至龙芯一系列主机可供挑选
选择ssh-&#62;tunnels，在source栏里添加你要提供的端口号，一般随便填一个未使用的端口就可，我用了8080端口。选择Dynamic，点击add。这里需要说明的是，如果你的主机允许别人使用的话，请勾选最上面的Local ports accept connection from other hosts。
点击Open确认连接，在接下来的窗口中输入用户名和密码。最小化窗口，不要关闭。
打开命令行，输入命令netstat -an，如果出现了你刚才输入的那个端口号的侦听，说明搭建成功！socket服务已经完成。
浏览器设置，IE:internet选项，连接，局域网设置，勾选“为LAN使用代理服务器”，高级，套接字选择127.0.0.1并填写端口号。完成设置。
对应的命令行：

plink : plink -C -N -f -D 端口号 用户名@主机名
ssh: ssh  -C -N -f -D 端口号 用户名@主机名

PS:
话两头说，如果你负责一个企业局域网的话，稍大点的企业如果要限网，SSH端口是绝对要加以限制使用的。伟大的防火墙亦是如此。
]]></description>
			<content:encoded><![CDATA[<p>这次接<a href="http://www.litrin.net/2010/02/03/%e7%94%a8ssh-tunnel%e6%89%93%e9%80%a0%e5%ae%89%e5%85%a8%e9%82%ae%e4%bb%b6%e7%b3%bb%e7%bb%9f/" target="_blank">上篇</a>。</p>
<p>很多企业对互联网的访问进行了限制，如何突破防火墙的限制成了一个问题。本文就是利用了SSH tunnel搭建了socket5代理。</p>
<p>首先，申请一个外网的ssh帐户，个人建议使用<a rel="nofollow" target="_blank" href="http://www.unix-center.net/">http://www.unix-center.net/</a>提供的免费资源，该网站还提供多种平台主机可供测试之用，非常不错！当然，如果可以使用密钥方式登录那就完美了。</p>
<p><span id="more-1164"></span></p>
<p>申请好账户之后，依然在本地安装ssh的客户端，windows推荐<a rel="nofollow" target="_blank" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">putty</a>。</p>
<p>安装好后执行putty，在hostname里面输入主机名，或者用户名@主机名。我选了FreeBSD的那台，有兴趣的话还有ubuntu，Sun，甚至龙芯一系列主机可供挑选</p>
<div id="attachment_1166" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_putty_main.png"><img class="size-medium wp-image-1166" title="ssh_proxy_putty_main" src="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_putty_main-300x288.png" alt="Putty 主界面" width="300" height="288" /></a><p class="wp-caption-text">Putty 主界面</p></div>
<p>选择ssh-&gt;tunnels，在source栏里添加你要提供的端口号，一般随便填一个未使用的端口就可，我用了8080端口。选择Dynamic，点击add。这里需要说明的是，如果你的主机允许别人使用的话，请勾选最上面的Local ports accept connection from other hosts。</p>
<div id="attachment_1167" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_putty_tunnel_setting.png"><img class="size-medium wp-image-1167" title="ssh_proxy_putty_tunnel_setting" src="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_putty_tunnel_setting-300x288.png" alt="Putty ssh tunnel界面" width="300" height="288" /></a><p class="wp-caption-text">Putty ssh tunnel界面</p></div>
<p>点击Open确认连接，在接下来的窗口中输入用户名和密码。最小化窗口，不要关闭。</p>
<p>打开命令行，输入命令netstat -an，如果出现了你刚才输入的那个端口号的侦听，说明搭建成功！socket服务已经完成。</p>
<div id="attachment_1165" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_netstat.png"><img class="size-medium wp-image-1165" title="ssh_proxy_netstat" src="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_netstat-300x195.png" alt="netstat -an " width="300" height="195" /></a><p class="wp-caption-text">netstat -an </p></div>
<p>浏览器设置，IE:internet选项，连接，局域网设置，勾选“为LAN使用代理服务器”，高级，套接字选择127.0.0.1并填写端口号。完成设置。</p>
<div id="attachment_1168" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_IE.png"><img class="size-medium wp-image-1168" title="ssh_proxy_IE" src="http://www.litrin.net/wp-content/uploads/2010/02/ssh_proxy_IE-300x300.png" alt="IE 设置" width="300" height="300" /></a><p class="wp-caption-text">IE 设置</p></div>
<p>对应的命令行：</p>
<ol>
<li>plink : plink -C -N -f -D 端口号 用户名@主机名</li>
<li>ssh: ssh  -C -N -f -D 端口号 用户名@主机名</li>
</ol>
<p>PS:<br />
话两头说，如果你负责一个企业局域网的话，稍大点的企业如果要限网，SSH端口是绝对要加以限制使用的。伟大的防火墙亦是如此。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/09/%e7%94%a8ssh-tunnel%e7%a9%bf%e8%b6%8a%e9%98%b2%e7%81%ab%e5%a2%99/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>用ssh tunnel打造安全邮件系统</title>
		<link>http://www.litrin.net/2010/02/03/%e7%94%a8ssh-tunnel%e6%89%93%e9%80%a0%e5%ae%89%e5%85%a8%e9%82%ae%e4%bb%b6%e7%b3%bb%e7%bb%9f/</link>
		<comments>http://www.litrin.net/2010/02/03/%e7%94%a8ssh-tunnel%e6%89%93%e9%80%a0%e5%ae%89%e5%85%a8%e9%82%ae%e4%bb%b6%e7%b3%bb%e7%bb%9f/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 14:33:01 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[桌面应用]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1156</guid>
		<description><![CDATA[近期，甚至于连Google这样的企业也感觉到了邮件系统的安全问题。这里采用了相对实现成本较低的方式，通过ssh的tunnel达到邮件在传输的过程中不会受到中间人攻击造成数据泄露。
故名思义，tunnel就是在邮件服务器和企业防火墙之后设置一条逻辑上的隧道。这条隧道一方面为了数据安全，另一方面，由于ssh的压缩功能也能在一定程度上减少邮件这类纯文本传输的网络需求。
先决条件：

Unix like的邮件系统，并安装了ssh-server，本例中假定邮件服务器ip为1.2.3.4
企业路由器和内网：路由最好有vpn和防火墙功能。
内网的 一台主机，配置不必太高（我用了虚拟机，64M内存已经足够近百人使用），安装有ssh-client，如果是win主机，推荐使用putty的安装版本。经过测试，个人觉得FreeBSD下的性能较好。考虑到安全，这台主机尽量不要安装远程控制台并尽可能上锁。本例假定ip 192.168.1.1。
注意整个系统的安全策略，账户策略等，相比中间人攻击这样的“高级”黑客行为，破解密码，利用漏洞永远是成本最低的方法。


第一步：设置公钥方式登录：
内网主机上运行mkdir -p ~/.ssh;cd ~/.ssh;ssh-keygen –d，如果变态一点可以使用ssh-keygen -b 4096 -d增加强度，之后 不要输入任何信息，一律回车带过，很多人不能实现ssh的无验证通过，大多是因为这里没有弄好。这样~/.ssh目录下将会出现id_dsa 和id_dsa.pub两个文件。
将内网主机的id_dsa.pub文件拷贝邮件服务器，并在邮件服务器上执行cat id_dsa.pub &#62;&#62; ~/.ssh/authorized_keys 。尝试在内网主机上执行 ssh A主机的IP ，成功地话应该没有提示密码（即直接得到A主机的控制台）。
如果经常来小站做客的朋友会觉得这段很熟，没错它贴自这里，如果你用了windows作为内网主机，请参考这里的内容。
第二步：配置管道：
写个脚本 vi /usr/sbin/ssh_tunnel

#!/bin/sh
localIP='192.168.1.1'
removteIP='1.2.3.4'
ports='25 80 110' #3个端口，smtp http pop3
for port in $ports
do
    /usr/bin/ssh -C -N -f -L $localIP:$port:$removteIP:$port root@$removteIP  &#38;
done


chmod 755 /usr/sbin/ssh_tunnel
修改rc.local文件，在其中加入 /usr/sbin/ssh_tunnel，当然要放在exit那条之前。
windows不是很熟，写个笨蛋批处理吧ssh_tunnel.cmd
start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:25:1.2.3.4:25 root@1.2.3.4
start [...]]]></description>
			<content:encoded><![CDATA[<p>近期，甚至于连Google这样的企业也感觉到了邮件系统的安全问题。这里采用了相对实现成本较低的方式，通过ssh的tunnel达到邮件在传输的过程中不会受到中间人攻击造成数据泄露。</p>
<p>故名思义，tunnel就是在邮件服务器和企业防火墙之后设置一条逻辑上的隧道。这条隧道一方面为了数据安全，另一方面，由于ssh的压缩功能也能在一定程度上减少邮件这类纯文本传输的网络需求。</p>
<p>先决条件：</p>
<ol>
<li>Unix like的邮件系统，并安装了ssh-server，本例中假定邮件服务器ip为1.2.3.4</li>
<li>企业路由器和内网：路由最好有vpn和防火墙功能。</li>
<li>内网的 一台主机，配置不必太高（我用了虚拟机，64M内存已经足够近百人使用），安装有ssh-client，如果是win主机，推荐使用putty的安装版本。经过测试，个人觉得FreeBSD下的性能较好。考虑到安全，这台主机尽量不要安装远程控制台并尽可能上锁。本例假定ip 192.168.1.1。</li>
<li>注意整个系统的安全策略，账户策略等，相比中间人攻击这样的“高级”黑客行为，破解密码，利用漏洞永远是成本最低的方法。</li>
</ol>
<p><span id="more-1156"></span></p>
<div id="attachment_1161" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/02/ssh_tunnel.gif"><img class="size-medium wp-image-1161" title="ssh_tunnel" src="http://www.litrin.net/wp-content/uploads/2010/02/ssh_tunnel-300x115.gif" alt="SSH隧道实现安全mail" width="300" height="115" /></a><p class="wp-caption-text">SSH隧道实现安全Mail系统示意</p></div>
<p>第一步：设置公钥方式登录：</p>
<p>内网主机上运行mkdir -p ~/.ssh;cd ~/.ssh;<em>ssh-keygen –d，</em>如果变态一点可以使用ssh-keygen -b 4096 -d增加强度，之后<em> </em>不要输入任何信息，<strong>一律回车带过</strong>，很多人不能实现ssh的无验证通过，大多是因为这里没有弄好。这样~/.ssh目录下将会出现id_dsa 和id_dsa.pub两个文件。</p>
<p>将内网主机的id_dsa.pub文件拷贝邮件服务器，<strong>并在邮件服务器</strong><strong>上执行</strong><em>cat id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys 。</em><strong>尝试在内网主机</strong><strong>上执行</strong> <em>ssh A</em><em>主机的IP </em>，成功地话应该没有提示密码（即直接得到A主机的控制台）。</p>
<p>如果经常来小站做客的朋友会觉得这段很熟，没错它贴自<a href="http://www.litrin.net/2007/09/29/%E6%90%AD%E5%BB%BA%E9%80%9A%E8%BF%87ssh%E5%8A%A0%E5%AF%86%E9%AA%8C%E8%AF%81%E7%9A%84rsync/" target="_blank">这里</a>，如果你用了windows作为内网主机，请参考<a href="http://www.litrin.net/2006/04/10/%E7%94%A8publickey%E9%AA%8C%E8%AF%81%E7%99%BB%E5%BD%95ssh%E6%9C%8D%E5%8A%A1%E5%99%A8/" target="_blank">这里的内容</a>。</p>
<p>第二步：配置管道：</p>
<div id="_mcePaste">写个脚本 vi /usr/sbin/ssh_tunnel</div>
<pre><code>
<div>#!/bin/sh</div>
<div id="_mcePaste">localIP='192.168.1.1'</div>
<div id="_mcePaste">removteIP='1.2.3.4'</div>
<div id="_mcePaste">ports='25 80 110' #3个端口，smtp http pop3</div>
<div id="_mcePaste">for port in $ports</div>
<div id="_mcePaste">do</div>
<div>    /usr/bin/ssh -C -N -f -L $localIP:$port:$removteIP:$port root@$removteIP  &amp;</div>
<div id="_mcePaste">done</div>

</code></pre>
<p>chmod 755 /usr/sbin/ssh_tunnel</p>
<p>修改rc.local文件，在其中加入 /usr/sbin/ssh_tunnel，当然要放在exit那条之前。</p>
<p>windows不是很熟，写个笨蛋批处理吧ssh_tunnel.cmd</p>
<pre>start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:25:1.2.3.4:25 root@1.2.3.4
start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:80:1.2.3.4:80 root@1.2.3.4
start /min cmd /c 'C:\Program Files\PuTTY\plink.exe' -C -N -f -L 192.168.1.1:110:1.2.3.4:110 root@1.2.3.4</pre>
<p>其实putty的那个plink效果完全等同于ssh，当然，win下面主要是用里面的窗口程序，大多数人不怎么用而已。win下比较烦的是每次重起后都要手工加载key，执行这个批处理。希望对win熟的朋友可以提供自动解决方法。</p>
<p>第三步：设置邮件服务器防火墙</p>
<p>通过邮件服务的防火墙关闭除25和22之外的所有端口。这样做是最安全的，但这样的后果是在企业局域网之外只能发不能收邮件。VPN是比较好的折中方案。当然，如果你的邮件系统只需要内部收发邮件（那还要什么邮件系统？），你尽可以连25号也封上。</p>
<p>第四步：设置本地邮件客户端</p>
<p>将局域网内所有邮件客户端的smtp和pop都设置为192.168.1.1即可。我这里由于用了webmail，webmail同样也通过192.168.1.1访问<br />
如果企业有自己的DNS服务器，甚至整个公司都在域管理模式之下。不妨通过本地的DNS服务器用本地IP覆盖掉外网真实IP。这样即便没有vpn，只要不封邮件服务器的110端口，在邮件客户端中设置域名，对用户来说在任何地方都是透明的。</p>
<p>总结：</p>
<ul>
<li>这种模式，从邮件服务器到企业局域网内的传输是加密透明的，外部很难窃取，如果定期为两边的ssh更换强化的秘钥，效果几乎可以达到变态的要求。据说4096位的秘钥的破解成本已经到了天文数字。</li>
<li>这种方式相对成本较低，不需要太多的投入，特别是在多个分支机构之间成本优势更加突出。本想通过smtp的tls和pop的SSL进行加密，可outlook下对没有根秘证书签名的秘钥会弹出讨厌的警告框，反而增加了用户的不安。申请根证书的签名价格也不菲。</li>
<li>由于企业的邮件系统最多的邮件往往来自于内部，这种方式可以减少差不多一半以上的互联网带宽。把带宽留给更重要的应用。</li>
<li>同理，利用此种方式可以实现其他多种安全方案，达到双宿主机或者多机虚拟的效果，进而可以为企业节约宝贵的外网IP资源。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/02/03/%e7%94%a8ssh-tunnel%e6%89%93%e9%80%a0%e5%ae%89%e5%85%a8%e9%82%ae%e4%bb%b6%e7%b3%bb%e7%bb%9f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3G的阴谋</title>
		<link>http://www.litrin.net/2010/01/13/3g%e7%9a%84%e9%98%b4%e8%b0%8b/</link>
		<comments>http://www.litrin.net/2010/01/13/3g%e7%9a%84%e9%98%b4%e8%b0%8b/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 07:22:14 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1146</guid>
		<description><![CDATA[原先跟父母一起住，共用一部直线。后来搬了家，那部直线跟随我一起迁到了新居。父母那边一直没有直线可以联络。听说移动推出了一款“无线固话”，从月租到花费都算是优惠，只要签订2年的合约，等于送了一部TD-SCDMA的固话。算计一下，很合适，于是到营业厅搞定一部。
例行手续，很多单据，领来了这么一个东西，华为的终端，配188的TD号，东西是不错。大概考虑到成本，电池容量做的出奇的小，待机时间很短，随预估成本不足100元，还算值。
套餐也不错，只要不把那个比普通电话还要大的玩意当手机拿来拿去，每月10块，6分钱一分钟。

不由的感叹：传说中的3G已经被移动这孩子糟成这样了。
一年前发的3G牌照，移动发到最差一张牌，TD；联通抽到了大怪WCDMA，会哭的孩子有奶吃；电信乖乖的领了CDMA2000，不是很好，尽管后续表现不差。
TD-SCDMA，国家安全战略的产物，一直苦于终端问题，也只有移动这样的怪兽级服务商才能搞的掂。好在作为交换，TD-SCDMA一直享受各种各样的补贴——“无线固话”就是这么一个奇怪的产物。移动似乎深知自己的短板所在，于是利用这低廉的成本，将3G概念搞烂，让所有人觉得3G是廉价货。同时加紧了4G的测试，只要熬过这段时间，很有可能移动将成为第一个提供4G的接入商，先入为主终端问题迎刃而解。顺顺利利的跳过3G直接上马4G，又可以将所有对手抛在“廉价货”的陷阱里。
我本想换联通的wcdma，全球无缝漫游，无奈需要换号，这正是联通最大的难题。最成熟、最低廉的3G解决方案，终端最多，一切都有章可循。只可惜这扶不起的阿斗一直在绕这个“网络怪圈”。当初联通失误，GSM没有成熟的网络就大量扩展市场，导致了知道现在依然存在信号差的问题。wo 3G明显针对的是年轻用户以及高收入地区人群。只要能够在资费上适当下降，很有前途。如果有一天允许携号转网，前途不可估量。前提是网络足够好，又绕回来了。
电信，始终老老实实的将目标定位为低端，搞固话绑定。策略注定了市场最终会受限，但至少现在来说属他在3G市场中最具杀伤力，但同样也存在换号的问题。
移动已经在事实上绑架了我们。不妨买点中国联通的股票，这样的话，移动搞出了4G，你的号码就升值了，可喜可贺，Wcdma战胜td，有的钱赚，可喜可贺！
要玩3G？等吧，移动4G、携号转网、或者联通网络质的提升、或者……CDMA2000成为中国3G的事实标准。貌似哪一个都可望不可及。好在现在3G除了资费称不上便宜，而且www之外没有一个应用足够吸引人，www本身又不是for 3G only。
]]></description>
			<content:encoded><![CDATA[<p>原先跟父母一起住，共用一部直线。后来搬了家，那部直线跟随我一起迁到了新居。父母那边一直没有直线可以联络。听说移动推出了一款“无线固话”，从月租到花费都算是优惠，只要签订2年的合约，等于送了一部TD-SCDMA的固话。算计一下，很合适，于是到营业厅搞定一部。</p>
<p>例行手续，很多单据，领来了这么一个东西，华为的终端，配188的TD号，东西是不错。大概考虑到成本，电池容量做的出奇的小，待机时间很短，随预估成本不足100元，还算值。<br />
套餐也不错，只要不把那个比普通电话还要大的玩意当手机拿来拿去，每月10块，6分钱一分钟。</p>
<p><span id="more-1146"></span></p>
<p><strong>不由的感叹：传说中的3G已经被移动这孩子糟成这样了。</strong></p>
<p>一年前发的3G牌照，移动发到最差一张牌，TD；联通抽到了大怪WCDMA，会哭的孩子有奶吃；电信乖乖的领了CDMA2000，不是很好，尽管后续表现不差。</p>
<p>TD-SCDMA，国家安全战略的产物，一直苦于终端问题，也只有移动这样的怪兽级服务商才能搞的掂。好在作为交换，TD-SCDMA一直享受各种各样的补贴——“无线固话”就是这么一个奇怪的产物。移动似乎深知自己的短板所在，于是利用这低廉的成本，将3G概念搞烂，让所有人觉得3G是廉价货。同时加紧了4G的测试，只要熬过这段时间，很有可能移动将成为第一个提供4G的接入商，先入为主终端问题迎刃而解。顺顺利利的跳过3G直接上马4G，又可以将所有对手抛在“廉价货”的陷阱里。</p>
<p>我本想换联通的wcdma，全球无缝漫游，无奈需要换号，这正是联通最大的难题。最成熟、最低廉的3G解决方案，终端最多，一切都有章可循。只可惜这扶不起的阿斗一直在绕这个“网络怪圈”。当初联通失误，GSM没有成熟的网络就大量扩展市场，导致了知道现在依然存在信号差的问题。wo 3G明显针对的是年轻用户以及高收入地区人群。只要能够在资费上适当下降，很有前途。如果有一天允许携号转网，前途不可估量。前提是网络足够好，又绕回来了。</p>
<p>电信，始终老老实实的将目标定位为低端，搞固话绑定。策略注定了市场最终会受限，但至少现在来说属他在3G市场中最具杀伤力，但同样也存在换号的问题。</p>
<p>移动已经在事实上绑架了我们。不妨买点中国联通的股票，这样的话，移动搞出了4G，你的号码就升值了，可喜可贺，Wcdma战胜td，有的钱赚，可喜可贺！</p>
<p>要玩3G？等吧，移动4G、携号转网、或者联通网络质的提升、或者……CDMA2000成为中国3G的事实标准。貌似哪一个都可望不可及。好在现在3G除了资费称不上便宜，而且www之外没有一个应用足够吸引人，www本身又不是for 3G only。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/01/13/3g%e7%9a%84%e9%98%b4%e8%b0%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>virtual server上安装ubuntu</title>
		<link>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/</link>
		<comments>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 08:07:19 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1141</guid>
		<description><![CDATA[都说MS 的virtual server仅能够支持MS自家的系统。比如解决了的xorg桌面的显示问题。 
这次在virtual server上安装ubuntu 804 server，每次跳出启动选项之后，选择好语言之后，启动安装程序，虚拟机马上重启。一开始以为是ACPI的问题，关闭了acpi之后，故障依旧。久而久之发现问题的规律是只会出现在成功启用了“硬件辅助虚拟化功能”的虚拟机上。 
 
多次失败之后，找到了解决方法： 

利用光盘启动好之后，选择好语言之后，进入Ubuntu的启动选项界面。
如果您安装的是desktop版本，按F4键，选择“安全图形模式”。Server版本直接跳过这一步。
按F6，修改启动参数，原版本为 &#8216;XXXXXX quiet splash &#8211;&#8217; ，删除掉后面的 &#8216;&#8211;&#8217; ，当然，你也可以直接删除quiet splash跳过飞溅界面。添加 vga=791 noreplace-paravirt ，直接按回车启动。
完成安装。
第一次启动载入grub时，直接esc编辑grub 设置，将kenerl那一行的末尾同样加上vga=791 noreplace-paravirt ，按b键启动。

这种方法似乎也支持Fedora一类的Linux。 
noreplace-paravirt这个模块，网络上解释的很少。根据字面分析大致是一旦启用了硬件虚拟化支持以后，内核的一部分机器码将会被替换，强制操作系统关闭这个功能之后，系统才能正常启动。
PS:关于vga=791的解释
vga的模式分为如下几种，以及相互对应的数字标识
16 進位表示:




pixel
640&#215;480
800&#215;600
1024&#215;768
1280&#215;1024


text
80&#215;30
100&#215;37
128&#215;48
160&#215;64


256
0&#215;301
0&#215;303
0&#215;305
0&#215;307


32k
0&#215;310
0&#215;313
0&#215;316
0&#215;319


64k
0&#215;311
0&#215;314
0&#215;317
0&#215;31A


16M
0&#215;312
0&#215;315
0&#215;318
0&#215;31B




10 進位表示:




pixel
640&#215;480
800&#215;600
1024&#215;768
1280&#215;1024


text
80&#215;30
100&#215;37
128&#215;48
160&#215;64


256
769
771
773
775


32k
784
787
790
793


64k
785
788
791
794


16M
786
789
792
795




]]></description>
			<content:encoded><![CDATA[<p>都说MS 的virtual server仅能够支持MS自家的系统。比如<a href="http://www.litrin.net/2008/02/19/virtual-server-virtual-pc%e4%b8%8blinux%e6%a1%8c%e9%9d%a2%e7%9a%84%e9%97%ae%e9%a2%98/" target="_blank">解决了的xorg桌面的显示问题</a>。 </p>
<p>这次在virtual server上安装ubuntu 804 server，每次跳出启动选项之后，选择好语言之后，启动安装程序，虚拟机马上重启。一开始以为是ACPI的问题，关闭了acpi之后，故障依旧。久而久之发现问题的规律是只会出现在成功启用了“硬件辅助虚拟化功能”的虚拟机上。 </p>
<p><span id="more-1141"></span> </p>
<p>多次失败之后，找到了解决方法： </p>
<ol>
<li>利用光盘启动好之后，选择好语言之后，进入Ubuntu的启动选项界面。</li>
<li>如果您安装的是desktop版本，按F4键，选择“安全图形模式”。Server版本直接跳过这一步。</li>
<li>按F6，修改启动参数，原版本为 &#8216;XXXXXX quiet splash &#8211;&#8217; ，删除掉后面的 &#8216;&#8211;&#8217; ，当然，你也可以直接删除quiet splash跳过飞溅界面。添加 <strong>vga=791 noreplace-paravirt </strong>，直接按回车启动。</li>
<li>完成安装。</li>
<li>第一次启动载入grub时，直接esc编辑grub 设置，将kenerl那一行的末尾同样加上<strong>vga=791 noreplace-paravirt ，</strong>按b键启动。</li>
</ol>
<div id="attachment_1142" class="wp-caption alignleft" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2010/01/MSVS-ubutnu.png"><img class="size-medium wp-image-1142" style="vertical-align: middle;" title="ms virtual server 安装 ubuntu Linux " src="http://www.litrin.net/wp-content/uploads/2010/01/MSVS-ubutnu-300x248.png" alt="ms virtual server 安装 ubuntu Linux" width="300" height="248" /></a><p class="wp-caption-text">ms virtual server 安装 ubuntu Linux </p></div>
<p>这种方法似乎也支持Fedora一类的Linux。 </p>
<p>noreplace-paravirt这个模块，网络上解释的很少。根据字面分析大致是一旦启用了硬件虚拟化支持以后，内核的一部分机器码将会被替换，强制操作系统关闭这个功能之后，系统才能正常启动。</p>
<p>PS:关于vga=791的解释</p>
<p>vga的模式分为如下几种，以及相互对应的数字标识</p>
<p>16 進位表示:</p>
<blockquote>
<table id="table1" border="0" cellpadding="3">
<tbody>
<tr>
<td align="right">pixel</td>
<td>640&#215;480</td>
<td>800&#215;600</td>
<td>1024&#215;768</td>
<td>1280&#215;1024</td>
</tr>
<tr>
<td align="right">text</td>
<td align="right">80&#215;30</td>
<td align="right">100&#215;37</td>
<td align="right">128&#215;48</td>
<td align="right">160&#215;64</td>
</tr>
<tr>
<td align="right">256</td>
<td align="right">0&#215;301</td>
<td align="right">0&#215;303</td>
<td align="right">0&#215;305</td>
<td align="right">0&#215;307</td>
</tr>
<tr>
<td align="right">32k</td>
<td align="right">0&#215;310</td>
<td align="right">0&#215;313</td>
<td align="right">0&#215;316</td>
<td align="right">0&#215;319</td>
</tr>
<tr>
<td align="right">64k</td>
<td align="right">0&#215;311</td>
<td align="right">0&#215;314</td>
<td align="right">0&#215;317</td>
<td align="right">0&#215;31A</td>
</tr>
<tr>
<td align="right">16M</td>
<td align="right">0&#215;312</td>
<td align="right">0&#215;315</td>
<td align="right">0&#215;318</td>
<td align="right">0&#215;31B</td>
</tr>
</tbody>
</table>
</blockquote>
<p>10 進位表示:</p>
<blockquote>
<table id="table2" border="0" cellpadding="3">
<tbody>
<tr>
<td align="right">pixel</td>
<td>640&#215;480</td>
<td>800&#215;600</td>
<td>1024&#215;768</td>
<td>1280&#215;1024</td>
</tr>
<tr>
<td align="right">text</td>
<td align="right">80&#215;30</td>
<td align="right">100&#215;37</td>
<td align="right">128&#215;48</td>
<td align="right">160&#215;64</td>
</tr>
<tr>
<td align="right">256</td>
<td align="right">769</td>
<td align="right">771</td>
<td align="right">773</td>
<td align="right">775</td>
</tr>
<tr>
<td align="right">32k</td>
<td align="right">784</td>
<td align="right">787</td>
<td align="right">790</td>
<td align="right">793</td>
</tr>
<tr>
<td align="right">64k</td>
<td align="right">785</td>
<td align="right">788</td>
<td align="right">791</td>
<td align="right">794</td>
</tr>
<tr>
<td align="right">16M</td>
<td align="right">786</td>
<td align="right">789</td>
<td align="right">792</td>
<td align="right">795</td>
</tr>
</tbody>
</table>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2010/01/11/virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为GIMP的退出叫好</title>
		<link>http://www.litrin.net/2009/12/22/%e4%b8%bagimp%e7%9a%84%e9%80%80%e5%87%ba%e5%8f%ab%e5%a5%bd/</link>
		<comments>http://www.litrin.net/2009/12/22/%e4%b8%bagimp%e7%9a%84%e9%80%80%e5%87%ba%e5%8f%ab%e5%a5%bd/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 02:00:33 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[开源7788]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[业界话题]]></category>
		<category><![CDATA[桌面应用]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1136</guid>
		<description><![CDATA[自从第一次接触Linux的桌面版，我就认识了GIMP这个软件。印象最深的就是那个戴着“南瓜帽”的小狐狸形象。近期得到消息，Ubuntu这个目前拥有最大Linux Desktop份额的发行版从下一版本（1004）后正式将GIMP排除在默认安装包之外。
从GIMP本身说起，这是一个很强大的图片编辑软件，很多功能已经达到或者超过了昂贵的Photoshop。曾经用它处理过几次图片，效果也很让我满意。但作为Linux桌面版必备的软件，它的利用率可能是最低的了——有太多太多的软件可以替代它的位置，而且不同于OpenOffice，你无法要求每一个Linux用户都修改图片，或者已经被PS浸染的人回过头来用这个甚至买不到一本参考书的GIMP。

就像windows这个系统始终被诟病的捆绑，捆绑的仅仅是几乎人人都会用到的浏览器而已，甚至稍微常用点的MS office都不在捆绑之列。如果有一天windows将他们的Virtual Studio绑进操作系统，那会是多么滑稽的事。
Linux的开发者目前存在的最大问题似乎就在这里，对最终受众的技能要求过高。我也曾见过论坛上新手问诸如文本编辑器之类的问题，却被老手们“强迫”使用vi这类巨复杂的工具来实现。仿佛只有把事情搞的复杂了，搞的小众了才能显示出“老手”的能耐。计算机作为机器最终是要为人服务的，没有必要为了更好的为机器服务一次让人去学他们本身就不感兴趣的东西。
想起当初redhat曾经在自带游戏里边放置了一个叫做x-bill的游戏。这个游戏主要的内容似乎是和一个虚拟的Bill先生抢占PC，Bill先生会在每台机器上做一个windows标记，你的任务就是做企鹅标记，并把windows标记的PC扔进垃圾桶。说实在的这个游戏确实很无趣，但这个游戏本身的设计到被选入Redhat发行包的整个过程都代表了很多Linuxer的理念。可惜的是，你不能要求每一个用户都参与到这个游戏中，不能仅仅依靠一腔热情的完成这个游戏。
只有包容所有受众的、不令人望而生畏的操作系统才是最好的。为GIMP的退居二线而叫好！
]]></description>
			<content:encoded><![CDATA[<p>自从第一次接触Linux的桌面版，我就认识了GIMP这个软件。印象最深的就是那个戴着“南瓜帽”的小狐狸形象。近期得到消息，Ubuntu这个目前拥有最大Linux Desktop份额的发行版从下一版本（1004）后正式将GIMP排除在默认安装包之外。</p>
<p>从GIMP本身说起，这是一个很强大的图片编辑软件，很多功能已经达到或者超过了昂贵的Photoshop。曾经用它处理过几次图片，效果也很让我满意。但作为Linux桌面版必备的软件，它的利用率可能是最低的了——有太多太多的软件可以替代它的位置，而且不同于OpenOffice，你无法要求每一个Linux用户都修改图片，或者已经被PS浸染的人回过头来用这个甚至买不到一本参考书的GIMP。</p>
<p><span id="more-1136"></span></p>
<p>就像windows这个系统始终被诟病的捆绑，捆绑的仅仅是几乎人人都会用到的浏览器而已，甚至稍微常用点的MS office都不在捆绑之列。如果有一天windows将他们的Virtual Studio绑进操作系统，那会是多么滑稽的事。</p>
<p>Linux的开发者目前存在的最大问题似乎就在这里，对最终受众的技能要求过高。我也曾见过论坛上新手问诸如文本编辑器之类的问题，却被老手们“强迫”使用vi这类巨复杂的工具来实现。仿佛只有把事情搞的复杂了，搞的小众了才能显示出“老手”的能耐。计算机作为机器最终是要为人服务的，没有必要为了更好的为机器服务<strong>一次</strong>让人去学他们本身就不感兴趣的东西。</p>
<p>想起当初redhat曾经在自带游戏里边放置了一个叫做x-bill的游戏。这个游戏主要的内容似乎是和一个虚拟的Bill先生抢占PC，Bill先生会在每台机器上做一个windows标记，你的任务就是做企鹅标记，并把windows标记的PC扔进垃圾桶。说实在的这个游戏确实很无趣，但这个游戏本身的设计到被选入Redhat发行包的整个过程都代表了很多Linuxer的理念。可惜的是，你不能要求每一个用户都参与到这个游戏中，不能仅仅依靠一腔热情的完成这个游戏。</p>
<p>只有包容所有受众的、不令人望而生畏的操作系统才是最好的。为GIMP的退居二线而叫好！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/12/22/%e4%b8%bagimp%e7%9a%84%e9%80%80%e5%87%ba%e5%8f%ab%e5%a5%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu下安装oracle11G up2</title>
		<link>http://www.litrin.net/2009/11/30/ubuntu%e4%b8%8b%e5%ae%89%e8%a3%85oracle11g-up2/</link>
		<comments>http://www.litrin.net/2009/11/30/ubuntu%e4%b8%8b%e5%ae%89%e8%a3%85oracle11g-up2/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 07:39:38 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1118</guid>
		<description><![CDATA[oracle的11G总算到了up2，这次的升级个人感觉最大的改善就是将clustter包成了标准包的一部分，看起来今后oracle数据库要越发的使用更多的机器了。目前官方只提供了Solaris和Linux的安装包，Win以及其他操作系统看起来还是要等。
oracle官方建议的linux仅限于Redhat, Suse, Asianux以及oracle自家的linux。但作为测试的一部分，我选择了ubuntu的新版本910 AMD64 server作为平台。不过理论上使用ubuntu Desktop或者Xubuntu更省力一点。系统内存为8G，根据建议（如下），设置了8G的swap。
之前还有一篇solaris下10up2的安装可以参考



Between 0 MB and 256 MB
3 times the size of RAM


Between 256 MB and 512 MB
2 times the size of RAM


Between 512 MB and 2 GB
1.5 times the size of RAM


Between 2 GB and 16 GB
Equal to the size of RAM


More than 16 GB
16 GB




安装完毕后还是个人习惯性的那一套：
#sudo apt-get update
#sudo apt-get upgrade
升级结束后安装必要的库：
#sudo apt-get [...]]]></description>
			<content:encoded><![CDATA[<p>oracle的11G总算到了up2，这次的升级个人感觉最大的改善就是将clustter包成了标准包的一部分，看起来今后oracle数据库要越发的使用更多的机器了。目前官方只提供了<a rel="nofollow" target="_blank" href="http://www.oracle.com/technology/software/products/database/index.html">Solaris和Linux的安装包</a>，Win以及其他操作系统看起来还是要等。</p>
<p>oracle官方建议的linux仅限于Redhat, Suse, Asianux以及oracle自家的linux。但作为测试的一部分，我选择了ubuntu的新版本910 AMD64 server作为平台。不过理论上使用ubuntu Desktop或者Xubuntu更省力一点。系统内存为8G，根据建议（如下），设置了8G的swap。</p>
<p><a href="http://www.litrin.net/2007/11/15/solaris%e4%b8%8b%e5%ae%89%e8%a3%85oracle-10-up-2/" target="_blank">之前还有一篇solaris下10up2的安装可以参考</a></p>
<table title="RAM and Swap Space Relationship" dir="ltr" border="1" cellspacing="0" cellpadding="3" width="100%" frame="hsides" rules="groups" summary="RAM and swap space relationship">
<tbody>
<tr align="left" valign="top">
<td id="r2c1-t6" align="left">Between 0 MB and 256 MB</td>
<td align="left">3 times the size of RAM</td>
</tr>
<tr align="left" valign="top">
<td id="r3c1-t6" align="left">Between 256 MB and 512 MB</td>
<td align="left">2 times the size of RAM</td>
</tr>
<tr align="left" valign="top">
<td id="r4c1-t6" align="left">Between 512 MB and 2 GB</td>
<td align="left">1.5 times the size of RAM</td>
</tr>
<tr align="left" valign="top">
<td id="r5c1-t6" align="left">Between 2 GB and 16 GB</td>
<td align="left">Equal to the size of RAM</td>
</tr>
<tr align="left" valign="top">
<td id="r6c1-t6" align="left">More than 16 GB</td>
<td align="left">16 GB</td>
</tr>
</tbody>
</table>
<p><span id="more-1118"></span></p>
<p>安装完毕后还是个人习惯性的那一套：<br />
#sudo apt-get update<br />
#sudo apt-get upgrade</p>
<p>升级结束后安装必要的库：<br />
#sudo apt-get install gnome-core unzip build-essential libaio-dev(ms libaio 就可以)</p>
<p>设置环境变量：<br />
修改/etc/bash.bashrc，在末尾添加如下内容<br />
<code>ORACLE_HOME=/opt/oracle/product/11.2.0/Db_1<br />
export ORACLE_HOME<br />
ORACLE_BASE=/opt/oracle<br />
export ORACLE_BASE<br />
NLS_LANG=american_america.zhs16gbk<br />
export NLS_LANG<br />
PATH=$PATH:$ORACLE_HOME/bin<br />
ORACLE_SID=orcl<br />
export ORACLE_SID<br />
</code><br />
修改内核参数：（官方文档没有提及，保险起见，还是添加了）<br />
<code><br />
fs.file-max = 6815744<br />
fs.aio-max-nr = 1048576<br />
kernel.shmall = 2097152<br />
kernel.shmmax = 2147483648<br />
kernel.shmmni = 4096<br />
kernel.sem = 250 32000 100 128<br />
net.ipv4.ip_local_port_range = 9000 65500<br />
net.core.rmem_default = 262144<br />
net.core.rmem_max = 4194304<br />
net.core.wmem_default = 262144<br />
net.core.wmem_max = 1048576<br />
</code></p>
<p><code>重起机器。</code></p>
<p><code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/11/30/ubuntu%e4%b8%8b%e5%ae%89%e8%a3%85oracle11g-up2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>圈圈</title>
		<link>http://www.litrin.net/2009/11/20/%e5%9c%88%e5%9c%88/</link>
		<comments>http://www.litrin.net/2009/11/20/%e5%9c%88%e5%9c%88/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 08:30:32 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[开源7788]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[业界话题]]></category>
		<category><![CDATA[桌面应用]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1105</guid>
		<description><![CDATA[就在今天Google宣布了他蓄谋已久的，以一个三色圈圈为Logo的单机操作系统——Chrome OS。由于正如Google的手机操作系统一样，这次又是一个Linux内核的操作系统。
Google的理念是：既然浏览器逐渐成为了一台PC最常用的软件，那为什么不把它升级为PC中唯一的软件？理念看似很超前。
不禁想起了N多年前IBM的预言：最终全世界只需要4台主机。这个想法至今看起来仍然很荒谬。但可以看得出，google以致这一阶段很是热门的“云计算”概念其实也是在实现IBM的理想。
说道这个理念，就不妨谈谈微软，这个利用一句：“每个书桌上都应该有一台PC。”瓦解了IBM的痴心妄想。IBM当初是专注于硬件的，最赚钱的是卖超级计算机而不是白菜价的PC，所以他们后来才会把PC业务卖掉；微软是做软件的，一台PC收一份钱，越多越好；google是做服务的，集中起来才能将效益最大。现在软件都像当初硬件一样“白菜化”了，今后如何。重新定义，再次赚钱。

当初IBM理念的失败之处在于错误的估计了网络的因素，将终端单纯的理解为了瘦客户机，之后成功转型为服务型公司，避免了老冤家SUN那样的命运。微软的成功之处在于利用了从90~10这20年左右的时间差猛赚了一笔，成了行业的领跑者。google的领先在于发现了如何通过免费的服务来赚钱；通过免费的午餐抓住所有人的命脉，并不断的引领下一个时代的网络发展。
我个人认为将来的互联网终端绝对不是PC的天下——从3G手机到物联网无一例外的传达了一个信息：未来通过什么东西上网是次要的，通过什么方式接入互联网是次要的，关键是用网络来干什么。随着传统PC逐步的被边缘化之后，将会有一个新的硬件平台取代当前PC的上网功能，现在还不知道那会是什么，但绝对不会是“上网本”这类的过渡产品。
三色的圈圈大概涵义如此吧。看云识天气。
就说这么多，有空再侃。
]]></description>
			<content:encoded><![CDATA[<p>就在今天Google宣布了他蓄谋已久的，以一个三色圈圈为Logo的单机操作系统——<a rel="nofollow" target="_blank" href="http://google.org.cn/posts/live-blog-google-chrome-os-press-event.html" target="_blank">Chrome OS</a>。由于正如Google的手机操作系统一样，这次又是一个Linux内核的操作系统。</p>
<p>Google的理念是：既然浏览器逐渐成为了一台PC最常用的软件，那为什么不把它升级为PC中唯一的软件？理念看似很超前。</p>
<p>不禁想起了N多年前IBM的预言：最终全世界只需要4台主机。这个想法至今看起来仍然很荒谬。但可以看得出，google以致这一阶段很是热门的“云计算”概念其实也是在实现IBM的理想。</p>
<p>说道这个理念，就不妨谈谈微软，这个利用一句：“每个书桌上都应该有一台PC。”瓦解了IBM的痴心妄想。IBM当初是专注于硬件的，最赚钱的是卖超级计算机而不是白菜价的PC，所以他们后来才会把PC业务卖掉；微软是做软件的，一台PC收一份钱，越多越好；google是做服务的，集中起来才能将效益最大。现在软件都像当初硬件一样“白菜化”了，今后如何。重新定义，再次赚钱。</p>
<p><span id="more-1105"></span></p>
<p>当初IBM理念的失败之处在于错误的估计了网络的因素，将终端单纯的理解为了瘦客户机，之后成功转型为服务型公司，避免了老冤家SUN那样的命运。微软的成功之处在于利用了从90~10这20年左右的时间差猛赚了一笔，成了行业的领跑者。google的领先在于发现了如何通过免费的服务来赚钱；通过免费的午餐抓住所有人的命脉，并不断的引领下一个时代的网络发展。</p>
<p>我个人认为将来的互联网终端绝对不是PC的天下——从3G手机到物联网无一例外的传达了一个信息：未来通过什么东西上网是次要的，通过什么方式接入互联网是次要的，关键是用网络来干什么。随着传统PC逐步的被边缘化之后，将会有一个新的硬件平台取代当前PC的上网功能，现在还不知道那会是什么，但绝对不会是“上网本”这类的过渡产品。</p>
<p>三色的圈圈大概涵义如此吧。看云识天气。</p>
<p>就说这么多，有空再侃。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/11/20/%e5%9c%88%e5%9c%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>人机接口问题</title>
		<link>http://www.litrin.net/2009/11/15/%e4%ba%ba%e6%9c%ba%e6%8e%a5%e5%8f%a3%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.litrin.net/2009/11/15/%e4%ba%ba%e6%9c%ba%e6%8e%a5%e5%8f%a3%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 08:40:17 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[开源7788]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>
		<category><![CDATA[硬件相关]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1103</guid>
		<description><![CDATA[刚换了手机——号称街机的Nokia 5800XM。第一次用这种全触控的手机，感觉没有键盘相当不便，需要不少的时间来适应。人机接口出了问题，需要调试。
作为一个IT人，我总是觉得整个人的社会的合作机制就是类似于程序的接口那样，不同的人负责不同的模块，经过各方面通过统一的方式进行通讯，完成了一个复杂的功能。在你负责以外的模块中，你也许不需要了解别的模块是如何工作的，你只要试图更加优化自己模块内部的流程细节那就会优化整个项目甚至整个社会的效率。如果说跟某些人无法完全交流（例如外国人）那就是可以看作是“接口不统一”。各种通讯方式和交流方式就成了一种远离于主体模块之间的整理及传输流程。
作为传统中国人理解下的模块之间的运作，可能是基于权利以及权利的转移，所以坊间的各种传闻总是基于权利的某种形式的表达。作为西方人传统下的模块运作，更多的是基于利益和利益的转移，所以就有了董事会这一产物。不巧的是，所谓全球化就是对于这两种方式的碰撞和融合的过程。
绕回来，作为人类进化过程中社会分工的基础是语言。这个接口不见得是效率最高的，但绝对是最便捷的覆盖范围最广（可以完全覆盖肢体残疾和视觉障碍）的接口。感觉目前人机接口却根本没有去好好利用这个最简单的接口，只是一味的追求视觉和触觉的交流。为什么要人去适应冷冰冰的机器，而不是让机器去适应人的交流方式。个人认为如果在UI技术上能有突破的话，不会出现在诸如“多点触控”或者“立体呈现”之类的技术上。语音技术/声音技术的实际应用将会是下一代UI的目标，当这个目标实现以后，部分视觉元素和键盘输入在一定程度上反而会退居二线，甚至完全消失。当然前提是技术足够成熟，而不是现阶段简单的机械合成，语音识别。
]]></description>
			<content:encoded><![CDATA[<p>刚换了手机——号称街机的Nokia 5800XM。第一次用这种全触控的手机，感觉没有键盘相当不便，需要不少的时间来适应。人机接口出了问题，需要调试。</p>
<p>作为一个IT人，我总是觉得整个人的社会的合作机制就是类似于程序的接口那样，不同的人负责不同的模块，经过各方面通过统一的方式进行通讯，完成了一个复杂的功能。在你负责以外的模块中，你也许不需要了解别的模块是如何工作的，你只要试图更加优化自己模块内部的流程细节那就会优化整个项目甚至整个社会的效率。如果说跟某些人无法完全交流（例如外国人）那就是可以看作是“接口不统一”。各种通讯方式和交流方式就成了一种远离于主体模块之间的整理及传输流程。<span id="more-1103"></span></p>
<p>作为传统中国人理解下的模块之间的运作，可能是基于权利以及权利的转移，所以坊间的各种传闻总是基于权利的某种形式的表达。作为西方人传统下的模块运作，更多的是基于利益和利益的转移，所以就有了董事会这一产物。不巧的是，所谓全球化就是对于这两种方式的碰撞和融合的过程。</p>
<p>绕回来，作为人类进化过程中社会分工的基础是语言。这个接口不见得是效率最高的，但绝对是最便捷的覆盖范围最广（可以完全覆盖肢体残疾和视觉障碍）的接口。感觉目前人机接口却根本没有去好好利用这个最简单的接口，只是一味的追求视觉和触觉的交流。为什么要人去适应冷冰冰的机器，而不是让机器去适应人的交流方式。个人认为如果在UI技术上能有突破的话，不会出现在诸如“多点触控”或者“立体呈现”之类的技术上。语音技术/声音技术的实际应用将会是下一代UI的目标，当这个目标实现以后，部分视觉元素和键盘输入在一定程度上反而会退居二线，甚至完全消失。当然前提是技术足够成熟，而不是现阶段简单的机械合成，语音识别。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/11/15/%e4%ba%ba%e6%9c%ba%e6%8e%a5%e5%8f%a3%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google wave</title>
		<link>http://www.litrin.net/2009/11/06/google-wave/</link>
		<comments>http://www.litrin.net/2009/11/06/google-wave/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 06:46:54 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1098</guid>
		<description><![CDATA[机缘巧合之下，弄到了一份google wave的邀请（在此谢谢楼哥！），试用了一下google这个新产品。
从Gmail开始，google总是这样善于“破坏性创造”。这个发布的wave可以说是集合了E-mail，新闻组，BBS，IM，Blog等一系列沟通工具在内的所有互联网通讯手段的长处。结合google看家本领的搜索，又一次可以说是“未来的趋势”了。
现阶段wave还有一系列的问题，比较卡，容易崩溃等。但估计过不了几天就会得到改善。同样，wave现阶段还没有对内容规则进行硬性的限制，更多的还是靠守则来自我约束。从内容和格式上很杂乱。

至于插件支持，wave引入了机器人的逻辑，在会话中加入不同的机器人，就可以实现各种各样的功能。推荐几个有趣的机器人：

blog-wave@appspot.com，不用多说了，发布成公开的话题。
cartoonybot@appspot.com，将会话变成气泡格式。
sweepy-wave@appspot.com，自动清除空白话题。
embeddy@appspot.com，获取嵌入代码

PS：需要gw邀请的朋友可以直接留言告诉我。
]]></description>
			<content:encoded><![CDATA[<p>机缘巧合之下，弄到了一份google wave的邀请（在此谢谢楼哥！），试用了一下google这个新产品。</p>
<p>从Gmail开始，google总是这样善于“破坏性创造”。这个发布的wave可以说是集合了E-mail，新闻组，BBS，IM，Blog等一系列沟通工具在内的所有互联网通讯手段的长处。结合google看家本领的搜索，又一次可以说是“未来的趋势”了。</p>
<p>现阶段wave还有一系列的问题，比较卡，容易崩溃等。但估计过不了几天就会得到改善。同样，wave现阶段还没有对内容规则进行硬性的限制，更多的还是靠守则来自我约束。从内容和格式上很杂乱。</p>
<p><span id="more-1098"></span></p>
<p>至于插件支持，wave引入了机器人的逻辑，在会话中加入不同的机器人，就可以实现各种各样的功能。推荐几个有趣的机器人：</p>
<ul>
<li><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><a rel="nofollow" target="_blank" href="mailto:blog-wave@appspot.com">blog-wave@appspot.com</a>，不用多说了，发布成公开的话题。</span></span></li>
<li><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><a rel="nofollow" target="_blank" href="mailto:cartoonybot@appspot.com">cartoonybot@appspot.com</a>，将会话变成气泡格式。</span></span></span></span></li>
<li><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><a rel="nofollow" target="_blank" href="mailto:sweepy-wave@appspot.com">sweepy-wave@appspot.com</a>，自动清除空白话题。</span></span></span></span></span></span></li>
<li><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><a rel="nofollow" target="_blank" href="mailto:embeddy@appspot.com">embeddy@appspot.com</a>，获取嵌入代码</span></span></span></span></span></span></span></span></li>
</ul>
<p><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 宋体; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: #000000; WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="FONT-FAMILY: arial, sans-serif; FONT-SIZE: small; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px">PS：需要gw邀请的朋友可以直接留言告诉我。</span></span></span></span></span></span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/11/06/google-wave/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>我眼中的通讯未来</title>
		<link>http://www.litrin.net/2009/10/30/%e6%88%91%e7%9c%bc%e4%b8%ad%e7%9a%84%e9%80%9a%e8%ae%af%e6%9c%aa%e6%9d%a5/</link>
		<comments>http://www.litrin.net/2009/10/30/%e6%88%91%e7%9c%bc%e4%b8%ad%e7%9a%84%e9%80%9a%e8%ae%af%e6%9c%aa%e6%9d%a5/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 04:41:38 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1096</guid>
		<description><![CDATA[公司呼叫中心的线路维护始终是大问题。由于线路老化，很多坐席的电话要么断线，要么信号不好，没有办法，很不标准的破拆了网络端口供电话线路使用——好在网络的端口好解决的多。
 一直在想呼叫中心线路这块的种种不便，始终保持着“两套线路都不能断”实在是很头疼。那最为简单的方式就是通过VOIP技术来实现语音传输，这才是终极方案。不但从技术上、维护成本上，还是传输质量上都会提升到很大的一个高度。同时这样在多个分区的呼叫中心之间通过VOIP还可以减少一定的长途费用——尽管现在看起来，取消长途费用是大趋势。
 抛开一切干扰因素，电话恐怕被取代是迟早的事情。作为提升质量之一的语音通话质量，2G网络到3G网络上并没有太多的变化，反倒是IP通讯速度上有了质的飞跃。何况2G本身在终端和基站之间用的就是数字通讯。现在的移动基站要维护语音和IP两套线路。
不妨看看中国移动出品的“飞信”。一个IM工具MS跟移动的业务没有什么太大的关系。不妨这么来看：现阶段考虑到可能会影响自己的腰包，飞信没有电脑对电脑语音/视频通信功能。加上此功能呢？在手机版上增加此功能呢？就是一个完整功能的skype（这里的完整是只可以拨打“真正的电话”）个人认为终究会有那么一天会有一家电信公司推出这么一套设备：语音功能通过内嵌一套IM工具实现，基站的功能成了一个AP而已。维护IP通讯的成本远比语音低得多。
 从这里看出了飞信软件对于中国移动的战略地位。这些2G时代财大气粗的公司到了3G时代已经逐步沦为的渠道商。赚那么一点通讯费用，大头跑到内容提供商那边去了。不考虑渠道合作的话减低成本成了唯一途径。飞信就是这么一个东西。
 这也无外乎google作为一个内容提供商会花功夫去主导一个手机操作系统的研发。无利不起早啊。
]]></description>
			<content:encoded><![CDATA[<p>公司呼叫中心的线路维护始终是大问题。由于线路老化，很多坐席的电话要么断线，要么信号不好，没有办法，很不标准的破拆了网络端口供电话线路使用——好在网络的端口好解决的多。</p>
<p> 一直在想呼叫中心线路这块的种种不便，始终保持着“两套线路都不能断”实在是很头疼。那最为简单的方式就是通过VOIP技术来实现语音传输，这才是终极方案。不但从技术上、维护成本上，还是传输质量上都会提升到很大的一个高度。同时这样在多个分区的呼叫中心之间通过VOIP还可以减少一定的长途费用——尽管现在看起来，取消长途费用是大趋势。</p>
<p><span id="more-1096"></span> 抛开一切干扰因素，电话恐怕被取代是迟早的事情。作为提升质量之一的语音通话质量，2G网络到3G网络上并没有太多的变化，反倒是IP通讯速度上有了质的飞跃。何况2G本身在终端和基站之间用的就是数字通讯。现在的移动基站要维护语音和IP两套线路。</p>
<p>不妨看看中国移动出品的“飞信”。一个IM工具MS跟移动的业务没有什么太大的关系。不妨这么来看：现阶段考虑到可能会影响自己的腰包，飞信没有电脑对电脑语音/视频通信功能。加上此功能呢？在手机版上增加此功能呢？就是一个完整功能的skype（这里的完整是只可以拨打“真正的电话”）个人认为终究会有那么一天会有一家电信公司推出这么一套设备：语音功能通过内嵌一套IM工具实现，基站的功能成了一个AP而已。维护IP通讯的成本远比语音低得多。</p>
<p> 从这里看出了飞信软件对于中国移动的战略地位。这些2G时代财大气粗的公司到了3G时代已经逐步沦为的渠道商。赚那么一点通讯费用，大头跑到内容提供商那边去了。不考虑渠道合作的话减低成本成了唯一途径。飞信就是这么一个东西。</p>
<p> 这也无外乎google作为一个内容提供商会花功夫去主导一个手机操作系统的研发。无利不起早啊。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/10/30/%e6%88%91%e7%9c%bc%e4%b8%ad%e7%9a%84%e9%80%9a%e8%ae%af%e6%9c%aa%e6%9d%a5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>触摸旅程</title>
		<link>http://www.litrin.net/2009/10/15/%e8%a7%a6%e6%91%b8%e6%97%85%e7%a8%8b/</link>
		<comments>http://www.litrin.net/2009/10/15/%e8%a7%a6%e6%91%b8%e6%97%85%e7%a8%8b/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 01:25:00 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1092</guid>
		<description><![CDATA[选择了这一天——不是明媚阳春，也不是金秋的长假。刚到的10月的初寒总是让人心生凉意，天上总有看似永远抹不去厚厚的霾。独自一人，带着空空的背包来到了这么一个看似很近却又仿似隔世般遥远的小镇。
 无需车马，徒步而行。
 踱步街边，车马熙攘，行人匆匆。一如昨天，一如前年…… 只是街角多了形影相吊的我，而已。
 宾客如归的微笑、一如继往的房间，加上似曾相识的白色卧具，依然无法遮挡沾满雨点的玻璃窗外陌生的灯火阑珊。
 打开窗，伸出手。想要触摸这桔色的光，——触摸这光的尽头，每盏灯下温暖的故事。雨水打在我的手心，我嗅到了，嗅到了属于流浪者的味道。
]]></description>
			<content:encoded><![CDATA[<p>选择了这一天——不是明媚阳春，也不是金秋的长假。刚到的10月的初寒总是让人心生凉意，天上总有看似永远抹不去厚厚的霾。独自一人，带着空空的背包来到了这么一个看似很近却又仿似隔世般遥远的小镇。</p>
<p> 无需车马，徒步而行。</p>
<p> 踱步街边，车马熙攘，行人匆匆。一如昨天，一如前年…… 只是街角多了形影相吊的我，而已。</p>
<p> 宾客如归的微笑、一如继往的房间，加上似曾相识的白色卧具，依然无法遮挡沾满雨点的玻璃窗外陌生的灯火阑珊。</p>
<p> 打开窗，伸出手。想要触摸这桔色的光，——触摸这光的尽头，每盏灯下温暖的故事。雨水打在我的手心，我嗅到了，嗅到了属于流浪者的味道。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/10/15/%e8%a7%a6%e6%91%b8%e6%97%85%e7%a8%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>提供WAP支持</title>
		<link>http://www.litrin.net/2009/09/29/%e6%8f%90%e4%be%9bwap%e6%94%af%e6%8c%81/</link>
		<comments>http://www.litrin.net/2009/09/29/%e6%8f%90%e4%be%9bwap%e6%94%af%e6%8c%81/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 08:09:21 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1088</guid>
		<description><![CDATA[话说昨天，联通宣布了WCDMA业务正式商用。媒体评价：这宣布了中国正式进入3G时代。
也就是在同一天，多家高清频道的开通宣布了我国正式跨入高清电视时代。
对于当初非常热衷于新技术，到后来对于各种新技术出现了麻木，一直到今天似乎出现了对于这种麻木的过敏。无奈，我没有3G手机，只有一个公司提供的3G上网卡，大部分时间还工作在2G模式；没有高清机顶盒，43寸的高清电视只是出于习惯性的购买而已，大部分时间除了一遍遍换台玩也就是充当一个大显示器而已。似乎这些事情与我关系不大。纵然这些真正到了普及的那一天。我所能做的无非还是用3G手机打语音电话——一如2G甚至1G，依然在换台中度过本已经不多的TV-time——一如刚发明遥控器那样。技术再好只是外壳罢了，内容才是王道。五味使人口爽。
记得旧版中，我一直想要在网站中加入wap支持，以便于部分在机房里现翻资料的同学多一个选择途径——机器虽多，网速虽快，但往往唯一的上网途径只有手机而已。不得不说这是一个讽刺。今天，小站正式对WAP支持，考虑到向下兼容的原则，同时照顾到目前并不便宜的手机费，还是以纯文本为主吧。
WAP1.0连接http://www.litrin.net/wap/index-wap.php
wap2.0连接http://www.litrin.net/wap/index-wap2.php (iphone界面)
]]></description>
			<content:encoded><![CDATA[<p>话说昨天，联通宣布了WCDMA业务正式商用。媒体评价：这宣布了中国正式进入3G时代。<br />
也就是在同一天，多家高清频道的开通宣布了我国正式跨入高清电视时代。</p>
<p>对于当初非常热衷于新技术，到后来对于各种新技术出现了麻木，一直到今天似乎出现了对于这种麻木的过敏。无奈，我没有3G手机，只有一个公司提供的3G上网卡，大部分时间还工作在2G模式；没有高清机顶盒，43寸的高清电视只是出于习惯性的购买而已，大部分时间除了一遍遍换台玩也就是充当一个大显示器而已。似乎这些事情与我关系不大。纵然这些真正到了普及的那一天。我所能做的无非还是用3G手机打语音电话——一如2G甚至1G，依然在换台中度过本已经不多的TV-time——一如刚发明遥控器那样。技术再好只是外壳罢了，内容才是王道。五味使人口爽。<br />
记得旧版中，我一直想要在网站中加入wap支持，以便于部分在机房里现翻资料的同学多一个选择途径——机器虽多，网速虽快，但往往唯一的上网途径只有手机而已。不得不说这是一个讽刺。今天，小站正式对WAP支持，考虑到向下兼容的原则，同时照顾到目前并不便宜的手机费，还是以纯文本为主吧。</p>
<p>WAP1.0连接<a href="http://www.litrin.net/wap/index-wap.php">http://www.litrin.net/wap/index-wap.php</a></p>
<p>wap2.0连接<a href="http://www.litrin.net/wap/index-wap2.php">http://www.litrin.net/wap/index-wap2.php</a> (iphone界面)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/09/29/%e6%8f%90%e4%be%9bwap%e6%94%af%e6%8c%81/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置Ubuntu的php支持OCI8</title>
		<link>http://www.litrin.net/2009/09/15/%e9%85%8d%e7%bd%aeubuntu%e7%9a%84php%e6%94%af%e6%8c%81oci8/</link>
		<comments>http://www.litrin.net/2009/09/15/%e9%85%8d%e7%bd%aeubuntu%e7%9a%84php%e6%94%af%e6%8c%81oci8/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 09:48:03 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1085</guid>
		<description><![CDATA[PHP的OCI模块支持Oracle总是比较让人头痛。这趟弄个ubuntu的安装文档。
通过ubuntu-server安装盘安装LAMP。当然，正常情况下，建议安装好openssh服务器，免得麻烦。
虽然ubuntu的server支持root直接登录，既然是ubutu，还是遵循它的sudo吧。
安装结束后，启动server。
首先，经典的更新
#sudo apt-get update; sudo apt-get upgrade

添加所需的包
#sudo apt-get install php5-dev build-essential php-pear libaio1
差点忘了，要装unzip：
#sudo apt-get install unzip
按照oracle官方网站的要求http://www.oracle.com/technology/tech/oci/instantclient/index.html 下载Instant Client ，我老老实实的下载了basic和sdk两个包，理论上下载basic-lit和sdk就可以。
设立目录，解压缩：
#sudo mkdir /opt/oracle
#sudo cp ~/*.zip /opt/oracle
#cd /opt/oracle
#sudo unzip ./*.zip
#sudo mv instantclient_11_1 instantclient
设置instantclient：
#sudo ln –s libclntsh.so.11.1 libclntsh.so
#sudo ln –s libocci.so.11.1 libocci.so
#sudo export ORACLE_HOME=/opt/oracle/instantclien
添加lib库位置：
#cd /etc/ld.so.conf.d
#sudo nano liboci.conf  //添加一行：/opt/oracle/instantclient
#sudo ldconfig
准备OCI8库：
#sudo mkdir /tmp/src
#cd /tmp/src
#sudo pecl download oci8
#sudo tar vzxf oci8-1.3.5.tgz //我下载的版本是135
#cd oci8-1.3.5
编译OCI8：
#sudo phpize [...]]]></description>
			<content:encoded><![CDATA[<p>PHP的OCI模块支持Oracle总是比较让人头痛。这趟弄个ubuntu的安装文档。</p>
<p>通过ubuntu-server安装盘安装LAMP。当然，正常情况下，建议安装好openssh服务器，免得麻烦。</p>
<p>虽然ubuntu的server支持root直接登录，既然是ubutu，还是遵循它的sudo吧。</p>
<p>安装结束后，启动server。</p>
<p>首先，经典的更新<br />
#sudo apt-get update; sudo apt-get upgrade</p>
<p><span id="more-1085"></span></p>
<p>添加所需的包<br />
#sudo apt-get install php5-dev build-essential php-pear libaio1</p>
<p>差点忘了，要装unzip：<br />
#sudo apt-get install unzip</p>
<p>按照oracle官方网站的要求<a rel="nofollow" target="_blank" href="http://www.oracle.com/technology/tech/oci/instantclient/index.html">http://www.oracle.com/technology/tech/oci/instantclient/index.html</a> 下载<span>Instant Client ，我老老实实的下载了basic和sdk两个包，理论上下载basic-lit和sdk就可以。</span></p>
<p>设立目录，解压缩：<br />
#sudo mkdir /opt/oracle<br />
#sudo cp ~/*.zip /opt/oracle<br />
#cd /opt/oracle<br />
#sudo unzip ./*.zip<br />
#sudo mv instantclient_11_1 instantclient</p>
<p>设置instantclient：<br />
#sudo ln –s libclntsh.so.11.1 libclntsh.so<br />
#sudo ln –s libocci.so.11.1 libocci.so<br />
#sudo export ORACLE_HOME=/opt/oracle/instantclien</p>
<p>添加lib库位置：<br />
#cd /etc/ld.so.conf.d<br />
#sudo nano liboci.conf  //添加一行：/opt/oracle/instantclient<br />
#sudo ldconfig</p>
<p>准备OCI8库：<br />
#sudo mkdir /tmp/src<br />
#cd /tmp/src<br />
#sudo pecl download oci8<br />
#sudo tar vzxf oci8-1.3.5.tgz //我下载的版本是135<br />
#cd oci8-1.3.5</p>
<p>编译OCI8：<br />
#sudo phpize //比较容易出错的地方，如果报错，你可能没有安装php5-dev包<br />
#sudo ./configure &#8211;with-oci8=share,instantclient,$ORACLE_HOME<br />
#sudo make; sudo make install</p>
<p>设置php5支持：<br />
正常情况下编译完成后会有提示：Installing shared extensions:     /usr/lib/php5/20060613/<br />
到此目录下确认是否存在oci8.so<br />
#cd /etc/php5/conf.d<br />
#sudo nano oci8.ini //添加一行：extension=oci8.so<br />
#sudo apache2ctl restart</p>
<p>经过上述步骤，oci8模块就会成功安装，可以通过phpinfo页面确认是否存在oci8模块</p>
<h2><a name="module_oci8">oci8</a></h2>
<table border="0" cellpadding="3" width="600">
<tbody>
<tr>
<td>OCI8 Support</td>
<td>enabled</td>
</tr>
<tr>
<td>Version</td>
<td>1.3.5</td>
</tr>
<tr>
<td>Revision</td>
<td>$Revision: 1.269.2.16.2.38.2.32 $</td>
</tr>
<tr>
<td>Active Persistent Connections</td>
<td>0</td>
</tr>
<tr>
<td>Active Connections</td>
<td>0</td>
</tr>
<tr>
<td>Oracle Instant Client Version</td>
<td>11.1</td>
</tr>
<tr>
<td>Temporary Lob support</td>
<td>enabled</td>
</tr>
<tr>
<td>Collections support</td>
<td>enabled</td>
</tr>
</tbody>
</table>
<p> </p>
<table border="0" cellpadding="3" width="600">
<tbody>
<tr>
<th>Directive</th>
<th>Local Value</th>
<th>Master Value</th>
</tr>
<tr>
<td>oci8.connection_class</td>
<td><em>no value</em></td>
<td><em>no value</em></td>
</tr>
<tr>
<td>oci8.default_prefetch</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>oci8.events</td>
<td>Off</td>
<td>Off</td>
</tr>
<tr>
<td>oci8.max_persistent</td>
<td>-1</td>
<td>-1</td>
</tr>
<tr>
<td>oci8.old_oci_close_semantics</td>
<td>Off</td>
<td>Off</td>
</tr>
<tr>
<td>oci8.persistent_timeout</td>
<td>-1</td>
<td>-1</td>
</tr>
<tr>
<td>oci8.ping_interval</td>
<td>60</td>
<td>60</td>
</tr>
<tr>
<td>oci8.privileged_connect</td>
<td>Off</td>
<td>Off</td>
</tr>
<tr>
<td>oci8.statement_cache_size</td>
<td>20</td>
<td>20</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/09/15/%e9%85%8d%e7%bd%aeubuntu%e7%9a%84php%e6%94%af%e6%8c%81oci8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>说说“专业”</title>
		<link>http://www.litrin.net/2009/09/11/%e8%af%b4%e8%af%b4%e2%80%9c%e4%b8%93%e4%b8%9a%e2%80%9d/</link>
		<comments>http://www.litrin.net/2009/09/11/%e8%af%b4%e8%af%b4%e2%80%9c%e4%b8%93%e4%b8%9a%e2%80%9d/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 10:12:24 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[www]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[网络和安全]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1081</guid>
		<description><![CDATA[暂且不提中文里说你不专业是什么语气，至少来说，在英语语系里说一个人或者一家公司是“不专业的”，不管什么语境，总归是句很重的话。
公司的一家子公司，由于人少财弱，没有专职的网站开发人员。于是找了一个现在比较知名的免费网店全站程序。用的久了，不够用了，联系了那家公司进行开发。这本身也是符合免费软件生存法则的，没有什么不对。对方很专业的报价350块/小时。很是吓人的价钱。周瑜打黄盖，一个愿打一个愿挨。认了，付钱，问题才刚刚开始。

作为服务器的管理员，首先他们问我要root帐号，要知道，这台主机的网站差不多有几十个，谁会给？然后他们很发了顿牢骚。不得已，开了一个用户给他们，竟然蒙混过去，他们竟然以为得到了root，汗。
然后又是说ftp连不上，我很客气的说ftp没开，又是牢骚：“人家的linux都开ftp的，为什么？”我建议他们用sftp上传就OK，“不会用。”。又晕！嫌烦，现装了proftpd应付过去，又被人说密码太长太难记，彻底无语！
大约一个礼拜左右（350块/小时，赚了不少吧？）我得知他们已经完成了网站的定制开发。OK，停ftp，删帐户。程序照旧是加密的php，一个根目录下的php.php引起了我的注意，好家伙！&#60;? phpinfo(); ?&#62; 嫌我的站点太安全了不成？仔细查找了一下发现根目录下还有一个data.zip文件，全是打包的程序文件，当然包括数据库配置的用户名和密码。一个“白版页面”只有一个文本栏和一个submit按钮，顺手输入了一句sql，很幸运的发现了这竟然是数据库的接口——甚至可以直接drop table。文件名，就叫做sql.php，当然还是在根目录下。
如果说他们是在测试机下，新手来做，我们可以理解，可要知道生产环境下的服务器，调试程序都会要了命。
如他们所说“以专业的功能、领先的技术以及快速的价值体现，获得了45万用户的肯定。”我只能说，最近黑客们的效率确实很低。如此厂商如何评价？
]]></description>
			<content:encoded><![CDATA[<p>暂且不提中文里说你不专业是什么语气，至少来说，在英语语系里说一个人或者一家公司是“不专业的”，不管什么语境，总归是句很重的话。</p>
<p>公司的一家子公司，由于人少财弱，没有专职的网站开发人员。于是找了一个现在比较知名的免费网店全站程序。用的久了，不够用了，联系了那家公司进行开发。这本身也是符合免费软件生存法则的，没有什么不对。对方很专业的报价350块/小时。很是吓人的价钱。周瑜打黄盖，一个愿打一个愿挨。认了，付钱，问题才刚刚开始。</p>
<p><span id="more-1081"></span></p>
<p>作为服务器的管理员，首先他们问我要root帐号，要知道，这台主机的网站差不多有几十个，谁会给？然后他们很发了顿牢骚。不得已，开了一个用户给他们，竟然蒙混过去，他们竟然以为得到了root，汗。</p>
<p>然后又是说ftp连不上，我很客气的说ftp没开，又是牢骚：“人家的linux都开ftp的，为什么？”我建议他们用sftp上传就OK，“不会用。”。又晕！嫌烦，现装了proftpd应付过去，又被人说密码太长太难记，彻底无语！</p>
<p>大约一个礼拜左右（350块/小时，赚了不少吧？）我得知他们已经完成了网站的定制开发。OK，停ftp，删帐户。程序照旧是加密的php，一个根目录下的php.php引起了我的注意，好家伙！&lt;? phpinfo(); ?&gt; 嫌我的站点太安全了不成？仔细查找了一下发现根目录下还有一个data.zip文件，全是打包的程序文件，当然包括数据库配置的用户名和密码。一个“白版页面”只有一个文本栏和一个submit按钮，顺手输入了一句sql，很幸运的发现了这竟然是数据库的接口——甚至可以直接drop table。文件名，就叫做sql.php，当然还是在根目录下。</p>
<p>如果说他们是在测试机下，新手来做，我们可以理解，可要知道生产环境下的服务器，调试程序都会要了命。</p>
<p>如他们所说“以专业的功能、领先的技术以及快速的价值体现，获得了45万用户的肯定。”我只能说，最近黑客们的效率确实很低。如此厂商如何评价？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/09/11/%e8%af%b4%e8%af%b4%e2%80%9c%e4%b8%93%e4%b8%9a%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>从iPod到Web2.0</title>
		<link>http://www.litrin.net/2009/08/23/%e4%bb%8eipod%e5%88%b0web2-0/</link>
		<comments>http://www.litrin.net/2009/08/23/%e4%bb%8eipod%e5%88%b0web2-0/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 09:15:43 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1075</guid>
		<description><![CDATA[不同于其他的IT企业，在用户层面上消除技术因素正是apple的重大卖点。正是在这种理念的促进下，逐步催生了现在ipod这个“不同以往”的MP3。所谓不同主要表现如下：

新颖时尚的外观
允许用户安装程序
正常情况不允许用户直接管理播出素材，所有操作必须经过专用软件（itunes）完成。

作为apple整体战略的一部分，个人认为ipod直到iphone的地位主要分为几个阶段:

第一阶段，主要是产品的完善，由于apple还没有发布itunes的windows版本，Ipod的使用最好老老实实的使用Mac这个apples的操作系统也就是Apple自己的产品。所以，这个阶段Ipod主要作为Mac系统的延伸存在，产品的意义在于通过开拓MP3播放器的市场，进一步开拓Apple PC业务的市场空间。
第二阶段，以ipod3不再区分windows和Mac版本代为标志（03年4月28日首发）。同时，Itunes4.1（03年10月）起正式支持windows。由于这一代ipod默认借口仍旧是apple专利的1394接口；安装itunes还会强制安装貌似没有关系的quicktime软件和Bonjour 服务——直到今天仍然如此。可以说，这阶段ipod的目的是在windows 平台上推广apple的应用，从而通过专利授权费的形式为apple赢利。
第三阶段，或者从根本意义上讲是“二代半”，是以ipod suffle 或者说ipod mini为起点。一贯以“准奢侈品牌”自居的的apple发布相对廉价的产品，不得不说，他们要进一步扩大市场，打压竞争对手，同时大规模的树立ipod的时尚理念。当然，尽管ipod mini 的发布早于第二阶段的开始，但这个阶段ipod的自跌身价的前提是必须要支持市场占有率相对更大的windows。
第四阶段，以2005年10月12日，新的itune store 出现于itunes 6.0版本之中，这个标志着ipod除了产品硬件的赢利外，已经摸索进行内容赢利的尝试。由于国内常见的MP3获取途径并非全部合法，直到今天，ipod内容完全合法的内容只有通过CD转压或者从网上购买合法音乐，Itunes store正式提供了这个便捷途径。而从现在的趋势来看，数字媒体取代传统CD唱片那是早晚的事，何况CD转MP3也算是费时费力的活。在这一方面，apple利用上阶段ipod+itunes的普及抢占了先机。
第五阶段，全面“套牢”阶段，以07年1月9日iphone的推出作为标志。Apple借鉴了playstation的经验，通过廉价或者赔本发布手机这一个人数码产品而通过附带的软件销售业务赢利。这就带来了一个问题，我可能通过比较低的价钱购买了一部iphone，但iphone的最大诱惑不仅仅是硬件而已，于是通过itunes store 购买软件，几年之后，也许软件价钱接近或者超过了硬件本身的价钱。很不幸，手机丢了或者坏了，为了不造成更大的损失，我不得不再掏钱买一部iphone。于是陷入了一个更大的怪圈，最终的结果是我被彻底“套牢”。这个阶段，Apple已经完全从最早的软硬件厂商变成了完全的服务提供商。
 Apple的过程可以看作是web2.0的一个缩影。记得几年前，很多人认为，只要网站提供了rss那就叫web2.0——很是可笑的想法。RSS仅仅是途径之一，通过推送信息，将你套在一个固定的网站之上。如果说web1.0时代网站的工作内容是要完成“粘住”访问者的话，web2.0要做的是“套住”。
 回过头来看看所谓web2.0的开拓者google。个人认为，google的2.0是从gmail开始实验下水的。Gmail提供足够大的数据空间；更加体贴，并强烈推荐使用web界面；从提示语句中建议你不要删除邮件。很是聪明的方法。如果信箱不够大，看完就删的话，作为用户来讲，可能没几天有了更好的邮箱之后就再也不会上原来的web邮箱。但如果你的邮箱中永远保持着历史邮件并且能够很方便的查找，即便由于种种原因邮箱被遗弃，也难保你在几年后的某一天会上去翻阅自己的历史档案。这就是gmail所需要的。剩下的几个应用诸如日历、在线office、阅读器、哪怕是相册，实现的目的也大致如此——一层层的“套牢”一道道的枷锁，让你永远也跑不掉。最终google的操作系统一旦问世，那可就是兼具拓展用户和“套牢”用户的双重目的。
 扯远一点，这样的话数字遗产估计要提上法律日程了。
 现在很是流行的像开心网这样的SNS也是这种概念，做的就是套住你，不停的开发新游戏，新工具，结交新的朋友直到你上不了网为止。
回过头看看我比较反感的腾讯，多年前Q币的引入也就是此目的。QQ空间和QQ相册强化了Q币效应。可以说腾讯也是唯一具有国内的特色创新的web2.0。
]]></description>
			<content:encoded><![CDATA[<p>不同于其他的IT企业，在用户层面上消除技术因素正是apple的重大卖点。正是在这种理念的促进下，逐步催生了现在ipod这个“不同以往”的MP3。所谓不同主要表现如下：</p>
<ol>
<li>新颖时尚的外观</li>
<li>允许用户安装程序</li>
<li>正常情况不允许用户直接管理播出素材，所有操作必须经过专用软件（itunes）完成。</li>
</ol>
<p>作为apple整体战略的一部分，个人认为ipod直到iphone的地位主要分为几个阶段:</p>
<p><span id="more-1075"></span></p>
<p>第一阶段，主要是产品的完善，由于apple还没有发布itunes的windows版本，Ipod的使用最好老老实实的使用Mac这个apples的操作系统也就是Apple自己的产品。所以，这个阶段Ipod主要作为Mac系统的延伸存在，产品的意义在于通过开拓MP3播放器的市场，进一步开拓Apple PC业务的市场空间。</p>
<p>第二阶段，以ipod3不再区分windows和Mac版本代为标志（03年4月28日首发）。同时，Itunes4.1（03年10月）起正式支持windows。由于这一代ipod默认借口仍旧是apple专利的1394接口；安装itunes还会强制安装貌似没有关系的quicktime软件和Bonjour 服务——直到今天仍然如此。可以说，这阶段ipod的目的是在windows 平台上推广apple的应用，从而通过专利授权费的形式为apple赢利。</p>
<p>第三阶段，或者从根本意义上讲是“二代半”，是以ipod suffle 或者说ipod mini为起点。一贯以“准奢侈品牌”自居的的apple发布相对廉价的产品，不得不说，他们要进一步扩大市场，打压竞争对手，同时大规模的树立ipod的时尚理念。当然，尽管ipod mini 的发布早于第二阶段的开始，但这个阶段ipod的自跌身价的前提是必须要支持市场占有率相对更大的windows。</p>
<p>第四阶段，以2005年10月12日，新的itune store 出现于itunes 6.0版本之中，这个标志着ipod除了产品硬件的赢利外，已经摸索进行内容赢利的尝试。由于国内常见的MP3获取途径并非全部合法，直到今天，ipod内容完全合法的内容只有通过CD转压或者从网上购买合法音乐，Itunes store正式提供了这个便捷途径。而从现在的趋势来看，数字媒体取代传统CD唱片那是早晚的事，何况CD转MP3也算是费时费力的活。在这一方面，apple利用上阶段ipod+itunes的普及抢占了先机。</p>
<p>第五阶段，全面“套牢”阶段，以07年1月9日iphone的推出作为标志。Apple借鉴了playstation的经验，通过廉价或者赔本发布手机这一个人数码产品而通过附带的软件销售业务赢利。这就带来了一个问题，我可能通过比较低的价钱购买了一部iphone，但iphone的最大诱惑不仅仅是硬件而已，于是通过itunes store 购买软件，几年之后，也许软件价钱接近或者超过了硬件本身的价钱。很不幸，手机丢了或者坏了，为了不造成更大的损失，我不得不再掏钱买一部iphone。于是陷入了一个更大的怪圈，最终的结果是我被彻底“套牢”。这个阶段，Apple已经完全从最早的软硬件厂商变成了完全的服务提供商。</p>
<p> Apple的过程可以看作是web2.0的一个缩影。记得几年前，很多人认为，只要网站提供了rss那就叫web2.0——很是可笑的想法。RSS仅仅是途径之一，通过推送信息，将你套在一个固定的网站之上。<strong>如果说web1.0时代网站的工作内容是要完成“粘住”访问者的话，web2.0要做的是“套住”。</strong></p>
<p> 回过头来看看所谓web2.0的开拓者google。个人认为，google的2.0是从gmail开始实验下水的。Gmail提供足够大的数据空间；更加体贴，并强烈推荐使用web界面；从提示语句中建议你不要删除邮件。很是聪明的方法。如果信箱不够大，看完就删的话，作为用户来讲，可能没几天有了更好的邮箱之后就再也不会上原来的web邮箱。但如果你的邮箱中永远保持着历史邮件并且能够很方便的查找，即便由于种种原因邮箱被遗弃，也难保你在几年后的某一天会上去翻阅自己的历史档案。这就是gmail所需要的。剩下的几个应用诸如日历、在线office、阅读器、哪怕是相册，实现的目的也大致如此——一层层的“套牢”一道道的枷锁，让你永远也跑不掉。最终google的操作系统一旦问世，那可就是兼具拓展用户和“套牢”用户的双重目的。</p>
<p> 扯远一点，这样的话数字遗产估计要提上法律日程了。</p>
<p> 现在很是流行的像开心网这样的SNS也是这种概念，做的就是套住你，不停的开发新游戏，新工具，结交新的朋友直到你上不了网为止。</p>
<p>回过头看看我比较反感的腾讯，多年前Q币的引入也就是此目的。QQ空间和QQ相册强化了Q币效应。可以说腾讯也是唯一具有国内的特色创新的web2.0。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/08/23/%e4%bb%8eipod%e5%88%b0web2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>无关乎技术</title>
		<link>http://www.litrin.net/2009/08/21/%e6%97%a0%e5%85%b3%e4%b9%8e%e6%8a%80%e6%9c%af/</link>
		<comments>http://www.litrin.net/2009/08/21/%e6%97%a0%e5%85%b3%e4%b9%8e%e6%8a%80%e6%9c%af/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 18:16:21 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1072</guid>
		<description><![CDATA[这次说点技术无关的。
小站的广告上经常出现类似的字眼“为什么学了某某仍然找不到工作？”这里的某某有Java、有OCP、有Linux……总之都是属于目前诸多IT培训中成本相对，或者说绝对是最高的。排除广告的宣传目的暂且不谈，且说说为什么会有类似的话题出现。

作为一个在职场上沉浮的IT从业者，首先要说的是近些年来，IT的整体行业越发的出现了颓势，就业压力不小，加上前些年力推IT培训带来的人才泛滥的局面。借用之前看过的某杂志的话：“修电脑的比不上修马桶的。”人才出现了过饱和的局面很有意思——之前人们说搞IT的首先想到的是高收入，现在说起搞IT的是绝对没有办法估计其收入水平的。
其次要说的是，这些所谓的精英培训的商业化带来的诟病——认证机构委托某某公司培训，如果难度大，通过率搞的太低，没几家公司愿意接活，只能放开通过率；同时培训机构的相互竞争只能带来师资力量的分散和削弱，反过来又会影响通过率，恶性循环在所难免；最后剩下的几个幸存的认证在国人特有的考试能力激发下也逐步变味。
最后想要说的是，不知是不是确实有人真正了解过某某认证的意义是什么。或者说他们认为某某认证仅仅是一块敲门砖而已。别的不说，就拿那个OCP来说吧。既然被称为“Certified Professional”首先要做的肯定是专业喽。可是看过很多OCP的简历，竟然有的人连一天的DBA经验或者说Oracle生产库管理经验也没有，比较汗，随便问问几个问题，竟然会有类似“只能重新规划表结构”这类雷人的回答。谁又敢相信这样的DBA？这个话题可以深究到类似“为什么中国的硕士和博士平均年龄会小国际平均年龄的10年以上？”这类话题。
]]></description>
			<content:encoded><![CDATA[<p>这次说点技术无关的。</p>
<p>小站的广告上经常出现类似的字眼“为什么学了某某仍然找不到工作？”这里的某某有Java、有OCP、有Linux……总之都是属于目前诸多IT培训中成本相对，或者说绝对是最高的。排除广告的宣传目的暂且不谈，且说说为什么会有类似的话题出现。</p>
<p><span id="more-1072"></span></p>
<p>作为一个在职场上沉浮的IT从业者，首先要说的是近些年来，IT的整体行业越发的出现了颓势，就业压力不小，加上前些年力推IT培训带来的人才泛滥的局面。借用之前看过的某杂志的话：“修电脑的比不上修马桶的。”人才出现了过饱和的局面很有意思——之前人们说搞IT的首先想到的是高收入，现在说起搞IT的是绝对没有办法估计其收入水平的。</p>
<p>其次要说的是，这些所谓的精英培训的商业化带来的诟病——认证机构委托某某公司培训，如果难度大，通过率搞的太低，没几家公司愿意接活，只能放开通过率；同时培训机构的相互竞争只能带来师资力量的分散和削弱，反过来又会影响通过率，恶性循环在所难免；最后剩下的几个幸存的认证在国人特有的考试能力激发下也逐步变味。</p>
<p>最后想要说的是，不知是不是确实有人真正了解过某某认证的意义是什么。或者说他们认为某某认证仅仅是一块敲门砖而已。别的不说，就拿那个OCP来说吧。既然被称为“Certified Professional”首先要做的肯定是专业喽。可是看过很多OCP的简历，竟然有的人连一天的DBA经验或者说Oracle生产库管理经验也没有，比较汗，随便问问几个问题，竟然会有类似“只能重新规划表结构”这类雷人的回答。谁又敢相信这样的DBA？这个话题可以深究到类似“为什么中国的硕士和博士平均年龄会小国际平均年龄的10年以上？”这类话题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/08/21/%e6%97%a0%e5%85%b3%e4%b9%8e%e6%8a%80%e6%9c%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实战Linux 虚拟服务器</title>
		<link>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/</link>
		<comments>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 06:51:29 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[硬件相关]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1062</guid>
		<description><![CDATA[也不知最近怎么了，一直钻到怪圈里——先是研究把多台主机逻辑上虚拟成一台主机的clustter技术，接着又是把一台主机虚拟成多台主机的虚拟化及技术。
虚拟化，不管是intel-vt还是AMD-v，现在已经逐渐成了标配，MS虚拟化大行其道了。MS也在很久之前推出Virtual server和hyper-v服务器，具体暂时可以参考这里。考虑到redhat的设置相对没有难度，没事找事的我选择ubuntu server来部署。

安装一套干净的ubuntu server版，我选择了804.3 64bit版本。服务器是Dell 2950 双Xeon 5130, 4GRam 137G 硬盘。硬件支持intel-vt。
安装到最后，选择开启openssh服务器。可以离开机房，远程联机操作了。
安装virt-manager——这个软件就是redhat系统的虚拟机管理软件，ms是目前最方便的虚拟机管理程序。比较方便的apt-get，当然，如果你本机的系统是linux可以直接把virt-manager装在本机通过远程管理。方便起见，这里还是按照ssh的x-forwarding的方式介绍。
sudo apt-get install virt-manager gnome-core qemu libvirt-bin
比较漫长的等待，系统需要下载n多的包。可以出去休息一下。安装结束后不要忘记重新启动。
稍作修改，典型的ubuntu ‘sudo’问题
sudo nano /usr/bin/virt-manager
 #!/bin/sh
exec sudo python &#8220;/usr/share/virt-manager/virt-manager.py&#8221; &#8220;$@&#8221;
设置ssh的x11转接后
sudo virt-manager
应该可以看到KVM了。
选择file-&#62;open connection-&#62;选择QEMU, Local连接到主机。右击，选择new，有很详细的向导，这里不再解释了。貌似系统还支持多种cpu平台，没有做测试。不知道是什么缘故，virt-manager对于鼠标的支持有些问题——系统的鼠标和虚拟系统的鼠标总是不同步。有些时候还是比较让人讨厌。建议安装好系统之后还是用远程连接到虚拟机上进行操作吧。
ps:本想通过virt-manager + xen来实现，无奈全部修改好了之后，用virt-manager一连接到主机就崩溃，搜索了ubuntu的bugzilla发觉这似乎是64bit的通病，于是只能用Qemu。如果各位有成功部署的话希望能够共享经验。
]]></description>
			<content:encoded><![CDATA[<p>也不知最近怎么了，一直钻到怪圈里——先是研究把多台主机逻辑上虚拟成一台主机的clustter技术，接着又是把一台主机虚拟成多台主机的虚拟化及技术。</p>
<p>虚拟化，不管是intel-vt还是AMD-v，现在已经逐渐成了标配，MS虚拟化大行其道了。MS也在很久之前推出Virtual server和hyper-v服务器，具体暂时可以参考<a href="http://www.litrin.net/2008/02/19/virtual-server-virtual-pc%e4%b8%8blinux%e6%a1%8c%e9%9d%a2%e7%9a%84%e9%97%ae%e9%a2%98/" target="_blank">这里</a>。考虑到redhat的设置相对没有难度，没事找事的我选择ubuntu server来部署。</p>
<p><span id="more-1062"></span></p>
<p>安装一套干净的ubuntu server版，我选择了804.3 64bit版本。服务器是Dell 2950 双Xeon 5130, 4GRam 137G 硬盘。硬件支持intel-vt。</p>
<p>安装到最后，选择开启openssh服务器。可以离开机房，远程联机操作了。</p>
<p>安装virt-manager——这个软件就是redhat系统的虚拟机管理软件，ms是目前最方便的虚拟机管理程序。比较方便的apt-get，当然，如果你本机的系统是linux可以直接把virt-manager装在本机通过远程管理。方便起见，这里还是按照ssh的x-forwarding的方式介绍。</p>
<p>sudo apt-get install virt-manager gnome-core qemu libvirt-bin</p>
<p>比较漫长的等待，系统需要下载n多的包。可以出去休息一下。安装结束后不要忘记重新启动。</p>
<p>稍作修改，典型的ubuntu ‘sudo’问题</p>
<p>sudo nano /usr/bin/virt-manager</p>
<p> #!/bin/sh<br />
exec <strong><span style="color: #ff0000;">sudo</span></strong> python &#8220;/usr/share/virt-manager/virt-manager.py&#8221; &#8220;$@&#8221;</p>
<p><a href="http://www.litrin.net/2009/06/01/ssh%e7%9a%84x%ef%bc%8dforwarding/" target="_blank">设置ssh的x11转接</a>后</p>
<p>sudo virt-manager</p>
<p>应该可以看到KVM了。</p>
<div id="attachment_1066" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_main.png"><img class="size-medium wp-image-1066" title="virt-manager_main" src="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_main-300x226.png" alt="virt-manager" width="300" height="226" /></a><p class="wp-caption-text">virt-manager</p></div>
<p>选择file-&gt;open connection-&gt;选择QEMU, Local连接到主机。右击，选择new，有很详细的向导，这里不再解释了。貌似系统还支持多种cpu平台，没有做测试。不知道是什么缘故，virt-manager对于鼠标的支持有些问题——系统的鼠标和虚拟系统的鼠标总是不同步。有些时候还是比较让人讨厌。建议安装好系统之后还是用远程连接到虚拟机上进行操作吧。</p>
<div id="attachment_1067" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_ui.png"><img class="size-medium wp-image-1067" title="virt-manager 界面" src="http://www.litrin.net/wp-content/uploads/2009/08/virt-manager_ui-300x275.png" alt="2003的安装" width="300" height="275" /></a><p class="wp-caption-text">2003的安装系统资源管理</p></div>
<div class="mceTemp mceIEcenter" style="text-align: left;">ps:本想通过virt-manager + xen来实现，无奈全部修改好了之后，用virt-manager一连接到主机就崩溃，搜索了ubuntu的bugzilla发觉这似乎是64bit的通病，于是只能用Qemu。如果各位有成功部署的话希望能够共享经验。</div>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/08/05/%e5%ae%9e%e6%88%98linux-%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>不妨从《血狮》讲起</title>
		<link>http://www.litrin.net/2009/08/01/%e4%b8%8d%e5%a6%a8%e4%bb%8e%e3%80%8a%e8%a1%80%e7%8b%ae%e3%80%8b%e8%ae%b2%e8%b5%b7/</link>
		<comments>http://www.litrin.net/2009/08/01/%e4%b8%8d%e5%a6%a8%e4%bb%8e%e3%80%8a%e8%a1%80%e7%8b%ae%e3%80%8b%e8%ae%b2%e8%b5%b7/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 09:01:21 +0000</pubDate>
		<dc:creator>Litrin</dc:creator>
				<category><![CDATA[站长的blog]]></category>
		<category><![CDATA[业界话题]]></category>

		<guid isPermaLink="false">http://www.litrin.net/?p=1059</guid>
		<description><![CDATA[CJ期间，禁不住怀古一番。除了感慨一下，没有别的。无意间下载了网上某位仁兄制作的“《血狮》XP”包，深刻的回味了一下传说中的“神作”。记得那时寝室的某个同学连续几个月号称要去买一套正版收藏，看了实际游戏界面后再也不提了。
 所谓“神作”的种种，以及他对国产游戏产业带来的那种影响今天在这里探讨也没有意义和必要。时间太长了，以至于“神作”发行时还没有上学的孩子现在已经成为了我的同事。当初的游戏尚未形成产业，身为学生的我只会把“神作”的责任一古脑推给开发商滥。这些年几乎与IT业一起成长。不妨看看如今的环境下是否还存在“神作” 的土壤。
 “神作”土壤之一：市场脉搏把握上
记得“神作”当初的时代正值C&#38;C热乎朝天，一代红警还要1年后出现。市场上确实存在需求，但要在当时的两部超级大作之间的夹缝中存活，谈何容易？别人靠的是市场策略，针对的是全球市场；自己仅仅只是靠着当年的一点反美情绪，针对的本身就是国内的一点点已经被盗版侵蚀的可以的市场。
OK，即便是这样，当然也会存在获胜的希望，前提是要树立自己的特色，创造出不寻常的卖点。可现实是，连宣传口号都是以把自己作为一个超级大作来美化。
在我个人的理解里，游戏的一开始根本没有经过市场的细分和考证，仅仅只是几个人的兴趣使然。
 “神作”土壤之二：过渡的宣传
前面已经说过，作为这么一款产品而言，完全没有必要把自己跟超级大作放在一起。这就如同我卖方便面根本不期待顾客吃出熊掌鱼翅的感觉来一样。看过同期的其他游戏，“神作”的水平不见得差到过分的地步，只能说过分的心理落差从某种角度上制造了神化。
看到如今很多网游的宣传，仿佛又回到了那个时代。
 “神作”土壤之三：团队协作问题
据后来开发团队的回忆说，产品之所以bug满天飞，一方面的因素是由于“核心程序员的离职，新的程序员不熟悉系统”造成的。类似的问题直到现在还是很多IT企业的困扰。暂时不去计较HR方面的工作，为什么会有这么大技术壁垒的存在本身就是个很值得反思的问题。经常听别人的牢骚说某某IT团队“一代不如一代”。这真是因为人员素质，抑或是其他？即便不去谈良好的交接和协作的可能，至少埋雷、挖坑在这一行里已经不是罕见了。
 “神作”土壤之四：商业运作上
“神作”之所以被称为作为半成品就可以出售的原因，据说是由于前期拿了出版商的银子，被逼着要按时交货。看看现在的暴雪，按时交货反倒成了奢望。为什么有这样的反差，在这里只能说“谁出钱谁是爷”。作为程序员没有几个从不加班的，供应商按时交货也是本分。可这个放在带有艺术创作味道的游戏行业里，谁又能保证产品的质量呢？
 当然，不得不说，以这样的产品在当时创造的销售量和人气，“神作”是成功的，这个销量说明在国内进行正版化并不是没有可能，只是方法不对而已。
]]></description>
			<content:encoded><![CDATA[<p>CJ期间，禁不住怀古一番。除了感慨一下，没有别的。无意间下载了网上某位仁兄制作的“《血狮》XP”包，深刻的回味了一下传说中的“神作”。记得那时寝室的某个同学连续几个月号称要去买一套正版收藏，看了实际游戏界面后再也不提了。</p>
<p> 所谓“神作”的种种，以及他对国产游戏产业带来的那种影响今天在这里探讨也没有意义和必要。时间太长了，以至于“神作”发行时还没有上学的孩子现在已经成为了我的同事。当初的游戏尚未形成产业，身为学生的我只会把“神作”的责任一古脑推给开发商滥。这些年几乎与IT业一起成长。不妨看看如今的环境下是否还存在“神作” 的土壤。</p>
<p><span id="more-1059"></span> <strong>“神作”土壤之一：市场脉搏把握上</strong></p>
<p>记得“神作”当初的时代正值C&amp;C热乎朝天，一代红警还要1年后出现。市场上确实存在需求，但要在当时的两部超级大作之间的夹缝中存活，谈何容易？别人靠的是市场策略，针对的是全球市场；自己仅仅只是靠着当年的一点反美情绪，针对的本身就是国内的一点点已经被盗版侵蚀的可以的市场。</p>
<p>OK，即便是这样，当然也会存在获胜的希望，前提是要树立自己的特色，创造出不寻常的卖点。可现实是，连宣传口号都是以把自己作为一个超级大作来美化。</p>
<p>在我个人的理解里，游戏的一开始根本没有经过市场的细分和考证，仅仅只是几个人的兴趣使然。</p>
<p> <strong>“神作”土壤之二：过渡的宣传</strong></p>
<p>前面已经说过，作为这么一款产品而言，完全没有必要把自己跟超级大作放在一起。这就如同我卖方便面根本不期待顾客吃出熊掌鱼翅的感觉来一样。看过同期的其他游戏，“神作”的水平不见得差到过分的地步，只能说过分的心理落差从某种角度上制造了神化。</p>
<p>看到如今很多网游的宣传，仿佛又回到了那个时代。</p>
<p> <strong>“神作”土壤之三：团队协作问题</strong></p>
<p>据后来开发团队的回忆说，产品之所以bug满天飞，一方面的因素是由于“核心程序员的离职，新的程序员不熟悉系统”造成的。类似的问题直到现在还是很多IT企业的困扰。暂时不去计较HR方面的工作，为什么会有这么大技术壁垒的存在本身就是个很值得反思的问题。经常听别人的牢骚说某某IT团队“一代不如一代”。这真是因为人员素质，抑或是其他？即便不去谈良好的交接和协作的可能，至少埋雷、挖坑在这一行里已经不是罕见了。</p>
<p> <strong>“神作”土壤之四：商业运作上</strong></p>
<p>“神作”之所以被称为作为半成品就可以出售的原因，据说是由于前期拿了出版商的银子，被逼着要按时交货。看看现在的暴雪，按时交货反倒成了奢望。为什么有这样的反差，在这里只能说“谁出钱谁是爷”。作为程序员没有几个从不加班的，供应商按时交货也是本分。可这个放在带有艺术创作味道的游戏行业里，谁又能保证产品的质量呢？</p>
<p> 当然，不得不说，以这样的产品在当时创造的销售量和人气，“神作”是成功的，这个销量说明在国内进行正版化并不是没有可能，只是方法不对而已。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.litrin.net/2009/08/01/%e4%b8%8d%e5%a6%a8%e4%bb%8e%e3%80%8a%e8%a1%80%e7%8b%ae%e3%80%8b%e8%ae%b2%e8%b5%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
