<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3" -->
<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/"
	>

<channel>
	<title>Bug'Blog</title>
	<link>http://blog.freebug.org</link>
	<description>The forgotten loophole!</description>
	<pubDate>Sun, 29 Jun 2008 06:24:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
	<language>en</language>
			<item>
		<title>情为此物</title>
		<link>http://blog.freebug.org/archives/223.html</link>
		<comments>http://blog.freebug.org/archives/223.html#comments</comments>
		<pubDate>Sun, 29 Jun 2008 06:24:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/223.html</guid>
		<description><![CDATA[她是东村的，他是西村的，中间一道沟，沟南面有东山和西山，隔一道谷。
      他一直在东山放羊，她一直在西山放羊，两人从七八岁就知道那边有个和自己一样大的孩子，十二三联单岁才想到相互喊话，你多大？你有多少只羊？你想上学不想？&#8230;&#8230;.
      再大一点，不喊话了，她的羊群总在东山西边的坡上，他的羊群总在西山东边的坡上，他常爬岩上树像个小英雄，她就捂嘴偷笑。再大一点，有一天，他突然跑了过去，把一大朵野花插在刀子头上，转身就跑，滚了坡，她惊叫之后就大笑。又有一天，她突然跑了过去，把一个香囊挂在他脖子上，转身跑，说：“我给你绣的&#8230;&#8230;”他就憨笑。
      终于有一天，两人会合了，在山的最高处。她和他有点羞，找不到话题，就说咱给山上这棵树取个名字吧，说了就一起使劲想，想了不少，最后她说出一个，背过身去问他：“你听说过爱情这两个字没有？”他想了想说：“好像听说过。”她转过身来就笑了：“那是啥东西？”他说：“好像是外面世界的一种东西，咱这里没有。”她说：“那咱就把这树叫爱情树吧？”他说可以，就定了。
      从那以后，爱情树就成了她和他会合的一个点。那三个树杈像三根巨指，中间是炕那么大的掌心，平平的，她和他可以坐在上面，也可以躺在上面。最多的时候，她和他是并排躺着看天。云怎么那么白？怎么又黑了？怎么想着是什么就是什么？太阳多大了，太阳有媳妇吗？是月亮吗？他们的家在哪里？星星是他们的孩子吗？&#8230;&#8230;.话题有点羞时，她就钻到他怀里打他，他就亲她，她就不动了。有一天，她问：“你说咱躺在这里看天算啥？”他说：“是爱情吧？”
      又有一天，她和他正在树的掌心里抱着说话时，一群村崽出现了，围着树笑喊：“两口子！两口子！&#8230;&#8230;.”她呆了，他跳下树来，崽们跑下山去了，显然是早就发现了他和她的秘密，结群来逮现场的。
       果然，他回到家就被爹捆在了树上，往死里打。山里定亲的男女也只是一年走一回亲，自由幽会也是要动家法的。晚上，他偷偷爬出了家，他站不起来了，就往东村爬，爬一阵晕一阵，爬了大半夜，天快亮时才爬过了那道沟，爬到了她家门口，跪起来，大叫：“我来了！”
      他想知道她挨打没有，被打死没有，没打死，他有话说，打死了，他也死。
      她娘出来了，一看就狠了脸：“你这娃，真是找死！”
      他问：“她呢？”
      “死了！”
      他一听就站了起来，伸头撞院中的石碾，咚的一声，倒了。
      她大哭着跑出门，扑到他的身上，哭叫，他没死，睁开眼睛就问：“打你没有？再打就打我&#8230;&#8230;..”
      东村的人围上来了。
      西村的人赶过来了。
      两个娃你护我我护你很惨烈，两村人都说算了算了。西村的人抬走了他，东村的人拦住了她，她哭得死去活来。
     不久，她嫁给了一个富家崽，那富家崽大她10岁，还是个傻子，她没有抗争，她家太穷，她爹病着，等用钱。
     他出走打工了。
   她出嫁后，也像个傻子了，不说话，不笑，走路低头，从不看天。吃穿是不缺的，她家里也因此好过了起来，她对那个傻子也是尽力伺候照看着。有时她会偷偷看一眼南山，叹一声，就流眼泪了。
他打工一直不顺，挣挣扎扎地，但也能给家里寄些钱，打了十多年工，他很少回家，直到家里的房子盖起来了，妹妹也上大学了，爹妈不在了，他才决定不打工了，回家。人们看见，四十来岁的他，就像六十多岁的样子，也确实打不成工了。回家的第三年，他终于娶上了媳妇。媳妇是小寡妇，有点憨气，但身体好，五大三粗的，能吃能干，日子也归入正常了。
这时的她，那傻子死了，她爹娘也不在人世了。不久，她买了几只羊，又放起羊来，把家也搬到了山前，搭了间小茅屋。
他自从回家后一直不上山，也不看山。村人有时也会有意无意地对他提起她的事，好像她和他真有一种牵连似的，口气都有点惋惜与无奈。他觉得这山里的“爱情”也长大一点了，人情就比从以前暖和多了。
这天晚上，他问媳妇：“你知道啥是爱情不知道？”
媳妇撅着嘴说：“啥爱情，不就是你那个放羊的。”
他问：“那你呢？”
媳妇说：“我是你的媳妇，娃的妈。”
他叹了一声，媳妇说得很清楚，爱情是爱情，媳妇是媳妇，念想是念想，日子是日子，两不沾。媳妇好像比外面世界那些能人精人还通大理，千万年扯不清的事理，媳妇一句话就说清了。
媳妇撒娇问：“你是不是想她了？”
他不吭。
媳妇说：“你会不会不要我了再要她？”
他说：“那不会。”
媳妇说：“那你告诉我，你想她的啥？她的啥我这里没有？”
他说：“天上的云。”
媳妇愣了半天没愣明白，看见他流泪了。她幽幽地说：“那你去看看她吧，她怪可怜的。”
他提了神看她。她笑：“真的。”他抱了媳妇，说：“你是好人。”
第二天，他上山了。
她还是在东山的西坡上放羊，和当年一样。他就从西山的东坡往山顶走。
她看见了他，就抛下羊不管，也往山顶走。他先到了那棵树前，定住了。他很震撼，几十年过去了，这树还是那样子，一点都没变。她也到了，拉了他手，也看树。
“你看，树还是那样子。”
“是啊，还是那样子。”
“人都老了……”
“是啊，人都老了……”
“一场梦似的……”
“就是一场梦，一生也就一个梦。”
“这些年，你看过云没有？”
“没有。你呢？”
“没有。”
“咱两个的一生其实也就树杈上那一阵子，没别的。”
“就是。”
说到这里，他和她就上树了。没有当年那么灵活了，他很艰难地爬上去，然后拉她上去。还和当年一样，并排躺了，还是看天。
于是，这一生的两个点就连结在一起了。云怎么那么白？怎么又黑了？怎么想着是什么就是什么？太阳多大了？太阳有媳妇吗？是月亮吗？他们的家在哪里？星星是他们的孩子吗……..
她问：“你说咱躺在这里看天算啥？”他说：“是爱情吧？”她想了想说：“那这树呢？树看了这么多年的爱情，咋还是这个样子？”他这次说上来了：“爱情就是这样的，啥都经历过了，还活着，就是爱情了。”她笑了，偎紧他，说：“是的，爱情树。”
其实，还是有人知道他和她的这次幽会，在山下看着这树。他的媳妇就是一个，在门口一直看着那树。
从山下看那树，就只是一只瘦小的鸟爪，朝着苍天那么扑抓着，千万年过去了，不知抓到了什么？
]]></description>
			<content:encoded><![CDATA[<p>她是东村的，他是西村的，中间一道沟，沟南面有东山和西山，隔一道谷。</p>
<p>      他一直在东山放羊，她一直在西山放羊，两人从七八岁就知道那边有个和自己一样大的孩子，十二三联单岁才想到相互喊话，你多大？你有多少只羊？你想上学不想？&#8230;&#8230;.</p>
<p>      再大一点，不喊话了，她的羊群总在东山西边的坡上，他的羊群总在西山东边的坡上，他常爬岩上树像个小英雄，她就捂嘴偷笑。再大一点，有一天，他突然跑了过去，把一大朵野花插在刀子头上，转身就跑，滚了坡，她惊叫之后就大笑。又有一天，她突然跑了过去，把一个香囊挂在他脖子上，转身跑，说：“我给你绣的&#8230;&#8230;”他就憨笑。</p>
<p>      终于有一天，两人会合了，在山的最高处。她和他有点羞，找不到话题，就说咱给山上这棵树取个名字吧，说了就一起使劲想，想了不少，最后她说出一个，背过身去问他：“你听说过爱情这两个字没有？”他想了想说：“好像听说过。”她转过身来就笑了：“那是啥东西？”他说：“好像是外面世界的一种东西，咱这里没有。”她说：“那咱就把这树叫爱情树吧？”他说可以，就定了。</p>
<p>      从那以后，爱情树就成了她和他会合的一个点。那三个树杈像三根巨指，中间是炕那么大的掌心，平平的，她和他可以坐在上面，也可以躺在上面。最多的时候，她和他是并排躺着看天。云怎么那么白？怎么又黑了？怎么想着是什么就是什么？太阳多大了，太阳有媳妇吗？是月亮吗？他们的家在哪里？星星是他们的孩子吗？&#8230;&#8230;.话题有点羞时，她就钻到他怀里打他，他就亲她，她就不动了。有一天，她问：“你说咱躺在这里看天算啥？”他说：“是爱情吧？”</p>
<p>      又有一天，她和他正在树的掌心里抱着说话时，一群村崽出现了，围着树笑喊：“两口子！两口子！&#8230;&#8230;.”她呆了，他跳下树来，崽们跑下山去了，显然是早就发现了他和她的秘密，结群来逮现场的。</p>
<p>       果然，他回到家就被爹捆在了树上，往死里打。山里定亲的男女也只是一年走一回亲，自由幽会也是要动家法的。晚上，他偷偷爬出了家，他站不起来了，就往东村爬，爬一阵晕一阵，爬了大半夜，天快亮时才爬过了那道沟，爬到了她家门口，跪起来，大叫：“我来了！”</p>
<p>      他想知道她挨打没有，被打死没有，没打死，他有话说，打死了，他也死。</p>
<p>      她娘出来了，一看就狠了脸：“你这娃，真是找死！”<br />
      他问：“她呢？”</p>
<p>      “死了！”</p>
<p>      他一听就站了起来，伸头撞院中的石碾，咚的一声，倒了。</p>
<p>      她大哭着跑出门，扑到他的身上，哭叫，他没死，睁开眼睛就问：“打你没有？再打就打我&#8230;&#8230;..”</p>
<p>      东村的人围上来了。</p>
<p>      西村的人赶过来了。</p>
<p>      两个娃你护我我护你很惨烈，两村人都说算了算了。西村的人抬走了他，东村的人拦住了她，她哭得死去活来。</p>
<p>     不久，她嫁给了一个富家崽，那富家崽大她10岁，还是个傻子，她没有抗争，她家太穷，她爹病着，等用钱。</p>
<p>     他出走打工了。</p>
<p>   她出嫁后，也像个傻子了，不说话，不笑，走路低头，从不看天。吃穿是不缺的，她家里也因此好过了起来，她对那个傻子也是尽力伺候照看着。有时她会偷偷看一眼南山，叹一声，就流眼泪了。</p>
<p>他打工一直不顺，挣挣扎扎地，但也能给家里寄些钱，打了十多年工，他很少回家，直到家里的房子盖起来了，妹妹也上大学了，爹妈不在了，他才决定不打工了，回家。人们看见，四十来岁的他，就像六十多岁的样子，也确实打不成工了。回家的第三年，他终于娶上了媳妇。媳妇是小寡妇，有点憨气，但身体好，五大三粗的，能吃能干，日子也归入正常了。</p>
<p>这时的她，那傻子死了，她爹娘也不在人世了。不久，她买了几只羊，又放起羊来，把家也搬到了山前，搭了间小茅屋。</p>
<p>他自从回家后一直不上山，也不看山。村人有时也会有意无意地对他提起她的事，好像她和他真有一种牵连似的，口气都有点惋惜与无奈。他觉得这山里的“爱情”也长大一点了，人情就比从以前暖和多了。</p>
<p>这天晚上，他问媳妇：“你知道啥是爱情不知道？”</p>
<p>媳妇撅着嘴说：“啥爱情，不就是你那个放羊的。”</p>
<p>他问：“那你呢？”</p>
<p>媳妇说：“我是你的媳妇，娃的妈。”</p>
<p>他叹了一声，媳妇说得很清楚，爱情是爱情，媳妇是媳妇，念想是念想，日子是日子，两不沾。媳妇好像比外面世界那些能人精人还通大理，千万年扯不清的事理，媳妇一句话就说清了。</p>
<p>媳妇撒娇问：“你是不是想她了？”</p>
<p>他不吭。</p>
<p>媳妇说：“你会不会不要我了再要她？”</p>
<p>他说：“那不会。”</p>
<p>媳妇说：“那你告诉我，你想她的啥？她的啥我这里没有？”</p>
<p>他说：“天上的云。”</p>
<p>媳妇愣了半天没愣明白，看见他流泪了。她幽幽地说：“那你去看看她吧，她怪可怜的。”</p>
<p>他提了神看她。她笑：“真的。”他抱了媳妇，说：“你是好人。”</p>
<p>第二天，他上山了。</p>
<p>她还是在东山的西坡上放羊，和当年一样。他就从西山的东坡往山顶走。</p>
<p>她看见了他，就抛下羊不管，也往山顶走。他先到了那棵树前，定住了。他很震撼，几十年过去了，这树还是那样子，一点都没变。她也到了，拉了他手，也看树。</p>
<p>“你看，树还是那样子。”</p>
<p>“是啊，还是那样子。”</p>
<p>“人都老了……”</p>
<p>“是啊，人都老了……”</p>
<p>“一场梦似的……”</p>
<p>“就是一场梦，一生也就一个梦。”</p>
<p>“这些年，你看过云没有？”</p>
<p>“没有。你呢？”</p>
<p>“没有。”</p>
<p>“咱两个的一生其实也就树杈上那一阵子，没别的。”</p>
<p>“就是。”</p>
<p>说到这里，他和她就上树了。没有当年那么灵活了，他很艰难地爬上去，然后拉她上去。还和当年一样，并排躺了，还是看天。</p>
<p>于是，这一生的两个点就连结在一起了。云怎么那么白？怎么又黑了？怎么想着是什么就是什么？太阳多大了？太阳有媳妇吗？是月亮吗？他们的家在哪里？星星是他们的孩子吗……..</p>
<p>她问：“你说咱躺在这里看天算啥？”他说：“是爱情吧？”她想了想说：“那这树呢？树看了这么多年的爱情，咋还是这个样子？”他这次说上来了：“爱情就是这样的，啥都经历过了，还活着，就是爱情了。”她笑了，偎紧他，说：“是的，爱情树。”</p>
<p>其实，还是有人知道他和她的这次幽会，在山下看着这树。他的媳妇就是一个，在门口一直看着那树。</p>
<p>从山下看那树，就只是一只瘦小的鸟爪，朝着苍天那么扑抓着，千万年过去了，不知抓到了什么？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/223.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>想起布蓝里</title>
		<link>http://blog.freebug.org/archives/222.html</link>
		<comments>http://blog.freebug.org/archives/222.html#comments</comments>
		<pubDate>Tue, 24 Jun 2008 09:45:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/222.html</guid>
		<description><![CDATA[照常，昨夜睡得晚。待到上床的时候已经不思睡。目光炯炯，心事清明，仍强迫自己闭眼，然而一会儿便天亮。索性起来洗头，搬个凳子坐在落地窗前一下一下地梳。
眼圈是黑的，也昏沉。外面行人稀少，晨鸟在飞，早上的郊野空气有种特别的气味，我喜爱它一如喜爱下雨的味道。慢慢的，心里涌起喜悦。
记得初到这个地方，头天清晨也是很早就醒来，跳下床到窗子那儿看，看到建筑物后面的一小片湖水。
云光云影相互潋滟。
白天的课排得满满，照旧趴着睡了一会，梦中觉得自己的头发一直在唰唰唰拼命长，一直到脚下。
黄昏的时候出去找吃的，路过一家快餐店，听到里面大声放歌。
猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。
海水倒灌。想到那一段光景。
认识她的时候，真正年少。成长都是以后慢慢应验的事。
中学新生报到，要到一个很远的地方军训半个月。我费力地往一辆挤满人的军用卡车车厢里爬，周围都是陌生的面孔。突然有人伸手拉住我，用力往上扯，我就上去了。因为太大力，一下子扑在那人身上，我抬眼看，一头乱糟糟的短发，大眼浓眉。
那就是布蓝里
车厢里塞了几十个人和大包大包的行李，还有人不断地上来，我下意识躲避，便紧紧地和她贴在一起。
车子启动时，妈妈在众多送行家长中冲上车喊，哎，那个姑娘，我把她交给你了，帮我照顾她啊。
布蓝里大声回了一句“没问题”。
下午有两节课，是所有课程中唯一人文色彩深厚的，教课的是一个三十多岁的文学博士，英文流利，普通话标准，手指干净，日进千金。他提到两句诗。乡村年少生战后，见话前朝如梦中。他说他不强求理解，不苛求心钝木志昏蒙的可爱年轻人。他说你们不了解不记得也是福气。我觉得有些意思，就听下去。
那两节课说了很多，他实在渊博，是个有小智慧大思想的人。因为人心繁大，他刻意试图开启我们，但大智慧只在不经意中。
然后是口语课。这期的外教终于年轻些了，他大着舌头用中文说，我叫苏，来自美国。他说我的课上我可以说中文你们不可以。中途的时候他要牡丹和一个男生到前面去示演一段对话。牡丹一边小声骂一边磨蹭着上去，众目睽睽，我觉她真艳光四射。两个人别扭地站在前面，底下一阵哄笑。牡丹按规定说完一堆冠冕堂皇的话，那男孩却张口结舌，半天出不得声，苏一直催促，他终于面红耳赤牛头不对马嘴地冒出一句“You are beautiful”。
我在下面笑得死去活来。
后来苏玩起一些弱智的把戏。要我们准备三句话，两句是真实做过的，一句是不曾有过的。
他点到我。他说，July在不在，起来说一下。
我站起来轻言细语。
One thing：我被我妈生下下。
Second thing：我天天吃饭睡觉上厕所。
Third thing：我有两个女儿，一个叫福音一个叫莫离。
苏似科目瞪口呆，然后呵呵傻笑，也不纠正我的语法错误。我有些得意地坐下，还发出大声响。只过了一会儿，心中便渐渐懊丧，觉得自己无聊透顶。
黄昏的时候，牡丹脸上神秘兮兮口里不掩亢奋地回来说，那个做蛋烘糕的回来了，于是和殷一阵忙天慌地穿衣找鞋，三个人欢欢喜喜浩浩荡荡地往街上去。我喜欢红豆沙拉馅的。牡丹喜欢沙拉肉松的。殷喜欢奶油。
在走过那家大声放歌的快餐店门口时，突然再次想起那个叫布蓝里的人。
训练的时候我们分在一个班，我记得是八班。我们高矮相仿，排队的时候站在一起。睡觉是打地铺，她的被褥铺在我的旁边，吃饭的时候她是桌长，负责分配人收拾饭桌，我就莫名其妙少洗了很多次碗。
那是八月，训练场上没有树，只有大片大片的草，阳光炙热，有时一场暴雨，便有很多红蜻蜓在水迹低飞。班长二十来岁，对我们极其严格，但那时玩心浓烈，一切皆新奇，一天下来虽腰酸腿软，但仍满心活络，跃跃欲试。还写了一个顺口溜，大意是诽谤调侃负责训练我们的那个小兵，原文怎样不记得，都是些人不人猪不猪脖子和腰一般粗之类的低水准语言。
后来布蓝里到处宣传，不久整个军营都把那几句话熟稔了，校长放话要追查到底，揪出始作俑者以儆效尤。
当时惶惑。
那句话布蓝里是在吃完中午饭之后和我说的，嘴角还有油迹，她目光坚定，对我说，那有什么，要死一起死。不知怎的，真的不怕了。
她在夜间把我推醒，低声说陪我去上厕所。
懵懵懂懂中就起来穿衣服，蓬着头跟她走。那地方离住处有两百米的距离，我们拉着手，没有路灯，在虫唱和蛙鸣中穿越训练场地，踩着长草，蚊虫在腿上叮出一串红包。
那时千真万确，远离城市，抬头有繁星。
也许夜太深，梦黑甜，醒不过来，一路上只是拉着手，说不得话。但就算那样，我也知道在她叫我的时候二话不说起身跟她走。
后来轮到她值夜班，就是搬个凳子在大家睡觉的时候守到半夜，在小本子上记下有谁晚归或出去。
我摸黑起来，带着夹心饼干到外面找她，心中是怕的，在黑暗的走道里小心翼翼地走，突然前面出现光线，我看到布蓝里在是筒光圈中的笑容。
那晚我们趴在阳台上把饼干吃完，然后我一直坐在她的身旁。
那半个月做了很多事情，想想看，除了把蚱蜢逮住关在饭盒里，把蝌蚪放进矿泉水瓶里，除了走两个小时泥巴路到靶场打枪然后跑到草丛里去拣拾弹头，除了装头痛肚子痛不去训练偷跑到外面买零食然后晚上在被子里吃……一切年少时应该经历的过程都光鲜而理直气壮地走了之后，还留下什么？
最重要的，仍就是认识布蓝里。
回到学校以后，布蓝里和我做了一年的同学。我们拼死拼活要坐在一起，于是得逞。坐在第一排正中的位置上。
老师问那个著名的问题。
雪化了变成什么？
我心中有数，春天。
布蓝里拍着桌子说，明明就是水蒸汽。
布蓝里到家里来吃饭，不吃青菜，嬉皮笑脸地夹到我碗里。妈妈喜欢她，爸爸把她当男孩，拍拍她的肩，有时还把啤酒拿出来，说布布，陪我喝一杯。吃好了就下楼到我房间关上门，有时我趴在床上读喜欢的小说给她听。她会大叫听不懂，但最后都会很安静地听完。有时读着读着就睡着，相对而眠，记得她近处的呼吸，暖烘烘地吹在脸上。有时她一翻身便卷走我的被子，或者手肘压着我的头发，我也不动。
总是她先睡着。口水流出来，浸湿我的枕头，然后自己醒来，皱着眉头把枕头翻一面再睡。
到现在也不习惯和人同床睡，但那时的感觉地却妥帖安稳，没有任何不适，她醒了就用被子蒙着脸，只露出眼睛，看着我笑不可抑。
用心消磨的时光暖煦且短暂，然而我是一直记得的人，我攀附在布蓝里瘦削而坚韧的身体上，在十来岁的年纪中四处打望，校园里有桐花树，围墙上有长藤，布蓝里可以轻而易举翻过去，然后在另一边使劲拖我。校园外面有电影院，穿过一条街是天主教堂，圣诞节的时候我们便混在人流里去拿分食的糖果。
阳光普照，轻狂之中，自有宠爱我们的人。
于是勾肩搭背，争强好胜，手心总是汗涔涔，并且不失时机地相视而笑。
她有男孩一般的性格，卷着袖口四处纵横。头发极短，长了便剪掉，再长了又剪掉。
布蓝里和我逃学，用单车载我到西南交大，她说她知道附近某处有一个神奇的算命人，算得很准。附近，其实是遥远的一段距离，路上恰逢一场雨。我们到路边的地下书店躲雨，坐在公用的塑料椅子上，我说那我们还去不去。
她说去的，我们已经走了这么远。
身上湿了，就到她小姑姑家，那里有一个房间是她的。她把她的袜子拿出来给我换，是白的，纯棉，没有任何花纹和缀边。
后来在西南交大老旧的校园里，她带我到湖边坐，光线从头顶的树荫中影影绰绰地漏下来，在肩膀上脖颈上印出一小块一小块的光斑。她说她要到清华。那时侧脸去看她，深信不疑。
我呢。我问时候心中泰然自若，似乎一切都在顺其自然之中。
你，当然和我在一起。
我得到想要的回应。再不追究到底如何。
我们没有找到那个神秘的人，但回程的时候已全然忘却。
一切都很好，晚自习之后我们仍不离开学校，到操场去跑步，然后坐在跑道上看星。衣服书包扔了一地。伸手伸脚摆出大字，她不停地说她的梦想。
成都的天空难得见到几个星，我们仍津津有味。
人间的尘埃多多少少侵惹过来，恼人的季节带来那些花月和人事。我们不懵懂，心中有知觉，布蓝里挥挥手，让它们走开，于是我也就心甘情愿的只放在心里，我想布蓝里是知道的，她不说。
她喜欢坐在我旁边唱，翻来覆去一遍一遍。以至我记得如此清楚。
猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。
后来认识秦恤，科大教授，副的。三十来岁，那时没有结婚，在城南独自住一套大屋，不知道是否有若干女人。我们都喜欢他，争先恐后叫他爸爸，他总是大笑，容忍我们在他的冰箱里翻找吃食。他给自己的居处取了一个名字，叫做亦然。我们横行霸道的时候总是不烟不酒无脂无粉，那间大屋，里面的人无疑是疼爱我们的。我们从来不按门铃，噼里啪啦一阵敲，他知道是谁，光着脚来开门，我们便踢掉鞋子冲进去，抢他的大拖鞋来穿。秦恤饶有兴趣地看我们表演。他抱手歪头，嘴角上扬，高高在上。布蓝里热衷和他抬械，我就跑到他书架上去翻书，那么我，我可以暗无天日心安理得地将它们堆在身边。在地上坐一个下午，累了就到阳台上去大力吸气，回过头，秦恤正用一个陶瓷缸子盛水过来，就埋头咕嘟咕嘟地喝。
他喜欢粤菜，口味清淡，是节制的人。因而肠胃干净，口腔里清洁舒适的味道。
他说布蓝里十分聪明，说我有时容易跳脱。
他说我是老头子了，禁不得你们折腾。哈哈。
是十六七岁时认识的人，不太上心，但不知不觉中足够依恋，仰仗自己年幼，便自然而然卖乖撒痴，总要遇见个对的人照单全收。
我想那就是他布施的恩慈。对我们有包容娇宠的恩泽，对自己亦仁慈。
后来分班，布蓝里学理，我学文。一上课她就跑到我的教室门口，伸个脑袋。
嗨，非，出来一下。
我就屁颠屁颠跑出去。满面笑容。
再后来布蓝里转校。除了连篇累牍飞惯性的错别字外，她的成绩实在优秀，而我只是一味固执。老师轻轻摇头，说，你是个奇怪的小孩，但你也要为你的将来负责和承担。
我不喜欢读书，真的不喜欢。
布蓝里说，没关系，你有你的办法，还有我。我们仍然在一起。
她们学校一帮人野游，我也跟了去，同他们一起挤车。那是身体无声舒展的季节。有风吹起的长头发短头发和永不知倦的球鞋。在树林里的空地上生火烤玉米，有人捉了鱼来，不知道怎么杀，就用石头砸。
那个地方叫斯山。我们拍了照，紧紧靠在一起，我穿白她穿蓝，身后有浓荫。地上铺着塑料布，塑料布上有很多吃食，还有啤酒和红酒，那些人都扑上去，我在外面挤不动，布蓝里把沙拉抢出来给我，我就高兴地笑了。
秦恤说，我只希望我有个女儿，像布蓝里又像非。
布蓝里说那就生两个，一个叫小布，一个叫小非，你要教小布爬树翻墙，教小非念诗。
后来又发生了一些事情。因为时间在走，一些东西非要远离，这是规律。絮絮叨叨之后便开始淡。于是只要自己狠狠记得，然后慢慢忘却。
布蓝里不在的时候，便独自到秦家去，坐很久的公车，抱着从他书架上带走的书，爬上七楼，呼哧呼哧等他来开门。他盘腿在沙发里看电视，便过去一起看，那儿刻有深居简出的洁净感觉，心中冉起愉悦。也不说什么，仅是安心嵌在沙发里，而身旁的人给你吃给你喝，容你嬉笑怒骂，热了有凉风寒了有暖气，只要你在这里，他就很好地待你。
电视上有异处的风景，风车田园，吉普飞驰，如风过眼自有良人。美不胜收。
秦恤轻轻咳嗽，就乖巧地倒水给他。水杯倾覆，便被紧紧抱住。整个人沦陷。手无寸铁，心中亦没有防备。夺门而逃的时候身体里面寂静一片，甚至记得下楼后回头看一眼。秦恤倚在阳台上望，不徐不疾，胸有成竹。只是没有笑。
秦恤没有解释。那刻他的衣衫柔软，嘴唇从容。是心中有数的人，再怎样痴念，生活之中注定没有大跌宕。
只是个意外。以后大家都会拿捏得好。
后来我们仍高高兴兴地叫他爸爸叫他老头子。
那夜不风不雨，再寻常不过。半夜不能睡，跑到街上的磁卡电话亭打电话给布蓝里。
我一直说，停不下来。布蓝里先沉默，后来说他是混蛋臭男人等等。最后说，星期天我们去找他，让他请我们吃东西。
在德克士，布蓝里吃光了自己的汉堡，又把我的拖过去，扯出里面的炸鸡块。秦恤把他的换给我，自己吃剩下的面包和里面的生菜。
大家什么都不说，反而坦然
高二那年，布蓝里突然决定北上，她不说为什么，在一个春光明媚的日子连夜离开。或许是私奔。
我到现在都不敢完全确定因由。只是后来的遭遇在控制之外。
那一年，布蓝里招呼也不打就走得干干净净。她的妈妈和小姑姑到学校找我，求求我告诉她们布蓝里的下落，于是尽人皆知， 百口莫辩。
只是心里，一直极想念她，愈来愈沉，如同心病。
身边少了人，很寂寞。
离开之前，我们曾一起去过文殊院，还是逃学去的。那是个香火很旺的寺院，布蓝里把一枚硬币扔进祈愿池，问她许了什么，她笑说，说出来就不灵了。
在后院求到两串原色的木头珠子。一模一样，各挽一串，满心欢喜，不时扯起袖子来看。
秦恤看到，笑我们买到次货，他还说，好好用功，考上大学我带你们出去玩。
布蓝里说，要去很远的地方。
秦恤说，好，很远。
就是这样。
有时逗留久了，他就开口，玩得差不多了，回吧。
大半个年头摇摇晃晃地过，身边的人杳无音讯。秦恤把我的文章推荐出去，合了一些人的口味，拿来了一个小奖，被邀请参加一个教育机构组织的青少年联谊研讨会。
于是南下。家里人都很高兴。还发给我一个手机。
会址在S大，校园宾馆里，和一个女孩同屋住。她叫嘉黎，是戴着耳机索然走在人群里的人，不多话，然而一开口便言辞锋利，喜欢抬头在天空中找飞机。 
我们很快熟识，脾气相投。
活动安排很丰富，听著名学者的人文讲座，电影观摩，写作交流，参观博物馆，聚餐出游，等等等等。
我们是祖国的花朵。被不相干的人善待，优越感自然昭著。我们微微兴奋并且不安着。
在S大的林荫道上，看一栋栋古朴厚重的建筑和酝酿了上百年的苍翠清碧，和嘉黎日出而作日落而息，单纯充实。几天的光景，心中慢慢有变化。
开始对大学生活有憧憬。
有一天打电话回家问安，妈妈拉了一阵家常，挂电话时突然记起一般地说，布蓝里打电话找你。我把你的手机号告诉她了。
三天后我亡命般回到成都。和嘉黎互留联系方式，她说我们还会再相见。
接到布蓝里的消息是在一个中午，我兵荒马乱的跑到医院。 
实在等得太久。 
于是我们就这样的再次遇到。 
布蓝里躺在床上，身边空无一人。她看到我高兴的裂开嘴，怎么这么快，坐火箭来的是不是。 
我又哭又笑，那你要先好起来在我家楼下修个发射中心。医生说，她做手术的时候出了意外，孩子虽然已经流了，但人受了不少的苦。她问我布蓝里究竟有多大，意味深长。 
布蓝里比我小，小四个月。 
我说布蓝里，你有没有什么要对我说的。 
什么。她问。 
我也不问了。 
有男人来看她，出院的时候带她走，我死死的拽住她，我说你又要到哪里去。 
布蓝里拍我的脸，说我不走了，就在这里，你要常常来看我。男人把地址写在一张纸上，我狠命的握在手心。 
一间租屋，在红草巷，周遭环境恶劣，楼下有卖菜的和麻将馆。 
后来我问她，珠子呢。 
她愣了一下，然后翻箱倒柜的找出来托在手心。 
我跑到秦恤家去痛哭。他摸我的头，说你们长大了。 
他坚持不去看布蓝里。我试图对布蓝里提起时她也飞快的带过。 
布蓝里和他的男人生活在昏暗的斗室中，他们贫穷的笑。 
布蓝里还是穿着离开以前的衣裳，其中有一件是以前在伊藤洋华堂买的深蓝色套头衫，上面撒满白色和淡黄的星火，已经穿得褪色，星星不亮了。 
布蓝里在受苦，头发还是短，身子还是瘦。 
便跑到外面做兼职，在十一月露着肩背走来走去。一个小时一百块，还要分给职介所。剩下的全部用在请布蓝里吃东西。 
我知道无济于事，但不能旁观。 
三天两头往红草巷跑，见到她一个人蒙头大睡。我难过，布蓝里说，没关系，他在这边做些事，处理好了我们就一起走，那时就好了。 
咬牙不语。她什么时候成为如此甘愿的人。究竟是几时的事情。 
我怎么不知道。怎么什么也不知道。
学业一天紧过一天，仍然得空就出去打工，回到家腰酸腿痛，便往床上躺。接到布蓝里的电话，她说我饿了，便拿着衣服冲出去找到她。 
三番五次，心中的怜惜和热爱仍在，但也不可抑制的厌烦。看不得她和她的男人，生活的逼仄叫人烦躁。我相信我是情有可原。 
也许只是彼时的布蓝里太过明亮，于是不愿承受其他。 
有一天同她在小饭馆吃饭，她一边吃一边抱怨饭菜不合口又粗制滥造。 
突然有怨气，忍不住轻声说，布蓝里，我很累。 
她正在扒饭，低着的头动了一下。很久之后跟我说对不起。 
我突然又悔又痛。只扯着手腕上的那串珠子，绳子断了，我们眼睁睁的看它们四散跳开，也不去捡拾，只剩下手中的一颗。 
布蓝里说，你一定要上大学。你上大学我就会很高兴。 
她后来又走了，给了我一个电话号码，她说，要好好的，我们还会再见面。 
我很快辞了工，坐在教室里仰头向上，黑板上的白色字迹密密麻麻。妈妈说。奇怪，越到临考你的脸色怎么好起来。 
对于布蓝里，我一直很想问她那次在文殊院许了个什么样的愿望，那里香火那么旺盛，一定会实现。但每一次见到她都忘。 
于是关于那一段就像那些断线的木头珠子一样跳脱。 
所以我有过一串心爱的珠子。 
所以后来只剩下一颗。 
有一天布蓝里到学校找过我，探个头在教室门口叫，非，出来一下。 
一瞬间，竟觉得那是隔世的事情。 
她说男人弄到了两张展览的票，要我一起去看。 
那是一个摄影展，炒作得很厉害，那年的成都商报上有我和布蓝里的一张照片。我背着身子，史无前例下不为例的穿了一件粉衫，布蓝里正对镜头，笑的很开心，指着一张人体摄影对我说好好好。 
我上了大学。不是布蓝里曾经口里心里都在念叨的著名学府。是个青山绿水，白墙红瓦的浮浅之地。一切都轻轻软软，不给人任何重压。 
没有任何陈旧的物什，没有历史没有典故没有由来也没有从头说起，连一棵老树都没有。但房间里有木头地板，有落地窗和蓝色的窗帘，有几个沉浸在好时光中的女孩儿进进出出，光着脚放音乐接电话倒水喝水，还有有很多书本和夹在某一本中已经陈旧的相片。那些光影的遗迹。 
日日沐浴更衣，结绳记事，终究忘了是哪一本。 
那个暑假到高地去。海拔在四千米以上，藏族老婆婆拿着纺锤坐在地上，小孙女在羊群中跑来跑去，我抱着她拍照，然后她摊开脏的小手掌问我要钱。 
临走那天司机来对我们说可能要推迟回程，雪积得太厚，车子不敢下山。那日又是一夜大雪，我们住在半山宾馆，氧气稀薄，淋浴的时候不敢把门关严，怕突然缺氧晕倒。 
清晨早起，披上衣服轻手轻脚的走到外面的空地上，四面都是山，雪光刺痛了眼睛。彻骨的寒冷。我站在悬崖边上，掏出手机给布蓝里打电话。刚停不久的雪又开始飘，漫山遍野，电话始终盲音。 
秦恤走出来拿他的羽绒服裹住我。他履行了诺言，我们来到一个很远的地方。 
突然想起布蓝里说的那句话。她说要去的，我们已经走了这么远。 
果然是回不去了。 
我开始我的大学生活。与此同时，秦恤卖了他的亦然居。移民出去。 
再好不过。
我希望他会有两个女儿，也许一个像我，一个像布蓝里。不同的是她们会有像现在网上那对超人气双胞胎姐妹Mandy和Sandy一样清澈得让人掉进去的瞳仁。 
我白天上课或逃课，有时横行在网络上，认识有趣的人和阅读各种希奇古怪的文字，良心发现时便到图书馆去消磨，那里有很大的桌子，带一大瓶水，趴在上面很安心。 
有一天接到嘉黎的电话。竟有有与世隔绝的感觉。收拾齐楚跑回城里，在三叶草见到她，惊为天人。我们亲密拥抱，她问还是一个人。 
我说还是。她说也不奇怪，你总是理想化一点，精神洁癖。当初看你写的字就是这样。 
后来又来了两个男子，一个是狱长一个是时尚杂志的编辑。大家坐在一起喝水玩牌看英俊的洋人玩桌球。 
她向我窃笑。那时太年轻了，以为自己是尖锐的，口诛笔伐一通，那小小的一块精神地盘便是自己的天下。其实现实总要让你流血流汗，让你疼的嗷嗷叫，怎能不觉悟。 
其实现在挺好。她斜睨的端详那两个男人。耳语渐渐弥散。眼中妖娆。 
我也对自己放心了。身边的人都在迅速长大，我怎么会不。 
有一天回家，看到一个月没有见的家人，很高兴，妈妈不停的摸我，摸了头发摸手臂，她说，我那时侯头发一直到腰，又粗又黑，你的怎么就又红又褐，像个野孩子。 
爸爸忙，那天也回家，我们出去吃饭，弟在前面跑，又折回来问我要零钱买蛋筒冰淇淋，妈妈喝止他，说只知道吃零食，他扮鬼脸，鬼精鬼精的。 
饭桌上爸爸酒过三旬，突然问，好像很久没听你提过布蓝里了，她怎么样了，在哪个大学。 
我悴不及防，甚至来不及背过脸去。 
　　　　 
布蓝里喜欢的东西有罗莎蛋糕店里的寿司卷，外面裹紫菜的那一款，炒栗子，香辣虾尾。 
布蓝里永远不穿裙子，袜子总是纯棉洁白没有花色。 
布蓝里喜欢骑飞车，我在后面说说慢点慢点。 
布蓝里的头发永远没有长长过，这样我就会一直认得她。　 
昨晚我躺在床上看夜访吸血鬼，殷凑过来问是什么，我告诉她，她说哎呀好吓人。 
我笑，那是我曾经读给布蓝里的一本。 
青天白日，或者夜色如水。 
某年某月，布蓝里确有其人。 
猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。
]]></description>
			<content:encoded><![CDATA[<p>照常，昨夜睡得晚。待到上床的时候已经不思睡。目光炯炯，心事清明，仍强迫自己闭眼，然而一会儿便天亮。索性起来洗头，搬个凳子坐在落地窗前一下一下地梳。</p>
<p>眼圈是黑的，也昏沉。外面行人稀少，晨鸟在飞，早上的郊野空气有种特别的气味，我喜爱它一如喜爱下雨的味道。慢慢的，心里涌起喜悦。<br />
记得初到这个地方，头天清晨也是很早就醒来，跳下床到窗子那儿看，看到建筑物后面的一小片湖水。</p>
<p>云光云影相互潋滟。</p>
<p>白天的课排得满满，照旧趴着睡了一会，梦中觉得自己的头发一直在唰唰唰拼命长，一直到脚下。</p>
<p>黄昏的时候出去找吃的，路过一家快餐店，听到里面大声放歌。</p>
<p>猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。</p>
<p>海水倒灌。想到那一段光景。</p>
<p>认识她的时候，真正年少。成长都是以后慢慢应验的事。</p>
<p>中学新生报到，要到一个很远的地方军训半个月。我费力地往一辆挤满人的军用卡车车厢里爬，周围都是陌生的面孔。突然有人伸手拉住我，用力往上扯，我就上去了。因为太大力，一下子扑在那人身上，我抬眼看，一头乱糟糟的短发，大眼浓眉。</p>
<p>那就是布蓝里</p>
<p>车厢里塞了几十个人和大包大包的行李，还有人不断地上来，我下意识躲避，便紧紧地和她贴在一起。<br />
车子启动时，妈妈在众多送行家长中冲上车喊，哎，那个姑娘，我把她交给你了，帮我照顾她啊。<br />
布蓝里大声回了一句“没问题”。</p>
<p>下午有两节课，是所有课程中唯一人文色彩深厚的，教课的是一个三十多岁的文学博士，英文流利，普通话标准，手指干净，日进千金。他提到两句诗。乡村年少生战后，见话前朝如梦中。他说他不强求理解，不苛求心钝木志昏蒙的可爱年轻人。他说你们不了解不记得也是福气。我觉得有些意思，就听下去。<br />
那两节课说了很多，他实在渊博，是个有小智慧大思想的人。因为人心繁大，他刻意试图开启我们，但大智慧只在不经意中。</p>
<p>然后是口语课。这期的外教终于年轻些了，他大着舌头用中文说，我叫苏，来自美国。他说我的课上我可以说中文你们不可以。中途的时候他要牡丹和一个男生到前面去示演一段对话。牡丹一边小声骂一边磨蹭着上去，众目睽睽，我觉她真艳光四射。两个人别扭地站在前面，底下一阵哄笑。牡丹按规定说完一堆冠冕堂皇的话，那男孩却张口结舌，半天出不得声，苏一直催促，他终于面红耳赤牛头不对马嘴地冒出一句“You are beautiful”。</p>
<p>我在下面笑得死去活来。<br />
后来苏玩起一些弱智的把戏。要我们准备三句话，两句是真实做过的，一句是不曾有过的。<br />
他点到我。他说，July在不在，起来说一下。<br />
我站起来轻言细语。<br />
One thing：我被我妈生下下。<br />
Second thing：我天天吃饭睡觉上厕所。<br />
Third thing：我有两个女儿，一个叫福音一个叫莫离。<br />
苏似科目瞪口呆，然后呵呵傻笑，也不纠正我的语法错误。我有些得意地坐下，还发出大声响。只过了一会儿，心中便渐渐懊丧，觉得自己无聊透顶。</p>
<p>黄昏的时候，牡丹脸上神秘兮兮口里不掩亢奋地回来说，那个做蛋烘糕的回来了，于是和殷一阵忙天慌地穿衣找鞋，三个人欢欢喜喜浩浩荡荡地往街上去。我喜欢红豆沙拉馅的。牡丹喜欢沙拉肉松的。殷喜欢奶油。</p>
<p>在走过那家大声放歌的快餐店门口时，突然再次想起那个叫布蓝里的人。</p>
<p>训练的时候我们分在一个班，我记得是八班。我们高矮相仿，排队的时候站在一起。睡觉是打地铺，她的被褥铺在我的旁边，吃饭的时候她是桌长，负责分配人收拾饭桌，我就莫名其妙少洗了很多次碗。<br />
那是八月，训练场上没有树，只有大片大片的草，阳光炙热，有时一场暴雨，便有很多红蜻蜓在水迹低飞。班长二十来岁，对我们极其严格，但那时玩心浓烈，一切皆新奇，一天下来虽腰酸腿软，但仍满心活络，跃跃欲试。还写了一个顺口溜，大意是诽谤调侃负责训练我们的那个小兵，原文怎样不记得，都是些人不人猪不猪脖子和腰一般粗之类的低水准语言。</p>
<p>后来布蓝里到处宣传，不久整个军营都把那几句话熟稔了，校长放话要追查到底，揪出始作俑者以儆效尤。<br />
当时惶惑。<br />
那句话布蓝里是在吃完中午饭之后和我说的，嘴角还有油迹，她目光坚定，对我说，那有什么，要死一起死。不知怎的，真的不怕了。<br />
她在夜间把我推醒，低声说陪我去上厕所。<br />
懵懵懂懂中就起来穿衣服，蓬着头跟她走。那地方离住处有两百米的距离，我们拉着手，没有路灯，在虫唱和蛙鸣中穿越训练场地，踩着长草，蚊虫在腿上叮出一串红包。</p>
<p>那时千真万确，远离城市，抬头有繁星。<br />
也许夜太深，梦黑甜，醒不过来，一路上只是拉着手，说不得话。但就算那样，我也知道在她叫我的时候二话不说起身跟她走。<br />
后来轮到她值夜班，就是搬个凳子在大家睡觉的时候守到半夜，在小本子上记下有谁晚归或出去。<br />
我摸黑起来，带着夹心饼干到外面找她，心中是怕的，在黑暗的走道里小心翼翼地走，突然前面出现光线，我看到布蓝里在是筒光圈中的笑容。<br />
那晚我们趴在阳台上把饼干吃完，然后我一直坐在她的身旁。<br />
那半个月做了很多事情，想想看，除了把蚱蜢逮住关在饭盒里，把蝌蚪放进矿泉水瓶里，除了走两个小时泥巴路到靶场打枪然后跑到草丛里去拣拾弹头，除了装头痛肚子痛不去训练偷跑到外面买零食然后晚上在被子里吃……一切年少时应该经历的过程都光鲜而理直气壮地走了之后，还留下什么？</p>
<p>最重要的，仍就是认识布蓝里。<br />
回到学校以后，布蓝里和我做了一年的同学。我们拼死拼活要坐在一起，于是得逞。坐在第一排正中的位置上。<br />
老师问那个著名的问题。<br />
雪化了变成什么？<br />
我心中有数，春天。<br />
布蓝里拍着桌子说，明明就是水蒸汽。</p>
<p>布蓝里到家里来吃饭，不吃青菜，嬉皮笑脸地夹到我碗里。妈妈喜欢她，爸爸把她当男孩，拍拍她的肩，有时还把啤酒拿出来，说布布，陪我喝一杯。吃好了就下楼到我房间关上门，有时我趴在床上读喜欢的小说给她听。她会大叫听不懂，但最后都会很安静地听完。有时读着读着就睡着，相对而眠，记得她近处的呼吸，暖烘烘地吹在脸上。有时她一翻身便卷走我的被子，或者手肘压着我的头发，我也不动。<br />
总是她先睡着。口水流出来，浸湿我的枕头，然后自己醒来，皱着眉头把枕头翻一面再睡。</p>
<p>到现在也不习惯和人同床睡，但那时的感觉地却妥帖安稳，没有任何不适，她醒了就用被子蒙着脸，只露出眼睛，看着我笑不可抑。</p>
<p>用心消磨的时光暖煦且短暂，然而我是一直记得的人，我攀附在布蓝里瘦削而坚韧的身体上，在十来岁的年纪中四处打望，校园里有桐花树，围墙上有长藤，布蓝里可以轻而易举翻过去，然后在另一边使劲拖我。校园外面有电影院，穿过一条街是天主教堂，圣诞节的时候我们便混在人流里去拿分食的糖果。</p>
<p>阳光普照，轻狂之中，自有宠爱我们的人。<br />
于是勾肩搭背，争强好胜，手心总是汗涔涔，并且不失时机地相视而笑。<br />
她有男孩一般的性格，卷着袖口四处纵横。头发极短，长了便剪掉，再长了又剪掉。<br />
布蓝里和我逃学，用单车载我到西南交大，她说她知道附近某处有一个神奇的算命人，算得很准。附近，其实是遥远的一段距离，路上恰逢一场雨。我们到路边的地下书店躲雨，坐在公用的塑料椅子上，我说那我们还去不去。<br />
她说去的，我们已经走了这么远。</p>
<p>身上湿了，就到她小姑姑家，那里有一个房间是她的。她把她的袜子拿出来给我换，是白的，纯棉，没有任何花纹和缀边。<br />
后来在西南交大老旧的校园里，她带我到湖边坐，光线从头顶的树荫中影影绰绰地漏下来，在肩膀上脖颈上印出一小块一小块的光斑。她说她要到清华。那时侧脸去看她，深信不疑。<br />
我呢。我问时候心中泰然自若，似乎一切都在顺其自然之中。<br />
你，当然和我在一起。<br />
我得到想要的回应。再不追究到底如何。<br />
我们没有找到那个神秘的人，但回程的时候已全然忘却。</p>
<p>一切都很好，晚自习之后我们仍不离开学校，到操场去跑步，然后坐在跑道上看星。衣服书包扔了一地。伸手伸脚摆出大字，她不停地说她的梦想。</p>
<p>成都的天空难得见到几个星，我们仍津津有味。</p>
<p>人间的尘埃多多少少侵惹过来，恼人的季节带来那些花月和人事。我们不懵懂，心中有知觉，布蓝里挥挥手，让它们走开，于是我也就心甘情愿的只放在心里，我想布蓝里是知道的，她不说。<br />
她喜欢坐在我旁边唱，翻来覆去一遍一遍。以至我记得如此清楚。</p>
<p>猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。</p>
<p>后来认识秦恤，科大教授，副的。三十来岁，那时没有结婚，在城南独自住一套大屋，不知道是否有若干女人。我们都喜欢他，争先恐后叫他爸爸，他总是大笑，容忍我们在他的冰箱里翻找吃食。他给自己的居处取了一个名字，叫做亦然。我们横行霸道的时候总是不烟不酒无脂无粉，那间大屋，里面的人无疑是疼爱我们的。我们从来不按门铃，噼里啪啦一阵敲，他知道是谁，光着脚来开门，我们便踢掉鞋子冲进去，抢他的大拖鞋来穿。秦恤饶有兴趣地看我们表演。他抱手歪头，嘴角上扬，高高在上。布蓝里热衷和他抬械，我就跑到他书架上去翻书，那么我，我可以暗无天日心安理得地将它们堆在身边。在地上坐一个下午，累了就到阳台上去大力吸气，回过头，秦恤正用一个陶瓷缸子盛水过来，就埋头咕嘟咕嘟地喝。</p>
<p>他喜欢粤菜，口味清淡，是节制的人。因而肠胃干净，口腔里清洁舒适的味道。<br />
他说布蓝里十分聪明，说我有时容易跳脱。<br />
他说我是老头子了，禁不得你们折腾。哈哈。</p>
<p>是十六七岁时认识的人，不太上心，但不知不觉中足够依恋，仰仗自己年幼，便自然而然卖乖撒痴，总要遇见个对的人照单全收。<br />
我想那就是他布施的恩慈。对我们有包容娇宠的恩泽，对自己亦仁慈。</p>
<p>后来分班，布蓝里学理，我学文。一上课她就跑到我的教室门口，伸个脑袋。<br />
嗨，非，出来一下。<br />
我就屁颠屁颠跑出去。满面笑容。<br />
再后来布蓝里转校。除了连篇累牍飞惯性的错别字外，她的成绩实在优秀，而我只是一味固执。老师轻轻摇头，说，你是个奇怪的小孩，但你也要为你的将来负责和承担。<br />
我不喜欢读书，真的不喜欢。<br />
布蓝里说，没关系，你有你的办法，还有我。我们仍然在一起。</p>
<p>她们学校一帮人野游，我也跟了去，同他们一起挤车。那是身体无声舒展的季节。有风吹起的长头发短头发和永不知倦的球鞋。在树林里的空地上生火烤玉米，有人捉了鱼来，不知道怎么杀，就用石头砸。</p>
<p>那个地方叫斯山。我们拍了照，紧紧靠在一起，我穿白她穿蓝，身后有浓荫。地上铺着塑料布，塑料布上有很多吃食，还有啤酒和红酒，那些人都扑上去，我在外面挤不动，布蓝里把沙拉抢出来给我，我就高兴地笑了。</p>
<p>秦恤说，我只希望我有个女儿，像布蓝里又像非。<br />
布蓝里说那就生两个，一个叫小布，一个叫小非，你要教小布爬树翻墙，教小非念诗。</p>
<p>后来又发生了一些事情。因为时间在走，一些东西非要远离，这是规律。絮絮叨叨之后便开始淡。于是只要自己狠狠记得，然后慢慢忘却。<br />
布蓝里不在的时候，便独自到秦家去，坐很久的公车，抱着从他书架上带走的书，爬上七楼，呼哧呼哧等他来开门。他盘腿在沙发里看电视，便过去一起看，那儿刻有深居简出的洁净感觉，心中冉起愉悦。也不说什么，仅是安心嵌在沙发里，而身旁的人给你吃给你喝，容你嬉笑怒骂，热了有凉风寒了有暖气，只要你在这里，他就很好地待你。<br />
电视上有异处的风景，风车田园，吉普飞驰，如风过眼自有良人。美不胜收。</p>
<p>秦恤轻轻咳嗽，就乖巧地倒水给他。水杯倾覆，便被紧紧抱住。整个人沦陷。手无寸铁，心中亦没有防备。夺门而逃的时候身体里面寂静一片，甚至记得下楼后回头看一眼。秦恤倚在阳台上望，不徐不疾，胸有成竹。只是没有笑。<br />
秦恤没有解释。那刻他的衣衫柔软，嘴唇从容。是心中有数的人，再怎样痴念，生活之中注定没有大跌宕。</p>
<p>只是个意外。以后大家都会拿捏得好。<br />
后来我们仍高高兴兴地叫他爸爸叫他老头子。</p>
<p>那夜不风不雨，再寻常不过。半夜不能睡，跑到街上的磁卡电话亭打电话给布蓝里。<br />
我一直说，停不下来。布蓝里先沉默，后来说他是混蛋臭男人等等。最后说，星期天我们去找他，让他请我们吃东西。<br />
在德克士，布蓝里吃光了自己的汉堡，又把我的拖过去，扯出里面的炸鸡块。秦恤把他的换给我，自己吃剩下的面包和里面的生菜。</p>
<p>大家什么都不说，反而坦然</p>
<p>高二那年，布蓝里突然决定北上，她不说为什么，在一个春光明媚的日子连夜离开。或许是私奔。<br />
我到现在都不敢完全确定因由。只是后来的遭遇在控制之外。</p>
<p>那一年，布蓝里招呼也不打就走得干干净净。她的妈妈和小姑姑到学校找我，求求我告诉她们布蓝里的下落，于是尽人皆知， 百口莫辩。<br />
只是心里，一直极想念她，愈来愈沉，如同心病。<br />
身边少了人，很寂寞。</p>
<p>离开之前，我们曾一起去过文殊院，还是逃学去的。那是个香火很旺的寺院，布蓝里把一枚硬币扔进祈愿池，问她许了什么，她笑说，说出来就不灵了。<br />
在后院求到两串原色的木头珠子。一模一样，各挽一串，满心欢喜，不时扯起袖子来看。<br />
秦恤看到，笑我们买到次货，他还说，好好用功，考上大学我带你们出去玩。<br />
布蓝里说，要去很远的地方。<br />
秦恤说，好，很远。</p>
<p>就是这样。</p>
<p>有时逗留久了，他就开口，玩得差不多了，回吧。</p>
<p>大半个年头摇摇晃晃地过，身边的人杳无音讯。秦恤把我的文章推荐出去，合了一些人的口味，拿来了一个小奖，被邀请参加一个教育机构组织的青少年联谊研讨会。<br />
于是南下。家里人都很高兴。还发给我一个手机。<br />
会址在S大，校园宾馆里，和一个女孩同屋住。她叫嘉黎，是戴着耳机索然走在人群里的人，不多话，然而一开口便言辞锋利，喜欢抬头在天空中找飞机。 <br />
我们很快熟识，脾气相投。<br />
活动安排很丰富，听著名学者的人文讲座，电影观摩，写作交流，参观博物馆，聚餐出游，等等等等。<br />
我们是祖国的花朵。被不相干的人善待，优越感自然昭著。我们微微兴奋并且不安着。<br />
在S大的林荫道上，看一栋栋古朴厚重的建筑和酝酿了上百年的苍翠清碧，和嘉黎日出而作日落而息，单纯充实。几天的光景，心中慢慢有变化。</p>
<p>开始对大学生活有憧憬。</p>
<p>有一天打电话回家问安，妈妈拉了一阵家常，挂电话时突然记起一般地说，布蓝里打电话找你。我把你的手机号告诉她了。<br />
三天后我亡命般回到成都。和嘉黎互留联系方式，她说我们还会再相见。</p>
<p>接到布蓝里的消息是在一个中午，我兵荒马乱的跑到医院。 <br />
实在等得太久。 <br />
于是我们就这样的再次遇到。 </p>
<p>布蓝里躺在床上，身边空无一人。她看到我高兴的裂开嘴，怎么这么快，坐火箭来的是不是。 <br />
我又哭又笑，那你要先好起来在我家楼下修个发射中心。医生说，她做手术的时候出了意外，孩子虽然已经流了，但人受了不少的苦。她问我布蓝里究竟有多大，意味深长。 <br />
布蓝里比我小，小四个月。 <br />
我说布蓝里，你有没有什么要对我说的。 <br />
什么。她问。 <br />
我也不问了。 <br />
有男人来看她，出院的时候带她走，我死死的拽住她，我说你又要到哪里去。 <br />
布蓝里拍我的脸，说我不走了，就在这里，你要常常来看我。男人把地址写在一张纸上，我狠命的握在手心。 </p>
<p>一间租屋，在红草巷，周遭环境恶劣，楼下有卖菜的和麻将馆。 <br />
后来我问她，珠子呢。 <br />
她愣了一下，然后翻箱倒柜的找出来托在手心。 <br />
我跑到秦恤家去痛哭。他摸我的头，说你们长大了。 <br />
他坚持不去看布蓝里。我试图对布蓝里提起时她也飞快的带过。 <br />
布蓝里和他的男人生活在昏暗的斗室中，他们贫穷的笑。 <br />
布蓝里还是穿着离开以前的衣裳，其中有一件是以前在伊藤洋华堂买的深蓝色套头衫，上面撒满白色和淡黄的星火，已经穿得褪色，星星不亮了。 <br />
布蓝里在受苦，头发还是短，身子还是瘦。 </p>
<p>便跑到外面做兼职，在十一月露着肩背走来走去。一个小时一百块，还要分给职介所。剩下的全部用在请布蓝里吃东西。 <br />
我知道无济于事，但不能旁观。 <br />
三天两头往红草巷跑，见到她一个人蒙头大睡。我难过，布蓝里说，没关系，他在这边做些事，处理好了我们就一起走，那时就好了。 <br />
咬牙不语。她什么时候成为如此甘愿的人。究竟是几时的事情。 <br />
我怎么不知道。怎么什么也不知道。</p>
<p>学业一天紧过一天，仍然得空就出去打工，回到家腰酸腿痛，便往床上躺。接到布蓝里的电话，她说我饿了，便拿着衣服冲出去找到她。 <br />
三番五次，心中的怜惜和热爱仍在，但也不可抑制的厌烦。看不得她和她的男人，生活的逼仄叫人烦躁。我相信我是情有可原。 </p>
<p>也许只是彼时的布蓝里太过明亮，于是不愿承受其他。 </p>
<p>有一天同她在小饭馆吃饭，她一边吃一边抱怨饭菜不合口又粗制滥造。 <br />
突然有怨气，忍不住轻声说，布蓝里，我很累。 <br />
她正在扒饭，低着的头动了一下。很久之后跟我说对不起。 <br />
我突然又悔又痛。只扯着手腕上的那串珠子，绳子断了，我们眼睁睁的看它们四散跳开，也不去捡拾，只剩下手中的一颗。 </p>
<p>布蓝里说，你一定要上大学。你上大学我就会很高兴。 <br />
她后来又走了，给了我一个电话号码，她说，要好好的，我们还会再见面。 <br />
我很快辞了工，坐在教室里仰头向上，黑板上的白色字迹密密麻麻。妈妈说。奇怪，越到临考你的脸色怎么好起来。 <br />
对于布蓝里，我一直很想问她那次在文殊院许了个什么样的愿望，那里香火那么旺盛，一定会实现。但每一次见到她都忘。 </p>
<p>于是关于那一段就像那些断线的木头珠子一样跳脱。 <br />
所以我有过一串心爱的珠子。 <br />
所以后来只剩下一颗。 </p>
<p>有一天布蓝里到学校找过我，探个头在教室门口叫，非，出来一下。 <br />
一瞬间，竟觉得那是隔世的事情。 <br />
她说男人弄到了两张展览的票，要我一起去看。 <br />
那是一个摄影展，炒作得很厉害，那年的成都商报上有我和布蓝里的一张照片。我背着身子，史无前例下不为例的穿了一件粉衫，布蓝里正对镜头，笑的很开心，指着一张人体摄影对我说好好好。 </p>
<p>我上了大学。不是布蓝里曾经口里心里都在念叨的著名学府。是个青山绿水，白墙红瓦的浮浅之地。一切都轻轻软软，不给人任何重压。 <br />
没有任何陈旧的物什，没有历史没有典故没有由来也没有从头说起，连一棵老树都没有。但房间里有木头地板，有落地窗和蓝色的窗帘，有几个沉浸在好时光中的女孩儿进进出出，光着脚放音乐接电话倒水喝水，还有有很多书本和夹在某一本中已经陈旧的相片。那些光影的遗迹。 </p>
<p>日日沐浴更衣，结绳记事，终究忘了是哪一本。 </p>
<p>那个暑假到高地去。海拔在四千米以上，藏族老婆婆拿着纺锤坐在地上，小孙女在羊群中跑来跑去，我抱着她拍照，然后她摊开脏的小手掌问我要钱。 <br />
临走那天司机来对我们说可能要推迟回程，雪积得太厚，车子不敢下山。那日又是一夜大雪，我们住在半山宾馆，氧气稀薄，淋浴的时候不敢把门关严，怕突然缺氧晕倒。 <br />
清晨早起，披上衣服轻手轻脚的走到外面的空地上，四面都是山，雪光刺痛了眼睛。彻骨的寒冷。我站在悬崖边上，掏出手机给布蓝里打电话。刚停不久的雪又开始飘，漫山遍野，电话始终盲音。 <br />
秦恤走出来拿他的羽绒服裹住我。他履行了诺言，我们来到一个很远的地方。 <br />
突然想起布蓝里说的那句话。她说要去的，我们已经走了这么远。 </p>
<p>果然是回不去了。 </p>
<p>我开始我的大学生活。与此同时，秦恤卖了他的亦然居。移民出去。 </p>
<p>再好不过。</p>
<p>我希望他会有两个女儿，也许一个像我，一个像布蓝里。不同的是她们会有像现在网上那对超人气双胞胎姐妹Mandy和Sandy一样清澈得让人掉进去的瞳仁。 </p>
<p>我白天上课或逃课，有时横行在网络上，认识有趣的人和阅读各种希奇古怪的文字，良心发现时便到图书馆去消磨，那里有很大的桌子，带一大瓶水，趴在上面很安心。 </p>
<p>有一天接到嘉黎的电话。竟有有与世隔绝的感觉。收拾齐楚跑回城里，在三叶草见到她，惊为天人。我们亲密拥抱，她问还是一个人。 <br />
我说还是。她说也不奇怪，你总是理想化一点，精神洁癖。当初看你写的字就是这样。 <br />
后来又来了两个男子，一个是狱长一个是时尚杂志的编辑。大家坐在一起喝水玩牌看英俊的洋人玩桌球。 <br />
她向我窃笑。那时太年轻了，以为自己是尖锐的，口诛笔伐一通，那小小的一块精神地盘便是自己的天下。其实现实总要让你流血流汗，让你疼的嗷嗷叫，怎能不觉悟。 <br />
其实现在挺好。她斜睨的端详那两个男人。耳语渐渐弥散。眼中妖娆。 </p>
<p>我也对自己放心了。身边的人都在迅速长大，我怎么会不。 </p>
<p>有一天回家，看到一个月没有见的家人，很高兴，妈妈不停的摸我，摸了头发摸手臂，她说，我那时侯头发一直到腰，又粗又黑，你的怎么就又红又褐，像个野孩子。 <br />
爸爸忙，那天也回家，我们出去吃饭，弟在前面跑，又折回来问我要零钱买蛋筒冰淇淋，妈妈喝止他，说只知道吃零食，他扮鬼脸，鬼精鬼精的。 <br />
饭桌上爸爸酒过三旬，突然问，好像很久没听你提过布蓝里了，她怎么样了，在哪个大学。 </p>
<p>我悴不及防，甚至来不及背过脸去。 <br />
　　　　 <br />
布蓝里喜欢的东西有罗莎蛋糕店里的寿司卷，外面裹紫菜的那一款，炒栗子，香辣虾尾。 <br />
布蓝里永远不穿裙子，袜子总是纯棉洁白没有花色。 <br />
布蓝里喜欢骑飞车，我在后面说说慢点慢点。 <br />
布蓝里的头发永远没有长长过，这样我就会一直认得她。　 </p>
<p>昨晚我躺在床上看夜访吸血鬼，殷凑过来问是什么，我告诉她，她说哎呀好吓人。 <br />
我笑，那是我曾经读给布蓝里的一本。 </p>
<p>青天白日，或者夜色如水。 <br />
某年某月，布蓝里确有其人。 </p>
<p>猴子会翻筋斗，牛儿爱吃草，再来一只小兔子，它会蹦蹦跳。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/222.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>MRTG + lm_sensors + CPU溫度 on linux</title>
		<link>http://blog.freebug.org/archives/221.html</link>
		<comments>http://blog.freebug.org/archives/221.html#comments</comments>
		<pubDate>Mon, 23 Jun 2008 14:43:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux&amp;Unix]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/221.html</guid>
		<description><![CDATA[用 lm_sensors套件取得 cpu溫度
[1] apt-get install lm_sensors
[2] 執行 sensors-detect指令
     此用來偵測設定值，全Enter即可，
     之後它自已會將該要的module放於/etc/sysconfig/lm_sensors裡
[3] 載入/etc/sysconfig/lm_sensors裡的模組
      指令如下
         modprobe module1
         modprobe module2
     如果是 RPM安裝
        service lm_sensors start
     執行 sensors指令可看到溫度資訊
]]></description>
			<content:encoded><![CDATA[<p><strong>用 lm_sensors套件取得 cpu溫度</p>
<p></strong>[1] apt-get install lm_sensors</p>
<p>[2] 執行 sensors-detect指令<br />
     此用來偵測設定值，全Enter即可，<br />
     之後它自已會將該要的module放於/etc/sysconfig/lm_sensors裡</p>
<p>[3] 載入/etc/sysconfig/lm_sensors裡的模組<br />
      指令如下<br />
         modprobe module1<br />
         modprobe module2</p>
<p>     如果是 RPM安裝<br />
        service lm_sensors start</p>
<p>     執行 sensors指令可看到溫度資訊  <a href="http://blog.freebug.org/archives/221.html#more-221" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/221.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>在Linux系统下多线路ADSL的配置</title>
		<link>http://blog.freebug.org/archives/220.html</link>
		<comments>http://blog.freebug.org/archives/220.html#comments</comments>
		<pubDate>Fri, 06 Jun 2008 02:23:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux&amp;Unix]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/220.html</guid>
		<description><![CDATA[双ADSL及多ADSL增加线路的配置过程。
Linux配置多线路ADSL的方法
powered by KindGeorge http://kindgeorge.at.3322.org\经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.
此文档可以说明双adsl及多adsl增加线路的配置过程.
实验环境:
操作系统: RedHat7.3
两条adsl,长期观察线路稳定,动态ip,带宽2M,
三块网卡: eth0 tulip,接内网
eth1 3c59x,接第一条adsl
eth2 8139too,接第二条adsl
ethn xxxx,(如果还有的话&#8230;.)
目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.
1.添加网卡
插入网卡，启动机器，如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.
配置为找到相应的型号模块,例如:eth2是8139的网卡
[root@kindgeorge root]# vi /etc/modules.conf
alias parport_lowlevel parport_pc
alias eth0 tulip
alias eth1 3c59x
alias eth2 8139too
把新的线路插在eth2上
2.配置adsl
方法一:
(1)运行adsl-setup程序,会一步一步的提示你完成配置过程.
创建ppp0和ppp1的拨号配置文件，并保存配置,一般保存在/etc/sysconfig/network-scripts/ifcfg-ppp1
(2)确定/etc/sysconfig/network-scripts/ifcfg-ppp0文件，其中的PIDFILE参数设为：
PIDFILE=/var/run/ppp-adsl.pid
修改/etc/sysconfig/network-scripts/ifcfg-ppp1文件，将其中的PIDFILE参数设为：
PIDFILE=/var/run/ppp-adsl1.pid
如果你有更多的线路,可以继续增加0,1,2,3&#8230;.等
这是为了使不同的拨好用不同的pid,如果不修改此参数将无法启动第二条线路接口。
(3)配置文件一般是:
USERCTL=no
     BOOTPROTO=dialup
     NAME=DSLppp1
     DEVICE=ppp1
     TYPE=xDSL
     ONBOOT=yes
     PIDFILE=/var/run/pppoe-adsl1.pid
     FIREWALL=NONE
     PING=.
     PPPOE_TIMEOUT=20
     LCP_FAILURE=3
     LCP_INTERVAL=20
     CLAMPMSS=1412
     CONNECT_POLL=6
     CONNECT_TIMEOUT=60
     DEFROUTE=yes
     SYNCHRONOUS=no
     ETH=eth2 (对应新线路的网卡)
     PROVIDER=DSLppp1
     USER=isp提供的新用户名字2
     PEERDNS=no
方法二:
(1)直接拷贝
cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/sysconfig/network-scripts/ifcfg-ppp1
(2)修改其中的ppp0为ppp1,
修改PIDFILE=/var/run/pppoe-adsl.pid 为PIDFILE=/var/run/pppoe-adsl1.pid
修改采用的新接线路的网卡,例如:改ETH=eth1 为ETH=eth2
(3)增加新线路的帐号和密码. 帐号密码一般是保存在/etc/ppp/chap-secrets 和pap-secrets
我们只需要在最后增加新的用户名2和密码2即可.
/etc/ppp/chap-secrets文件一般是这样的:
# Secrets for authentication using CHAP
# client server [...]]]></description>
			<content:encoded><![CDATA[<p>双ADSL及多ADSL增加线路的配置过程。</p>
<p>Linux配置多线路ADSL的方法</p>
<p>powered by KindGeorge <a href="http://kindgeorge.at.3322.org/">http://kindgeorge.at.3322.org\</a>经过一段时间的观察,证明运行良好,现把设置过程及方法总结一下,欢迎指正.</p>
<p>此文档可以说明双adsl及多adsl增加线路的配置过程.</p>
<p>实验环境:</p>
<p>操作系统: RedHat7.3</p>
<p>两条adsl,长期观察线路稳定,动态ip,带宽2M,</p>
<p>三块网卡: eth0 tulip,接内网</p>
<p>eth1 3c59x,接第一条adsl</p>
<p>eth2 8139too,接第二条adsl</p>
<p>ethn xxxx,(如果还有的话&#8230;.)</p>
<p>目的:用两条adsl共同上网,分担负载,实现一般的简单负载平衡,带动内网上网.</p>
<p>1.添加网卡</p>
<p>插入网卡，启动机器，如果需要双线路上网,就要三块网卡了,配置网卡也可以参考其他资料.</p>
<p>配置为找到相应的型号模块,例如:eth2是8139的网卡</p>
<p>[root@kindgeorge root]# vi /etc/modules.conf<br />
alias parport_lowlevel parport_pc<br />
alias eth0 tulip<br />
alias eth1 3c59x<br />
alias eth2 8139too</p>
<p>把新的线路插在eth2上</p>
<p>2.配置adsl</p>
<p>方法一:</p>
<p>(1)运行adsl-setup程序,会一步一步的提示你完成配置过程.</p>
<p>创建ppp0和ppp1的拨号配置文件，并保存配置,一般保存在/etc/sysconfig/network-scripts/ifcfg-ppp1</p>
<p>(2)确定/etc/sysconfig/network-scripts/ifcfg-ppp0文件，其中的PIDFILE参数设为：</p>
<p>PIDFILE=/var/run/ppp-adsl.pid</p>
<p>修改/etc/sysconfig/network-scripts/ifcfg-ppp1文件，将其中的PIDFILE参数设为：</p>
<p>PIDFILE=/var/run/ppp-adsl1.pid</p>
<p>如果你有更多的线路,可以继续增加0,1,2,3&#8230;.等</p>
<p>这是为了使不同的拨好用不同的pid,如果不修改此参数将无法启动第二条线路接口。</p>
<p>(3)配置文件一般是:</p>
<p>USERCTL=no<br />
     BOOTPROTO=dialup<br />
     NAME=DSLppp1<br />
     DEVICE=ppp1<br />
     TYPE=xDSL<br />
     ONBOOT=yes<br />
     PIDFILE=/var/run/pppoe-adsl1.pid<br />
     FIREWALL=NONE<br />
     PING=.<br />
     PPPOE_TIMEOUT=20<br />
     LCP_FAILURE=3<br />
     LCP_INTERVAL=20<br />
     CLAMPMSS=1412<br />
     CONNECT_POLL=6<br />
     CONNECT_TIMEOUT=60<br />
     DEFROUTE=yes<br />
     SYNCHRONOUS=no<br />
     ETH=eth2 (对应新线路的网卡)<br />
     PROVIDER=DSLppp1<br />
     USER=isp提供的新用户名字2<br />
     PEERDNS=no</p>
<p>方法二:</p>
<p>(1)直接拷贝</p>
<p>cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/sysconfig/network-scripts/ifcfg-ppp1</p>
<p>(2)修改其中的ppp0为ppp1,</p>
<p>修改PIDFILE=/var/run/pppoe-adsl.pid 为PIDFILE=/var/run/pppoe-adsl1.pid</p>
<p>修改采用的新接线路的网卡,例如:改ETH=eth1 为ETH=eth2</p>
<p>(3)增加新线路的帐号和密码. 帐号密码一般是保存在/etc/ppp/chap-secrets 和pap-secrets</p>
<p>我们只需要在最后增加新的用户名2和密码2即可.</p>
<p>/etc/ppp/chap-secrets文件一般是这样的:</p>
<p># Secrets for authentication using CHAP</p>
<p># client server secret IP addresses</p>
<p>&#8220;用户名1&#8243; * &#8220;密码1&#8243;</p>
<p>&#8220;用户名2&#8243; * &#8220;密码2&#8243;</p>
<p>&#8220;用户名n&#8221; * &#8220;密码n&#8221;</p>
<p>3.启动ppp接口</p>
<p>因为adsl-start 命令缺省只能启动第一的ppp接口。所以要启动两个接口，必须指定配置文件。</p>
<p>可以用:方法一:</p>
<p>ifup ppp0</p>
<p>ifup ppp1</p>
<p>(ifup pppn&#8230;)</p>
<p>或方法二:</p>
<p>adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0</p>
<p>adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp1</p>
<p>(adsl-start /etc/sysconfig/network-scripts/ifcfg-pppn)</p>
<p>4.查看新设置是否启动:</p>
<p>方法一:执行: ifconfig</p>
<p>出现ppp0 和ppp1 ,并且均得到ip了.说明成功了,结果象这样:</p>
<p class="code">ppp0   Link encap:Point-to-Point Protocol <br />
          inet addr:218.114.37.137  P-t-P:61.142.110.30  Mask:255.255.255.255<br />
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1<br />
          RX packets:165721 errors:0 dropped:0 overruns:0 frame:0<br />
          TX packets:123673 errors:0 dropped:0 overruns:0 carrier:0<br />
          collisions:0 txqueuelen:3<br />
          RX bytes:157324193 (150.0 Mb)  TX bytes:14068892 (13.4 Mb)</p>
<p class="code">   ppp1   Link encap:Point-to-Point Protocol <br />
          inet addr:218.114.35.62  P-t-P:61.142.110.30  Mask:255.255.255.255<br />
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1<br />
          RX packets:560055 errors:0 dropped:0 overruns:0 frame:0<br />
          TX packets:439711 errors:0 dropped:0 overruns:0 carrier:0<br />
          collisions:0 txqueuelen:3<br />
          RX bytes:530025378 (505.4 Mb)  TX bytes:80895162 (77.1 Mb)</p>
<p>方法二: 执行ip高级命令: ip link ls</p>
<p>也可以检验ppp0和ppp1,结果象这样:</p>
<p class="code">1: lo: mtu 16436 qdisc noqueue<br />
            link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br />
         2: eth0: mtu 1500 qdisc pfifo_fast qlen 100<br />
            link/ether 00:50:bf:07:4e:32 brd ff:ff:ff:ff:ff:ff<br />
         3: eth1: mtu 1500 qdisc pfifo_fast qlen 100<br />
            link/ether 00:01:02:9a:31:b9 brd ff:ff:ff:ff:ff:ff<br />
         4: eth2: mtu 1500 qdisc pfifo_fast qlen 100<br />
            link/ether 00:e0:4c:79:44:71 brd ff:ff:ff:ff:ff:ff<br />
       268: ppp1: mtu 1492 qdisc pfifo_fast qlen 3<br />
            link/ppp<br />
       273: ppp0: mtu 1492 qdisc cbq qlen 3<br />
            link/ppp</p>
<p>方法三: 用命令测试反应</p>
<p>ping -I ppp0 202.96.134.133 (测试ppp0的线路状况)</p>
<p>ping -I ppp1 202.96.134.133 (测试ppp1的线路状况)</p>
<p>ping -I ppp2 &#8230;&#8230;n (如果还有多条的话)</p>
<p>5.如果单单是要实现链路负载平衡，让ppp0和ppp1分担负载,那么我们象以下设置一下配置:</p>
<p>(1)启动路由,允许转发echo 1 &gt; /proc/sys/net/ipv4/ip_forward</p>
<p>(2)进行伪装:</p>
<p>iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE</p>
<p>iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE</p>
<p>iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o pppn -j MASQUERADE (如果还有多条的话)</p>
<p>(3)修改网关</p>
<p>ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1</p>
<p>说明: 用replace的原因是当原来没有网关时会增加这个网关，当已经存在网关时,会修改原来的网关.</p>
<p>用add 也可以,但是当已经存在默认网关时就要先delete再add.</p>
<p>两个weight 1的意思是这两条链路的权值是相等的，两条链路承担的网络流量是相等的。</p>
<p>有一点是需要说明的，因为路由表是基于缓存的，所以在实际中两条链路并不能100%的平分流量</p>
<p>nexthop NEXTHOP 设置多路径路由的下一跳地址。NEXTHOP比较复杂，它的语法和以下高层参数类似：</p>
<p>via ADDRESS&#8211;表示下一跳路由器；</p>
<p>dev NAME&#8211;表示输出设备；</p>
<p>weight NUMBER&#8211;在多路由路径中，这个元素的权重。表示相对带宽或者服务质量。</p>
<p>如果你有多条线路,那么继续在其中增加 nexthop dev ppp2(ppp3&#8230;&#8230;)即可</p>
<p>(4) 刷新路由</p>
<p class="code">ip route flush cache</p>
<p>6.即时检查数据的方向</p>
<p>用tcpdump 分别监察两条线路,用下面命令:</p>
<p class="code">tcpdump -i ppp0<br />
  tcpdump -i ppp1<br />
  tcpdump -i ppp2&#8230;&#8230;n (有多条的话)</p>
<p>7.为了每次启动时自动启动,把命令写在启动脚本里面,在 /etc/rc.local 后面增加:</p>
<p class="code">ifup ppp0<br />
  ifup ppp1<br />
  echo 1 &gt; /proc/sys/net/ipv4/ip_forward<br />
  iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp0 -j MASQUERADE<br />
  iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o ppp1 -j MASQUERADE<br />
  ip route replace default scope global nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1<br />
  ip route flush cache</p>
<p>结果:运行数月,效果稳定良好。</p>
<p>上网会明显加快,为何呢,因为两条线路分摊了负载.例如,内网80人同时上网, 如果网络是一条2M的adsl,那么整条线路都拥挤,挤得死死的,每人分得的带宽可能只有30k.大家都会明显感觉上网很慢。</p>
<p>如果增加多一条线路,那么两条2M共同分摊拥挤程度,这样,可能每人分得的带宽就会变成60K,是原来的加倍,以这种形式来加快上网速度,增加了并发连接的个数。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/220.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Cherry 3484</title>
		<link>http://blog.freebug.org/archives/219.html</link>
		<comments>http://blog.freebug.org/archives/219.html#comments</comments>
		<pubDate>Thu, 22 May 2008 16:25:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[show]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/219.html</guid>
		<description><![CDATA[





]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_5699.JPG" /></br><br />
<img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_6306.JPG" /></br><br />
<img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_6303.JPG" /></br><br />
<img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_6299.JPG" /></br><br />
<img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_5700.JPG" /></br><br />
<img src="http://blog.freebug.org/wp-content/uploads/2008/05/img_6314.JPG" /></br></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/219.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>让Apache支持中文目录</title>
		<link>http://blog.freebug.org/archives/212.html</link>
		<comments>http://blog.freebug.org/archives/212.html#comments</comments>
		<pubDate>Sat, 17 May 2008 22:10:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/212.html</guid>
		<description><![CDATA[Apache自身并不支持中文目录，但是目前日本的webdev提供了mod_encoding插件来支持多字节目录。
在AS5和Everest0.5pre2版本上测试通过，记录如下：
1）首先确定安装了httpd-devel包。如果没有安装之
2）从官方分别下载基本包和补丁包
#wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
#wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
或者可以下载文末提供的已经打好补丁的压缩包
3）解压基本包，并用mod_encoding.c.apache2.20040616替代基本包里的mod_encoding.c
#tar -xzf mod_encoding-20021209.tar.gz
#cd mod_encoding-20021209
#cp -f ../mod_encoding.c.apache2.20040616  mod_encoding.c
4)编译安装iconv_look库
# cd mod_encoding-20021209/lib/
# ./configure &#38;&#38; make &#38;&#38; make install
#echo “/usr/local/lib” &#62;&#62;/etc/ld.so.conf.d/local.conf
#ldconfig
5)编译安装mod_encoding模块
#cd mod_encoding-20021209
#./configure –with-apxs=/usr/sbin/apxs –with-iconv-hook=/usr/local/include
#make
注：如果5）步骤出现下面的报错
mod_encoding.c:235: error: ‘regex_t’ undeclared (first use in this function)
请在mod_encoding.c文件中加上regex.h头，也就是加入
#include &#60;regex.h&#62;
一行。然后再编译。
6）安装动态库
如果前面步骤都没有错误，则应该在当前目录能看到mod_encoding.o文件，接下来该目标文件做成共享的动态库
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
将生成的mod_encoding.so文件拷贝到Apache的动态模块库目录中去
cp mod_encoding.so /usr/local/httpd/modules/
我们采用创建新的conf文件来加载该so文件
#cat &#62;/etc/httpd/conf.d/cndir.conf
LoadModule encoding_module modules/mod_encoding.so
&#60;IfModule mod_headers.c&#62;
Header add MS-Author-Via “DAV”
&#60;/IfModule&#62;
&#60;IfModule mod_encoding.c&#62;
 EncodingEngine    on
 NormalizeUsername on
 SetServerEncoding GBK
 DefaultClientEncoding UTF-8 GBK GB2312
 AddClientEncoding [...]]]></description>
			<content:encoded><![CDATA[<p>Apache自身并不支持中文目录，但是目前日本的webdev提供了mod_encoding插件来支持多字节目录。<br />
在AS5和Everest0.5pre2版本上测试通过，记录如下：<br />
1）首先确定安装了httpd-devel包。如果没有安装之<br />
2）从官方分别下载基本包和补丁包</p>
<p>#wget <a href="http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz">http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz</a><br />
#wget <a href="http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616">http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616</a></p>
<p>或者可以下载文末提供的已经打好补丁的压缩包<br />
3）解压基本包，并用mod_encoding.c.apache2.20040616替代基本包里的mod_encoding.c</p>
<p>#tar -xzf mod_encoding-20021209.tar.gz<br />
#cd mod_encoding-20021209<br />
#cp -f ../mod_encoding.c.apache2.20040616  mod_encoding.c<br />
4)编译安装iconv_look库</p>
<p># cd mod_encoding-20021209/lib/<br />
# ./configure &amp;&amp; make &amp;&amp; make install<br />
#echo “/usr/local/lib” &gt;&gt;/etc/ld.so.conf.d/local.conf<br />
#ldconfig<br />
5)编译安装mod_encoding模块</p>
<p>#cd mod_encoding-20021209<br />
#./configure –with-apxs=/usr/sbin/apxs –with-iconv-hook=/usr/local/include<br />
#make</p>
<p>注：如果5）步骤出现下面的报错</p>
<p>mod_encoding.c:235: error: ‘regex_t’ undeclared (first use in this function)</p>
<p>请在mod_encoding.c文件中加上regex.h头，也就是加入<br />
#include &lt;regex.h&gt;<br />
一行。然后再编译。<br />
6）安装动态库<br />
如果前面步骤都没有错误，则应该在当前目录能看到mod_encoding.o文件，接下来该目标文件做成共享的动态库</p>
<p># gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook</p>
<p>将生成的mod_encoding.so文件拷贝到Apache的动态模块库目录中去</p>
<p>cp mod_encoding.so /usr/local/httpd/modules/</p>
<p>我们采用创建新的conf文件来加载该so文件</p>
<p>#cat &gt;/etc/httpd/conf.d/cndir.conf<br />
LoadModule encoding_module modules/mod_encoding.so<br />
&lt;IfModule mod_headers.c&gt;<br />
Header add MS-Author-Via “DAV”<br />
&lt;/IfModule&gt;<br />
&lt;IfModule mod_encoding.c&gt;<br />
 EncodingEngine    on<br />
 NormalizeUsername on<br />
 SetServerEncoding GBK<br />
 DefaultClientEncoding UTF-8 GBK GB2312<br />
 AddClientEncoding “(Microsoft .* DAV $)” UTF-8 GBK GB2312<br />
 AddClientEncoding “Microsoft .* DAV” UTF-8 GBK GB2312<br />
 AddClientEncoding “Microsoft-WebDAV*” UTF-8 GBK GB2312<br />
&lt;/IfModule&gt;<br />
&lt;CTRL+D&gt;<br />
当然SetServerEncoding UTF-8这样可以设置成你希望的默认编码，比如GBK，比如GB2312.<br />
重启Apache。现在测试中文目录，看看效果。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/212.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Amfphp简介</title>
		<link>http://blog.freebug.org/archives/211.html</link>
		<comments>http://blog.freebug.org/archives/211.html#comments</comments>
		<pubDate>Wed, 14 May 2008 11:34:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/211.html</guid>
		<description><![CDATA[Amfphp 是PHP的RPC工具，它可以使PHP与下述技术无缝通信：

Flash 和 Flex Remoting
JavaScript JSON 和 Ajax JSON
XML 和XML-RPC

一、什么是RPC?
远端程序调用(RPC， Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法 ，设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的， 就像我们在调用本地方法一样.
二、工作原理
客户端（Flash）与服务器端（php）, 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行：

反序列化请求
找到相应的远程服务类
实例化类
执行安全检查
（使用指定参数）调用服务器端方法
序列化返回的数据

Amfphp 可以正确地序列化、反序列化复杂类型数据。除了对象和数组，它还支持resources 数据连接资源，这就意味着我们可以通过调用远程方法简单返回mysql_query，amfphp 会处理这一切。 如果平台支持 (目前来说，Flash Remoting 和Flex Remoting), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个服务浏览器，它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板，可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。详见http://www.riafan.com/article.asp?id=31。
三、教学资源
1. 英文

flash-db.com tutorials and forum on AMFPHP
sephiroth.it tutorials and blog on AMFPHP
Macromedia Remoting Developer Center
flashcoders mailing list
amfphp mailing list
AMFPHP development blog
Flash Remoting book companion site
Setting [...]]]></description>
			<content:encoded><![CDATA[<p class="paragraph">Amfphp 是PHP的RPC工具，它可以使PHP与下述技术无缝通信：</p>
<ul>
<li>Flash 和 Flex Remoting</li>
<li>JavaScript JSON 和 Ajax JSON</li>
<li>XML 和XML-RPC</li>
</ul>
<p class="paragraph">一、什么是RPC?</p>
<p class="paragraph">远端程序调用(RPC， Remote Procedure Call) 是一种客户端与服务器端交换数据方式。我们可以调用本地对象带对各种参数方法 ，设置回调并接受调用结果。我们不用关心发送和接收数据的实现细节。实现细节通常是抽象的， 就像我们在调用本地方法一样.</p>
<p class="paragraph">二、工作原理</p>
<p class="paragraph">客户端（Flash）与服务器端（php）, 使用相同的方式描述方法调用和复杂数据。客户端序列化请求并将它发送到网关Amfphp。Amfphp再执行：</p>
<ul>
<li>反序列化请求</li>
<li>找到相应的远程服务类</li>
<li>实例化类</li>
<li>执行安全检查</li>
<li>（使用指定参数）调用服务器端方法</li>
<li>序列化返回的数据</li>
</ul>
<p class="paragraph">Amfphp 可以正确地序列化、反序列化复杂类型数据。除了对象和数组，它还支持resources 数据连接资源，这就意味着我们可以通过调用远程方法简单返回mysql_query，amfphp 会处理这一切。 如果平台支持 (目前来说，Flash Remoting 和Flex Remoting), phpamf还可以处理循环引用和自定义数据。 它也支持简单的远程调试。还有amfphp 附带一个<a href="http://www.5etdemi.com/amfphp/browser/">服务浏览器</a>，它可以在创建客户端代码前测试远程服务。amfphp 1.0.1还添加了模板，可以自动生成客户端代码。Amfphp 1.9 beta更是新增了对AMF3的支持。详见<a href="http://www.riafan.com/article.asp?id=31">http://www.riafan.com/article.asp?id=31</a>。</p>
<p class="paragraph">三、教学资源</p>
<p class="paragraph">1. 英文</p>
<ul>
<li><span class="li"><a target="_blank" href="http://www.flash-db.com/" class="urlextern">flash-db.com tutorials and forum on AMFPHP</a></span></li>
<li><span class="li"><a target="_blank" href="http://www.sephiroth.it/" class="urlextern">sephiroth.it tutorials and blog on AMFPHP</a></span></li>
<li><span class="li"><a target="_blank" href="http://www.macromedia.com/devnet/mx/flashremoting/" class="urlextern">Macromedia Remoting Developer Center</a></span></li>
<li><span class="li"><a target="_blank" href="http://chattyfig.figleaf.com/" class="urlextern">flashcoders mailing list</a></span></li>
<li><span class="li"><a target="_blank" href="http://sourceforge.net/mail/?group_id=72483" class="urlextern">amfphp mailing list</a></span></li>
<li><span class="li"><a target="_blank" href="http://www.5etdemi.com/blog" class="urlextern">AMFPHP development blog</a></span></li>
<li><span class="li"><a target="_blank" href="http://www.flash-remoting.com/" class="urlextern">Flash Remoting book companion site</a></span></li>
<li><span class="li"><a target="_blank" href="http://www.herrodius.com/blog/?p=23" class="urlextern">Setting up PHP on your webserver</a></span></li>
<li><a href="http://soenkerohde.com/tutorials/amfphp">Sönke Rohde - tutorial</a></li>
<li><a href="http://www.jessewarden.com/archives/2005/06/flash_flex_amfp.html">Jesse Warden - Flash, Flex and AMFPHP</a></li>
<li><a href="http://www.swapdepths.nl/category/amfphp">SwapDepths tutorials</a></li>
</ul>
<p class="paragraph">2. 中文</p>
<ul>
<li><span class="li"><a target="_blank" href="http://ria.richtechmedia.com/index.php?cat=25" class="urlextern">AMFPHP v1.0 MS2 tutorials</a></span></li>
<li><span class="li"><a target="_blank" href="http://ria.richtechmedia.com/?p=203" class="urlextern">download, install, hello world</a></span></li>
<li><span class="li"><a target="_blank" href="http://ria.richtechmedia.com/?p=202" class="urlextern">pageable recordset working examples</a></span></li>
<li><span class="li"><a target="_blank" href="http://ria.richtechmedia.com/?p=204" class="urlextern">using web service with amfphp</a></span></li>
<li><span class="li"><a target="_blank" href="http://ria.richtechmedia.com/?p=205" class="urlextern">authenticate with setCredential()</a></span></li>
<li><a href="http://blog.xuite.net/jameschih/java/5312447">Another hello world tutorial </a></li>
<li>luar的教学：<a href="http://www.luar.com.hk/flashbook/archives/000168.php">http://www.luar.com.hk/flashbook/archives/000168.php</a></li>
<li>淡湮mmug网聚教学：<a href="http://breezecentral.zerone.com.tw/p66309923/">http://breezecentral.zerone.com.tw/p66309923/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/211.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>centos 5.1 xen实例</title>
		<link>http://blog.freebug.org/archives/210.html</link>
		<comments>http://blog.freebug.org/archives/210.html#comments</comments>
		<pubDate>Tue, 13 May 2008 19:56:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux&amp;Unix]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/210.html</guid>
		<description><![CDATA[建立一个文件，使其成为guest所使用的磁盘:
mkdir /xen
dd if=/dev/zero of=/xen/hdcentos.img bs=1M count=6000
这样就在/xen中建立了一个6G左右的文件。
newfs下这个文件：
mke2fs -F -j /xen/hdcentos.img
将对应的文件挂到系统中来：
mount -o loop /xen/hdcentos.img /mnt/vm
为vm建立对应的设置
# mkdir /mnt/vm/dev
# /sbin/MAKEDEV -d /mnt/vm/dev -x console
# /sbin/MAKEDEV -d /mnt/vm/dev -x null
# /sbin/MAKEDEV -d /mnt/vm/dev -x zero
为vm准备对应的fstab文件
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
加臷proc
# [...]]]></description>
			<content:encoded><![CDATA[<p>建立一个文件，使其成为guest所使用的磁盘:<br />
mkdir /xen<br />
dd if=/dev/zero of=/xen/hdcentos.img bs=1M count=6000</p>
<p>这样就在/xen中建立了一个6G左右的文件。</p>
<p>newfs下这个文件：</p>
<p>mke2fs -F -j /xen/hdcentos.img</p>
<p>将对应的文件挂到系统中来：</p>
<p>mount -o loop /xen/hdcentos.img /mnt/vm</p>
<p>为vm建立对应的设置</p>
<p># mkdir /mnt/vm/dev<br />
# /sbin/MAKEDEV -d /mnt/vm/dev -x console<br />
# /sbin/MAKEDEV -d /mnt/vm/dev -x null<br />
# /sbin/MAKEDEV -d /mnt/vm/dev -x zero</p>
<p>为vm准备对应的fstab文件</p>
<p>/dev/sda1 / ext3 defaults 1 1<br />
none /dev/pts devpts gid=5,mode=620 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
none /proc proc defaults 0 0<br />
none /sys sysfs defaults 0 0</p>
<p>加臷proc</p>
<p># mkdir /mnt/vm/proc<br />
# mount -t proc none /mnt/vm/proc</p>
<p>安装操作系统：</p>
<p>yum &#8211;installroot=/mnt/vm -y groupinstall Base</p>
<p>配置网卡（/etc/sysconfig/network-scripts/ifcfg-eth0）：</p>
<p>DEVICE=eth0<br />
BOOTPROTO=dhcp<br />
ONBOOT=yes<br />
TYPE=Ethernet<br />
USERCTL=yes<br />
PEERDNS=yes<br />
IPV6INIT=no</p>
<p>配置网络在启动时开始工作（/etc/sysconfig/network）：</p>
<p>NETWORKING=yes</p>
<p>做一个在dom0上引导domU的initrd：</p>
<p>mkinitrd -v -f &#8211;fstab /mnt/vm/etc/fstab &#8211;with xenblk &#8211;with xennet &#8211;preload xenblk &#8211;preload xennet initrd-2.6.18-53.el5xen.vbird.img `uname -r`</p>
<p>最后，写上xen的配置文件（/etc/xen/hdcentos）：<br />
name = &#8220;hdcentos&#8221;<br />
maxmem = 2048<br />
memory = 2048<br />
vcpus = 1<br />
kernel = &#8220;/boot/vmlinuz-2.6.18-53.el5xen&#8221;<br />
ramdisk = &#8220;/boot/initrd-2.6.18-53.el5xen.vbird.img&#8221;<br />
on_poweroff = &#8220;destroy&#8221;<br />
on_reboot = &#8220;restart&#8221;<br />
on_crash = &#8220;restart&#8221;<br />
vfb = [ &#8220;type=vnc,vncunused=1,keymap=en-us&#8221; ]<br />
disk = [ &#8220;tap:aio:/xen/hdcentos.img,sda1,w&#8221; ]<br />
vif = [ &#8220;bridge=xenbr0&#8243; ]<br />
root = &#8220;/dev/sda1 ro &#8221;</p>
<p>下面你就可以启动你自己的虚拟domU了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/210.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>linux indent 命令详解</title>
		<link>http://blog.freebug.org/archives/209.html</link>
		<comments>http://blog.freebug.org/archives/209.html#comments</comments>
		<pubDate>Wed, 07 May 2008 20:16:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/209.html</guid>
		<description><![CDATA[功能说明：调整C原始代码文件的格式。
语　　法：indent [参数][源文件] 或 indent [参数][源文件][-o 目标文件]
补充说明：indent可辨识C的原始代码文件，并加以格式化，以方便程序设计师阅读。
参　　数：
　-bad或&#8211;blank-lines-after-declarations 　在声明区段或加上空白行。
　-bap或&#8211;blank-lines-after-procedures 　在程序或加上空白行。
　-bbb或&#8211;blank-lines-after-block-comments 　在注释区段后加上空白行。
　-bc或&#8211;blank-lines-after-commas 　在声明区段中，若出现逗号即换行。
　-bl或&#8211;braces-after-if-line 　if(或是else,for等等)与后面执行区段的&#8221;{&#8221;不同行，且&#8221;}&#8221;自成一行。
　-bli&#60;缩排格数&#62;或&#8211;brace-indent&#60;缩排格数&#62; 　设置{ }缩排的格数。
　-br或&#8211;braces-on-if-line 　if(或是else,for等等)与后面执行跛段的&#8221;{&#8221;不同行，且&#8221;}&#8221;自成一行。
　-bs或&#8211;blank-before-sizeof 　在sizeof之后空一格。
　-c&#60;栏数&#62;或&#8211;comment-indentation&#60;栏数&#62; 　将注释置于程序码右侧指定的栏位。
　-cd&#60;栏数&#62;或&#8211;declaration-comment-column&#60;栏数&#62; 　将注释置于声明右侧指定的栏位。
　-cdb或&#8211;comment-delimiters-on-blank-lines 　注释符号自成一行。
　-ce或&#8211;cuddle-else 　将else置于&#8221;}&#8221;(if执行区段的结尾)之后。
　-ci&#60;缩排格数&#62;或&#8211;continuation-indentation&#60;缩排格数&#62; 　叙述过长而换行时，指定换行后缩排的格数。
　-cli&#60;缩排格数&#62;或&#8211;case-indentation-&#60;缩排格数&#62; 　使用case时，switch缩排的格数。
　-cp&#60;栏数&#62;或-else-endif-column&#60;栏数&#62; 　将注释置于else与elseif叙述右侧定的栏位。
　-cs或&#8211;space-after-cast 　在cast之后空一格。
　-d&#60;缩排格数&#62;或-line-comments-indentation&#60;缩排格数&#62; 　针对不是放在程序码右侧的注释，设置其缩排格数。
　-di&#60;栏数&#62;或&#8211;declaration-indentation&#60;栏数&#62; 　将声明区段的变量置于指定的栏位。
　-fc1或&#8211;format-first-column-comments 　针对放在每行最前端的注释，设置其格式。
　-fca或&#8211;format-all-comments 　设置所有注释的格式。
　-gnu或&#8211;gnu-style 　指定使用GNU的格式，此为预设值。
　-i&#60;格数&#62;或&#8211;indent-level&#60;格数&#62; 　设置缩排的格数。
　-ip&#60;格数&#62;或&#8211;parameter-indentation&#60;格数&#62; 　设置参数的缩排格数。
　-kr或&#8211;k-and-r-style 　指定使用Kernighan&#38;Ritchie的格式。
　-lp或&#8211;continue-at-parentheses 　叙述过长而换行，且叙述中包含了括弧时，将括弧中的每行起始栏位内容垂直对其排列。
　-nbad或&#8211;no-blank-lines-after-declarations 　在声明区段后不要加上空白行。
　-nbap或&#8211;no-blank-lines-after-procedures 　在程序后不要加上空白行。
　-nbbb或&#8211;no-blank-lines-after-block-comments 　在注释区段后不要加上空白行。
　-nbc或&#8211;no-blank-lines-after-commas 　在声明区段中，即使出现逗号，仍旧不要换行。
　-ncdb或&#8211;no-comment-delimiters-on-blank-lines 　注释符号不要自成一行。
　-nce或&#8211;dont-cuddle-else 　不要将else置于&#8221;}&#8221;之后。
　-ncs或&#8211;no-space-after-casts 　不要在cast之后空一格。
　-nfc1或&#8211;dont-format-first-column-comments 　不要格式化放在每行最前端的注释。
　-nfca或&#8211;dont-format-comments 　不要格式化任何的注释。
　-nip或&#8211;no-parameter-indentation 　参数不要缩排。
　-nlp或&#8211;dont-line-up-parentheses 　叙述过长而换行，且叙述中包含了括弧时，不用将括弧中的每行起始栏位垂直对其排列。
　-npcs或&#8211;no-space-after-function-call-names 　在调用的函数名称之后，不要加上空格。
　-npro或&#8211;ignore-profile 　不要读取indent的配置文件.indent.pro。
　-npsl或&#8211;dont-break-procedure-type 　程序类型与程序名称放在同一行。
　-nsc或&#8211;dont-star-comments 　注解左侧不要加上星号(*)。
　-nsob或&#8211;leave-optional-semicolon 　不用处理多余的空白行。
　-nss或&#8211;dont-space-special-semicolon 　若for或while区段仅有一行时，在分号前不加上空格。
　-nv或&#8211;no-verbosity 　不显示详细的信息。
　-orig或&#8211;original 　使用Berkeley的格式。
　-pcs或&#8211;space-after-procedure-calls 　在调用的函数名称与&#8221;{&#8221;之间加上空格。
　-psl或&#8211;procnames-start-lines 　程序类型置于程序名称的前一行。
　-sc或&#8211;start-left-side-of-comments 　在每行注释左侧加上星号(*)。
　-sob或&#8211;swallow-optional-blank-lines 　删除多余的空白行。
　-ss或&#8211;space-special-semicolon [...]]]></description>
			<content:encoded><![CDATA[<p>功能说明：调整C原始代码文件的格式。</p>
<p>语　　法：indent [参数][源文件] 或 indent [参数][源文件][-o 目标文件]</p>
<p>补充说明：indent可辨识C的原始代码文件，并加以格式化，以方便程序设计师阅读。</p>
<p>参　　数：<br />
　-bad或&#8211;blank-lines-after-declarations 　在声明区段或加上空白行。<br />
　-bap或&#8211;blank-lines-after-procedures 　在程序或加上空白行。<br />
　-bbb或&#8211;blank-lines-after-block-comments 　在注释区段后加上空白行。<br />
　-bc或&#8211;blank-lines-after-commas 　在声明区段中，若出现逗号即换行。<br />
　-bl或&#8211;braces-after-if-line 　if(或是else,for等等)与后面执行区段的&#8221;{&#8221;不同行，且&#8221;}&#8221;自成一行。<br />
　-bli&lt;缩排格数&gt;或&#8211;brace-indent&lt;缩排格数&gt; 　设置{ }缩排的格数。<br />
　-br或&#8211;braces-on-if-line 　if(或是else,for等等)与后面执行跛段的&#8221;{&#8221;不同行，且&#8221;}&#8221;自成一行。<br />
　-bs或&#8211;blank-before-sizeof 　在sizeof之后空一格。<br />
　-c&lt;栏数&gt;或&#8211;comment-indentation&lt;栏数&gt; 　将注释置于程序码右侧指定的栏位。<br />
　-cd&lt;栏数&gt;或&#8211;declaration-comment-column&lt;栏数&gt; 　将注释置于声明右侧指定的栏位。<br />
　-cdb或&#8211;comment-delimiters-on-blank-lines 　注释符号自成一行。<br />
　-ce或&#8211;cuddle-else 　将else置于&#8221;}&#8221;(if执行区段的结尾)之后。<br />
　-ci&lt;缩排格数&gt;或&#8211;continuation-indentation&lt;缩排格数&gt; 　叙述过长而换行时，指定换行后缩排的格数。<br />
　-cli&lt;缩排格数&gt;或&#8211;case-indentation-&lt;缩排格数&gt; 　使用case时，switch缩排的格数。<br />
　-cp&lt;栏数&gt;或-else-endif-column&lt;栏数&gt; 　将注释置于else与elseif叙述右侧定的栏位。<br />
　-cs或&#8211;space-after-cast 　在cast之后空一格。<br />
　-d&lt;缩排格数&gt;或-line-comments-indentation&lt;缩排格数&gt; 　针对不是放在程序码右侧的注释，设置其缩排格数。<br />
　-di&lt;栏数&gt;或&#8211;declaration-indentation&lt;栏数&gt; 　将声明区段的变量置于指定的栏位。<br />
　-fc1或&#8211;format-first-column-comments 　针对放在每行最前端的注释，设置其格式。<br />
　-fca或&#8211;format-all-comments 　设置所有注释的格式。<br />
　-gnu或&#8211;gnu-style 　指定使用GNU的格式，此为预设值。<br />
　-i&lt;格数&gt;或&#8211;indent-level&lt;格数&gt; 　设置缩排的格数。<br />
　-ip&lt;格数&gt;或&#8211;parameter-indentation&lt;格数&gt; 　设置参数的缩排格数。<br />
　-kr或&#8211;k-and-r-style 　指定使用Kernighan&amp;Ritchie的格式。<br />
　-lp或&#8211;continue-at-parentheses 　叙述过长而换行，且叙述中包含了括弧时，将括弧中的每行起始栏位内容垂直对其排列。<br />
　-nbad或&#8211;no-blank-lines-after-declarations 　在声明区段后不要加上空白行。<br />
　-nbap或&#8211;no-blank-lines-after-procedures 　在程序后不要加上空白行。<br />
　-nbbb或&#8211;no-blank-lines-after-block-comments 　在注释区段后不要加上空白行。<br />
　-nbc或&#8211;no-blank-lines-after-commas 　在声明区段中，即使出现逗号，仍旧不要换行。<br />
　-ncdb或&#8211;no-comment-delimiters-on-blank-lines 　注释符号不要自成一行。<br />
　-nce或&#8211;dont-cuddle-else 　不要将else置于&#8221;}&#8221;之后。<br />
　-ncs或&#8211;no-space-after-casts 　不要在cast之后空一格。<br />
　-nfc1或&#8211;dont-format-first-column-comments 　不要格式化放在每行最前端的注释。<br />
　-nfca或&#8211;dont-format-comments 　不要格式化任何的注释。<br />
　-nip或&#8211;no-parameter-indentation 　参数不要缩排。<br />
　-nlp或&#8211;dont-line-up-parentheses 　叙述过长而换行，且叙述中包含了括弧时，不用将括弧中的每行起始栏位垂直对其排列。<br />
　-npcs或&#8211;no-space-after-function-call-names 　在调用的函数名称之后，不要加上空格。<br />
　-npro或&#8211;ignore-profile 　不要读取indent的配置文件.indent.pro。<br />
　-npsl或&#8211;dont-break-procedure-type 　程序类型与程序名称放在同一行。<br />
　-nsc或&#8211;dont-star-comments 　注解左侧不要加上星号(*)。<br />
　-nsob或&#8211;leave-optional-semicolon 　不用处理多余的空白行。<br />
　-nss或&#8211;dont-space-special-semicolon 　若for或while区段仅有一行时，在分号前不加上空格。<br />
　-nv或&#8211;no-verbosity 　不显示详细的信息。<br />
　-orig或&#8211;original 　使用Berkeley的格式。<br />
　-pcs或&#8211;space-after-procedure-calls 　在调用的函数名称与&#8221;{&#8221;之间加上空格。<br />
　-psl或&#8211;procnames-start-lines 　程序类型置于程序名称的前一行。<br />
　-sc或&#8211;start-left-side-of-comments 　在每行注释左侧加上星号(*)。<br />
　-sob或&#8211;swallow-optional-blank-lines 　删除多余的空白行。<br />
　-ss或&#8211;space-special-semicolon 　若for或swile区段今有一行时，在分号前加上空格。<br />
　-st或&#8211;standard-output 　将结果显示在标准输出设备。<br />
　-T 　数据类型名称缩排。<br />
　-ts&lt;格数&gt;或&#8211;tab-size&lt;格数&gt; 　设置tab的长度。<br />
　-v或&#8211;verbose 　执行时显示详细的信息。<br />
　-version 　显示版本信息。</p>
<p>我的风格</p>
<p>-bad -bap -bbb -nbc -br -lp -ncs -ce -npsl -i8</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/209.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>如何保护自己编写的shell程序</title>
		<link>http://blog.freebug.org/archives/208.html</link>
		<comments>http://blog.freebug.org/archives/208.html#comments</comments>
		<pubDate>Mon, 28 Apr 2008 11:27:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://blog.freebug.org/archives/208.html</guid>
		<description><![CDATA[要保护自己编写的shell脚本程序，方法有很多，最简单的方法有两种：1、加密 2、设定过期时间，下面以shc工具为例说明：
一、安装shc工具
shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件.
 
shc的下载地址:             
http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.6.tgz

安装:
tar zxvf shc-3.8.tgz
cd shc-3.8
make test
make
make test
make strings
make install  这一步需要root权限
 
二、加密方法:
shc -r -f scrīpt-name  注意:要有-r选项, -f 后跟要加密的脚本名.
运行后会生成两个文件,scrīpt-name.x 和 scrīpt-name.x.c
scrīpt-name.x是加密后的可执行的二进制文件.
./scrīpt-name    即可运行.
scrīpt-name.x.c是生成scrīpt-name.x的原文件(c语言)
三、设定期限：
首先使用shc转化为二进制，并加上过期时间，如
./shc -e 12/06/2006 -m &#8220;please contact yazjiyao@yahoo.com.cn&#8221; -r -f flushvpn.sh
 
 我一般在程序中加入自动更新系统时间 的命令，防止用户更改系统时间。
]]></description>
			<content:encoded><![CDATA[<p>要保护自己编写的shell脚本程序，方法有很多，最简单的方法有两种：1、加密 2、设定过期时间，下面以shc工具为例说明：<br />
一、安装shc工具<br />
shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件.<br />
 <br />
shc的下载地址:             <br />
<a href="http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.6.tgz">http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.6.tgz</a><br />
<a href="http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.tgz"></a></p>
<p>安装:<br />
tar zxvf shc-3.8.tgz<br />
cd shc-3.8<br />
make test<br />
make<br />
make test<br />
make strings<br />
make install  这一步需要root权限<br />
 <br />
二、加密方法:<br />
shc -r -f scrīpt-name  注意:要有-r选项, -f 后跟要加密的脚本名.<br />
运行后会生成两个文件,scrīpt-name.x 和 scrīpt-name.x.c<br />
scrīpt-name.x是加密后的可执行的二进制文件.<br />
./scrīpt-name    即可运行.<br />
scrīpt-name.x.c是生成scrīpt-name.x的原文件(c语言)</p>
<p>三、设定期限：<br />
首先使用shc转化为二进制，并加上过期时间，如<br />
./shc -e 12/06/2006 -m &#8220;please contact yazjiyao@yahoo.com.cn&#8221; -r -f flushvpn.sh<br />
 <br />
 我一般在程序中加入自动更新系统时间 的命令，防止用户更改系统时间。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.freebug.org/archives/208.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
