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

<channel>
	<title>统计学之路</title>
	<atom:link href="http://www.road2stat.com/cn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.road2stat.com/cn</link>
	<description>肖楠的独立技术网志，生活点滴的记录。</description>
	<lastBuildDate>Thu, 02 Sep 2010 08:21:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mapping CRAN Mirrors using R</title>
		<link>http://www.road2stat.com/cn/r_language/mapping_cran_mirrors.html</link>
		<comments>http://www.road2stat.com/cn/r_language/mapping_cran_mirrors.html#comments</comments>
		<pubDate>Thu, 02 Sep 2010 08:21:49 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[CRAN]]></category>
		<category><![CDATA[Delaunay三角剖分]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[tripack]]></category>
		<category><![CDATA[Voronoi图]]></category>
		<category><![CDATA[计算几何]]></category>
		<category><![CDATA[镜像]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=561</guid>
		<description><![CDATA[
昨天突然想看一下怎么用maps包画地图, 就做了一个CRAN镜像的地理位置数据试了一下. 城市地理位置数据主要来自maps包中的数据集world.cities. 画图时用到了maps和tripack这两个包, maps用于呈现地图, ... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.road2stat.com/cn/attachments/2010/09/CRAN_mirrors_map.png"><img class="aligncenter size-full wp-image-562" title="CRAN_mirrors_map" src="http://www.road2stat.com/cn/attachments/2010/09/CRAN_mirrors_map.png" alt="CRAN_mirrors_map" width="490" height="303" /></a><br />
昨天突然想看一下怎么用maps包画地图, 就做了一个CRAN镜像的地理位置数据试了一下. 城市地理位置数据主要来自maps包中的数据集world.cities. 画图时用到了maps和tripack这两个包, maps用于呈现地图, 而tripack可以根据给定点坐标计算并绘制Voronoi图/Delaunay三角剖分. 相比主流的C或C++甚至Python下的实现, 在R中做这种事情可以说是简单无比了. 同时也要慨叹R的扩展性是如此之好. 不过目前R中和计算几何相关的包似乎不多, 据我所知还有rcdd(cddlib在R中的接口)和geometry. 比如geometry包, 可以计算n-维上的Delaunay三角形, 等等. 如果某天哪位大牛可以替最强的计算几何算法库<a href="http://www.cgal.org/" target="_blank">CGAL</a>在R中做一个接口就好了.</p>
<p><a href="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Voronoi.png"><img class="aligncenter size-full wp-image-563" title="CRAN_Mirrors_Voronoi" src="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Voronoi.png" alt="CRAN_Mirrors_Voronoi" width="497" height="287" /></a></p>
<p><a href="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Voronoi.pdf">Voronoi Diagram of CRAN Mirrors on World Map [PDF(Vector), 120KB]</a></p>
<p><a href="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Delaunay.png"><img class="aligncenter size-full wp-image-565" title="CRAN_Mirrors_Delaunay" src="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Delaunay.png" alt="CRAN_Mirrors_Delaunay" width="497" height="287" /></a></p>
<p><a href="http://www.road2stat.com/cn/attachments/2010/09/CRAN_Mirrors_Delaunay.pdf">Delaunay Triangulation of CRAN Mirrors on World Map [PDF(Vector), 120KB]</a></p>
<p>从图中看, 多数CRAN镜像分布在沿海地区, 内陆较少, 也极不均匀. 西欧密集分布了约30个镜像, 面积是其几倍大小的东侧大片内陆只有寥寥3、4个镜像. 非洲、南美洲的情况大致相同. 北美的镜像分布呈现比较均匀的态势, 至少看上去比较稳定, 不多也不少.</p>
<p><a href="http://www.road2stat.com/cn/attachments/2010/09/cran_mirror.tar.gz">Dataset &amp; R Code [Gzip, 1,932 bytes]</a></p>
<p>有两个问题是不得不考虑的:</p>
<ol>
<li>地球是椭球体, 在球面上绘制Delaunay三角和Voronoi图, 需要通过计算三维空间中的凸包来实现 .. 但考虑到事实上太平洋中间没有CRAN的镜像, 正好十分自然地将现有镜像隔得很远, 就无视这个了 ..</li>
<li>CRAN镜像发挥的影响力与各地光缆铺设情况的关系更紧密, 这时用地理意义上的世界地图就显得略不给力了 .. 使用能够体现网络分布情况的&#8221;地图&#8221;才是正解.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/r_language/mapping_cran_mirrors.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Rdonlp2</title>
		<link>http://www.road2stat.com/cn/r_language/rdonlp2.html</link>
		<comments>http://www.road2stat.com/cn/r_language/rdonlp2.html#comments</comments>
		<pubDate>Wed, 25 Aug 2010 18:14:10 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[DONLP2]]></category>
		<category><![CDATA[Rdonlp2]]></category>
		<category><![CDATA[最优化]]></category>
		<category><![CDATA[编译R包]]></category>
		<category><![CDATA[非线性规划]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=552</guid>
		<description><![CDATA[
Rdonlp2包是R中解决非线性规划问题的利器, 其约束条件可为线性的或非线性的. 使用它可以很轻松地求解NLP问题, 几乎是偷懒不想多码代码时的不二选择. Rdonlp2包实际上是Prof. Peter Spellucci的DONLP2... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.road2stat.com/cn/attachments/2010/08/rdonlp2.png"><img class="aligncenter size-full wp-image-556" title="rdonlp2" src="http://www.road2stat.com/cn/attachments/2010/08/rdonlp2.png" alt="" width="400" height="148" /></a></p>
<p>Rdonlp2包是R中解决非线性规划问题的利器, 其约束条件可为线性的或非线性的. 使用它可以很轻松地求解NLP问题, 几乎是偷懒不想多码代码时的不二选择. Rdonlp2包实际上是<a href="http://www.mathematik.tu-darmstadt.de/fbereiche/numerik/staff/spellucci/spellucci.html" target="_blank">Prof. Peter Spellucci</a>的DONLP2在R环境下的一个包装, 但目前似乎Spellucci的主页上写着要求必须写封email才能取得DONLP2. 而Rdonlp2包的作者Ryuichi Tamura在更新到版本0.3-1后也不再公开放出此包的下载. 我在CRAN上翻遍, 一无所获. R-help上还有人说给R包作者发邮件杳无回音云云 .. (谁叫这包从CRAN撤下两年后仍然挂在CRAN Task Views的<a href="http://cran.r-project.org/web/views/Optimization.html" target="_blank">Optimization页面</a>上呢) 后来, 俺无意中在Rmetrics项目的SVN trunk上找到了此包的源代码. 编译之, 发现由于年代久远, 这包对目前版本的R有点水土不服. 于是上CRAN下了一圈旧发行版, 从R 2.11.x依次递减版本号进行实验, 结论是能够正常运行此包的R最高版本为R 2.6.2.</p>
<p>R对于数据类型的检查随着其版本号的升高而更加严格, 在使用Rdonlp2包求解问题时, 从R 2.7.0版起将出现一个Warning:</p>
<blockquote><p>Warning message:<br />
In all(lapply(nlin, function(e) is.function(attr(e, &#8220;gr&#8221;)))) :<br />
coercing argument of type &#8216;list&#8217; to logical</p></blockquote>
<p>从R 2.9.0版本开始，除了上面的Warning之外，还会出现一个Error:</p>
<blockquote><p>Error in tryCatchList(expr, classes, parentenv, handlers) :<br />
SET_VECTOR_ELT() can only be applied to a &#8216;list&#8217;, not a &#8216;character&#8217;</p></blockquote>
<p>第一个问题源于donlp2.R第59行, 相对比较好解决; 第二个问题则源于Rdonlp2.c, 这文件大约600行吧. 因为我不懂C, 所以希望哪位大侠能够费心手工hack一下, 让它能够在较新的的R版本上正常跑起来. 这里我就偷个懒, 不做任何修改. 直接装个R 2.6.2就可以正常使用啦.</p>
<p>这里放上源码和自己编译的Rdonlp2包.</p>
<p>Package source:     <a href="http://www.road2stat.com/cn/attachments/2010/08/Rdonlp2_0.3-1.tar.gz">Rdonlp2_0.3-1.tar.gz</a></p>
<p>Windows binary:     <a href="http://www.road2stat.com/cn/attachments/2010/08/Rdonlp2_0.3-1.zip">Rdonlp2_0.3-1.zip</a></p>
<p>编译环境: R 2.6.2 + RTools 2.7 + Win Server 2k3 DataCenter SP2</p>
<p>R 2.6.2下测试通过, 使用时无上述Error和Warning, 加载包时亦无&#8221;编译环境版本号高&#8221;的Warning.</p>
<p>Read The &#8220;Friendly&#8221; Manual: <a href="http://arumat.net/Rdonlp2/" target="_blank">http://arumat.net/Rdonlp2/</a></p>
<p><span style="color: #800000;">请注意: DONLP2和Rdonlp2只能用于学习和研究, 商业用途需经作者授权.</span></p>
<p>放几句英文自勉.</p>
<p>The Six Tenets:</p>
<ol>
<li>Access to computers &#8211; and anything which might teach you something about  the way the world works &#8211; should be unlimited and total. Always yield  to the Hands-On imperative!</li>
<li>All information should be free.</li>
<li>Mistrust authority &#8211; promote decentralization.</li>
<li>Hackers should be judged by their hacking, not bogus criteria such as  degress, age, race, or position.</li>
<li>You can create art and beauty on a computer.</li>
<li>Computers can change your life for the better.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/r_language/rdonlp2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PKU Vis Summer School</title>
		<link>http://www.road2stat.com/cn/statistics/pku_vis_summer_school.html</link>
		<comments>http://www.road2stat.com/cn/statistics/pku_vis_summer_school.html#comments</comments>
		<pubDate>Sun, 22 Aug 2010 16:23:21 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[统计之路]]></category>
		<category><![CDATA[PKU]]></category>
		<category><![CDATA[Summer School]]></category>
		<category><![CDATA[Vis]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=546</guid>
		<description><![CDATA[
Prof. Michael McGuffin的热心让人感动. 当Michael问我&#8221;&#8230; You want to visualize something?&#8221;而我只能巨汗地回答&#8221;Just want to learn the basic things well &#8230;&#8221;时, 我体会到以后还真是需要好好学... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.road2stat.com/cn/attachments/2010/08/summerschool.png"><img class="aligncenter size-full wp-image-549" title="viz_cran_package_network" src="http://www.road2stat.com/cn/attachments/2010/08/summerschool.png" alt="viz_cran_package_network" width="492" height="459" /></a></p>
<p>Prof. Michael McGuffin的热心让人感动. 当Michael问我&#8221;&#8230; You want to visualize something?&#8221;而我只能巨汗地回答&#8221;Just want to learn the basic things well &#8230;&#8221;时, 我体会到以后还真是需要好好学一下计算几何了 .. Gary对大家都很有教益的Color Science .. 内敛的Patrignani的内敛的意式英语 .. 可爱老头Inselberg的极其无敌极其牛x闪闪的平行坐标 .. 周围低调的群牛 .. 都很值得回味. 感谢和我在同在一个group的Zhang, Wang, Chen三位同学, 你们优秀的想法给了我很多启发.  <img src='http://www.road2stat.com/cn/wp-includes/images/smilies/icon_smile.gif' alt=':smile:' class='wp-smiley' />  考虑到自己只是打酱油+纯路过的本质, 其他什么的就不多写了. 最后特别感谢高涛同学的友情食宿赞助.  <img src='http://www.road2stat.com/cn/wp-includes/images/smilies/icon_wink.gif' alt=':wink:' class='wp-smiley' /> </p>
<p>Slides 1 &#8211; <a href="http://www.road2stat.com/cn/attachments/2010/08/plan.tar.gz">Group3: Plan(s)</a></p>
<p>Slides 2 &#8211; <a href="http://www.road2stat.com/cn/attachments/2010/08/project.tar.gz">Final Presentation: Visualization of CRAN Package Dependency Network</a></p>
<p>最后的Name Cards偷了谢老大的创意 .. 脸红ing ..  <img src='http://www.road2stat.com/cn/wp-includes/images/smilies/icon_redface.gif' alt=':oops:' class='wp-smiley' /> </p>
<p>原来暑假就要这么华丽丽的没了 &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/statistics/pku_vis_summer_school.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>开源的矢量图手绘工具：Ipe</title>
		<link>http://www.road2stat.com/cn/tex_latex/ipe.html</link>
		<comments>http://www.road2stat.com/cn/tex_latex/ipe.html#comments</comments>
		<pubDate>Sun, 22 Aug 2010 15:16:48 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[TeX]]></category>
		<category><![CDATA[CGAL]]></category>
		<category><![CDATA[Ipe]]></category>
		<category><![CDATA[Ipelets]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[矢量]]></category>
		<category><![CDATA[绘图]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=540</guid>
		<description><![CDATA[说起绘图工具, 尤其是适合与TeX配合使用的示意图绘制工具, MetaPost和Asymptote都很强大, 只是二者画图时都需要垒点代码, MetaPost还略显古老, 有些方面设计得不够完善. 在绘制那些非数学图非统计... ]]></description>
			<content:encoded><![CDATA[<p>说起绘图工具, 尤其是适合与TeX配合使用的示意图绘制工具, MetaPost和Asymptote都很强大, 只是二者画图时都需要垒点代码, MetaPost还略显古老, 有些方面设计得不够完善. 在绘制那些非数学图非统计图非流程图而精度要求又不是很高的示意图时, 寻找一个上手简单, 功能足够的矢量图绘制工具就显得很重要了. 画个小图用上AI/CorelDraw/Inkscape这些巨无霸似乎有些夸张, 而且我总是用不好这些软件里那个贝塞尔曲线工具 .. Google后也不会, 希望下次遇到个会用的人手把手教我一下 ..  <img src='http://www.road2stat.com/cn/wp-includes/images/smilies/icon_redface.gif' alt=':oops:' class='wp-smiley' /> </p>
<div id="attachment_541" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.road2stat.com/cn/attachments/2010/08/tetracube.png"><img class="size-full wp-image-541" title="ipe_tetracube" src="http://www.road2stat.com/cn/attachments/2010/08/tetracube.png" alt="ipe_tetracube" width="450" height="483" /></a><p class="wp-caption-text">Ipe绘制的图形示例</p></div>
<p>今天试用了一些专门的绘图宏包(PSTricks/PGF/TikZ)和GUI的手绘工具(TpX/Ipe/MetaGraf/Jpgfdraw/LaTeXDraw), 个人感觉还是Ipe比较好用, 图形简约自然, 风格十分贴近MetaPost等经典工具, 可以直接导出EPS/PDF, 又能直接嵌入TeX字符和公式(利用了PDFLaTeX). 有这些功能, 我已经满足了. 一个小小的遗憾是Ipe没有那个LaTeXDraw自带的坐标轴和网格绘制功能, 但手工画一下好像也不是很难.</p>
<p>特别值得注意的是，Ipe是支持编写扩展的. 其扩展叫做Ipelets. 官方释出的版本中已经自带了一些比较实用的Ipelets, 比如绘制任意边数的正多边形, 画三角形内切/外接圆等等功能简单的Ipelets, 更有Delaunay三角剖分等等与计算几何中Voronoi图相关的比较专业的Ipelets. 更让我惊讶的是, Ipe还与优秀的计算几何算法库CGAL建立了联系: CGAL Ipelets提供了对CGAL算法库的访问, 而这些Ipelets现在已经是CGAL的一部分. 可以在研究计算几何时作为辅助工具玩玩.</p>
<div id="attachment_542" class="wp-caption aligncenter" style="width: 470px"><a href="http://www.road2stat.com/cn/attachments/2010/08/ipelets.png"><img class="size-full wp-image-542" title="ipelets" src="http://www.road2stat.com/cn/attachments/2010/08/ipelets.png" alt="ipelets" width="460" height="312" /></a><p class="wp-caption-text">Ipe中自带的Ipelets</p></div>
<p>官方主页(The Ipe extensible drawing editor)：</p>
<p><a href="http://tclab.kaist.ac.kr/ipe/" target="_blank">http://tclab.kaist.ac.kr/ipe/</a></p>
<p>部分第三方Ipelets：</p>
<p><a href="http://tclab.kaist.ac.kr/ipe/ipelets.html" target="_blank">http://tclab.kaist.ac.kr/ipe/ipelets.html</a></p>
<p>下面的页面有很多绘图示例（基本上都是物理情境示意图）可以作为参照练习使用：</p>
<p><a href="http://melusine.eu.org/lab/ipe/" target="_blank">http://melusine.eu.org/lab/ipe</a></p>
<p>Ipe的缺点是不能精确控制图形, 对于一些牵涉数学的图形和较为复杂的、涉及计算的图形十分乏力, 不过在要求比较低时快速作个图还是可以的. 下面是一份网友制作的完整文档, 《经典力学学习札记》, 全部图形使用Ipe绘制, 可以大致看一下效果(由于dropbox目前被ooxx, 国内无法访问).</p>
<p><a href="http://dl.dropbox.com/u/4509593/Mech_tianyi/mech_tianyi.pdf" target="_blank">http://dl.dropbox.com/u/4509593/Mech_tianyi/mech_tianyi.pdf</a></p>
<p>p.s. 我很喜欢这个文档的风格, 行气很足, 很漂亮. 只是Adobe的免费宋体还是显得略细了些.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/tex_latex/ipe.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Big Bang</title>
		<link>http://www.road2stat.com/cn/r_language/the_big_bang.html</link>
		<comments>http://www.road2stat.com/cn/r_language/the_big_bang.html#comments</comments>
		<pubDate>Sat, 31 Jul 2010 15:34:36 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[R包]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=531</guid>
		<description><![CDATA[R中的igraph包在处理稍微大一点的数据集时显得乏力, 只好使用专门工具Pajek/Gephi助力.
贝吉塔哥哥去年的一张强图让我一直心向往之, 于是模仿了一个山寨版出来, 就是第一个图了, haha.
第二个图... ]]></description>
			<content:encoded><![CDATA[<div id="attachment_532" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/stars.png"><img class="size-medium wp-image-532" title="Fig 1. Stars" src="http://www.road2stat.com/cn/attachments/2010/07/stars-300x203.png" alt="Fig 1. Stars" width="300" height="203" /></a><p class="wp-caption-text">Fig 1. Stars</p></div>
<div id="attachment_533" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/networks.png"><img class="size-medium wp-image-533" title="Fig 2. Seaweeds" src="http://www.road2stat.com/cn/attachments/2010/07/networks-300x289.png" alt="Fig 2. Seaweeds" width="300" height="289" /></a><p class="wp-caption-text">Fig 2. Seaweeds</p></div>
<p>R中的igraph包在处理稍微大一点的数据集时显得乏力, 只好使用专门工具Pajek/Gephi助力.</p>
<p><a href="http://bjt.name/" target="_blank">贝吉塔</a>哥哥去年的一张强图让我一直心向往之, 于是模仿了一个山寨版出来, 就是第一个图了, haha.</p>
<p>第二个图么, 隐约能看出CRAN上R包依赖关系的一个大概. stats/methods/MASS这3个包真的没什么遗憾了 ..</p>
<p>这么看来, &#8220;It all started with the big BANG&#8221;的说法还真是有点意思.</p>
<p><a href="../attachments/2010/07/rpkgs.pdf">PDF  Version Here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/r_language/the_big_bang.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux Mint 9 + MAC地址修改 + H3C iNode第三方客户端接入测试</title>
		<link>http://www.road2stat.com/cn/unix_study/linux_h3c_inode.html</link>
		<comments>http://www.road2stat.com/cn/unix_study/linux_h3c_inode.html#comments</comments>
		<pubDate>Thu, 08 Jul 2010 18:21:26 +0000</pubDate>
		<dc:creator>Nan.Xiao</dc:creator>
				<category><![CDATA[UNIX]]></category>
		<category><![CDATA[H3C]]></category>
		<category><![CDATA[iNode]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MAC地址]]></category>
		<category><![CDATA[Mint]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[客户端]]></category>
		<category><![CDATA[第三方]]></category>

		<guid isPermaLink="false">http://www.road2stat.com/cn/?p=518</guid>
		<description><![CDATA[一个多月没更新了, 无奈期末突击忙. 丢上来一篇没什么技术含量的.
发这篇博文时, 遇到了一个很无语的问题, 预览不能, 草稿不能保存, 反复提示HTTP 501 Method Not Implemented, 不能以ＧＥＴ方式访问... ]]></description>
			<content:encoded><![CDATA[<p>一个多月没更新了, 无奈期末突击忙. 丢上来一篇没什么技术含量的.</p>
<p>发这篇博文时, 遇到了一个很无语的问题, 预览不能, 草稿不能保存, 反复提示HTTP 501 Method Not Implemented, 不能以ＧＥＴ方式访问post.php, Google一番后发现原来是因为主机的Apache启用了mod_security所致, 不能发表含有某些关键词的文章, 无语.</p>
<p>这个破烂规则<a href="http://www.gotroot.com/downloads/ftp/mod_security/rules.conf" target="_blank">就在这儿</a>, 有兴趣的可以看看.</p>
<p>用了这rule以后是避免webshell了, 可是大大的影响到用户体验了 .. 所以拜此mod所赐, 本文有一句英文命令是用全角打出来的, 使用时不要直接复制, 手动打一下. 而这个关键词, 大约就是／ｅｔｃ／之流.</p>
<p>由于Linux Mint 9 &#8220;Isadora&#8221;基于Ubuntu 10.04制作而成, 故本文所述亦适用于Ubuntu 10.04 LTS (Lucid Lynx).</p>
<p>我所在的铁道校区的校园网很bt, 上网时需要使用一个叫做H3C iNode客户端进行802.1x认证, 学校又在Server端绑定了客户机的MAC地址, 而我要使用另外一台只装了Linux Mint的台式机上网, 所以简单地把认证的过程记录一下, 也让后来的同学少走些弯路.</p>
<p>本文假设这台暂时无法上网的机器网卡原有的MAC地址为<strong>00:11:22:33:44:55</strong>, 可以进行认证上网的网卡MAC地址为<strong>AA:BB:CC:DD:EE:FF</strong>.</p>
<p><span id="more-518"></span></p>
<h3>修改MAC地址</h3>
<p>如果你在原来使用Windows可以正常上网的主力机器中安装了Linux Mint或Ubuntu, 那么大可跳过这步. 而我遇到的是一种极端的情况, 完全是另外一块网卡.</p>
<p>打开终端, 输入ifconfig, 查看想要修改MAC地址的那块以太网卡的名字. 一般情况下是eth0, Hwaddr后面就是这块网卡目前的MAC地址, 见图1.</p>
<div id="attachment_501" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_1.png"><img class="size-medium wp-image-501" title="图1" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_1-300x209.png" alt="图1" width="300" height="209" /></a><p class="wp-caption-text">图1</p></div>
<p>打开终端, 输入ｓｕｄｏ　ｇｅｄｉｔ／ ｅｔｃ／ｉｎｉｔ．ｄ／ｒｃ．ｌｏｃａｌ, 会询问root密码. 输入密码后将弹出gedit, 在rc.local的最后添加如下指令后保存:</p>
<p>sudo ifconfig eth0 down<br />
sudo ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF<br />
sudo ifconfig eth0 up</p>
<p>至于MAC地址AA:BB:CC:DD:EE:FF, 可在Windows下的命令提示符使用命令ipconfig -all获取.</p>
<p>重新启动.</p>
<h3>修改连接信息</h3>
<p>重启以后, 使用ifconfig查看一下是不是已经修改好了? 如图2.</p>
<div id="attachment_502" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_2.png"><img class="size-medium wp-image-502" title="图2" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_2-300x209.png" alt="图2" width="300" height="209" /></a><p class="wp-caption-text">图2</p></div>
<p>下面暂时告别一下终端, 使用图形界面进行修改会方便一些.</p>
<p>在桌面右下角的那个网络连接的icon上右键, &#8220;Edit Connections&#8230;&#8221;.</p>
<div id="attachment_503" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_3.png"><img class="size-medium wp-image-503" title="图3" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_3-300x145.png" alt="图3" width="300" height="145" /></a><p class="wp-caption-text">图3</p></div>
<p>在弹出窗口中选择Add, 在&#8221;Wired&#8221;这个Tab的MAC Address处填入AA:BB:CC:DD:EE:FF.</p>
<div id="attachment_504" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_4.png"><img class="size-medium wp-image-504" title="图4" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_4-300x286.png" alt="图4" width="300" height="286" /></a><p class="wp-caption-text">图4</p></div>
<p>切换到&#8221;IPv4 Settings&#8221;, 设置Method为Manual(手动), 点击&#8221;Add&#8221;, 在下面的Address, Netmask和Gateway处分别填入学校分配的IP地址/子网掩码/网关地址. 因为学校的政策不同, 所以可能有人不需要进行这步设置或要根据实际情况进行设置. 引用njit8021xclient的ReadMe里的一句话就是&#8221;如果你们学校配置的是动态分配IP地址, njit-RefreshIP会自动通知操作系统获取IP地址. 如果学校分配的是静态IP地址，则需要你在网络管理小程序(nm-applet)中手动设置IP地址.&#8221;</p>
<div id="attachment_505" class="wp-caption aligncenter" style="width: 285px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_5.png"><img class="size-medium wp-image-505" title="图5" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_5-275x300.png" alt="图5" width="275" height="300" /></a><p class="wp-caption-text">图5</p></div>
<p>右击网络连接icon, 勾掉&#8221;Enable Networking&#8221;, 即禁用网络连接. 等屏幕右上角Disconnect的提示蹦的差不多了以后, 再次勾选&#8221;Enable Networking&#8221;, 启用网络连接. 然后又会出现效果很炫的提示说Connection Established &#8230;</p>
<div id="attachment_506" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_6.png"><img class="size-medium wp-image-506" title="图6" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_6-300x145.png" alt="图6" width="300" height="145" /></a><p class="wp-caption-text">图6</p></div>
<h3>使用第三方客户端进行认证</h3>
<p>在可以上网的机器上, 去<a href="http://wiki.ubuntu.org.cn/%E5%8D%97%E4%BA%AC%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2802.1X%E5%AE%A2%E6%88%B7%E7%AB%AF" target="_blank">此页面</a>下载南京工程学院的同学们倾情制作的H3C iNode 802.1x第三方兼容客户端, 在这里我根据系统版本选择了2009年11月19日更新的版本.</p>
<p>用U盘将压缩包复制到Linux Mint(Ubuntu)中, 将解压后得到的两个文件&#8221;njit-client&#8221;和&#8221;njit-RefreshIP&#8221;放入 /home/你的用户名/ 目录下.</p>
<p>假设我们在H3C iNode中使用的认证用户名为username, 密码为password. 打开终端, 输入</p>
<p>sudo ./njit-client username password</p>
<p>出现如图7所示的认证信息即表示认证成功. 不要关闭这个终端窗口, 因为每隔几秒server端还会发包要求回应以检测你是不是仍然在线, 够bt吧. 至此已成功联网, 并持续稳定运行了几小时, 暂时没有发现问题.</p>
<div id="attachment_507" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_7.png"><img class="size-medium wp-image-507" title="图7" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_7-300x210.png" alt="图7" width="300" height="210" /></a><p class="wp-caption-text">图7</p></div>
<p>其实这里我还尝试了其他两个客户端, 一个是xclient作者flyx大侠制作的Linux兼容客户端, 实验失败. 华为官方放出的H3C iNode for Linux v3.60 E6208也不行, 不过原因似乎是学校的设备不支持版本号如此高的客户端.</p>
<div id="attachment_508" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_8.png"><img class="size-medium wp-image-508" title="图8" src="http://www.road2stat.com/cn/attachments/2010/07/h3c_inode_linux_8-300x247.png" alt="图8" width="300" height="247" /></a><p class="wp-caption-text">图8</p></div>
<p>(本文系纯技术测试, 请自行斟酌行为后果, 作者不承担任何责任)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.road2stat.com/cn/unix_study/linux_h3c_inode.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
