<?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>记录点滴 &#187; Linux</title>
	<atom:link href="http://ganquan.org/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://ganquan.org/blog</link>
	<description>http://ganquan.org</description>
	<lastBuildDate>Sat, 19 May 2012 14:08:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>发现一个Virtualbox的bug</title>
		<link>http://ganquan.org/blog/2010/11/virtualbox-bug/</link>
		<comments>http://ganquan.org/blog/2010/11/virtualbox-bug/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 13:08:50 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1380</guid>
		<description><![CDATA[写了个toy，线程A依次以红色{255,0,0}，绿色{0,255,0},蓝色{0,0,255},白色{255, 255, 255}，灰色{110, 110, 110}写入整个fb设备，每一种颜色写入完毕后都通知线程B读取fb设备的全部像素输出为jpeg格式的图片，B线程输出图像完毕后通知A线程继续写入下一种颜色。也就是说，两个线程是同步工作的。 内核启动参数设为vga=0&#215;0318，意思是分辨率为1024&#215;768，颜色为24bits。 Host OS是Win XP，虚拟机是Virtualbox3.2.10，Guest OS是Debian testing。测试时发现，Virtualbox中显示的颜色是完全正确的，但B线程输出的jpeg图片中，只有红色和绿色是正确的，剩下的三种颜色都错了：蓝色变成了黑色，白色变成了黄色，灰色变成了暗黄色。我查了很久都没找到原因。 只好换一个环境试试。 Host OS还是Win xp，虚拟机换成VMware Workstation 7.1.1，Guest OS还是一模一样的Debian testing，启动参数依旧是0&#215;0318。这下环境是一样的了，同样的代码，编译运行。VMware中显示的颜色和B线程输出的jpeg图片都是正确的。无语了。 只好给Virtualbox.org报了bug。]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">写了个toy，线程A依次以红色{255,0,0}，绿色{0,255,0},蓝色{0,0,255},白色{255, 255, 255}，灰色{110, 110, 110}写入整个fb设备，每一种颜色写入完毕后都通知线程B读取fb设备的全部像素输出为jpeg格式的图片，B线程输出图像完毕后通知A线程继续写入下一种颜色。也就是说，两个线程是同步工作的。</span></p>
<p><span style="font-size: medium;">内核启动参数设为vga=0&#215;0318，意思是分辨率为1024&#215;768，颜色为24bits。</span></p>
<p><span style="font-size: medium;">Host OS是Win XP，虚拟机是Virtualbox3.2.10，Guest OS是Debian testing。测试时发现，Virtualbox中显示的颜色是完全正确的，但B线程输出的jpeg图片中，只有红色和绿色是正确的，剩下的三种颜色都错了：蓝色变成了黑色，白色变成了黄色，灰色变成了暗黄色。我查了很久都没找到原因。</span></p>
<p><span style="font-size: medium;">只好换一个环境试试。</span></p>
<p><span style="font-size: medium;">Host OS还是Win xp，虚拟机换成VMware Workstation 7.1.1，Guest OS还是一模一样的Debian testing，启动参数依旧是0&#215;0318。这下环境是一样的了，同样的代码，编译运行。VMware中显示的颜色和B线程输出的jpeg图片都是正确的。无语了。</span></p>
<p><span style="font-size: medium;">只好给Virtualbox.org报了bug。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/11/virtualbox-bug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Debian Sid下通過HTC Hero共享上網</title>
		<link>http://ganquan.org/blog/2010/06/debian-sid-surf-via-htc-hero/</link>
		<comments>http://ganquan.org/blog/2010/06/debian-sid-surf-via-htc-hero/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 12:03:12 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1245</guid>
		<description><![CDATA[今天下午畢設答辯，我是倒數第二個。等待是無聊的，實驗室又沒有網絡，也沒有找到wifi，索性打開筆記本連上Hero上網聊天。 本文描述的方法僅在如下環境測試通過： Debian Sid 2.6.32-5-686 HTC Hero 2.1ROM 中國移動西安網絡 步驟如下： 1.用USB線連接筆記本和Hero，在Hero上選擇連接類型為“Internet共享”。 2.在Debian下執行sudo ifconfig -a，可以看到名為usb0的網卡 3.執行sudo dhclient usb0，給usb0申請IP，我這裡得到的是192.168.100.100 4.執行ping -I usb0 google.com來測試網絡是否通暢 然後就可以用筆記本上網了，很方便吧。^_^ EOF]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">今天下午畢設答辯，我是倒數第二個。等待是無聊的，實驗室又沒有網絡，也沒有找到wifi，索性打開筆記本連上Hero上網聊天。</span></p>
<p><span style="font-size: medium;">本文描述的方法僅在如下環境測試通過：</span></p>
<p><span style="font-size: medium;">Debian Sid 2.6.32-5-686</span></p>
<p><span style="font-size: medium;"> HTC Hero 2.1ROM</span></p>
<p><span style="font-size: medium;">中國移動西安網絡</span></p>
<p><span style="font-size: medium;">步驟如下：</span></p>
<p><span style="font-size: medium;">1.用USB線連接筆記本和Hero，在Hero上選擇連接類型為“Internet共享”。</span></p>
<p><span style="font-size: medium;">2.在Debian下執行sudo ifconfig -a，可以看到名為usb0的網卡</span></p>
<p><span style="font-size: medium;">3.執行sudo dhclient usb0，給usb0申請IP，我這裡得到的是192.168.100.100</span></p>
<p><span style="font-size: medium;">4.執行ping -I usb0 google.com來測試網絡是否通暢</span></p>
<p><span style="font-size: medium;">然後就可以用筆記本上網了，很方便吧。^_^</span></p>
<p><span style="font-size: medium;">EOF</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/06/debian-sid-surf-via-htc-hero/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Linux转换视频到mp4</title>
		<link>http://ganquan.org/blog/2010/05/linux-convert-video-to-mp4/</link>
		<comments>http://ganquan.org/blog/2010/05/linux-convert-video-to-mp4/#comments</comments>
		<pubDate>Mon, 10 May 2010 14:52:29 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1171</guid>
		<description><![CDATA[Hero播放视频的效果好得让我相当的惊讶！赶紧把我喜欢的MV都弄到Hero上。 以后坐车有得看啦，HOHO]]></description>
			<content:encoded><![CDATA[<p>Hero播放视频的效果好得让我相当的惊讶！赶紧把我喜欢的MV都弄到Hero上。<br />
以后坐车有得看啦，HOHO</p>
<pre class="brush: plain; title: ; notranslate">ganquan@debian:~$ mencoder -of lavf -lavfopts format=mp4 -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:vbitrate=600:acodec=libfaac:abitrate=128 -af lavcresample=22050 -vf dsize=480:360:0,scale=0:0,expand=480:360,harddup -ofps 25 -srate 22050 -o output.mp4  inputfile</pre>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/05/linux-convert-video-to-mp4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>framebuffer分辨率色彩表</title>
		<link>http://ganquan.org/blog/2010/05/framebuffer-resolution-color/</link>
		<comments>http://ganquan.org/blog/2010/05/framebuffer-resolution-color/#comments</comments>
		<pubDate>Sat, 08 May 2010 04:37:18 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1154</guid>
		<description><![CDATA[自己留一份，懶得搜。 色彩 640&#215;400 640&#215;480 800&#215;600 1024&#215;768 1280&#215;1024 1600&#215;1200 4bits ? ? 0&#215;302 ? ? ? 8bits 0&#215;300 0&#215;301 0&#215;303 0&#215;305 0&#215;307 0x31C 15bits ? 0&#215;310 0&#215;313 0&#215;316 0&#215;319 0x31D 16bits ? 0&#215;311 0&#215;314 0&#215;317 0x31A 0x31E 24bits ? 0&#215;312 0&#215;315 0&#215;318 0x31B 0x31F 32bits ? ? ? ? ? ? EOF]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">自己留一份，懶得搜。</span></p>
<table border="1" cellspacing="2" cellpadding="3" bordercolor="#000000">
<tbody>
<tr>
<td align="middle"><span>色彩</span></td>
<td align="middle"><span>640&#215;400</span></td>
<td align="middle"><span>640&#215;480</span></td>
<td align="middle"><span>800&#215;600</span></td>
<td align="middle"><span>1024&#215;768</span></td>
<td align="middle"><span>1280&#215;1024</span></td>
<td align="middle"><span>1600&#215;1200</span></td>
</tr>
<tr>
<td align="middle"><span>4bits</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>0&#215;302</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
</tr>
<tr>
<td align="middle"><span>8bits</span></td>
<td align="middle"><span>0&#215;300</span></td>
<td align="middle"><span>0&#215;301</span></td>
<td align="middle"><span>0&#215;303</span></td>
<td align="middle"><span>0&#215;305</span></td>
<td align="middle"><span>0&#215;307</span></td>
<td align="middle"><span>0x31C</span></td>
</tr>
<tr>
<td align="middle"><span>15bits</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>0&#215;310</span></td>
<td align="middle"><span>0&#215;313</span></td>
<td align="middle"><span>0&#215;316</span></td>
<td align="middle"><span>0&#215;319</span></td>
<td align="middle"><span>0x31D</span></td>
</tr>
<tr>
<td align="middle"><span>16bits</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>0&#215;311</span></td>
<td align="middle"><span>0&#215;314</span></td>
<td align="middle"><span>0&#215;317</span></td>
<td align="middle"><span>0x31A</span></td>
<td align="middle"><span>0x31E</span></td>
</tr>
<tr>
<td align="middle"><span>24bits</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>0&#215;312</span></td>
<td align="middle"><span>0&#215;315</span></td>
<td align="middle"><span>0&#215;318</span></td>
<td align="middle"><span>0x31B</span></td>
<td align="middle"><span>0x31F</span></td>
</tr>
<tr>
<td align="middle"><span>32bits</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
<td align="middle"><span>?</span></td>
</tr>
</tbody>
</table>
<p>EOF</p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/05/framebuffer-resolution-color/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>如何在内核空间对文件进行操作</title>
		<link>http://ganquan.org/blog/2010/05/file-operation/</link>
		<comments>http://ganquan.org/blog/2010/05/file-operation/#comments</comments>
		<pubDate>Thu, 06 May 2010 01:52:46 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1143</guid>
		<description><![CDATA[在内核空间中，是不能直接使用open, read, write之类的系统调用直接访问文件的。那怎么在驱动中访问一个文件呢？ 我们知道在内核中用struct file来表示一个打开的文件，file结构体中有一个字段f_op，它是struct file_operation的指针。有了这个指针，就可以对文件进行访问了。 代码如下： f_op-&#62;read()和f_op-&#62;write()的第二个参数是char __user *，也就是说是用户空间的地址，所以在驱动中直接传递kernel空间的指针，这两个函数都会返回失败-EFAULT。因此，在f_op-&#62;read()和f_op-&#62;write()之前需要使用void set_fs(mm_segment_t fs);来改变kernel对内存地址检查的处理方式。 该函数的参数fs只有两个取值：USER＿DS，KERNEL＿DS，分别代表用户空间和内核空间，默认情况下，kernel取值为USER_DS。所以可以用set_fs(KERNEL_DS);来让这个两个函数可以接受内核空间的内存。在内核空间中其他用__user修饰的参数，需要用kernel空间的内存代替时，都可以用类似的方法。 另外一个常用的函数f_op-&#62;mmap()则不需要设置fs，因为它的参数中不需要用户空间的内存。事实上，在struct file_operation中，只有read和write函数需要用户空间的内存，其他函数都不需要设置fs。 EOF]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">在内核空间中，是不能直接使用open, read, write之类的系统调用直接访问文件的。那怎么在驱动中访问一个文件呢？</span></p>
<p><span style="font-size: small;">我们知道在内核中用struct file来表示一个打开的文件，file结构体中有一个字段f_op，它是struct file_operation的指针。有了这个指针，就可以对文件进行访问了。<br />
代码如下：</span></p>
<pre class="brush: cpp; title: ; notranslate">
struct file *filp;
mm_segment_t fs;

filp = filp_open(&quot;/path/to/your/file&quot;, O_RDWR, 0);

if(!IS_ERR(filp))
{
    fs=get_fs();
    set_fs(KERNEL_DS);

    filp-&gt;f_op-&gt;read(...);
    filp-&gt;f_op-&gt;write(...);

    set_fs(fs);

    filp-&gt;f_op-&gt;mmap(...);

    /* ... */
}

filp_close(filp, NULL);
</pre>
<p><span style="font-size: small;"><br />
f_op-&gt;read()和f_op-&gt;write()的第二个参数是char __user *，也就是说是用户空间的地址，所以在驱动中直接传递kernel空间的指针，这两个函数都会返回失败-EFAULT。因此，在f_op-&gt;read()和f_op-&gt;write()之前需要使用void set_fs(mm_segment_t fs);来改变kernel对内存地址检查的处理方式。<br />
该函数的参数fs只有两个取值：USER＿DS，KERNEL＿DS，分别代表用户空间和内核空间，默认情况下，kernel取值为USER_DS。所以可以用set_fs(KERNEL_DS);来让这个两个函数可以接受内核空间的内存。在内核空间中其他用__user修饰的参数，需要用kernel空间的内存代替时，都可以用类似的方法。<br />
另外一个常用的函数f_op-&gt;mmap()则不需要设置fs，因为它的参数中不需要用户空间的内存。事实上，在struct file_operation中，只有read和write函数需要用户空间的内存，其他函数都不需要设置fs。<br />
EOF</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/05/file-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解決編譯qvfb問題</title>
		<link>http://ganquan.org/blog/2010/04/compile-qvfb-on-debian/</link>
		<comments>http://ganquan.org/blog/2010/04/compile-qvfb-on-debian/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 13:44:02 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1139</guid>
		<description><![CDATA[安裝QTE后自然是裝qvfb，遇到編譯錯誤。google一下，解決。 1.拷貝/path-to-qt-src/tools/shared/deviceskin目錄下的deviceskin.cpp和deviceskin.h到qvfb目錄 2.在qvfb目錄下qmake -project生成Makefile 3.修改Makefile中的LIBS，加上-lXtst 4.然後make即可]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">安裝QTE后自然是裝qvfb，遇到編譯錯誤。google一下，解決。</span></p>
<p><span style="font-size: medium;">1.拷貝/path-to-qt-src/tools/shared/deviceskin目錄下的deviceskin.cpp和deviceskin.h到qvfb目錄</span></p>
<p><span style="font-size: medium;">2.在qvfb目錄下qmake -project生成Makefile</span></p>
<p><span style="font-size: medium;">3.修改Makefile中的LIBS，加上-lXtst</span></p>
<p><span style="font-size: medium;">4.然後make即可<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/04/compile-qvfb-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>內存雜記</title>
		<link>http://ganquan.org/blog/2010/04/%e5%85%a7%e5%ad%98%e9%9b%9c%e8%a8%98/</link>
		<comments>http://ganquan.org/blog/2010/04/%e5%85%a7%e5%ad%98%e9%9b%9c%e8%a8%98/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 07:26:40 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=1019</guid>
		<description><![CDATA[在內核中，物理內存是用“頁”來管理的，頁大小取決於系統構架，X86上面是4096bytes，每一頁都由struct page(include/linux/mm_types.h)來描述 32位X86平台上，內核默認把4G地址空間分成兩部分，3GB給用戶進程，1GB給內核。虛擬地址空間0 -3GB被稱為用戶空間，3GB &#8211; 4GB被稱為內核空間 在物理地址上，0 &#8211; 1GB是給內核，1GB &#8211; 3GB給用戶。後者叫做ZONE_HIGH，前者中0 &#8211; 16MB部分叫做ZONE_DMA，16MB &#8211; 896MB 部分叫做ZONE_NORMAL，896MB之後還有128MB被內核數據結構佔用了。內核中低端896MB內存的地址是物理地址加上一個常偏移量(constant offset)得到的，這個地址叫做邏輯地址(logical address)。內核也可以訪問超過896MB的內存，不過需要開啟高內存支持(high memory support) 3個ZONE的要點： 1.ZONE_DMA就是用來做DMA的 2.ZONE_NORMAL叫做低端內存，這個ZONE裡面的內存，struct page的的virtual字段的內容就是logical address 3.ZONE_HIGH中的內存映射到ZONE_NORMAL中之後(用kmap()和kunmap())就可以被內核訪問。這個ZONE中是虛擬地址，而不是邏輯地址，所以這部分內存如果沒有kmap到內核空間，struct page的virtual字段就是NULL kmalloc函數返回的是連續的內存，這些內存來自於ZONE_NORMAL。kmalloc返回的內存中留存了先前的內容，所以把這些內存暴露給用戶空間是不安全的。用kzalloc()可以獲得清零的內存。分配大量緩衝區或者不需要物理連續的內存時，用vmalloc()代替kmalloc()。]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">在內核中，物理內存是用“頁”來管理的，頁大小取決於系統構架，X86上面是4096bytes，每一頁都由struct page(include/linux/mm_types.h)來描述<br />
32位X86平台上，內核默認把4G地址空間分成兩部分，3GB給用戶進程，1GB給內核。虛擬地址空間0 -3GB被稱為用戶空間，3GB &#8211; 4GB被稱為內核空間</span></p>
<p><span style="font-size: medium;">在物理地址上，0 &#8211; 1GB是給內核，1GB &#8211; 3GB給用戶。後者叫做ZONE_HIGH，前者中0 &#8211; 16MB部分叫做ZONE_DMA，16MB &#8211; 896MB 部分叫做ZONE_NORMAL，896MB之後還有128MB被內核數據結構佔用了。內核中低端896MB內存的地址是物理地址加上一個常偏移量(constant offset)得到的，這個地址叫做邏輯地址(logical address)。內核也可以訪問超過896MB的內存，不過需要開啟高內存支持(high memory support)</span></p>
<p><span style="font-size: medium;">3個ZONE的要點：<br />
<span style="font-size: xx-large;">1.</span>ZONE_DMA就是用來做DMA的<br />
<span style="font-size: xx-large;">2.</span>ZONE_NORMAL叫做低端內存，這個ZONE裡面的內存，struct page的的virtual字段的內容就是logical address<br />
<span style="font-size: xx-large;">3.</span>ZONE_HIGH中的內存映射到ZONE_NORMAL中之後(用kmap()和kunmap())就可以被內核訪問。這個ZONE中是虛擬地址，而不是邏輯地址，所以這部分內存如果沒有kmap到內核空間，struct page的virtual字段就是NULL</span></p>
<p><span style="font-size: medium;">kmalloc函數返回的是連續的內存，這些內存來自於ZONE_NORMAL。kmalloc返回的內存中留存了先前的內容，所以把這些內存暴露給用戶空間是不安全的。用kzalloc()可以獲得清零的內存。分配大量緩衝區或者不需要物理連續的內存時，用vmalloc()代替kmalloc()。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/04/%e5%85%a7%e5%ad%98%e9%9b%9c%e8%a8%98/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>繼續越獄</title>
		<link>http://ganquan.org/blog/2010/03/prison-break-continue/</link>
		<comments>http://ganquan.org/blog/2010/03/prison-break-continue/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 09:57:39 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=795</guid>
		<description><![CDATA[帝都近日正在開派對，全國亞克蜥匯集到帝都一展和諧神力，網絡封鎖日益加重，原來的越獄方法已經失效。我怎麼繼續像往常那樣越獄出去娛樂呢？ 好在puff已經發布了新的客戶端，繼續無視強大的和諧之力，但是puff免費版的強制斷線功能又讓我非常不爽。免費又方便的tor遭受和諧打擊也不能繼續越獄，即使用新的網橋也沒用。抱着一絲希望決定安裝development branch試試，哈哈，成功越獄。方法很簡單： 1.添加tor的development branch源 2.導入源的密鑰 3.由於torproject.org已經被牆，無法直接訪問，aptitude照樣不能拿到包子，所以需要給aptitude設置代理 經常翻牆的同學已經看到我給aptitude設置的是什麼代理了。 4.安裝開發分支的tor 裝好了再度越獄，成功。 EOF]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">帝都近日正在開派對，全國亞克蜥匯集到帝都一展和諧神力，網絡封鎖日益加重，原來的越獄方法已經失效。我怎麼繼續像往常那樣越獄出去娛樂呢？</span></p>
<p><span style="font-size: medium;">好在puff已經發布了新的客戶端，繼續無視強大的和諧之力，但是puff免費版的強制斷線功能又讓我非常不爽。免費又方便的tor遭受和諧打擊也不能繼續越獄，即使用新的網橋也沒用。抱着一絲希望決定安裝development branch試試，哈哈，成功越獄。方法很簡單：</span></p>
<p><span style="font-size: medium;">1.添加tor的development  branch源</span></p>
<pre class="brush: bash; title: ; notranslate">ganquan@debian:~$ cat /etc/apt/sources.list | tail -n 4
#for tor
deb http://deb.torproject.org/torproject.org sid main
deb http://deb.torproject.org/torproject.org experimental-sid main
</pre>
<p><span style="font-size: medium;">2.導入源的密鑰</span></p>
<pre class="brush: bash; title: ; notranslate">ganquan@debian:~$ gpg --keyserver keys.gnupg.net --recv 886DDD89
ganquan@debian:~$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
</pre>
<p><span style="font-size: medium;">3.由於torproject.org已經被牆，無法直接訪問，aptitude照樣不能拿到包子，所以需要給aptitude設置代理</span></p>
<pre class="brush: bash; title: ; notranslate">ganquan@debian:~$ cat /etc/apt/apt.conf
Acquire::http::proxy &quot;http://127.0.0.1:1984/&quot;;
</pre>
<p><span style="font-size: medium;">經常翻牆的同學已經看到我給aptitude設置的是什麼代理了。<br />
</span></p>
<p><span style="font-size: medium;">4.安裝開發分支的tor</span></p>
<pre class="brush: bash; title: ; notranslate">
ganquan@debian:~$ sudo aptitude update
ganquan@debian:~$ sudo aptitude install tor tor-geoipdb
</pre>
<p><span style="font-size: medium;">裝好了再度越獄，成功。<br />
EOF</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/03/prison-break-continue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vim以16进制方式显示文本</title>
		<link>http://ganquan.org/blog/2010/03/vim-tips/</link>
		<comments>http://ganquan.org/blog/2010/03/vim-tips/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 19:54:48 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=750</guid>
		<description><![CDATA[:%!xxd     &#8212;-&#62;切换到十六进制显示 :%!xxd -r  &#8212;-&#62;切回文本方式显示]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;">:%!xxd      &#8212;-&gt;切换到十六进制显示<br />
:%!xxd -r  &#8212;-&gt;切回文本方式显示<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2010/03/vim-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>全面轉到Debian sid</title>
		<link>http://ganquan.org/blog/2009/12/debian-sid/</link>
		<comments>http://ganquan.org/blog/2009/12/debian-sid/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 08:31:46 +0000</pubDate>
		<dc:creator>ganquan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[生活点滴]]></category>

		<guid isPermaLink="false">http://ganquan.org/blog/?p=645</guid>
		<description><![CDATA[以前都是一直用testing，前段時間更換硬盤之後就開始用stable。今天轉到sid，以後應該是一直用sid了。 開發除了相關庫版本升級，其他沒什麼變化。]]></description>
			<content:encoded><![CDATA[<p>以前都是一直用testing，前段時間更換硬盤之後就開始用stable。今天轉到sid，以後應該是一直用sid了。</p>
<p>開發除了相關庫版本升級，其他沒什麼變化。</p>
]]></content:encoded>
			<wfw:commentRss>http://ganquan.org/blog/2009/12/debian-sid/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

