<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>糊涂猫的记忆</title>
	<atom:link href="http://ruimemo.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruimemo.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 13 Jan 2012 14:55:03 +0000</lastBuildDate>
	<language>zh-cn</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ruimemo.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>糊涂猫的记忆</title>
		<link>http://ruimemo.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ruimemo.wordpress.com/osd.xml" title="糊涂猫的记忆" />
	<atom:link rel='hub' href='http://ruimemo.wordpress.com/?pushpress=hub'/>
		<item>
		<title>GIT 源管理设定 （From SVN to GIT)</title>
		<link>http://ruimemo.wordpress.com/2012/01/11/git-%e6%ba%90%e7%ae%a1%e7%90%86%e8%ae%be%e5%ae%9a-%ef%bc%88from-svn-to-git/</link>
		<comments>http://ruimemo.wordpress.com/2012/01/11/git-%e6%ba%90%e7%ae%a1%e7%90%86%e8%ae%be%e5%ae%9a-%ef%bc%88from-svn-to-git/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:12:57 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=123</guid>
		<description><![CDATA[年底的时候常常不在公司的网络内，再次让我感受了SVN的局限，每次有东西要么都全部在自己的本本里面积攒着，等什么时候进了公司的网络去checkin，要么就专门为了检查code而进入公司网络。加之年底公司实行心的安全要求，不能好像从前那样直接几个密码就进vpn了，还要用硬件的RSA动态钥匙（麻烦加之麻烦）所以最终决定转换到GIT好了（其实好久之前就想转git了，不过一直在偷懒） 首先是给自己一个清单： 1）服务器: CENTOS 5.7 2）服务器现有：svn + trac 3）svn 中现有 project: 71 4) 架设 git + gitweb 5) 所有的 project 都要直接移植过去（包括所有的log，commit，branch） 6) git 提供：readonly 的 http 跟 git 的权限，commit权限走ssh 7) 因为之前是apache跑trac，所以还有一些我自己的python的code写的网页，全部需要保留。 开始之前，我首先在我自己的机器里面把所有的svn下面的project都update了一下，然后关闭服务器上的svn，这样设定期间就没有东西可以commit back回服务器了。 为了便于安装，我直接用rpmforge这个源里的git（也可以自己从source安装） &#160; 1. 安装rpmforge的源 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm &#160; 2. import GPG key rpm &#8211;import http://apt.sw.be/RPM-GPG-KEY.dag.txt &#160; 3. 用gpg的key来检查下载包裹的完整性 rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm 4. 安装sourcefroge的源 sudo <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=123&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>年底的时候常常不在公司的网络内，再次让我感受了SVN的局限，每次有东西要么都全部在自己的本本里面积攒着，等什么时候进了公司的网络去checkin，要么就专门为了检查code而进入公司网络。加之年底公司实行心的安全要求，不能好像从前那样直接几个密码就进vpn了，还要用硬件的RSA动态钥匙（麻烦加之麻烦）所以最终决定转换到GIT好了（其实好久之前就想转git了，不过一直在偷懒）</p>
