<?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>Life - WeiG &#187; Wei</title>
	<atom:link href="http://www.weigblog.com/author/gongwei/feed" rel="self" type="application/rss+xml" />
	<link>http://www.weigblog.com</link>
	<description>Yet another Life</description>
	<lastBuildDate>Thu, 05 Jan 2012 03:13:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>你的美国签证上几颗星——三签美国</title>
		<link>http://www.weigblog.com/2011/12/30/us-visa-3.html</link>
		<comments>http://www.weigblog.com/2011/12/30/us-visa-3.html#comments</comments>
		<pubDate>Fri, 30 Dec 2011 03:35:40 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Travelling]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=579</guid>
		<description><![CDATA[第一次不使用美商会办理美国B-1签证。从头到尾都是自己弄得，也没有助理帮忙准备材料，没想到还是一如既往轻松的搞定了。简述一下流程： 首先联系美国公司办理邀请函，在等待邀请函的同时，拿护照去中信银行买签证费，降价了，只需要910块。需要带护照原件去。顺便买了那个电话卡。顺便说一下，那个电话卡蛮贵的。接下来打电话约面签，照相。 现在只需要填写DS-160表格，取代了之前的DS-156和DS-157。而且全部网上填写，最后打印一个确认页就行了。而且照片也只需要电子版了。 事实证明，使馆是不知道你什么约的面签的。只有门口有个小窗口检查预约登记，所以说，只要你能混进第一个门，是不是已经预约面签是不重要的（实际上，我前面那个人就没有预约，直接混进来的）。 流程变化了很多，材料已经不是内部传递了，收材料之后，会再退还给你，面谈的时候直接给VO。我还是只带了基本材料，护照、DS-160、邀请函。面试过程还是一如既往的简单： VO：早上好，你去美国干什么？（VO默认用中文） 我：去参加一个meeting（我也用中文答） VO：How long will you stay in US? （是不是觉得不会英语去参加meeting，感觉有些别扭，这算是考察英语水平吗？） 我：2 weeks VO：Can you show me your previous passport? （因为有一个护照过期了） 我：（没说话，直接给他了） VO：你通过了。 总共面试过程又是1分多钟。 回过头来，说美国签证。一直有个疑问，就是签证照片下面通常会有几个星号。有一个星号的“*”，有两个星号的“**”，还有另一种两个星号“* *”（中间多个空格），我还见过三个星号“***”。网上搜索过，却一直没有明确的答案。基本说法有两种，一种是校验，另一种是信任度（或者敏感度，星越少越好）。 &#160;]]></description>
			<content:encoded><![CDATA[<p>第一次不使用美商会办理美国B-1签证。从头到尾都是自己弄得，也没有助理帮忙准备材料，没想到还是一如既往轻松的搞定了。简述一下流程：</p>
<p>首先联系美国公司办理邀请函，在等待邀请函的同时，拿护照去中信银行买签证费，降价了，只需要910块。需要带护照原件去。顺便买了那个电话卡。顺便说一下，那个电话卡蛮贵的。接下来打电话约面签，照相。</p>
<p>现在只需要填写DS-160表格，取代了之前的DS-156和DS-157。而且全部网上填写，最后打印一个确认页就行了。而且照片也只需要电子版了。</p>
<p>事实证明，使馆是不知道你什么约的面签的。只有门口有个小窗口检查预约登记，所以说，只要你能混进第一个门，是不是已经预约面签是不重要的（实际上，我前面那个人就没有预约，直接混进来的）。</p>
<p>流程变化了很多，材料已经不是内部传递了，收材料之后，会再退还给你，面谈的时候直接给VO。我还是只带了基本材料，护照、DS-160、邀请函。面试过程还是一如既往的简单：</p>
<p><strong>VO：</strong>早上好，你去美国干什么？（VO默认用中文）</p>
<p><strong>我：</strong>去参加一个meeting（我也用中文答）</p>
<p><strong>VO：</strong>How long will you stay in US? （是不是觉得不会英语去参加meeting，感觉有些别扭，这算是考察英语水平吗？）</p>
<p><strong>我：</strong>2 weeks</p>
<p><strong>VO：</strong>Can you show me your previous passport? （因为有一个护照过期了）</p>
<p><strong>我：</strong>（没说话，直接给他了）</p>
<p><strong>VO：</strong>你通过了。</p>
<p>总共面试过程又是1分多钟。</p>
<p>回过头来，说美国签证。一直有个疑问，就是签证照片下面通常会有几个星号。有一个星号的“*”，有两个星号的“**”，还有另一种两个星号“* *”（中间多个空格），我还见过三个星号“***”。网上搜索过，却一直没有明确的答案。基本说法有两种，一种是校验，另一种是信任度（或者敏感度，星越少越好）。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2011/12/30/us-visa-3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EMS现在NB大了——还有更差的服务吗？</title>
		<link>http://www.weigblog.com/2011/04/17/terrible-ems-service.html</link>
		<comments>http://www.weigblog.com/2011/04/17/terrible-ems-service.html#comments</comments>
		<pubDate>Sun, 17 Apr 2011 14:10:19 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[diary]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=573</guid>
		<description><![CDATA[EMS现在NB大了阿。因为前一阵旅行，家里没人，正好有一个EMS的快件到了，EMS配送人员就按照正常流程在门上留了一个条。上面大致内容为：您有一个编号为XXX的快件，但您家里没人，有无法联系。请按照下面电话联系投递部门，安排再次配送，否则12天后将被送回发件人。 13号回来以后，按照门条上的电话打过去到投递部，问：我前一阵不在国内，有个快递没收到，你们条上写的这个电话，你们能安排送一下吗？回答说：“不能”（我真的一个字都没改）。 我问为什么。估计接电话的大姐也觉得不合适了，就问了快递号。也说他们写字就能写清楚点儿，快递号里一个字符像0又像C，上面还有个拐弯。来回折腾了半天，接电话的大姐，说只能拿着条去投递部查。OK，谁让咱看不清您写的烂字呢。问地址，就说了个某路某角（除了“路”和“角”以外，都没听清），还没等我说话呢，来一个忙着收件呢，就给挂了。 这TM也太夸张了吧。北京市邮政速度物流有限公司张自忠营投部。]]></description>
			<content:encoded><![CDATA[<p>EMS现在NB大了阿。因为前一阵旅行，家里没人，正好有一个EMS的快件到了，EMS配送人员就按照正常流程在门上留了一个条。上面大致内容为：您有一个编号为XXX的快件，但您家里没人，有无法联系。请按照下面电话联系投递部门，安排再次配送，否则12天后将被送回发件人。</p>
<p>13号回来以后，按照门条上的电话打过去到投递部，问：我前一阵不在国内，有个快递没收到，你们条上写的这个电话，你们能安排送一下吗？回答说：“不能”（我真的一个字都没改）。</p>
<p>我问为什么。估计接电话的大姐也觉得不合适了，就问了快递号。也说他们写字就能写清楚点儿，快递号里一个字符像0又像C，上面还有个拐弯。来回折腾了半天，接电话的大姐，说只能拿着条去投递部查。OK，谁让咱看不清您写的烂字呢。问地址，就说了个某路某角（除了“路”和“角”以外，都没听清），还没等我说话呢，来一个忙着收件呢，就给挂了。</p>
<p>这TM也太夸张了吧。北京市邮政速度物流有限公司张自忠营投部。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2011/04/17/terrible-ems-service.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Debian Lenny升级到Squeeze后MySQL无法启动的问题</title>
		<link>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html</link>
		<comments>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html#comments</comments>
		<pubDate>Sun, 06 Feb 2011 09:22:29 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dpkg]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=564</guid>
		<description><![CDATA[今天把VPS从Debian Lenny升级到Squeeze了，却发现MySQL无法启动了。而且无法安装mysql-server，Debian在升级的时候，同时升级了mysql-server到5.1。 运行 返回的结果是： 解决方案： 然后重新安装mysql-server即可]]></description>
			<content:encoded><![CDATA[<p>今天把VPS从Debian Lenny升级到Squeeze了，却发现MySQL无法启动了。而且无法安装mysql-server，Debian在升级的时候，同时升级了mysql-server到5.1。</p>
<p>运行</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install mysql-server</pre>
<p>返回的结果是：</p>
<pre class="brush: bash; title: ; notranslate">
...
Unpacking mysql-server-5.1 (from .../mysql-server-5.1_5.1.49-3_amd64.deb) ...
Stopping MySQL database server: mysqld.
Selecting previously deselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.1.49-3_all.deb) ...
Processing triggers for man-db ...
Setting up mysql-client-5.1 (5.1.49-3) ...
Setting up mysql-server-5.1 (5.1.49-3) ...
Installing new version of config file /etc/init.d/mysql ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action &quot;start&quot; failed.
dpkg: error processing mysql-server-5.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.1; however:
  Package mysql-server-5.1 is not configured yet.
dpkg: error processing mysql-server (--configure):
 dependency problems - leaving unconfigured
configured to not write apport reports
                                      Errors were encountered while processing:
 mysql-server-5.1
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
</pre>
<p>解决方案：</p>
<pre class="brush: bash; title: ; notranslate">
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup
sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf
</pre>
<p>然后重新安装mysql-server即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2011/02/06/mysql-start-fail-when-upgrade-from-debian-lenny-to-squeeze.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>对于iPhone使用1年的感受</title>
		<link>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html</link>
		<comments>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html#comments</comments>
		<pubDate>Wed, 03 Nov 2010 13:45:10 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=557</guid>
		<description><![CDATA[iPhone正式使用差不多1年了。近来，越来越的人开始选择iPhone做为手机，尤其是iPhone4（话说iPhone4的屏幕真的相当不错）。当我第一眼看到iPhone4真机的时候，还是被震撼了，看到iPhone4的屏幕后，3GS的屏幕就只能用垃圾形容了。我自然动了再次更换iPhone的心。 在使用1年iPhone以后，还是对他有一些评价的。人们总是更多的注意到优点，而我则在此更多的提到他的缺点： 文件系统过于封闭。在未经过越狱的情况下，应用程序只能在自己的sandbox中运行，也自然只能访问sandbox中的文件。跨应用程序的访问，则只能限制在Camera Roll中的照片。由此则引发了更多的问题 邮件附件：iPhone的mail是没办法添加附件的（虽然可以通过复制的功能添加图片作为附件）。这就有一个很严重的问题，如果某人发了一个带有Word/Excel的邮件，需要我填写后发回去。mail几乎没办法做到的。虽然最新的iOS4已经允许在第三方应用中打开邮件附件，但却没有办法添加回mail中。（对此唯一的解决办法就是通过第三方应用发送邮件，但没办法回复到同一个thread里面）。 文件共享：文件不能在两个设备之间传送（通过蓝牙或者WiFi，除了图片），当然iPhone里压根就没有文件管理器（所谓的文件管理器，只是管理自己sandbox的文件）。 邮件：在回复和转发的时候，邮件头并不像Outlook那样，会显示“From：”，“To：”，“CC：”，“BCC：”，“Subject”等，而是只写着“On &#60;date/time&#62;, &#60;someone&#62; wrote:”或者“Below is the forwarded message:”，紧跟着邮件正文。这种情况下，你是看不到之前的被转发的邮件，哪些人已经看到了邮件。对于同一封邮件，一大堆收件人的情况，非常不方便。 费电，非常费电：由于工作关系，我开启3G、推送邮件，手机基本上坚持24小时都已经是奇迹了。 同步：你只能在特定的某台电脑上同步你的手机，而当你尝试在其他电脑上同步，会看到提示要删除设备上的所有对象。 视频通话：即使是最新的iPhone4，也只能实现在WiFi网络下的的FaceTime；而无论是现在哪款iPhone，都不能实现在3G网络下“标准”的视频通话。 不支持Flash 短信没有发送回执：这年头，短信回执已经是很多手机的标配了。虽然Windows Mobile手机的短信回执很垃圾，但总比没有强。短信回执最好的应该就是Sony Ericsson的手机了。每个发送的消息都被标记上一个图标，当发送成功，收到短信回执以后，图标会变成一个对勾，表示发送成功。 彩信显示没有播放，没有分页：彩信在iPhone上会被展开成每一条独立的消息，类似中国移动的“新闻早晚报”这样的消息，在iPhone上看起来，就会连在一起，阅读体验非常之差。并且，彩信的打开速度很慢。 最后说说优点： 屏幕效果真的非常好 界面效果和用户体验真的非常棒 整体设计真的非常漂亮 注：以上均为在“未越狱”的情况下的评价。如果越狱（Jail Break），以上很多功能都可以实现。]]></description>
			<content:encoded><![CDATA[<p>iPhone正式使用差不多1年了。近来，越来越的人开始选择iPhone做为手机，尤其是iPhone4（话说iPhone4的屏幕真的相当不错）。当我第一眼看到iPhone4真机的时候，还是被震撼了，看到iPhone4的屏幕后，3GS的屏幕就只能用垃圾形容了。我自然动了再次更换iPhone的心。</p>
<p>在使用1年iPhone以后，还是对他有一些评价的。人们总是更多的注意到优点，而我则在此更多的提到他的缺点：</p>
<ol>
<li>文件系统过于封闭。在未经过越狱的情况下，应用程序只能在自己的sandbox中运行，也自然只能访问sandbox中的文件。跨应用程序的访问，则只能限制在Camera Roll中的照片。由此则引发了更多的问题</li>
<li>邮件附件：iPhone的mail是没办法添加附件的（虽然可以通过复制的功能添加图片作为附件）。这就有一个很严重的问题，如果某人发了一个带有Word/Excel的邮件，需要我填写后发回去。mail几乎没办法做到的。虽然最新的iOS4已经允许在第三方应用中打开邮件附件，但却没有办法添加回mail中。（对此唯一的解决办法就是通过第三方应用发送邮件，但没办法回复到同一个thread里面）。</li>
<li>文件共享：文件不能在两个设备之间传送（通过蓝牙或者WiFi，除了图片），当然iPhone里压根就没有文件管理器（所谓的文件管理器，只是管理自己sandbox的文件）。</li>
<li>邮件：在回复和转发的时候，邮件头并不像Outlook那样，会显示“From：”，“To：”，“CC：”，“BCC：”，“Subject”等，而是只写着“On &lt;date/time&gt;, &lt;someone&gt; wrote:”或者“Below is the forwarded message:”，紧跟着邮件正文。这种情况下，你是看不到之前的被转发的邮件，哪些人已经看到了邮件。对于同一封邮件，一大堆收件人的情况，非常不方便。</li>
<li>费电，非常费电：由于工作关系，我开启3G、推送邮件，手机基本上坚持24小时都已经是奇迹了。</li>
<li>同步：你只能在特定的某台电脑上同步你的手机，而当你尝试在其他电脑上同步，会看到提示要删除设备上的所有对象。</li>
<li>视频通话：即使是最新的iPhone4，也只能实现在WiFi网络下的的FaceTime；而无论是现在哪款iPhone，都不能实现在3G网络下“标准”的视频通话。</li>
<li>不支持Flash</li>
<li>短信没有发送回执：这年头，短信回执已经是很多手机的标配了。虽然Windows Mobile手机的短信回执很垃圾，但总比没有强。短信回执最好的应该就是Sony Ericsson的手机了。每个发送的消息都被标记上一个图标，当发送成功，收到短信回执以后，图标会变成一个对勾，表示发送成功。</li>
<li>彩信显示没有播放，没有分页：彩信在iPhone上会被展开成每一条独立的消息，类似中国移动的“新闻早晚报”这样的消息，在iPhone上看起来，就会连在一起，阅读体验非常之差。并且，彩信的打开速度很慢。</li>
</ol>
<p>最后说说优点：</p>
<ol>
<li>屏幕效果真的非常好</li>
<li>界面效果和用户体验真的非常棒</li>
<li>整体设计真的非常漂亮</li>
</ol>
<p>注：以上均为在“未越狱”的情况下的评价。如果越狱（Jail Break），以上很多功能都可以实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/11/03/evaluate-iphone-after-1-year.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Debian上安装l2tpd/IPSec VPN服务</title>
		<link>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html</link>
		<comments>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:21:31 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=546</guid>
		<description><![CDATA[本文主要介绍在Debian Lenny下安装l2tpd/IPSec VPN服务。 配置openswan 运行如下命令安装openswan 编辑/etc/ipsec.conf，修改如下行： 并在在文件最后一行，加上： 复制l2tp-psk.conf文件 编辑l2tp-psk.conf文件，修改如下，并将其中的YOUR.IP.ADDRESS.HERE替换为主机的IP地址： 编辑/etc/ipsec.secrets文件，其中YourPSKHere为将来PSK的Secret，YOUR.IP.ADDRESS.HERE为主机IP: 禁用accept_redirects和send_redirects，运行如下的命令（可能需要root用户权限） IPSec的配置就已经结束了。可以运行 来确认配置是否正确。输出的结果如下： 最后一项的DISABLED并不会影响配置。另外，如果在检测Pluto时提示了Command not found。请安装lsof。 重新启动ipsec，使配置生效 配置xl2tpd 运行如下命令安装xl2tpd 编辑/etc/xl2tpd/xl2tpd.conf 复制/etc/ppp/options.l2tpd 编辑/etc/ppp/options.l2tpd，修改其中项目如下： 配置VPN用户，编辑/etc/ppp/chap-secrets文件，添加如下行（替换其中的username为今后登录的用户名，password为密码） 启动xl2tpd 设置iptables转发 设置ipv4转发，修改/etc/sysctl.conf中的如下行： 运行如下命令： l2tp VPN至此就已经配置完了。使用如下参数配置VPN客户端，即可连接： 服务器（Server）：YOUR.IP.ADDRESS.HERE （或对应的域名） 用户名（Username）：username （在/etc/ppp/chap-secrets） 密码（Password):password （在/etc/ppp/chap-secrets） 密钥（PSK/Secret):YourPSKHere （在/etc/ipsec.secret中配置的） 如果客户端连接显示“server did not respond”，通常说明openswan的版本不对，Debian Lenny自带的版本貌似有些问题。在命令行运行如下命令，即可安装openswan-2.6.24：]]></description>
			<content:encoded><![CDATA[<p>本文主要介绍在Debian Lenny下安装l2tpd/IPSec VPN服务。</p>
<p><strong>配置openswan</strong></p>
<p>运行如下命令安装openswan</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install openswan</pre>
<p>编辑/etc/ipsec.conf，修改如下行：</p>
<pre class="brush: bash; title: ; notranslate">
net_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
protostack=netkey
</pre>
<p>并在在文件最后一行，加上：</p>
<pre class="brush: bash; title: ; notranslate">include /etc/ipsec.d/l2tp-psk.conf</pre>
<p>复制l2tp-psk.conf文件</p>
<pre class="brush: bash; title: ; notranslate">cp /etc/ipsec.d/examples/l2tp-psk.conf /etc/ipsec.d/l2tp-psk.conf</pre>
<p>编辑l2tp-psk.conf文件，修改如下，并将其中的YOUR.IP.ADDRESS.HERE替换为主机的IP地址：</p>
<pre class="brush: bash; title: ; notranslate">
conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=YOUR.IP.ADDRESS.HERE
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
</pre>
<p>编辑/etc/ipsec.secrets文件，其中YourPSKHere为将来PSK的Secret，YOUR.IP.ADDRESS.HERE为主机IP:</p>
<pre class="brush: bash; title: ; notranslate">YOUR.IP.ADDRESS.HERE %any: PSK &quot;YourPSKHere&quot;</pre>
<p>禁用accept_redirects和send_redirects，运行如下的命令（可能需要root用户权限）</p>
<pre class="brush: bash; title: ; notranslate">
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 &gt; $each/accept_redirects
    echo 0 &gt; $each/send_redirects
done
</pre>
<p>IPSec的配置就已经结束了。可以运行</p>
<pre class="brush: bash; title: ; notranslate">sudo ipsec verify</pre>
<p>来确认配置是否正确。输出的结果如下：</p>
<pre class="brush: bash; title: ; notranslate">
$ sudo ipsec verify

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.24/K2.6.18.8-x86_64-linode10 (netkey)
Checking for IPsec support in kernel                            [OK]
NETKEY detected, testing for disabled ICMP send_redirects       [OK]
NETKEY detected, testing for disabled ICMP accept_redirects     [OK]
Checking for RSA private key (/etc/ipsec.secrets)               [OK]
Checking that pluto is running                                  [OK]
Pluto listening for IKE on udp 500                              [OK]
Pluto listening for NAT-T on udp 4500                           [OK]
Two or more interfaces found, checking IP forwarding            [OK]
Checking NAT and MASQUERADEing
Checking for 'ip' command                                       [OK]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]
</pre>
<p>最后一项的DISABLED并不会影响配置。另外，如果在检测Pluto时提示了Command not found。请安装lsof。</p>
<p>重新启动ipsec，使配置生效</p>
<pre class="brush: bash; title: ; notranslate">sudo /etc/init.d/ipsec restart</pre>
<p><strong>配置xl2tpd</strong></p>
<p>运行如下命令安装xl2tpd</p>
<pre class="brush: bash; title: ; notranslate">sudo apt-get install xl2tpd</pre>
<p>编辑/etc/xl2tpd/xl2tpd.conf</p>
<pre class="brush: bash; title: ; notranslate">
[global]
ipsec saref = yes

[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
length bit = yes
;require chap = yes
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
</pre>
<p>复制/etc/ppp/options.l2tpd</p>
<pre class="brush: bash; title: ; notranslate">cp /etc/ppp/options /etc/ppp/options.l2tpd</pre>
<p>编辑/etc/ppp/options.l2tpd，修改其中项目如下：</p>
<pre class="brush: bash; title: ; notranslate">
require-mschap-v2
ms-dns 208.67.222.222
ms-dns 208.67.220.220
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
</pre>
<p>配置VPN用户，编辑/etc/ppp/chap-secrets文件，添加如下行（替换其中的username为今后登录的用户名，password为密码）</p>
<pre class="brush: bash; title: ; notranslate">username l2tpd password *</pre>
<p>启动xl2tpd</p>
<pre class="brush: bash; title: ; notranslate">sudo /etc/init.d/xl2tpd restart</pre>
<p>设置iptables转发</p>
<pre class="brush: bash; title: ; notranslate">
iptables –table nat –append POSTROUTING –jump MASQUERADE
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
</pre>
<p>设置ipv4转发，修改/etc/sysctl.conf中的如下行：</p>
<pre class="brush: bash; title: ; notranslate">net.ipv4.ip_forward=1</pre>
<p>运行如下命令：</p>
<pre class="brush: bash; title: ; notranslate">sysctl -p</pre>
<p>l2tp VPN至此就已经配置完了。使用如下参数配置VPN客户端，即可连接：<br />
服务器（Server）：YOUR.IP.ADDRESS.HERE （或对应的域名）<br />
用户名（Username）：username （在/etc/ppp/chap-secrets）<br />
密码（Password):password （在/etc/ppp/chap-secrets）<br />
密钥（PSK/Secret):YourPSKHere （在/etc/ipsec.secret中配置的）</p>
<p>如果客户端连接显示“server did not respond”，通常说明openswan的版本不对，Debian Lenny自带的版本貌似有些问题。在命令行运行如下命令，即可安装openswan-2.6.24：</p>
<pre class="brush: bash; title: ; notranslate">
sudo aptitude install libgmp3-dev gawk flex bison
wget http://www.openswan.org/download/openswan-2.6.24.tar.gz
tar xf openswan-2.6.24.tar.gz
cd openswan-2.6.24
make programs
sudo make install
sudo apt-get remove openswan
sudo /etc/init.d/ipsec restart
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/06/24/setup-l2tpd-ipsec-vpn-debian.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>月租50块、100块、400块和600块车位的区别</title>
		<link>http://www.weigblog.com/2010/06/13/parking-beijing.html</link>
		<comments>http://www.weigblog.com/2010/06/13/parking-beijing.html#comments</comments>
		<pubDate>Sun, 13 Jun 2010 13:55:39 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[diary]]></category>
		<category><![CDATA[fee]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[parking]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=543</guid>
		<description><![CDATA[每月50块的： 只是进门费，没车位就不让进。 每月100块的： 随便进，随便停，只要不堵路中间。 每月400块的： 随便进，保证有车位了，就是你得慢慢找。B1没有去B2，B2没有去B3，总有一位留给你。 每月600块的： 进门问好，出门帮忙刷卡。这个车位就是你的，谁给占了，保安帮你打架去。]]></description>
			<content:encoded><![CDATA[<p><strong>每月50块的：</strong></p>
<p>只是进门费，没车位就不让进。</p>
<p><strong>每月100块的：</strong></p>
<p>随便进，随便停，只要不堵路中间。</p>
<p><strong>每月400块的：</strong></p>
<p>随便进，保证有车位了，就是你得慢慢找。B1没有去B2，B2没有去B3，总有一位留给你。</p>
<p><strong>每月600块的：</strong></p>
<p>进门问好，出门帮忙刷卡。这个车位就是你的，谁给占了，保安帮你打架去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/06/13/parking-beijing.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>解决在Mac OSX下无法mount AFP的share的问题</title>
		<link>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html</link>
		<comments>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html#comments</comments>
		<pubDate>Sun, 30 May 2010 13:31:58 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[afp]]></category>
		<category><![CDATA[connecting]]></category>
		<category><![CDATA[guest]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[registered]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=542</guid>
		<description><![CDATA[最近突然发现，一直以来用的挺好的AFP服务，突然不能访问了。具体的现象如下： 使用Registered User打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，一直显示Connecting，没有反应 使用Guest打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，能够列出部分share的列表 通过Finder的Connect to Server，可以连接任何指定的AFP share 通过Finder的Connect to Server，只指定服务器名称，而不包含AFP share的名字（如：afp://192.168.1.10/），能够列出全部的share，但选择其中一个share并连接，一直显示Connecting，没有反应 一直以为是NAS的AFP服务出了问题，但无论是重新启动AFP服务，还是重新启动Bonjour服务，甚至是重新启动NAS服务器，都无法解决。 之后想到了是OSX的问题，但重新启动OSX后，也没有任何好转。通过日志也没有找到任何相关的信息。 经过一段时间的搜索，终于发现了该问题的原因：是OSX在share的最顶层目录中写入了OSX特有的一些隐藏文件和文件夹。通过Web File Manager或者SSH删除这些文件和文件夹后，问题解决。这些文件包括： .AppleDB .AppleDesktop .AppleDouble .TemporaryItems :2eTemporaryItems Network Trash Folder Temporary Items ._.TemporaryItems .DS_Store :2eDS_Store 另外，还可以禁止OSX在网络设备上创建resource fork的文件。在Terminal中，输入如下命令并重新登录即可：]]></description>
			<content:encoded><![CDATA[<p>最近突然发现，一直以来用的挺好的AFP服务，突然不能访问了。具体的现象如下：</p>
<ol>
<li>使用<span style="color: #ff0000;">Registered User</span>打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，一直显示Connecting，没有反应</li>
<li>使用<span style="color: #ff0000;">Guest</span>打开通过Bonjour服务显示在Finder侧边栏的AFP服务，点击以后，能够列出部分share的列表</li>
<li>通过Finder的Connect to Server，可以连接任何指定的AFP share</li>
<li>通过Finder的Connect to Server，只指定服务器名称，而不包含AFP share的名字（如：afp://192.168.1.10/），能够列出全部的share，但选择其中一个share并连接，一直显示Connecting，没有反应</li>
</ol>
<p>一直以为是NAS的AFP服务出了问题，但无论是重新启动AFP服务，还是重新启动Bonjour服务，甚至是重新启动NAS服务器，都无法解决。</p>
<p>之后想到了是OSX的问题，但重新启动OSX后，也没有任何好转。通过日志也没有找到任何相关的信息。</p>
<p>经过一段时间的搜索，终于发现了该问题的原因：是OSX在share的最顶层目录中写入了OSX特有的一些隐藏文件和文件夹。通过Web File Manager或者SSH删除这些文件和文件夹后，问题解决。这些文件包括：</p>
<ul>
<li>.AppleDB</li>
<li>.AppleDesktop</li>
<li>.AppleDouble</li>
<li>.TemporaryItems</li>
<li>:2eTemporaryItems</li>
<li>Network Trash Folder</li>
<li>Temporary Items</li>
<li>._.TemporaryItems</li>
<li>.DS_Store</li>
<li>:2eDS_Store</li>
</ul>
<p>另外，还可以禁止OSX在网络设备上创建resource fork的文件。在Terminal中，输入如下命令并重新登录即可：</p>
<pre class="brush: bash; title: ; notranslate">defaults write com.apple.desktopservices DSDontWriteNetworkStores true</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/05/30/cannot-mount-afp-share-in-osx.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrate Single Disk to RAID5 in QNAP 409 Pro</title>
		<link>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html</link>
		<comments>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html#comments</comments>
		<pubDate>Sun, 11 Apr 2010 07:40:12 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ts-409-pro]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=539</guid>
		<description><![CDATA[由于NAS上的硬盘即将告急，又赶上近期硬盘稍有降价。就趁机添置了2块1TB的硬盘，准备添加到NAS上使用。目前的情况是，当硬盘容量超过1TB时，一个好的灾难恢复机制就显得非常重要了。3块硬盘正好组建RAID5，可以容许1块硬盘损坏，但总容量则变为：最小单块容量×（硬盘数－1）。 QNAP 409 Pro号称有Online RAID Migration功能，我的理解就是，所谓Online，就是所有的服务都不需要停止，也不会在此过程中出现中断。然而，QNAP的RAID迁移过程，还是让我受了不少罪的。 Day 1：直接在Web管理界面上选择Single Disk，然后迁移到RAID5。迁移过程开始后，进度基本按照每半小时1%的速度进行着。在将近48小时的时候，未知原因，迁移过程中断。没有错误提示，没有日志，没有数据丢失。 Day 3：经过搜索论坛后，发现有人与我有类似的经历，解决的的方法是关掉所有的后台服务。依此进行，关掉全部AFP、SAMBA、MySQL等服务。仍然是在50%的位置中断。在SSH查看过程时，发现前10%有个mke2fs的进程；从11%到50%，则有一个cp -a的进程。 Day 5：重新启动NAS，确保kill掉所有的无关进程，重新迁移。从11%起，硬盘进入Read Only模式。但在50%时，再次中断。此时却发现_httpd_进程没有了，web管理页面自然也就没有了，重启后仍然没有。 Day 7：准备采取最后的方案，备份数据，然后重新设置服务器。在备份数据的时候，突然想到其他的方案。采用其他的迂回方案。首先remove以前的Single Disk，插入新的2块硬盘。在Web页面（经过换盘重启后不知道什么原因恢复了），创建新的RAID1（镜像）。然后在线插入以前的硬盘，识别后，通过SSH，将全部数据复制到新的Volume里面。接下来重新从Web管理页面将RAID1迁移到RAID5。然而，我却发现，这个迁移过程和之前的过程如出一辙，仍然是将RAID1的一块硬盘，与新硬盘组成一个新的Volume，然后把旧的数据复制进去。再进行迁移。可这次居然再50%之后没有停下来，Web页面能够看到迁移过程，提示剩余600分钟。。在此经过大约8小时，迁移完成，数据也没有丢失。 Single Disk to RAID 5的迁移过程 这个迁移的过程，貌似有些山寨： 新增的两块硬盘，组成新的Volume（degraded RAID5），加载点为/share/mdx_tmp（迁移过程的0%到10%） 通过cp，直接复制旧数据到新的volume，在此过程中，磁盘属于Read Only模式（迁移过程的11%到50%） 将旧的磁盘格式化，合并到新的volume里面 通过RAID5的sync，最终实现RAID5 RAID1迁移到RAID5的过程与之类似，因为RAID1两块硬盘互为镜像，所以迁移的过程中，可以直接断开一块硬盘，并执行上面的过程。 从这里看出来，这个迁移过程并不能算是完全的“online”。首先，需要停止所有的网络服务（包括SAMBA，AFP等）；其次，即使可以不停止这些服务，迁移过程的11%～50%也是Read Only模式的，并不能实现完整的服务。 这里的经验是： 迁移之前，停止所有的服务，并且停止所有有访问硬盘的进程 备份，迁移之前备份还是非常重要的 大约1TB的数据，迁移的时间大约为72小时。其中创建degraded RAID5大约需要2个小时，复制数据需要48小时，剩下的大约24小时为最后的迁移和sync的过程]]></description>
			<content:encoded><![CDATA[<p>由于NAS上的硬盘即将告急，又赶上近期硬盘稍有降价。就趁机添置了2块1TB的硬盘，准备添加到NAS上使用。目前的情况是，当硬盘容量超过1TB时，一个好的灾难恢复机制就显得非常重要了。3块硬盘正好组建RAID5，可以容许1块硬盘损坏，但总容量则变为：最小单块容量×（硬盘数－1）。</p>
<p>QNAP 409 Pro号称有Online RAID Migration功能，我的理解就是，所谓Online，就是所有的服务都不需要停止，也不会在此过程中出现中断。然而，QNAP的RAID迁移过程，还是让我受了不少罪的。</p>
<p>Day 1：直接在Web管理界面上选择Single Disk，然后迁移到RAID5。迁移过程开始后，进度基本按照每半小时1%的速度进行着。在将近48小时的时候，未知原因，迁移过程中断。没有错误提示，没有日志，没有数据丢失。</p>
<p>Day 3：经过搜索论坛后，发现有人与我有类似的经历，解决的的方法是关掉所有的后台服务。依此进行，关掉全部AFP、SAMBA、MySQL等服务。仍然是在50%的位置中断。在SSH查看过程时，发现前10%有个mke2fs的进程；从11%到50%，则有一个cp -a的进程。</p>
<p>Day 5：重新启动NAS，确保kill掉所有的无关进程，重新迁移。从11%起，硬盘进入Read Only模式。但在50%时，再次中断。此时却发现_httpd_进程没有了，web管理页面自然也就没有了，重启后仍然没有。</p>
<p>Day 7：准备采取最后的方案，备份数据，然后重新设置服务器。在备份数据的时候，突然想到其他的方案。采用其他的迂回方案。首先remove以前的Single Disk，插入新的2块硬盘。在Web页面（经过换盘重启后不知道什么原因恢复了），创建新的RAID1（镜像）。然后在线插入以前的硬盘，识别后，通过SSH，将全部数据复制到新的Volume里面。接下来重新从Web管理页面将RAID1迁移到RAID5。然而，我却发现，这个迁移过程和之前的过程如出一辙，仍然是将RAID1的一块硬盘，与新硬盘组成一个新的Volume，然后把旧的数据复制进去。再进行迁移。可这次居然再50%之后没有停下来，Web页面能够看到迁移过程，提示剩余600分钟。。在此经过大约8小时，迁移完成，数据也没有丢失。</p>
<p><strong>Single Disk to RAID 5的迁移过程</strong></p>
<p>这个迁移的过程，貌似有些山寨：</p>
<ol>
<li>新增的两块硬盘，组成新的Volume（degraded RAID5），加载点为/share/mdx_tmp（迁移过程的0%到10%）</li>
<li>通过cp，直接复制旧数据到新的volume，在此过程中，磁盘属于Read Only模式（迁移过程的11%到50%）</li>
<li>将旧的磁盘格式化，合并到新的volume里面</li>
<li>通过RAID5的sync，最终实现RAID5</li>
</ol>
<p>RAID1迁移到RAID5的过程与之类似，因为RAID1两块硬盘互为镜像，所以迁移的过程中，可以直接断开一块硬盘，并执行上面的过程。</p>
<p>从这里看出来，这个迁移过程并不能算是完全的“online”。首先，需要停止所有的网络服务（包括SAMBA，AFP等）；其次，即使可以不停止这些服务，迁移过程的11%～50%也是Read Only模式的，并不能实现完整的服务。</p>
<p>这里的经验是：</p>
<ul>
<li>迁移之前，停止所有的服务，并且停止所有有访问硬盘的进程</li>
<li>备份，迁移之前备份还是非常重要的</li>
<li>大约1TB的数据，迁移的时间大约为72小时。其中创建degraded RAID5大约需要2个小时，复制数据需要48小时，剩下的大约24小时为最后的迁移和sync的过程</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/04/11/migrate-single-disk-to-raid5-in-qnap-409-pro.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linode VPS上安装pptpd VPN服务</title>
		<link>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html</link>
		<comments>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html#comments</comments>
		<pubDate>Thu, 11 Feb 2010 16:52:47 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=537</guid>
		<description><![CDATA[从购买了Linode VPS服务之后，就一直考虑弄个VPN。今天终于实现了，该文档讲述了如何在Linode上配置基于pptpd的VPN服务，以及一些troubleshooting的问题。 前提：必须有VPS；必须有SSH。 接下来的步骤将完成pptpd的安装： 安装pptpd服务 修改pptpd服务的配置文件/etc/pptpd.conf（只需要修改最后的localip和remoteip部分）： 修改/etc/ppp/chap-secrets文件 设置pptpd的DNS服务器，修改/etc/ppp/pptpd-options文件： 设置ip4v转发，修改/etc/sysctl.conf文件，去掉如下行的注释： 使ipv4转发生效，运行： 重新启动pptpd服务，运行： 开启ipv4转发，运行如下命令： 需要注意的是，我的VPS不知为什么，FORWARD rule默认的action是DROP（可能是由于我之前配制了防火墙的缘故。这也令我在一段时间内，纠结于为啥VPN无法正常转发。]]></description>
			<content:encoded><![CDATA[<p>从购买了Linode VPS服务之后，就一直考虑弄个VPN。今天终于实现了，该文档讲述了如何在Linode上配置基于pptpd的VPN服务，以及一些troubleshooting的问题。</p>
<p><strong>前提：</strong>必须有VPS；必须有SSH。</p>
<p>接下来的步骤将完成pptpd的安装：</p>
<ol>
<li>安装pptpd服务
<pre class="brush: bash; title: ; notranslate">sudo apt-get install pptpd</pre>
</li>
<li>修改pptpd服务的配置文件/etc/pptpd.conf（只需要修改最后的localip和remoteip部分）：
<pre class="brush: bash; title: ; notranslate">
localip 192.168.10.1
remoteip 192.168.10.100-150
</pre>
</li>
<li>修改/etc/ppp/chap-secrets文件
<pre class="brush: bash; title: ; notranslate">username pptpd password *</pre>
</li>
<li>设置pptpd的DNS服务器，修改/etc/ppp/pptpd-options文件：
<pre class="brush: bash; title: ; notranslate">
ms-dns 208.67.222.222
ms-dns 208.67.220.220
</pre>
</li>
<li>设置ip4v转发，修改/etc/sysctl.conf文件，去掉如下行的注释：
<pre class="brush: bash; title: ; notranslate">net.ipv4.ip_forward=1</pre>
</li>
<li>使ipv4转发生效，运行：
<pre class="brush: bash; title: ; notranslate">sysctl -p</pre>
</li>
<li>重新启动pptpd服务，运行：
<pre class="brush: bash; title: ; notranslate">/etc/init.d/pptpd restart</pre>
</li>
<li>开启ipv4转发，运行如下命令：
<pre class="brush: bash; title: ; notranslate">
/sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
/sbin/iptables -p FORWARD ACCEPT
</pre>
</li>
</ol>
<p>需要注意的是，我的VPS不知为什么，FORWARD rule默认的action是DROP（可能是由于我之前配制了防火墙的缘故。这也令我在一段时间内，纠结于为啥VPN无法正常转发。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/02/12/linode-vps-pptpd-vpn.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iPhone通讯录中文条目在英文环境下的排序问题</title>
		<link>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html</link>
		<comments>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html#comments</comments>
		<pubDate>Sat, 30 Jan 2010 15:33:35 +0000</pubDate>
		<dc:creator>Wei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[sort]]></category>

		<guid isPermaLink="false">http://www.weigblog.com/?p=527</guid>
		<description><![CDATA[由于工作的关系，另一方面是iPhone中文翻译的习惯问题，我个人更偏向在英文系统下操作iPhone。iPhone的操作系统可以完美的支持各国语言文字和风格，但是在英文环境下，通讯录的中文条目将无法按照中文的习惯排序，更无法分类在右侧的首字母分类中，如下图所示： 这些联系人被分类到#中，且“兰”、“关”、“冯”、“刘”的排序顺序也是不正确的。实际上这些问题在中文环境中确实没有问题的。在非jailbreak环境下，也无法通过修改系统文件的方法修改排序方式。 使用如下的方法，即可正确的将联系人分类，且排序也是正常的。 首先选择一个联系人，进入编辑状态。点击最下面的add field。再选中Phonetic Last Name。 输入该联系的拼音。用同样的方法添加Phonetic First Name。添加后，在联系人中会显示该联系人的拼音姓名。 回到通讯录列表，即可看到联系人正确的显示在列表中，且无论是在Contact还是Phone中，都可以正确排序和分类。连Search中也可以使用拼音排序。]]></description>
			<content:encoded><![CDATA[<p>由于工作的关系，另一方面是iPhone中文翻译的习惯问题，我个人更偏向在英文系统下操作iPhone。iPhone的操作系统可以完美的支持各国语言文字和风格，但是在英文环境下，通讯录的中文条目将无法按照中文的习惯排序，更无法分类在右侧的首字母分类中，如下图所示：</p>
<p><img class="aligncenter size-full wp-image-528" title="IMG_0046" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_0046.png" alt="" width="320" height="480" />这些联系人被分类到#中，且“兰”、“关”、“冯”、“刘”的排序顺序也是不正确的。实际上这些问题在中文环境中确实没有问题的。在非jailbreak环境下，也无法通过修改系统文件的方法修改排序方式。</p>
<p>使用如下的方法，即可正确的将联系人分类，且排序也是正常的。</p>
<p>首先选择一个联系人，进入编辑状态。点击最下面的add field。再选中Phonetic Last Name。</p>
<p><img class="aligncenter size-full wp-image-529" title="IMG_0048" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_0048.png" alt="" width="320" height="480" />输入该联系的拼音。用同样的方法添加Phonetic First Name。添加后，在联系人中会显示该联系人的拼音姓名。</p>
<p><img class="aligncenter size-full wp-image-530" title="IMG_00491" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_00491.jpg" alt="" width="320" height="480" />回到通讯录列表，即可看到联系人正确的显示在列表中，且无论是在Contact还是Phone中，都可以正确排序和分类。连Search中也可以使用拼音排序。</p>
<p><img class="aligncenter size-full wp-image-534" title="IMG_0051" src="http://www.weigblog.com/wp-content/uploads/2010/01/IMG_00511.jpg" alt="" width="644" height="480" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weigblog.com/2010/01/30/iphone-address-english-sort.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