<p>首先是给自己一个清单：</p>
<p>1）服务器: CENTOS 5.7</p>
<p>2）服务器现有：svn + trac</p>
<p>3）svn 中现有 project: 71</p>
<p>4) 架设 git + gitweb</p>
<p>5) 所有的 project 都要直接移植过去（包括所有的log，commit，branch）</p>
<p>6) git 提供：readonly 的 http 跟 git 的权限，commit权限走ssh</p>
<p>7) 因为之前是apache跑trac，所以还有一些我自己的python的code写的网页，全部需要保留。<br />
开始之前，我首先在我自己的机器里面把所有的svn下面的project都update了一下，然后关闭服务器上的svn，这样设定期间就没有东西可以commit back回服务器了。<br />
为了便于安装，我直接用rpmforge这个源里的git（也可以自己从source安装）</p>
<p>&nbsp;</p>
<p>1. 安装rpmforge的源</p>
<p>http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm</p>
<p>&nbsp;</p>
<p>2. import GPG key</p>
<p>rpm &#8211;import http://apt.sw.be/RPM-GPG-KEY.dag.txt</p>
<p>&nbsp;</p>
<p>3. 用gpg的key来检查下载包裹的完整性</p>
<p>rpm -K rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm</p>
<p>4. 安装sourcefroge的源</p>
<p>sudo rpm -i rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm</p>
<p>5. 安装所需要的套件: git, gitweb (网页）, httpd (apache), git-daemon （gti 协议的 xinetd 启动）</p>
<p>sudo yum install git-all gitweb httpd git-daemon</p>
<p>6. 创建一个新的 git的用户：</p>
<p>sudo adduser git</p>
<p>7. 设定我自己的帐号到加入git的组，这样我自己可以commit</p>
<p>sudo usermod -G git -a rli</p>
<p>8. 创建git源的目录，我放在/var/lib/git 这个是redhat的default的git源的地方</p>
<p>sudo mkdir -p /var/lib/git</p>
<p>chown git.git /var/lib/git</p>
<p>9. 下面的动作已经不需要root了，更改用户到 git （之前创建的）</p>
<p>sudo su -l git</p>
<p>10. 创建一个随便的repo用来测试安装</p>
<p>mkdir /var/lib/git/test</p>
<p>cd /var/lib/git/test</p>
<p>git init &#8211;bare &#8211;share</p>
<p>上面的git init给了两个选项，一个是&#8211;bare这个就是建立一个空的repo，另外一个是&#8211;share这样所有的commit会自动继承本身repo的权限</p>
<p>11. 现在git的repo就已经做好了，就这么简单，可以用ssh来测试一下</p>
<p>cd /tmp</p>
<p>git clone rli@localhost:/var/lib/git/test</p>
<p>这里我们会看到test这个project会被checkout出来</p>
<p>12. 增加http的public access， 首先要enable一个post-update的hook</p>
<p>mv /var/lib/git/test/hooks/post-update.sample /var/lib/git/test/hooks/post-update</p>
<p>cd /var/lib/git/test</p>
<p>用 git update-server-info 来update以下gitweb所需要的文件</p>
<p>git update-server-info</p>
<p>可以随便给这个project一个介绍</p>
<p>echo &#8220;git test empty project&#8221; &gt; description</p>
<p>13. 设定http来服务git的http checkout， url的path是可以随便给的，我这里给的名字是gitsource，所以就设定一个新的conf文件在/etc/httpd/conf.d/下面</p>
<p>sudo vim /etc/httpd/conf.d/gitsource.conf</p>
<p>Alias /gitsource /var/lib/git<br />
&lt;Directory /var/lib/git&gt;<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;<br />
上面的设定什么都没有，就是说http://xxxxxxx/gitsource这个rul会去/var/lib/git里面找文件，http允许任何的地址访问（Allow from all）</p>
<p>设定好重新启动以下httpd</p>
<p>sudo service httpd restart</p>
<p>同时不要忘记设定httpd为开机启动</p>
<p>sudo chkconfig httpd start</p>
<p>&nbsp;</p>
<p>14. 检查以下我们新设定的http源是否工作</p>
<p>cd /tmp/</p>
<p>rm -rf test</p>
<p>git clone http://localhost/gitsource/test</p>
<p>上面会看到checkout一个空的test的project出来</p>
<p>&nbsp;</p>
<p>15. 增加git的协议，sourceforge的git rpm已经做好的xinetd的启动文件，只要开启就好了</p>
<p>sudo chkconfig git on</p>
<p>如果xinetd是已经启动的（这个看服务器而定）那么xinetd会自动开启你开启的东西，如果xinetd没有启动，可以设定启动</p>
<p>sudo chkconfig xinetd on</p>
<p>sudo service xinetd start</p>
<p>这里需要注意一下的是，如果你的git源不是放在/var/lib/git下面（default）那么你需要设定以下 /etc/xinetd.d/git这个文件中的server_args这个参数，server_args这里告诉git要去哪里找git的源，另外如果不想每个repo都自动export（控制单个的repo）那么，你可以去掉 &#8211;export-all这个选项，但是每个独立的git project就需要有一个 git-daemon-export-ok 的文件才可以<em></em></p>
<p>16. 再次测试git的git协议是否工作</p>
<p>cd /tmp</p>
<p>rm -rf test</p>
<p>git clone git://localhost/test</p>
<p>再次确定我们有checkout我们的project出来</p>
<p>17. 查看更改/etc/gitweb.conf来设定gitweb</p>
<p>这个就是个人偏好设定了，我是只有设定@git_base_url_list给了http，git跟ssh三个url（显示的时候用）</p>
<p>18. rpmforce  gitweb的安装套件已经帮你设定了apache所需要的东西，url是你服务器下面的 http://xxxxxx/git</p>
<p>Alias /git /usr/share/gitweb<br />
&lt;Directory /usr/share/gitweb&gt;<br />
Options +ExecCGI<br />
AddHandler cgi-script .cgi<br />
DirectoryIndex gitweb.cgi<br />
&lt;/Directory&gt;<br />
这里看到套件已经设定好cgi是izai/usr/share/gitweb下面</p>
<p>打开游览器，http://localhost/git你就可以看到自己的test的project了</p>
<p>&nbsp;</p>
<p>移植svn到git</p>
<p>这个就很简单了，可以用git svn这个指令</p>
<p>我svn里有71个project，在同一个文件夹下面已经checkout出来过了，现在用git svn再次checkout一次就好（所有svn的project名字在/tmp/svn/下面）</p>
<p>mkdir -p /tmp/git/git-svn</p>
<p>cd /tmp/git/git-svn</p>
<p>#也可以直接建立一个txt文件，里面写上所有的svn中的project的名字，然后直接for x in $(cat svn_name.txt)</p>
<p>for x in /tmp/svn/*; do git svn clone &#8211;no-metadata http://localhost/svn/$(echo $x|awk -F &#8216;/&#8217; &#8216;{print $NF}&#8217;)</p>
<p>这样我就得到了71个git从svn中checkout的全部project（这个要跑很久，因为所有的commit，log都会check出来）</p>
<p>不确定是否一定需要，不过我还是再次从git svn中所checkout的东西用git再clone一下（纯粹的git）</p>
<p>mkdir -p /tmp/git/git</p>
<p>cd /tmp/git/git</p>
<p>for x in /tmp/git/git-svn/*; do git clont $x git clone $x; done</p>
<p>清空/var/lib/git，然后生成所有的project</p>
<p>for x in /tmp/git/git/*; do mkdir /var/lib/git/$(echo $x |awk -F &#8216;/&#8217; &#8216;{print $NF}&#8217;); done</p>
<p>所有的git都需要init一下，就是之前我们init那个test的projet的指令</p>
<p>for x in /var/lib/git/*; do cd $x; git &#8211;bare &#8211;shared, mv hooks/post-update.sample hooks/post-update; git update-server-info; cd ../; done</p>
<p>这个时候所有的project都做好，源码也在/tmp/git/git下面了，我们直接用git的指令push回我们的git server就好</p>
<p>做之前，在自己的account设定好rsa的login，这样可以省去输入密码</p>
<p>下面步骤可以一起做，这里为了便于游览，我分开来</p>
<p>第一个是加入git服务器的源，这里随便起名字叫做mygit</p>
<p>for x in /tmp/git/git/*; do cd $x; git remote add mygit ssh@localhost:/var/lib/git/$(echo $x|awk -F &#8216;/&#8217; &#8216;{print $NF}&#8217;); done</p>
<p>第二个是push我们的local的change回服务器</p>
<p>for x in /tmp/git/git/*; do cd $x;  git push mygit master; done</p>
<p>最后的步骤就是，以前还有些python写的网页工具什么的，要一起移植过来</p>
<p>安装mod_python</p>
<p>sudo yum install mod_python</p>
<p>把老的python的那些工具网页放在http://xxxx/tools下面，所以增加一个handler</p>
<p>sudo vim /etc/httpd/conf.d/tools</p>
<p>&lt;Directory /var/www/html/tools&gt;<br />
SetHandler mod_python<br />
PythonHandler mod_python.publisher<br />
PythonDebug On<br />
Options FollowSymLinks<br />
AllowOverride None<br />
&lt;/Directory&gt;</p>
<p>从前的主页我直接放个index.html做redirect到我tools这个地方</p>
<p>sudo vim /var/www/html/index.html</p>
<p>&lt;html&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;HEAD&gt;&lt;meta HTTP-EQUIV=&#8221;REFRESH&#8221; content=&#8221;0; url=http://10.1.50.24/tools&#8221;&gt;&lt;/HEAD&gt;<br />
&lt;/html&gt;</p>
<p>重新跑一下apache</p>
<p>sudo service httpd restart<br />
就这么简单，就可以设定好一个git的服务器，另外所有的svn的源码都移植过去。不计算git svn在pull旧的svn源码的时间，整个设定过程不到30分钟就可以搞定了。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=123&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2012/01/11/git-%e6%ba%90%e7%ae%a1%e7%90%86%e8%ae%be%e5%ae%9a-%ef%bc%88from-svn-to-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>轻量级文件服务器 &#8211; 硬件篇 (lightweight NAS &#8212; hardware)</title>
		<link>http://ruimemo.wordpress.com/2011/10/05/lightweight-nas-hardware/</link>
		<comments>http://ruimemo.wordpress.com/2011/10/05/lightweight-nas-hardware/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 17:03:27 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=110</guid>
		<description><![CDATA[最近需要重新整理升级一下自己家里用的文件服务器。鉴于目前用的还是老的设备，IDE的硬盘，所以决定整个重新在做一台出来。 给自己的设计要求： 1. 因为是自己用，有需要常年开启（24/7）所以低耗电是第一考虑的事情 2. 性能不需要太好，毕竟只有自己的电脑用 3. 开始不准备作很大，一个小的NAS就可以，但是后面一定是要增加空间的，所以要维护简单，更改容易的 4. 当然是便宜点的好 。。。。 不然直接去买个现成的回来好了 5. 最便宜的架构当然是RAID5了 根据自己的设计要求，开始找硬件： 主板+CPU： GIGABYTE GA-D525TUD + Atom D525的CPU。原因很简单，这个便宜。。。真的便宜，低耗。。。真的低耗（cpu 15W而已）有4个3G/s的sata外加一个IDE，也就是说最多可以上6个硬盘了（4个sata外加两个IDE）感觉1-2年内，应该差不多够用。网卡是1G的，也够了，还有多一个PCI 的接口，如果需要，要么可以再接一个SATA或者RAID的卡，或者可以再接一个1G的网卡跑bonding 内存： 这个没什么好多挑的，随便都可以，我直接拿2 个2G 的 Kingston DDR3 1333MHz 这样4G的内存应该够用了 电源： 因为还是考虑到价钱问题，决定挑一个便宜的电源就好，虽然有那种机箱自带个电源的，总觉得不放心，所以还是买一个。 选择 Cooler Master Elite 460W 虽然没用过Cooler Master的电源，不过他们机箱还是做的不错的（个人比较爱好）所以试试看。400W足够用了，cpu只有15W的功耗，主板也用不了多少（mini atx），硬盘嘛，每个硬盘在6W左右。这个电源如果不挂，下次升级都应该可以用。 机箱： 当然是Cooler Master的了。选了Elite 330这个机箱，散热什么的感觉还是不错的，4个5.25， 7个3.5的空间，这样放满的话可以放11个硬盘了，如果2T一个。。。那么。。。反正足够用了 最后挑选的就是硬盘了，想了很久，决定为了省钱，还是买普通的个人用硬盘（商业服务器硬盘还是太贵，看了一下，基本是1到1.5倍的价钱）反正。。。几个硬盘同时坏掉的可能性还是小的，坏一个的话没事，真的太担心，最多从RAID5换成RAID6，还是便宜很多。空间就从最基本的开始，现在1T的硬盘很便宜了，所以大小定为1T，数量上，RAID5最低要3个，所以就3个开始。搜索了以下，发现West Digital有一款叫做Caviar Green的节能型硬盘不错，只有6W的功率。价格也非常便宜。于是果断下手：3个 Western Digital 1 TB Caviar Green <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=110&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>最近需要重新整理升级一下自己家里用的文件服务器。鉴于目前用的还是老的设备，IDE的硬盘，所以决定整个重新在做一台出来。</p>
<p>给自己的设计要求：</p>
<p>1. 因为是自己用，有需要常年开启（24/7）所以低耗电是第一考虑的事情</p>
<p>2. 性能不需要太好，毕竟只有自己的电脑用</p>
<p>3. 开始不准备作很大，一个小的NAS就可以，但是后面一定是要增加空间的，所以要维护简单，更改容易的</p>
<p>4. 当然是便宜点的好 。。。。 不然直接去买个现成的回来好了</p>
<p>5. 最便宜的架构当然是RAID5了</p>
<p>根据自己的设计要求，开始找硬件：</p>
<p>主板+CPU：</p>
<p>GIGABYTE GA-D525TUD + Atom D525的CPU。原因很简单，这个便宜。。。真的便宜，低耗。。。真的低耗（cpu 15W而已）有4个3G/s的sata外加一个IDE，也就是说最多可以上6个硬盘了（4个sata外加两个IDE）感觉1-2年内，应该差不多够用。网卡是1G的，也够了，还有多一个PCI 的接口，如果需要，要么可以再接一个SATA或者RAID的卡，或者可以再接一个1G的网卡跑bonding</p>
<p>内存<strong></strong>：</p>
<p>这个没什么好多挑的，随便都可以，我直接拿2 个2G 的 Kingston DDR3 1333MHz 这样4G的内存应该够用了<strong></strong></p>
<div>
<div><strong><br />
</strong></div>
</div>
<div>电源：</div>
<div>因为还是考虑到价钱问题，决定挑一个便宜的电源就好，虽然有那种机箱自带个电源的，总觉得不放心，所以还是买一个。 选择 Cooler Master Elite 460W 虽然没用过Cooler Master的电源，不过他们机箱还是做的不错的（个人比较爱好）所以试试看。400W足够用了，cpu只有15W的功耗，主板也用不了多少（mini atx），硬盘嘛，每个硬盘在6W左右。这个电源如果不挂，下次升级都应该可以用。</div>
<div>机箱：</div>
<div>当然是Cooler Master的了。选了Elite 330这个机箱，散热什么的感觉还是不错的，4个5.25， 7个3.5的空间，这样放满的话可以放11个硬盘了，如果2T一个。。。那么。。。反正足够用了</div>
<div>最后挑选的就是硬盘了，想了很久，决定为了省钱，还是买普通的个人用硬盘（商业服务器硬盘还是太贵，看了一下，基本是1到1.5倍的价钱）反正。。。几个硬盘同时坏掉的可能性还是小的，坏一个的话没事，真的太担心，最多从RAID5换成RAID6，还是便宜很多。空间就从最基本的开始，现在1T的硬盘很便宜了，所以大小定为1T，数量上，RAID5最低要3个，所以就3个开始。搜索了以下，发现West Digital有一款叫做Caviar Green的节能型硬盘不错，只有6W的功率。价格也非常便宜。于是果断下手：3个 Western Digital 1 TB Caviar Green SATA II 64 MB Cache<strong> </strong></div>
<div>还要一个放系统的空间，也就是OS啦。这个根据以往的爱好，都是直接用USB的。这个随便找了一个8G的SanDisk的来用</div>
<div><strong><br />
</strong></div>
<div>所有东西都齐了就简单的，全部接起来，这里唯一的一个小地方就是，因为民用主办很少看到主板上直接带USB的插口的，所以只能自己从主板中USB那个界限口里接一个延长线出来，然后直接接上U盘，在把U盘固定在机箱里面，因为U盘是拿来作系统盘用的，所以直接在机箱里面。<strong></strong></div>
<div><strong><br />
</strong>软件部分，下次有时间在写吧。基本没什么激情的，普通的linux， 3.x的内核直接挂soft raid5，然后raid上面挂lvm，这样方便日后更改，不管是加硬盘（直接从raid上扩展）还是整个硬盘换掉从新做一个硬盘的array（lvm直接把旧的东西移到新的）。共享方面，提供：iSCSI, AoE, sshfs, NFS跟samba。 就我个人来说，够用了。苹果反正可以直接用NFS或者Samba，AFP就省掉了。</div>
<div><strong><br />
</strong></div>
<div>目前还没有考虑用btrfs或者zfs （可以作time machine的）理由如下：</div>
<div>1. btrfs今年年初我有用过一段时间，觉得还是有问题。有时候会有很高的IO peak，所有东西都在等硬盘，毕竟这个还是开发中，不够成熟</div>
<div>2. linux zfs只有在user space (fuse) 而且毕竟不是完整的zfs</div>
<div>有考虑过直接用open solaris跑ZFS，不过linux我熟悉的多，open solaris还是比较陌生，再说机器的硬件属于非常的低端，linux基本除了kernel跟必要的工具（100来个MB）其他的都没有跑。open solaris估计要用好点的硬件才可以</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=110&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2011/10/05/lightweight-nas-hardware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>Hyper Threading</title>
		<link>http://ruimemo.wordpress.com/2011/07/14/hyper-threading/</link>
		<comments>http://ruimemo.wordpress.com/2011/07/14/hyper-threading/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 22:59:23 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=105</guid>
		<description><![CDATA[Hyper Threading让人头大。每次找cpu很是麻烦，要去看哪些跟哪些是实际在同一个core上，哪些有是在不同的cpu上 同一个core的，两个线程，等于还是两个线程在共用一个core的运算（所以有时候要避免） 不同cpu那么就不能共用L2的cache，就会多出context switch等等不必要的功耗 #!/usr/bin/python import commands physical=commands.getoutput(&#8220;cat /proc/cpuinfo &#124;grep &#8216;physical id&#8217;&#8221;).split(&#8216;\n&#8217;) core=commands.getoutput(&#8220;cat /proc/cpuinfo &#124;grep &#8216;core id&#8217;&#8221;).split(&#8216;\n&#8217;) processor=commands.getoutput(&#8220;cat /proc/cpuinfo &#124;grep processor&#8221;).split(&#8216;\n&#8217;) CPU={} for x in range(len(processor)): if not CPU.has_key(physical[x].split()[-1]): CPU[physical[x].split()[-1]]={} if not CPU[physical[x].split()[-1]].has_key(core[x].split()[-1]): CPU[physical[x].split()[-1]][core[x].split()[-1]]=[] CPU[physical[x].split()[-1]][core[x].split()[-1]].append(processor[x].split()[-1]) for x in CPU.keys(): for y in CPU[x].keys(): print &#8216;CPU %s, core %s, id %s&#8217; %(x, y, CPU[x][y]) print <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=105&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Hyper Threading让人头大。每次找cpu很是麻烦，要去看哪些跟哪些是实际在同一个core上，哪些有是在不同的cpu上</em></p>
<p>同一个core的，两个线程，等于还是两个线程在共用一个core的运算（所以有时候要避免）</p>
<p>不同cpu那么就不能共用L2的cache，就会多出context switch等等不必要的功耗</p>
<p>#!/usr/bin/python<br />
import commands<br />
physical=commands.getoutput(&#8220;cat /proc/cpuinfo |grep &#8216;physical id&#8217;&#8221;).split(&#8216;\n&#8217;)<br />
core=commands.getoutput(&#8220;cat /proc/cpuinfo |grep &#8216;core id&#8217;&#8221;).split(&#8216;\n&#8217;)<br />
processor=commands.getoutput(&#8220;cat /proc/cpuinfo |grep processor&#8221;).split(&#8216;\n&#8217;)<br />
CPU={}<br />
for x in range(len(processor)):<br />
if not CPU.has_key(physical[x].split()[-1]):<br />
CPU[physical[x].split()[-1]]={}<br />
if not CPU[physical[x].split()[-1]].has_key(core[x].split()[-1]):<br />
CPU[physical[x].split()[-1]][core[x].split()[-1]]=[]<br />
CPU[physical[x].split()[-1]][core[x].split()[-1]].append(processor[x].split()[-1])<br />
for x in CPU.keys():<br />
for y in CPU[x].keys():<br />
print &#8216;CPU %s, core %s, id %s&#8217; %(x, y, CPU[x][y])<br />
print &#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=105&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2011/07/14/hyper-threading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>mutt 发送邮件</title>
		<link>http://ruimemo.wordpress.com/2011/07/14/mutt-%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6/</link>
		<comments>http://ruimemo.wordpress.com/2011/07/14/mutt-%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 22:49:23 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=100</guid>
		<description><![CDATA[这个不写下来自己一定会忘记。 用mutt发送邮件 html 邮件 mutt -e set content_type=text/html&#8221; -s &#8220;subject &#8221; email@address.com &#60; html_file 发送embedded图像的邮件（outlook可以直接看） html中的image可以用cid的tag，这个tag可以直调用attachments里面的图片 &#60;font size=4 color=black&#62;&#60;center&#62;%s&#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;img src=&#8221;cid:file_name&#8221;&#60;/img&#62;&#60;p&#62; 例如产生以下html保存为xyz.mutt &#60;font size=6 color=blue&#62;&#60;center&#62;test &#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;p&#62; &#60;font size=4 color=black&#62;&#60;center&#62;test 1&#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;img src=&#8221;cid:test_1.png&#8221;&#60;/img&#62;&#60;p&#62; &#60;font size=4 color=black&#62;&#60;center&#62;test 2&#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;img src=&#8221;cid:test_2.png&#8221;&#60;/img&#62;&#60;p&#62; &#60;font size=4 color=black&#62;&#60;center&#62;test 3 &#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;img src=&#8221;cid:test_3.png&#8221;&#60;/img&#62;&#60;p&#62; &#60;font size=4 color=black&#62;&#60;center&#62;test4 &#60;/center&#62;&#60;/font&#62;&#60;p&#62;&#60;img src=&#8221;cid:test_4.png&#8221;&#60;/img&#62;&#60;p&#62; 那么用muttl的时候加入如下的那些图片，就可以直接在outlook中显示出来（embedded）而不是以附件的形式出现 mutt -e set content_type=text/html&#8221; -s &#8220;subject &#8221; email@address.com <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=100&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>这个不写下来自己一定会忘记。</p>
<p>用mutt发送邮件 html 邮件</p>
<p>mutt -e set content_type=text/html&#8221; -s &#8220;subject &#8221; email@address.com &lt; html_file</p>
<p>发送embedded图像的邮件（outlook可以直接看）</p>
<p>html中的image可以用cid的tag，这个tag可以直调用attachments里面的图片</p>
<p>&lt;font size=4 color=black&gt;&lt;center&gt;%s&lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;img src=&#8221;cid:file_name&#8221;&lt;/img&gt;&lt;p&gt;</p>
<p>例如产生以下html保存为xyz.mutt</p>
<p>&lt;font size=6 color=blue&gt;&lt;center&gt;test &lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;p&gt;<br />
&lt;font size=4 color=black&gt;&lt;center&gt;test 1&lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;img src=&#8221;cid:test_1.png&#8221;&lt;/img&gt;&lt;p&gt;<br />
&lt;font size=4 color=black&gt;&lt;center&gt;test 2&lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;img src=&#8221;cid:test_2.png&#8221;&lt;/img&gt;&lt;p&gt;<br />
&lt;font size=4 color=black&gt;&lt;center&gt;test 3 &lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;img src=&#8221;cid:test_3.png&#8221;&lt;/img&gt;&lt;p&gt;<br />
&lt;font size=4 color=black&gt;&lt;center&gt;test4 &lt;/center&gt;&lt;/font&gt;&lt;p&gt;&lt;img src=&#8221;cid:test_4.png&#8221;&lt;/img&gt;&lt;p&gt;</p>
<p>那么用muttl的时候加入如下的那些图片，就可以直接在outlook中显示出来（embedded）而不是以附件的形式出现</p>
<p>mutt -e set content_type=text/html&#8221; -s &#8220;subject &#8221; email@address.com -a test_1.png -a test_2.png -a test_3.png -a test_4.png &lt; html_file</p>
<p>outlook 本身不支持 base64直接做embedded （firefox家的就没有问题）</p>
<p>如果直接做base64的嵌入，用法如下</p>
<p>&lt;html&gt;<br />
&lt;font size=4 color=red&gt;&lt;center&gt;this is a test&lt;/font&gt;&lt;/center&gt;<br />
&lt;p&gt;<br />
&lt;center&gt;<br />
&lt;img src=&#8221;data:image/gif;base64,R0lGODlhIAAgAPf+AAAAAFUAAIAAAKoAANUAAP8AAAArAFUrAIArAKorANUrAP8rAABVAFVVAIBV<br />
AKpVANVVAP9VAACAAFWAAICAAKqAANWAAP+AAACqAFWqAICqAKqqANWqAP+qAADVAFXVAIDVAKrV<br />
ANXVAP/VAAD/AFX/AID/AKr/ANX/AP//AAAAVVUAVYAAVaoAVdUAVf8AVQArVVUrVYArVaorVdUr<br />
Vf8rVQBVVVVVVYBVVapVVdVVVf9VVQCAVVWAVYCAVaqAVdWAVf+AVQCqVVWqVYCqVaqqVdWqVf+q<br />
VQDVVVXVVYDVVarVVdXVVf/VVQD/VVX/VYD/Var/VdX/Vf//VQAAgFUAgIAAgKoAgNUAgP8AgAAr<br />
gFUrgIArgKorgNUrgP8rgABVgFVVgIBVgKpVgNVVgP9VgACAgFWAgICAgKqAgNWAgP+AgACqgFWq<br />
gICqgKqqgNWqgP+qgADVgFXVgIDVgKrVgNXVgP/VgAD/gFX/gID/gKr/gNX/gP//gAAAqlUAqoAA<br />
qqoAqtUAqv8AqgArqlUrqoArqqorqtUrqv8rqgBVqlVVqoBVqqpVqtVVqv9VqgCAqlWAqoCAqqqA<br />
qtWAqv+AqgCqqlWqqoCqqqqqqtWqqv+qqgDVqlXVqoDVqqrVqtXVqv/VqgD/qlX/qoD/qqr/qtX/<br />
qv//qgAA1VUA1YAA1aoA1dUA1f8A1QAr1VUr1YAr1aor1dUr1f8r1QBV1VVV1YBV1apV1dVV1f9V<br />
1QCA1VWA1YCA1aqA1dWA1f+A1QCq1VWq1YCq1aqq1dWq1f+q1QDV1VXV1YDV1arV1dXV1f/V1QD/<br />
1VX/1YD/1ar/1dX/1f//1QAA/1UA/4AA/6oA/9UA//8A/wAr/1Ur/4Ar/6or/9Ur//8r/wBV/1VV<br />
/4BV/6pV/9VV//9V/wCA/1WA/4CA/6qA/9WA//+A/wCq/1Wq/4Cq/6qq/9Wq//+q/wDV/1XV/4DV<br />
/6rV/9XV///V/wD//1X//4D//6r//9X//z8/P2tra5WVlcDAwP///yH5BAEAAP4ALAAAAAAgACAA<br />
AAjTAP0JHEhQIICDCA8WXMhwIMIUECNCRNiw4UGJGDEqrOgwo0eNHP0B+EgyIoCKI0uqPLkw5USX<br />
JC+aLAhzpMyPF2sShGmSZ0+PLEXizDkxxUOgBoEC+HfT6EGmSIVmTDj1KEifP5XGxKqya9OuYJ2G<br />
HSuWLNivZoem9erTZsK3VNtKlSgTgIACAAroTYmWZVuTd/PuLTo1KU4BgfX+wxuzI9C7eBUzjmp4<br />
KmTBgylXpntZMtagOx/vzQzSomjSdEN+tpo6pEiuVV3vRPsStOzZcF0HBAA7&#8243; &lt;/img&gt;<br />
&lt;/center&gt;<br />
&lt;/html&gt;</p>
<p>&nbsp;</p>
<p>下面是outlook的截图</p>
<p><a href="http://ruimemo.files.wordpress.com/2011/07/mail.png"><img class="alignnone size-full wp-image-102" title="mail" src="http://ruimemo.files.wordpress.com/2011/07/mail.png?w=510&#038;h=788" alt="" width="510" height="788" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=100&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2011/07/14/mutt-%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2011/07/mail.png" medium="image">
			<media:title type="html">mail</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache Django Deployment</title>
		<link>http://ruimemo.wordpress.com/2010/11/24/apache-django-deployment/</link>
		<comments>http://ruimemo.wordpress.com/2010/11/24/apache-django-deployment/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 17:02:33 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=92</guid>
		<description><![CDATA[在apache下面deploy Django &#160; 不记下来就会忘记。下面是如何在apache 2.2+postgresql 下面deploy Django的项目 1. 需要的包裹 httpd, django, mod_wsgi, psycopg2 2. 设定mod_wsgi的handler （这里设定django.wsgi这个handler同时加载admin的css） /etc/httpd/conf.d/python.conf LooadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / /var/www/test/apache/django.wsgi Alias /media/ &#8220;/usr/lib/python2.4/site-packages/django/contrib/admin/media/&#8221; &#60;Directory /var/www/cola&#62; Order allow,deny Allow from all &#60;/Directory&#62; 3. 设定django.wsgi这个handler import os import sys os.environ['DJANGO_SETTINGS_MODULE'] = &#8216;模组名.settings&#8217; import django.core.handlers.wsgi application=django.core.handlers.wsgi.WSGIHandler() sys.path.append(&#8216;/var/www&#8217;) 4. 开启httpd 就可以了<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=92&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>在apache下面deploy Django</h1>
<p>&nbsp;</p>
<p>不记下来就会忘记。下面是如何在apache 2.2+postgresql 下面deploy Django的项目</p>
<p>1. 需要的包裹</p>
<p>httpd, django, mod_wsgi, psycopg2<br />
2. 设定mod_wsgi的handler （这里设定django.wsgi这个handler同时加载admin的css）</p>
<p>/etc/httpd/conf.d/python.conf</p>
<p>LooadModule wsgi_module modules/mod_wsgi.so<br />
WSGIScriptAlias / /var/www/test/apache/django.wsgi<br />
Alias /media/ &#8220;/usr/lib/python2.4/site-packages/django/contrib/admin/media/&#8221;<br />
&lt;Directory /var/www/cola&gt;<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;</p>
<p>3. 设定django.wsgi这个handler</p>
<p>import os<br />
import sys<br />
os.environ['DJANGO_SETTINGS_MODULE'] = &#8216;模组名.settings&#8217;<br />
import django.core.handlers.wsgi<br />
application=django.core.handlers.wsgi.WSGIHandler()<br />
sys.path.append(&#8216;/var/www&#8217;)</p>
<p>4. 开启httpd 就可以了</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=92&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/11/24/apache-django-deployment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>linux command （不常用的常用指令）</title>
		<link>http://ruimemo.wordpress.com/2010/10/25/linux-command-%ef%bc%88%e4%b8%8d%e5%b8%b8%e7%94%a8%e7%9a%84%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4%ef%bc%89/</link>
		<comments>http://ruimemo.wordpress.com/2010/10/25/linux-command-%ef%bc%88%e4%b8%8d%e5%b8%b8%e7%94%a8%e7%9a%84%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4%ef%bc%89/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 14:09:27 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[记忆碎片]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=75</guid>
		<description><![CDATA[一些不常用的指令似乎会忘记掉。今天早上需要把一个进程从cpu1转去cpu21，突然间脑子打结死活忘记了哪个指令是可以把运行的进程换到其他的cpu上。 google看了一下结果发现搜索方式不对，没找到我要的。还好想起可以直接找man page，问了一下man总算找到。所以决定把一些容易忘记的指令自己记下来，以后直接来这里找就好。 1. 改变进程的cpu taskset &#8211; retrieve or set a process&#8217;s CPU affinity 2. 每次都用每次都忘的ps指令 可以把thread当作fork来看待，同时显示每个process在哪个cpu上 ps H -eo user,pid,ppid,pcpu,ni,pmem,vsize,rss,nlwp,pri,rtprio,stat,psr,comm 另一个常用ps指令 ps -eo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,policy,nice,pri,psr,sgi_p,utime,stime,minflt,majflt,wchan:14,args 3. postgresql 里面的一个query. table mytable里面的column: mycolumn 这里假设是varchar的 需要的是用mycolumn里面的值对比自己输入的值，并且返回最match的一个。 select mycolumn from mytable where position(mycolumn in (cast(&#8216;%s&#8217; as varchar)))=1 order by length(mycolumn) desc limit 1&#8243; %my_string 4. curl直接带auth去网页(每次都记不住-d跟-L 。。） HTML=$($CURL -d <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=75&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>一些不常用的指令似乎会忘记掉。今天早上需要把一个进程从cpu1转去cpu21，突然间脑子打结死活忘记了哪个指令是可以把运行的进程换到其他的cpu上。</p>
<p>google看了一下结果发现搜索方式不对，没找到我要的。还好想起可以直接找man page，问了一下man总算找到。所以决定把一些容易忘记的指令自己记下来，以后直接来这里找就好。</p>
<p>1. 改变进程的cpu</p>
<p>taskset &#8211; retrieve or set a process&#8217;s CPU affinity</p>
<p>2. 每次都用每次都忘的ps指令</p>
<ul>
<li>可以把thread当作fork来看待，同时显示每个process在哪个cpu上</li>
</ul>
<p>ps H -eo user,pid,ppid,pcpu,ni,pmem,vsize,rss,nlwp,pri,rtprio,stat,psr,comm</p>
<ul>
<li>另一个常用ps指令</li>
</ul>
<p>ps -eo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,policy,nice,pri,psr,sgi_p,utime,stime,minflt,majflt,wchan:14,args</p>
<p>3. postgresql 里面的一个query. table mytable里面的column: mycolumn 这里假设是varchar的</p>
<p>需要的是用mycolumn里面的值对比自己输入的值，并且返回最match的一个。</p>
<p>select mycolumn from mytable where position(mycolumn in (cast(&#8216;%s&#8217; as varchar)))=1 order by length(mycolumn) desc limit 1&#8243; %my_string</p>
<p>4. curl直接带auth去网页(每次都记不住-d跟-L 。。）</p>
<p>HTML=$($CURL -d &#8220;j_username=$users_login&amp;j_password=$users_password&#8221; -L $URL 2&gt;/dev/null)<br />
LOCK=$(echo $HTML | $GREP $LOCK_STRING | $WC -l)<br />
LOGIN=$(echo $HTML | $GREP &#8220;$LOGIN_STRING&#8221; | $WC -l)</p>
<p>5.  硬盘读写方式改变（每次记不住路径的）</p>
<p>cat /sys/block/cciss\!c0d0/queue/scheduler<br />
noop anticipatory [deadline] cfq</p>
<p>6. process group</p>
<p>getpgid (2)          &#8211; set/get process group<br />
getpgrp (2)          &#8211; set/get process group<br />
killpg (2)           &#8211; send signal to a process group<br />
setpgid (2)          &#8211; set/get process group<br />
setpgrp (2)          &#8211; set/get process group<br />
setsid (2)           &#8211; creates a session and sets the process group ID<br />
tcgetpgrp (3)        &#8211; get and set terminal foreground process group<br />
tcsetpgrp (3)        &#8211; get and set terminal foreground process group</p>
<p>vim: remove empty line</p>
<p>:%s/^[\ \t]*\n//g</p>
<p>or</p>
<p>:v/./d</p>
<p>wireshark</p>
<p>rtp分析</p>
<p>#capture only udp<br />
#-a duration:10 set to only capture 10 seconds<br />
<strong>#-o rtp.heuristic_rtp:TRUE to decode anything as rtp</strong><br />
#-s 65: only capture 65 (header)<br />
#-q quite<br />
#-z : Collect statistics for all RTP streams and calculate max. delta, max. and mean jitter and packet loss percentages</p>
<p>[root@asg1-mb7.nyc rli]# tshark udp -a duration:10 -s 65 -o rtp.heuristic_rtp:TRUE -q -z rtp,streams</p>
<p>dump function out of postgresql db.</p>
<p>example of dump colaproxygetip from opensips db (also change create function to create or replace function)</p>
<p>pg_dump -Upostgres -Fc -C -s opensips | pg_restore -P &#8220;colaproxygetip(character, character)&#8221; | sed &#8216;s/CREATE FUNCTION /CREATE OR REPLACE FUNCTION /&#8217; &gt; colaproxygetip.sql</p>
<p>&nbsp;</p>
<p>wireshark: voip中需要根据打入电话（callerani）来抓sip跟rtp的包。</p>
<p>所以首先需要抓sip，然后找sdp中的rtp的port的值，再抓rtp出来:</p>
<p>tshark -i bond0 -d udp.port==5060,sip -T fields -e sip.Contact -e sdp.media.port -e sip.Status-Code -e sdp -R &#8220;sip.Status-Code==200 and sdp and sip.from.addr contains 123456789&#8243;<br />
真正script的时候，fields只要 sdp.media.port 就够了, debug的时候，可以顺便要 sip.Contact, status-code, sdp 出来。filter中定义要200的status code号码搜索是123456789</p>
<p>第一个线程做sip的dump，同时分析rtp的端口，第二个线程做rtp的dump，这样就有一个完整的VoIP了。 这里没有考虑reinvite的时候的media change，做工具的时候还要把reinvite的media change（可以更改rtp的port或者ip）也算进去，然后就应该差不多能用了。</p>
<p>随时想起来什么再加吧。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=75&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/10/25/linux-command-%ef%bc%88%e4%b8%8d%e5%b8%b8%e7%94%a8%e7%9a%84%e5%b8%b8%e7%94%a8%e6%8c%87%e4%bb%a4%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>简单的 Firefox 性能优化</title>
		<link>http://ruimemo.wordpress.com/2010/04/04/%e7%ae%80%e5%8d%95%e7%9a%84-firefox-%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96/</link>
		<comments>http://ruimemo.wordpress.com/2010/04/04/%e7%ae%80%e5%8d%95%e7%9a%84-firefox-%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 00:06:09 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[记忆碎片]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=64</guid>
		<description><![CDATA[增加firefox的游览速度 地址栏输入：about:config 更改以下值 network.http.pipelining = true network.http.pipelining.maxrequests=128 network.dns.disableIPv6 = true plugin.expose_full_path=true 添加下面几个值 (integer) nglayout.initialpaint.delay=0 content.notify.backoffcount=5 ui.submenuDelay=0 browser.cache.memory.capacity=16384 上面的16384是16M的设置（通常足够） 如果想多点cache的话，可以设定成32768  (32M)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=64&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>增加firefox的游览速度</h1>
<h2>地址栏输入：about:config</h2>
<h2>更改以下值</h2>
<p><strong>network.http.pipelining =  true<br />
network.http.pipelining.maxrequests=128<br />
network.dns.disableIPv6  = true<br />
plugin.expose_full_path=true</strong></p>
<h2>添加下面几个值 (integer)</h2>
<p><strong>nglayout.initialpaint.delay=0<br />
content.notify.backoffcount=5<br />
ui.submenuDelay=0<br />
browser.cache.memory.capacity=16384 </strong></p>
<p>上面的16384是16M的设置（通常足够）</p>
<p>如果想多点cache的话，可以设定成32768  (32M)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=64&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/04/04/%e7%ae%80%e5%8d%95%e7%9a%84-firefox-%e6%80%a7%e8%83%bd%e4%bc%98%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>putty 知多少</title>
		<link>http://ruimemo.wordpress.com/2010/04/04/putty-%e7%9f%a5%e5%a4%9a%e5%b0%91/</link>
		<comments>http://ruimemo.wordpress.com/2010/04/04/putty-%e7%9f%a5%e5%a4%9a%e5%b0%91/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 00:00:13 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[记忆碎片]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=38</guid>
		<description><![CDATA[最常用的windows下的ssh客户端，也许就是putty了。至少我不知道还有其他的。但是对于putty，似乎很多人只知道下载回来之后，双击，输入ip，然后登陆使用。其实putty有很多地方设定一下，就可以让你的生活变得轻松很多。这里介绍一下常用的log系统，如何免密码登陆机器，如果在windows上直接通过putty显示linux中的xwindow中的图形界面程序。以及如何使用加密通道给自己做代理，也包含了如何防止SSL中的man in the middle 攻击。还有基本的如何在cmd的指令模式中使用ssh，scp等等功能 下载： putty的官网大家随便google百度bing都能找到：http://www.chiark.greenend.org.uk/~sgtatham/putty/ 建议直接下载widnows的安装包（包括所有工具）至于为何除了putty.exe本身我们还需要其他的工具呢？这个看到后面就会揭晓 完整包的下载在这里： http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe 建议直接安装在c:\putty这个目录下。因为这样等下添加目录path的时候会比较省事。如果您安装在其他地方，后面请将文章中所有出现c:\putty\的地方替换成你自己的安装途径[内建是Program Files或者Program Files (x86)]这个文件夹。 完整的安装包会给我们提供以下几个程序 pageant: 钥匙管理程序 plink: putty的指令模式（cmd下用） pscp: 等于是linux下的scp （安全的传送文件的协议） psftp: sftp客户端 putty: 这个就是大家用的最多的主程序了 puttygen: ssh 的钥匙成产/转换程序。 putty 从主程序putty开始吧。putty是我用过的最好的windows上的ssh客户端了。secureCRT我们公司有买，所以我也用过，总觉得没有putty来的顺手。另外secureCRT价格不菲。（我严重不提倡做电脑的人用盗版） 主程序开启很容易，双击就好，废话，这个谁都知道。。。 这里讲解一putty的设定为主。 第一段是logging，也就是记录。你可以把你每次开启putty的东西全部都记录到log里面去。这样做有两个好处，第一是你自己可以看。第二是可以给别人看。 putty的内定设定是不记录log的。在Session logging这里，你可以选择 None: 不记录 Printable output: 适合打印的log记录 All Session output：所以putty的窗口的显示 SSH packets: ssh 封包级别的记录 SSH packets and raw data:  ssh的封包级记录以及所有的raw数据（原始数据 通常来说，如果准备记录，那么 <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=38&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>最常用的windows下的ssh客户端，也许就是putty了。至少我不知道还有其他的。但是对于putty，似乎很多人只知道下载回来之后，双击，输入ip，然后登陆使用。其实putty有很多地方设定一下，就可以让你的生活变得轻松很多。这里介绍一下常用的log系统，如何免密码登陆机器，如果在windows上直接通过putty显示linux中的xwindow中的图形界面程序。以及如何使用加密通道给自己做代理，也包含了如何防止SSL中的man in the middle 攻击。还有基本的如何在cmd的指令模式中使用ssh，scp等等功能</p>
<h2>下载：</h2>
<p>putty的官网大家随便google百度bing都能找到：http://www.chiark.greenend.org.uk/~sgtatham/putty/</p>
<p>建议直接下载widnows的安装包（包括所有工具）至于为何除了putty.exe本身我们还需要其他的工具呢？这个看到后面就会揭晓</p>
<p>完整包的下载在这里： http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe<br />
建议直接安装在c:\putty这个目录下。因为这样等下添加目录path的时候会比较省事。如果您安装在其他地方，后面请将文章中所有出现c:\putty\的地方替换成你自己的安装途径[内建是Program Files或者Program Files (x86)]这个文件夹。</p>
<p>完整的安装包会给我们提供以下几个程序</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/putty_all_exe.jpg"><img class="alignnone size-full wp-image-39" title="putty_all_exe" src="http://ruimemo.files.wordpress.com/2010/04/putty_all_exe.jpg?w=510" alt=""   /></a></p>
<p>pageant: 钥匙管理程序</p>
<p>plink: putty的指令模式（cmd下用）</p>
<p>pscp: 等于是linux下的scp （安全的传送文件的协议）</p>
<p>psftp: sftp客户端</p>
<p>putty: 这个就是大家用的最多的主程序了</p>
<p>puttygen: ssh 的钥匙成产/转换程序。</p>
<h2>putty</h2>
<p>从主程序putty开始吧。putty是我用过的最好的windows上的ssh客户端了。secureCRT我们公司有买，所以我也用过，总觉得没有putty来的顺手。另外secureCRT价格不菲。（我严重不提倡做电脑的人用盗版）</p>
<p>主程序开启很容易，双击就好，废话，这个谁都知道。。。</p>
<p>这里讲解一putty的设定为主。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/logging.jpg"><img class="alignnone size-full wp-image-40" title="logging" src="http://ruimemo.files.wordpress.com/2010/04/logging.jpg?w=510" alt=""   /></a></p>
<p>第一段是logging，也就是记录。你可以把你每次开启putty的东西全部都记录到log里面去。这样做有两个好处，第一是你自己可以看。第二是可以给别人看。</p>
<p>putty的内定设定是不记录log的。在Session logging这里，你可以选择</p>
<ul>
<li>None: 不记录</li>
<li>Printable output: 适合打印的log记录</li>
<li>All Session output：所以putty的窗口的显示</li>
<li>SSH packets: ssh 封包级别的记录</li>
<li>SSH packets and raw data:  ssh的封包级记录以及所有的raw数据（原始数据</li>
</ul>
<p>通常来说，如果准备记录，那么 All session output就可以了</p>
<p>下一个选择是log file name： 你的log的名称，这个看个人爱好。我认为内建的putty.log就可以了。如果你想根据时间来记录，putty也可以提供好像linux中的log名称记录方式。</p>
<ul>
<li>&amp;Y=年</li>
<li>&amp;M=月</li>
<li>&amp;D=日</li>
<li>&amp;T=时间</li>
<li>&amp;H=连接的主机名称 (linux那个机器）</li>
</ul>
<p>例如我设定log为: putty-&amp;H-&amp;Y-&amp;M-&amp;D.log 然后我在2010年4月3日早上6点连接到机器maclinux，那么我的log名称将会是： putty-maclinux-2010-04-03-18.log</p>
<p>之后的选项是让putty设定如果已经有了这个log的文件名，那么putty应该如何处理。</p>
<ul>
<li>Always overwrite it</li>
<li>Always append to the end of it</li>
<li>Ask the user every time</li>
</ul>
<p>这里提供3种方式，第一个是覆盖之前的log，重新写，第二个是接着之前的log继续写下去。第三个是每次询问使用者应该如何处理。</p>
<p>Flush log file frequently: putty内建是开启这个选项的。这个选项开启putty会第一时间把log写入硬盘。如果你做的东西有很多的显示，这个可能会影响到putty的效率（要不停的写硬盘）如果不选择这个选项，那么putty将会间隔一段时间才写进log。</p>
<p>log中最后的设定是 Options specific to SSH packet logging</p>
<p>一同提供两个选项: Ommit know password field: 这里选择后，putty不会记录跟密码相关的东西，另外一个是Omit session data: 这个选项会将会不记录 session 数据。 包括终端中的session data跟 forward (TCP, X11, 验证） 关于forward的东西后面会讲到。</p>
<h2>Terminal</h2>
<p>Terminal 主设定，基本不需要改动</p>
<p>键盘设定 (keyboard)没特殊要求，也是不用动的就好。Bell 也是一样（除非你爱好听声音）</p>
<p>这里说一下Features里面的设定。Features里面有一个设定需要更改（我只知道需要这一个）</p>
<p>就是 Disable application keypad mode</p>
<p>如果这个不选择，那么你在vim这类程序中，小键盘（数字键）就没法正常使用。只要选择了Disable application keypad mode那么小键盘就可以正常的在vim中使用了。</p>
<h2>window</h2>
<p>windows中我通常会加大Lines of scrollback 的值。这样的putty会找窗口的记录的时候，会保持很多行的记录。方便查找之前的资料。我个人来说，设定在200000行记录，基本一个星期内的东西，只要我putty窗口不关闭，都能找回来看到（我没开log的）</p>
<p>Appearance: 这里里面可能唯一需要改动的就是字体跟大小了。我是用 Courier New 10号字-12号之间（根据屏幕大小决定）</p>
<p>Translation: 这里注意一个Character set的设定。如果你想中文显示无误，最好设定你的显示字符。我是用UTF-8 （我linux跟windows都是UTF-8的）这样不管输入显示中文就都没有问题了。</p>
<p>下面是个测试：我首先用UTF-8的编码，然后去显示一个文件。这里看到中文没有问题，然后我更改putty设定用VSCII编码，去显示同一个文件，中文就是乱码了。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/utf-8.jpg"><img class="alignnone size-full wp-image-42" title="utf-8" src="http://ruimemo.files.wordpress.com/2010/04/utf-8.jpg?w=510" alt=""   /></a></p>
<p>Colours: 这里设定终端的颜色。如果选择的 Use system colours那么就是白底黑字的。把这个选项不要打钩，你就可以设定任何你喜欢的颜色（我通常用颜色区分不同类型的窗口）颜变设定很简单，RGB值，可以直接手动输入，也可以点击Modify那个按键从色谱中选择</p>
<p>Default Foregound: 前景颜色</p>
<p>Default Bold Foreground: Bold时的前景颜色</p>
<p>Default Background: 背景颜色</p>
<p>Default Bold Background: Bold时的背景颜色</p>
<p>Cursor Text：光标文字颜色</p>
<p>Cursor Colour: 光标颜色</p>
<p>至于后面的，就是详细的，你可以把某个颜色显示成另外的颜色。假设我把 ANSI Red (187,0,0)给成其他颜色(0,255,0)那么红色就成了绿色了。基本来说，最常用的就是Default Foreground颜色了。很少看到某个BT的人去单独每个颜色都换换的。</p>
<p>下面是随便的几个颜色</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/color.jpg"><img class="alignnone size-full wp-image-43" title="color" src="http://ruimemo.files.wordpress.com/2010/04/color.jpg?w=510&#038;h=523" alt="" width="510" height="523" /></a></p>
<h2>connection</h2>
<p>这里需要设定一下。有人问，为什么我putty连接着过一段时间没用就自己断了呢？因为linux系统可以判断你一段时间没有任何动作就把你T出去。就好像群里太久不说话，群主就会T你一样。</p>
<p>这里有个选项是： Seconds between keepalives (0 to turn off) 这里设定发送 keepalive的封包时间。0就代表关闭（这个就是一段时间不用会断线的原因）这里可以随便设定一个值。我自己是放5，就是说每5秒发送一个keepalive 封包告诉主机，我还活着。</p>
<h2>SSH</h2>
<p>ssh 下面有几个选项的，这个也应该是大家最关注的东西。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/ssh.jpg"><img class="alignnone size-full wp-image-44" title="ssh" src="http://ruimemo.files.wordpress.com/2010/04/ssh.jpg?w=510" alt=""   /></a></p>
<p>在ssh主选项上，没什么必须要动的。不过我自己是设定：只用 ssh v2 协议并且优先的演算用 AES，通常来说这里保持不动就可以。</p>
<p>Auth 这里有几个地方关注一下：</p>
<ol>
<li>Attempt authentication using pageant : 这个就是说允许我们用 Pagenant 来做免密码的 ssh key 登陆 （后面会说）</li>
<li>Attempt &#8220;Keyboard-interactive&#8221; auth: 允许键盘做互动登陆</li>
<li>Allow agent forwarding: 这个很有用。就是说可以把你的ssh 的 key 直接 forward 到你连接的主机去。（就是linux 中 ssh -A 的作用）</li>
<li>Allow attempted changes of username in SSH-2: 大家都是知道，正常情况如果你ssh连接一个机器，可以有几次输入密码的机会，但是只有一次输入用户名的机会。在ssh-2中，你设定有多次输入用户名的机会。防止。。。用户名输错了，只好关闭putty重新开一个窗口。</li>
</ol>
<p>这里解释一下 (3) 的 Agent forwarding: 正常情况，如果你用ssh key登陆，是不问你密码的。直接就可以进入主机了。例如我有2台主机A跟B，两台主机我都放了我的ssh key，可以免密码登陆。从putty登陆到A，这个时候是不问我密码的，直接就登陆了，但是在A里面，如果我直接从linux中用ssh登陆B，则需要密码。开启了Agent forwarding之后的作用就是，你从putty登陆A不需要密码，从A登陆B也不需要密码。你的ssh key被传给了A</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/auth.jpg"><img class="alignnone size-full wp-image-45" title="auth" src="http://ruimemo.files.wordpress.com/2010/04/auth.jpg?w=510" alt=""   /></a></p>
<p>X11</p>
<p>这个也是我的最爱。开启Enable X11 forwarding</p>
<p>有些时候，需要偶尔跑个linux的窗口程序，或者有时候需要用到。那么在windows上如何显示linux中的window呢？用linux的都知道，linux的X是server-client的模式。也就是说，你用任何一个linux连接到其他linux中，都可以直接在本地显示远端的linux窗口界面。ssh本身也提供这样的功能，在linux中，你给ssh -X的选项，就可以直接做X11的forward了。</p>
<p>putty中也有这个功能，当然了，你的window要有个X才可以，好在有免费的可以用。</p>
<p>windows下面有个叫做xming的程序（2.2MB)可以让你用，下面的地址可以下载到。直接安装就好。</p>
<p><a href="http://sourceforge.net/projects/xming/">http://sourceforge.net/projects/xming/</a></p>
<p>安装后开启xming，你是看不到什么东西的，只有在你windows的右下多个X的小图标，但是你已经有了一个windows上的X了。</p>
<p>ssh到你的服务器，直接输入你想跑的程序，显示就会出现在你的widnows上了</p>
<p>先来看看linux中最出名的xeye吧</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/xeye.jpg"><img class="alignnone size-full wp-image-46" title="xeye" src="http://ruimemo.files.wordpress.com/2010/04/xeye.jpg?w=510" alt=""   /></a></p>
<p>gnome的about，没错，我是在windows上显示的</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/gnome.jpg"><img class="alignnone size-full wp-image-47" title="gnome" src="http://ruimemo.files.wordpress.com/2010/04/gnome.jpg?w=510&#038;h=374" alt="" width="510" height="374" /></a></p>
<p>当然了，你要是够BT，整个gnome桌面用ssh跑去windows都可以（我曾经做过）不过如果跑很多图像的东西，最好是局域网，走internet的话，速度不怎么样。<br />
关于putty，最后还有一个不能不说的东西，就是ssh通道。相信知道这个并且用这个的人一定很多了。ssh通道有几个最大的用处。</p>
<h3>防止网页MIM（man in the middle）攻击</h3>
<p>MIM也算是臭名昭著了，也许有些人不是很了解，但是介绍MIM已经超出putty的内容了。这里简单说一下，MIM就是一个机器在你跟服务器之间，对你来说，它假装是服务器，对服务器它又假装是你。这样就可以在中间窃取你的信息（例如密码）无线网尤其危险（很多人上无线不会去真的看是否有2个同样的ip在arp里面吧）有线网络虽然没有无线那么容易做（在你家隔壁放个无线路由就行）但是也可以做到。甚至可以直接从dhcp开始下手。但是有一点所有的MIM都没有办法的，那就是ssh。ssh有finger pirnt的key。这个至少目前我不知道有什么方法可以假冒。如果别人在ssh中就做MIN的话，你连接一眼就能看到，你主机的finger print变了。如果是使用ssh key连接，密码都不会送出去的。所以安全很多。我本本上网的时候，只要是看需要保密的网页（银行，股票等等）100%一定是走ssh tunnel的。不然。。。搞不好那天就看到银行空了</p>
<h3>让你可以游览公司内网网页（如果公司对外不开网页只开ssh）</h3>
<p>我们公司内部有很多网页，外面无法看到。内网的东西，只能通过vpn挂公司网络才可以。我是懒人，不是那么系统vpn，再说公司有几个进入点（刚好我喜欢的那个）还是IPsec的vpn，众所周知，cisco为了让大家多花钱，根本不支持也不打算支持64位windows的IPsec。（ssl vpn版权单算的）linux下面还好，随便都能上去。windows就是个头痛的问题了。好在ssh无所不在，我可以把网页都走ssh通道从公司内部去看。</p>
<h3>增加游览速度</h3>
<p>这个看具体网络设定。通常大公司的网络中有很多QoS的设定，那么大家都是知道，普遍的QoS中，http跟ftp都是尾巴，ssh优先级别高多了。所以如果外面还有个不受QoS限制的机器，那么我们可以把网页通过ssh通道跑去那台不受QoS的机器，再通过那台机器来上网。这个也是我们公司的实例了，公司因为统一的管理要求，有一些管理的页面在美国加州。正常情况，在网页输入网址，你就http通过公司的vpn一路到了加州那边，然后再显示给你。可是http在QoS里面是尾巴的东西，游览速度那个慢呀。好在我有全球ssh的账号。找个公司加州的机器ssh过去，然后网页走ssh的通道，ssh在我们部门（我们是系统管理）的QoS级别是非常高的（保证系统管理的流畅性）所以网页速度提升5-10倍！</p>
<p>废话了这么多，开始说设定。最简单的设定，开一个dynamic port做tunnel。</p>
<p>在Tunnels选项里面，Source port输入一个随便的port（给1024以上比较好）我这里输入5555</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/tunnel.jpg"><img class="alignnone size-full wp-image-49" title="tunnel" src="http://ruimemo.files.wordpress.com/2010/04/tunnel.jpg?w=510" alt=""   /></a></p>
<p>然后点Add，就这么简单。正常登陆你的ssh吧，你已经给自己开了一个tunnel了。</p>
<p>如何使用呢？这里firefox为例（IE或者其他的一样）就是设定代理那里。选择socks代理就可以</p>
<p>代理ip是你的本机（127.0.0.1）代理端口就是你上面输入的地方，然后确定就可以。这样你所有的网页，会从ssh走到你登陆的那个主机去，然后通过那个主机再做网页请求再发送回来。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/firefox.jpg"><img class="alignnone size-full wp-image-50" title="firefox" src="http://ruimemo.files.wordpress.com/2010/04/firefox.jpg?w=510" alt=""   /></a></p>
<p>这里还有一个地方（IE我不知道怎么改，从来不用那个）就是DNS，如果你为了方式MIM攻击，或者要看公司内部网页（公司有自己的DNS呀）那么DNS怎么办呢？firefox可以有个设定，然你所有的DNS请求也从SOCKS去做。</p>
<p>在firefox的地址栏输入about:config</p>
<p>然后更改<strong>network.proxy.socks.remote_dns</strong>为<strong>true</strong>就好了。这样dns也就都从你的ssh到目标机器去做了。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/firefox-dns.jpg"><img class="alignnone size-full wp-image-51" title="firefox-dns" src="http://ruimemo.files.wordpress.com/2010/04/firefox-dns.jpg?w=510&#038;h=312" alt="" width="510" height="312" /></a></p>
<p>putty 图形界面部分，大致就这么多吧。以后有什么想到的，再补上去。 对了差点忘记，所有的东西设定好之后，记得再putty的左边中点一下Session，然后点右边的Default Settings然后点Save，这样就保存了。不然你设定的所有东西，关闭后下次开启就没有了</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/save.jpg"><img class="alignnone size-full wp-image-52" title="save" src="http://ruimemo.files.wordpress.com/2010/04/save.jpg?w=510" alt=""   /></a></p>
<h2>更加方便高效的使用putty套件</h2>
<p>首先来设定一下windows的环境。我的电脑，鼠标右键单击，选择属性，然后设定环境变量，在path中添加c:\putty\</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/system-path.jpg"><img class="alignnone size-full wp-image-53" title="system-path" src="http://ruimemo.files.wordpress.com/2010/04/system-path.jpg?w=510" alt=""   /></a></p>
<p>这样我们就可以在cmd中直接使用putty了。</p>
<p>先说putty吧，putty可以直接从cmd里面开启的，也就是说你可以直接给 putty user@ip 就打开putty然后连接过去了。如果你用ssh，密码什么都不用，直接进入。多方便。</p>
<p>想给密码也可以，如果不介意密码用明文打出来 puty -pw 密码 user@ip 就可以</p>
<p>例如我有个用户 test 密码是 12345在192.168.100.2这台机器上</p>
<p>putty -pw 12345 test@192.168.100.2</p>
<p>这样直接就开启了putty连接到192.168.100.2以用户test登陆密码是12345</p>
<h2>puttygen 以及 pageant： 使用ssh key 无密码登陆系统</h2>
<p>linux下面的ssh-keygen大家应该都熟悉。puttygen就是做这个用的</p>
<p>使用很简单，打开程序，点选 Generate 就可以了。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/ssh-keygen.jpg"><img class="alignnone size-full wp-image-54" title="ssh-keygen" src="http://ruimemo.files.wordpress.com/2010/04/ssh-keygen.jpg?w=510" alt=""   /></a></p>
<p>完成后你会看到这样的一个屏幕。</p>
<p>key passphrase: 这里输入你私钥匙的密码，后面的confrim passphrase再次输入密码缺人</p>
<p>如果你不输入密码也可以，这样加载钥匙的时候不会问你密码，好处，加载的时候省掉输入密码，坏处。。。任何人得到你的私钥匙都可以无密码进入你所有的有公钥匙的机器</p>
<p>选择save public key把公共钥匙保存在一个文件</p>
<p>选择save private key把私钥匙保存在一个文件中</p>
<p>开启私钥匙很简单，双击那个文件就可以，如果你输入了密码，这里会问你一次密码。如果没有输入，就。。。什么也不到（windowws右下窗口会多个蓝色小标志而已）</p>
<p>不同的机器你可以存不同的钥匙，pageant会帮你管理这些钥匙。</p>
<p>puttygen还有一个功能，就是把你的key转化成openssh所有的钥匙格式。因为putty跟openssh（你linux中的ssh）所用的格式不同。putty直接产生的私钥匙在linux中是无法用的。所以puttygen提供一个转换程序，这里只要选择Export OpenSSH key就可以了。这样就会帮你生成一个openssh可以使用的钥匙。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/key-convert.jpg"><img class="alignnone size-full wp-image-55" title="key convert" src="http://ruimemo.files.wordpress.com/2010/04/key-convert.jpg?w=510" alt=""   /></a></p>
<p>顺便说一下对linux不了解的人。你公钥匙是要复制到你linux自己账号下面的.ssh/authorized_keys 这个文件中。</p>
<p>例如root的就在 /root/.ssh/authorized_keys</p>
<p>如果是用户 test的，就在  /home/test/.ssh/authorized_keys</p>
<p>权限要600才可以</p>
<p>pageant基本没什么特殊的用法。打开后看到你在pagent里面的钥匙。可以增加或者删除。增加钥匙也可以直接在新的钥匙文件双击。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/pagenant.jpg"><img class="alignnone size-full wp-image-56" title="pagenant" src="http://ruimemo.files.wordpress.com/2010/04/pagenant.jpg?w=510" alt=""   /></a></p>
<p>添加了钥匙之后，进入有公钥匙的机器就不需要密码了</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/plink-xcolock.jpg"><img class="alignnone size-full wp-image-57" title="plink-xcolock" src="http://ruimemo.files.wordpress.com/2010/04/plink-xcolock.jpg?w=510&#038;h=289" alt="" width="510" height="289" /></a></p>
<p>上面的图是我直接从windows的cmd里面用plink以root账号去192.168.100.1里面开一个xclock到我windows上的结果</p>
<p>中间就没有密码询问了。</p>
<p><a href="http://ruimemo.files.wordpress.com/2010/04/plink-key-tunnel1.jpg"><img class="alignnone size-full wp-image-59" title="plink-key-tunnel" src="http://ruimemo.files.wordpress.com/2010/04/plink-key-tunnel1.jpg?w=510" alt=""   /></a></p>
<p>同理，上面开启ssh通道</p>
<h2>Plink -&gt; putty的纯指令无界面模式</h2>
<p>是否很多人想念linux中的ssh可以直接给指令的？通常最长见到的就是有时候为了方便，一个for loop然后直接用ssh然后给一堆指令过去</p>
<p>这个就是plink的存在了。基本来说跟putty指令用法一样，但是不给你那个多余的窗口界面，最大的功能有2个</p>
<p>一个是远端直接跑脚本或者指令，另外一个就是我们前面提到的ssh通道，用putty开多麻烦，pink直接可以搞定</p>
<p>还是用上面的test那个用户</p>
<p>plink -pw 12345 test@192.168.100.2 &#8220;cat /etc/issue&#8221;</p>
<p>直接返回结果到你的cmd，跟linux中的ssh是一样的</p>
<p>再来个例子，直接在widnows开启一个linux下的窗口程序（这里用xclock为例）</p>
<p>plink -X -pw 12345 test@192.1687.100.2 &#8220;xclock&#8221;</p>
<p>这样就直接在windows显示你主机下面的xclock程序了。那个-X就是说我们要做ssh fordward的意思</p>
<p>另外一个例子，这个是我常用的</p>
<p>plink -D 5555 -N -pw 12345 test@192.168.100.2</p>
<p>这样就开启了一个ssh的通道在5555这个端口，-D 5555是说我们在5555开dynamic通道，至于这个-N，这个是告诉系统说，我们并不需要login的shell，只要通道就好</p>
<p>做成一个bat文件，双击就直接开启通道了，你还可以有一堆的bat，确定开通道去不同的机器等等。这个自己玩玩都会找到个子最适合自己的方法</p>
<h2>pscp &amp; psftp</h2>
<p>两个个没啥好多说的，一个是scp一个是sftp的程序。都是指令的。用法跟plink一样的。参数基本跟linux的差不多</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=38&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/04/04/putty-%e7%9f%a5%e5%a4%9a%e5%b0%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/putty_all_exe.jpg" medium="image">
			<media:title type="html">putty_all_exe</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/logging.jpg" medium="image">
			<media:title type="html">logging</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/utf-8.jpg" medium="image">
			<media:title type="html">utf-8</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/color.jpg" medium="image">
			<media:title type="html">color</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/ssh.jpg" medium="image">
			<media:title type="html">ssh</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/auth.jpg" medium="image">
			<media:title type="html">auth</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/xeye.jpg" medium="image">
			<media:title type="html">xeye</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/gnome.jpg" medium="image">
			<media:title type="html">gnome</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/tunnel.jpg" medium="image">
			<media:title type="html">tunnel</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/firefox.jpg" medium="image">
			<media:title type="html">firefox</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/firefox-dns.jpg" medium="image">
			<media:title type="html">firefox-dns</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/save.jpg" medium="image">
			<media:title type="html">save</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/system-path.jpg" medium="image">
			<media:title type="html">system-path</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/ssh-keygen.jpg" medium="image">
			<media:title type="html">ssh-keygen</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/key-convert.jpg" medium="image">
			<media:title type="html">key convert</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/pagenant.jpg" medium="image">
			<media:title type="html">pagenant</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/plink-xcolock.jpg" medium="image">
			<media:title type="html">plink-xcolock</media:title>
		</media:content>

		<media:content url="http://ruimemo.files.wordpress.com/2010/04/plink-key-tunnel1.jpg" medium="image">
			<media:title type="html">plink-key-tunnel</media:title>
		</media:content>
	</item>
		<item>
		<title>装个linux</title>
		<link>http://ruimemo.wordpress.com/2010/04/01/%e8%a3%85%e4%b8%aalinux%e5%90%a7/</link>
		<comments>http://ruimemo.wordpress.com/2010/04/01/%e8%a3%85%e4%b8%aalinux%e5%90%a7/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 23:55:59 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=32</guid>
		<description><![CDATA[今天突然想起，我的苹果都好久没用了。换回linux吧。 这个以前就是linux的，上次为了做iphone的东西，没办法又换回了osx。结果就是，iphone做完了，就再也没有怎么开机过。 所以决定，换回linux，也给自己找点事情做。从新熟悉一下linux的系统。 希望。。。半个月内能搞定！ 经过6小时奋战，终于把内核搞定了。真的很好奇这个内核在现在这个年代的机器上到底要多久。立刻开个虚拟机，给4个cpu，4G内存。同样的内核，汗呀，12分钟就搞定了。看来这个小mac是跟gnome无缘了。插曲。。。忘记编ATA进去。。。。unable to mount root device，驴了一回。还好重编内核很快。赶快加进去ata跟cdrom。 那么是xfce呢还是wmaker？其实个人一直挺喜欢wmaker的。看了下wmaker的ftp，最后一个上传时间是2008年6月，先偷笑一个，原来还有在开发，还没有停。再一看。。。最后一个release是给redhat9的。也就是说。。。最近7-8年都没有更新过了。脑子里面开始搜索还有哪些轻量级的windows manager可以用，openbox？iceWM，afterstep （这个以前也喜欢），blackbox？ fluxbox？fvwm？xfce？（个不错，但是应该算是轻量级中的重量级）linux里面东西太多了。。。有时候好难挑噢。基本顺序。。vmaker, blackbox(或者fluxbox),xfce 这样来做吧。如果vmaker感觉还可以，就它了，不行就走blackbox或者fluxbox再不行。。。只好上xfce了。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=32&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>今天突然想起，我的苹果都好久没用了。换回linux吧。</p>
<p>这个以前就是linux的，上次为了做iphone的东西，没办法又换回了osx。结果就是，iphone做完了，就再也没有怎么开机过。</p>
<p>所以决定，换回linux，也给自己找点事情做。从新熟悉一下linux的系统。<br />
希望。。。半个月内能搞定！</p>
<p>经过6小时奋战，终于把内核搞定了。真的很好奇这个内核在现在这个年代的机器上到底要多久。立刻开个虚拟机，给4个cpu，4G内存。同样的内核，汗呀，12分钟就搞定了。看来这个小mac是跟gnome无缘了。插曲。。。忘记编ATA进去。。。。unable to mount root device，驴了一回。还好重编内核很快。赶快加进去ata跟cdrom。</p>
<p>那么是xfce呢还是wmaker？其实个人一直挺喜欢wmaker的。看了下wmaker的ftp，最后一个上传时间是2008年6月，先偷笑一个，原来还有在开发，还没有停。再一看。。。最后一个release是给redhat9的。也就是说。。。最近7-8年都没有更新过了。脑子里面开始搜索还有哪些轻量级的windows manager可以用，openbox？iceWM，afterstep （这个以前也喜欢），blackbox？ fluxbox？fvwm？xfce？（个不错，但是应该算是轻量级中的重量级）linux里面东西太多了。。。有时候好难挑噢。基本顺序。。vmaker, blackbox(或者fluxbox),xfce 这样来做吧。如果vmaker感觉还可以，就它了，不行就走blackbox或者fluxbox再不行。。。只好上xfce了。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=32&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/04/01/%e8%a3%85%e4%b8%aalinux%e5%90%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
		<item>
		<title>搬家</title>
		<link>http://ruimemo.wordpress.com/2010/03/31/%e6%90%ac%e5%ae%b6/</link>
		<comments>http://ruimemo.wordpress.com/2010/03/31/%e6%90%ac%e5%ae%b6/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 05:41:25 +0000</pubDate>
		<dc:creator>Lazy Cat</dc:creator>
				<category><![CDATA[杂七杂八]]></category>

		<guid isPermaLink="false">http://ruimemo.wordpress.com/?p=24</guid>
		<description><![CDATA[因为那个做输入法跟搜索的网页大家离开了中国。。。所以呢，好像放在他家的blog也都不能看了。 只好移植来到这里。速度好慢。。。不过应该哪里都能看到吧。没玩过wordpress这么复杂的东西，还是喜欢简介的界面。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=24&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>因为那个做输入法跟搜索的网页大家离开了中国。。。所以呢，好像放在他家的blog也都不能看了。</p>
<p>只好移植来到这里。速度好慢。。。不过应该哪里都能看到吧。没玩过wordpress这么复杂的东西，还是喜欢简介的界面。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruimemo.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruimemo.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruimemo.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruimemo.wordpress.com&amp;blog=12894852&amp;post=24&amp;subd=ruimemo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ruimemo.wordpress.com/2010/03/31/%e6%90%ac%e5%ae%b6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/19abe11647069f1b30b1729171f25f84?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ruimemo</media:title>
		</media:content>
	</item>
	</channel>
</rss>
