<?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://www.cslog.cn/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cslog.cn</link>
	<description>最让我激动的是不知道下一个星球上能发现什么...</description>
	<lastBuildDate>Wed, 30 Jul 2025 16:06:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Nginx、PCRE和中文URL（UTF8编码）rewrite路径重写匹配问题</title>
		<link>http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/</link>
		<comments>http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 15:08:45 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[信息处理]]></category>
		<category><![CDATA[站长文档]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[nginx中文url重写]]></category>
		<category><![CDATA[nginx的utf8支持]]></category>
		<category><![CDATA[pcre]]></category>
		<category><![CDATA[PCRE的UTF8编码支持]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[url重写]]></category>
		<category><![CDATA[utf8]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[中文url]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[汉字编码]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=793</guid>
		<description><![CDATA[最近遇到了使用Nginx 重写中文UTF8编码路径的问题。 才发现默认情况下Ng &#8230; <a href="http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>最近遇到了使用<a href="http://www.cslog.cn/tag/nginx/">Nginx</a> 重写中文UTF8编码路径的问题。 才发现默认情况下Nginx的rewrite是不支持UTF8匹配的。 比如：</p>
<p><code>rewrite ^/(..)$ /2个字符文章.html break; #用2个点</code><br />
可以匹配到 /ab 或 /51, 但 /汉字 是匹配不到的。 我测试了一下， 要匹配两个字的 /汉字 路径， 得用</p>
<p><code>rewrite ^/(……)$ /2个汉字文章.html break; #要用六个点</code></p>
<p>如果要让 ^/(..)$ 匹配到2个汉字字符，得开启Nginx对UTF8字符的正则支持， 准确点说是开启Nginx使用的PCRE库的对UTF8字符的支持。因为Nginx的rewrite模块是调用PCRE来处理正则的。 如果PCRE没有问题，Nginx支持UTF8编码的重写样式是：</p>
<p><code>rewrite "(*UTF8)^/(..)$" /2个字符文章.html break;<br />
#注意(*UTF8)前缀和引号的加入。</code></p>
<p><span id="more-793"></span>因为PCRE只有7.9以上的版本才支持这个(*UTF8)开头，所以系统上的PCRE一定要使用7.9以上的版本。 另外，编译PCRE时一定要开启UTF8的支持。 即使用(&#8211;enable-utf8)参数。 检查系统的PCRE版本和是否支持UTF8编码可以使用<br />
<code>pcretest -C</code><br />
命令。执行后会显示如下的报告：</p>
<blockquote><p>PCRE version 8.13 2011-08-16<br />
Compiled with<br />
UTF-8 support<br />
Unicode properties support<br />
Newline sequence is LF<br />
\R matches all Unicode newlines<br />
Internal link size = 2<br />
POSIX malloc threshold = 10<br />
Default match limit = 10000000<br />
Default recursion depth limit = 10000000<br />
Match recursion uses stack</p></blockquote>
<p>显示“UTF-8 support”就是支持UTF8编码了。</p>
<p>如果Nginx调用的PCRE为7.9以下的版本，使用 rewrite &#8220;(*UTF8)^/(..)$&#8221; /2个字符文章.html break; 这种形式的重写，在执行nginx -t检查时会出现如下的错误提示：</p>
<blockquote><p>[emerg]: pcre_compile() failed: (*VERB) not recognized in &#8220;(*UTF8)^、……</p></blockquote>
<p>如果Nginx调用的是7.9以上版本的PCRE，但是PCRE安装时没打开UTF8的支持开关，则会出现如下的错误提示：</p>
<blockquote><p>nginx: [emerg] pcre_compile() failed: this version of PCRE is not compiled with PCRE_UTF8 support in &#8220;(*UTF8)^/&#8230;</p></blockquote>
<p>解决办法是安装最新版本的的PCRE，并打开UTF8支持，方法如下（以当前8.13版的PCRE为例）：<br />
<code>wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.tar.gz<br />
tar zxvf pcre-8.13.tar.gz<br />
cd pcre-8.13<br />
./configure --enable-utf8 --enable-unicode-properties<br />
make<br />
make install</code></p>
<p>然后重新编译安装Nginx。 Nginx默认会打开rewrite模块，并会自动查找系统上已经安装了的PCRE。 如果Nginx查找不到已经安装在系统上的PCRE， 或者系统上有多个PCRE， nginx调用了不支持UTF8的、或低版本的PCRE时（我遇到了后一种情况，并花费了很长的时间解决这个问题，这也是我为什么写这篇总结文章在这里给大家分享的原因。。。），可以在编译安装Nginx时指定PCRE源文件。例如：</p>
<p><code>wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.13.tar.gz<br />
tar zxvf pcre-8.13.tar.gz<br />
wget http://nginx.org/download/nginx-1.0.8.tar.gz<br />
tar zxvf nginx-1.0.8.tar.gz<br />
cd nginx-1.0.8<br />
./configure \<br />
--with-pcre=../pcre-8.13</code></p>
<p>注意，如果接着直接make &amp;&amp; make install的话， PCRE因为没有启用UTF8， nginx将不能支持UTF8重写， 所以在这一种，我动了一点小手脚：打开./objs/Makefile 文件，找到以下段落：</p>
<p><code> ../pcre-8.13/Makefile:	objs/Makefile<br />
cd ../pcre-8.13 \<br />
&amp;&amp; if [ -f Makefile ]; then $(MAKE) distclean; fi \<br />
&amp;&amp; CC="$(CC)" CFLAGS="-O2 -fomit-frame-pointer -pipe " \<br />
./configure --disable-shared </code><br />
在&#8211;disable-shared后加上 &#8211;enable-utf8和 &#8211;enable-unicode-properties参数， 即变成：<br />
<code> ../pcre-8.13/Makefile:	objs/Makefile<br />
cd ../pcre-8.13 \<br />
&amp;&amp; if [ -f Makefile ]; then $(MAKE) distclean; fi \<br />
&amp;&amp; CC="$(CC)" CFLAGS="-O2 -fomit-frame-pointer -pipe " \<br />
./configure --disable-shared --enable-utf8 --enable-unicode-properties</code><br />
然后再make, make install。 最后关闭nginx并重启nginx（这里不能用nginx -s reload)。这样nginx就支持中文UTF8编码的url重写了。
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/">http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/nginx-pcre-utf8-rewrite/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>东芝AC100安装Ubuntu Linux的经验总结</title>
		<link>http://www.cslog.cn/Content/toshiba-ac100-ubuntu/</link>
		<comments>http://www.cslog.cn/Content/toshiba-ac100-ubuntu/#comments</comments>
		<pubDate>Mon, 16 May 2011 04:40:23 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[信息处理]]></category>
		<category><![CDATA[ac100]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[smartbook]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=684</guid>
		<description><![CDATA[上次是智器V5 II，现在是东芝AC100，看来玩Ubuntu for ARM玩 &#8230; <a href="http://www.cslog.cn/Content/toshiba-ac100-ubuntu/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>上次是<a title="智器V5 II使用感受和使用心得 | 船长日志" href="http://www.cslog.cn/Content/smartq-v5ii/">智器V5 II</a>，现在是东芝AC100，看来玩Ubuntu for ARM玩上隐了。东芝AC100很轻巧。 10寸屏带键盘才860g， (不带电池700g, 充电器350g). 可惜带的是Android系统（2.1或2.2），兼容和使用都不是很爽。 还好有人在研究于AC100上安装<a title="ubuntu | 船长日志" href="http://www.cslog.cn/tag/ubuntu/">Ubuntu linux</a>操作系统。 经过好几天的尝试，我终于成功地在自己的东芝AC100上安装上了Ubuntu 10.10。 虽然还有不少问题有待解决， 但系统现在还是可以用的。 本文是我的经验总结， 希望对你有用。 有问题请留言。</p>
<h2>东芝AC100详细配置</h2>
<p>东芝AC100在全球发行的版本硬件略有不同（在日本这个叫Toshiba dynabook az），在中国发行的版本Toshiba AC100-01B (P/N:PDN01Q-00801G)， 使用Tegra T250双核A8 1G处理器，512M内存，16G内部空间，带WIFI蓝牙，不带3G上网模块或GPS. 屏幕是10寸的，分辨率为1024 x 600 。<br />
详细硬件参数：<span id="more-684"></span><br />
<a title="Hardware - Hacking the Toshiba AC100" href="http://tosh-ac100.wetpaint.com/page/Hardware">http://tosh-ac100.wetpaint.com/page/Hardware</a></p>
<h2>东芝AC100的开机模式</h2>
<p>按住ESC和Ctrl不放， 按一下开机键，等电源灯亮之后松开ESC和Ctrl键，连接电脑可以刷机<br />
按Home开机可以进入恢复系统模式</p>
<h2>目前三个Ubuntu for AC100版本</h2>
<p>phh 2.6.29 (android 2.1)<br />
可以保留android 2.1系统。<br />
可以安装到SD卡，也可以安装到机内。<br />
喇叭工作正常<br />
Wifi工作正常<br />
可以调节屏幕亮度<br />
不支持3D加速<br />
phh 2.6.32 (android 2.2)<br />
不能保留android系统。安装完成后只能使用Ubuntu。<br />
可以安装到SD卡，也可以安装到机内(使用markit的boot img)<br />
自动休眠不工作，可以手动休眠<br />
有WiFi驱动<br />
不支持Flash?<br />
marvin 2.6.37 (android 2.2)<br />
不能保留android系统<br />
Wifi工作<br />
蓝牙工作<br />
没有声音<br />
不能休眠</p>
<p>详细参看：<br />
<a href="http://4pda.ru/forum/index.php?showtopic=230018&amp;st=300">http://4pda.ru/forum/index.php?showtopic=230018&amp;st=300</a> （俄语）</p>
<p>我选择的是phh的2.6.32版本，因为看到有3D和wifi，可惜保留不了android系统。</p>
<h2>phh 2.6.32 linux 内核下的各储存设备名称</h2>
<p>下面是内置储存器：<br />
/dev/mmcblk3p1 283m<br />
/dev/mmcblk3p2 388m<br />
/dev/mmcblk3p3 2m<br />
/dev/mmcblk3p5 1.2G<br />
/dev/mmcblk3p6 14G (用户内部储存器)<br />
SD卡<br />
/dev/mmcblk0p1 15G<br />
U盘，类似：<br />
/dev/sda1 (这个会变动的。）</p>
<h2>SD卡安装Ubuntu for 东芝AC100</h2>
<p>准备条件：<br />
一台运行linux的电脑。 这个我没有，我曾使用虚拟机里安装的ubuntu试过几次，都没有成功。后来用一个2G的SD卡＋读卡器做一个Ubuntu Live系统，一次成功！<br />
一个容量为4G或更大的SD卡<br />
一个读卡器， 推荐SSK牌（广告，好几个杂牌的坏死在我的桌面上， SSK的好像质量真的好。。。）</p>
<p><del datetime="2011-07-08T07:59:19+00:00">先将AC100升级到android 2.2版本（内核为2.6.32的，推荐俄罗斯V3版）</del><br />
下载markit的引导文件：<br />
<a href="http://markit.dyndns.org/ac100/32/boot.mmc.32.img">http://markit.dyndns.org/ac100/32/boot.mmc.32.img</a> （8M）<br />
这个文件可以启动SD卡或机内的phh 2.6.32 Ubuntu系统<br />
(http://markit.dyndns.org/ac100/32/gpumem/ 目录里有三个文件，可以调节显卡使用内存的大小， 默认的是128M的， 这里有64M和32M的可以选择）。<br />
把这个文件刷到AC100的第6分区, 刷机要用的linux4tegra中的nvflash。操作前强烈建议你先备份各分区数据。<br />
在Windows XP上我用来刷机的代码：<br />
<code><br />
nvflash\nvflash.exe --bl nvflash\fastboot.stock.bin --go<br />
rem go!<br />
nvflash\nvflash -r --rawdevicewrite 5376 4096 img\boot.mmc.32.img<br />
</code><br />
（详细方法见论坛讨论）<br />
<del datetime="2011-07-08T07:59:19+00:00">下载phh 2.6.32 Ubuntu文件：<br />
<a href="http://kotelett.no/ac100/phh/Android2.2/Ubuntu7.tar.gz">http://kotelett.no/ac100/phh/Android2.2/Ubuntu7.tar.gz</a> （700多M)</del><br />
下载markus的phh 2.6.32 ubuntu文件修改整理版<br />
<a href="http://193.238.157.78/~markus/ac100/rootfs/" >http://193.238.157.78/~markus/ac100/rootfs/</a>， 我试过rootfs-32-maverick-5-test.tar.gz， 感觉很不错， 如wifi，声卡等设置都不用自己做了。<br />
找一张容量大于4G的SD卡<br />
在linux系统里将这张卡格式化成ext2格式分区<br />
<code><br />
sudo mkfs -t ext2 /dev/sda1<br />
</code><br />
(其中/dev/sda1为你的Sd卡设备名，不要照抄！！！！格式化前要umount.）<br />
格好后将它mount上<br />
<code><br />
sudo mount -t ext2 /dev/sda1 /mnt/sd<br />
</code><br />
（同上，/dev/sda1为你的设备名， 目录/mnt/sd要提前建立）<br />
然后将刚下载的rootfs-32-maverick-5-test.tar.gz解压放到卡上：<br />
<code><br />
sudo tar xavf rootfs-32-maverick-5-test.tar.gz --numeric-owner -C /mnt/sd<br />
</code></p>
<p>完成后将这个卡插入AC100， 正常启动机子就会进入Ubuntu的设置界面。<br />
使用markus的修改版ubuntu文件，已经不用自己设置wifi驱动。<br />
<del datetime="2011-07-08T07:59:19+00:00">开启Wifi需要驱动：<br />
<a href="http://markit.dyndns.org/ac100/32/wifi/2.3/">http://markit.dyndns.org/ac100/32/wifi/2.3/</a><br />
将里面的三个文件考到<br />
/lib/modules/2.6.32&#8230;/kernel/drivers/net/wireless 目录，<br />
然后执行：<br />
<code><br />
sudo depmod<br />
insmod rtutil3070sta.ko &amp;&amp; insmod rt3070sta.ko &amp;&amp; insmod rtnet3070sta.ko<br />
</code></del></p>
<h2>在内置储存器上安装Ubuntu for AC100</h2>
<p>我的笨方法：<br />
先在卡上安装ubuntu(参照上面),然后启动AC100上的ubuntu,安装nilfs-tools（armel 2.0.18-2版本，如果还不能上网，可以到能上网的电脑下载）。然后将机子里的/dev/mmcblk3p6格式化成nilfs2分区<br />
<code><br />
sudo mkfs.nilfs2 /dev/mmcblk3p6<br />
</code><br />
然后和上面的做法类似把rootfs-32-maverick-5-test.tar.gz解压到里面。 解压完就成功了。<br />
据说更快的方法：<br />
直接在Android系统下，将AC100连接linux电脑， 然后挂AC100的储存区格式化，然后放入Ubuntu系统文件。</p>
<p>Ubuntu系统安装后要做的事情：<br />
系统设置里可以将系统设置成中文。<br />
添加中文输入法<br />
编辑/etc/rc.local文件，将/button换成/usr/sbin/button，添加一行rfkill block bluetooth，让系统开机时自动关闭蓝牙<br />
向上键不能使用的解决办法：在快捷方式中关闭截图的功能<br />
安装nilfs-tools工具 （nilfs分区会不停地自动做还原备份点，所以硬盘空间会不停地变少，要到这个工具管理）<br />
<del datetime="2011-07-08T07:59:19+00:00">markit做的合盖关屏进程：<br />
<a href="http://markit.dyndns.org/ac100/32/lidrun/">http://markit.dyndns.org/ac100/32/lidrun/</a></del></p>
<p><del datetime="2011-07-08T07:59:19+00:00">声音输出的方法：<br />
下载<br />
<a href="http://www.enst.fr/~husson/alc-init">http://www.enst.fr/~husson/alc-init</a><br />
复制到/usr/sbin<br />
<code><br />
sudo sed -ie 's/i2c-1/i2c-0/g' /usr/sbin/alc-init<br />
sudo alc-init<br />
</code></del><br />
用smplayer或者vlc，音频输出选择alsa， 硬件选择0.0<br />
或<br />
<code><br />
mplayer -ao alsa:device=hw=0.0 文件名<br />
</code></p>
<p>注意，现在好像只有使用mplayer，vlc等播放器时才有声音，必须用耳机，外放没有声音，而且音量一直在80，不能调节。<br />
alsamixer中只能查看，不能调节音量。</p>
<p>hpp带硬件加速的mplayer视频播放器：<br />
<a href="http://kotelett.no/ac100/phh/Android2.1/Multimedia/">http://kotelett.no/ac100/phh/Android2.1/Multimedia/</a><br />
支持OMX（openmax) 模式驱动， 支持视频画面输出到显示屏或外接HDMI显示设备。<br />
普通播放： mplayer -vo omx<br />
hdmi输出 ：<br />
<code><br />
mplayer -vo omx:dst=hdmi<br />
</code><br />
使用前要安装libjepg8：<br />
<code><br />
sudo apt-get install libjpeg8<br />
</code><br />
个人感觉播放不如VLC。</p>
<p>phh的Ubuntu游戏<br />
<a href="http://kotelett.no/ac100/phh/Android2.1/Games/">http://kotelett.no/ac100/phh/Android2.1/Games/</a><br />
没有试过</p>
<p>markit几个脚本的说明：<br />
<a href="http://markit.dyndns.org/ac100/32/scripts/">http://markit.dyndns.org/ac100/32/scripts/</a><br />
battery.sh   查看电池状态<br />
freq.sh      设定CPU运行最高和最低频率<br />
lidrun.sh       合盖自动休眠<br />
screen_off.sh     关闭屏幕显示， 按何意键恢复，不用root权限<br />
suspend.sh         执行休眠<br />
temperature.sh       显示CPU温度<br />
usb.sh            开关USB设备休眠状态<br />
wifi_off.sh        关wifi<br />
wifi_on.sh      开Wifi</p>
<h2>东芝AC100 安装Ubuntu实用链接</h2>
<p>俄国4PDA论坛主贴<br />
<a href="http://4pda.ru/forum/index.php?showtopic=230018&amp;st=300">http://4pda.ru/forum/index.php?showtopic=230018&amp;st=300</a><br />
phh 2.6.32 Ubuntu系统文件（里面的boot.32.img只支持机内启动，下面的markit img同时支持SD卡和机内）：<br />
<a href="http://kotelett.no/ac100/phh/Android2.2/">http://kotelett.no/ac100/phh/Android2.2/</a><br />
Markit的boot img (可以启动SD卡或机内的phh 2.6.32 Ubuntu系统)<br />
<a href="http://markit.dyndns.org/ac100/32/boot.mmc.32.img">http://markit.dyndns.org/ac100/32/boot.mmc.32.img</a><br />
phh 2.6.32 Ubuntu用的Wifi驱动：<br />
<a href="http://markit.dyndns.org/ac100/32/wifi/2.3/">http://markit.dyndns.org/ac100/32/wifi/2.3/</a><br />
Toshiba AC100 2.6.37内核安装Ubuntu的说明：<br />
<a href="http://pole.su/Toshiba-AC100-Ubuntu-2.6.37-install-ENG.htm">http://pole.su/Toshiba-AC100-Ubuntu-2.6.37-install-ENG.htm</a><br />
东芝AC100 2.6.32内核（Android2.2)SD卡安装Ubuntu教程：（英文）<br />
<a href="http://salaliitto.com/~gildean/ac100/wiki/phh/">http://salaliitto.com/~gildean/ac100/wiki/phh/</a><br />
东芝AC100 2.6.32内核（Android2.2)内置存储安装Ubuntu教程：（英文）<br />
<a href="http://www.o-learn.com/content/howto-install-ubuntu-on-toshiba-ac100">http://www.o-learn.com/content/howto-install-ubuntu-on-toshiba-ac100</a><br />
机锋论坛东芝AC100专区：<br />
<a href="http://bbs.gfan.com/forum-509-1.html">http://bbs.gfan.com/forum-509-1.html</a><br />
irc AC100聊天频道（英文）：<br />
<a href="irc://irc.freenode.net/ac100">irc://irc.freenode.net/ac100</a>
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/toshiba-ac100-ubuntu/">http://www.cslog.cn/Content/toshiba-ac100-ubuntu/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/toshiba-ac100-ubuntu/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>用SuperOneClick获取安卓（android）手机的root权限</title>
		<link>http://www.cslog.cn/Content/superoneclick-android-root/</link>
		<comments>http://www.cslog.cn/Content/superoneclick-android-root/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 16:52:38 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[其它]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[im-a650s]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=608</guid>
		<description><![CDATA[前几天入了Pantech IM-A650S手机。经常听说获取android手机的 &#8230; <a href="http://www.cslog.cn/Content/superoneclick-android-root/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>前几天入了<a href="http://www.cslog.cn/Content/sky-im-a650s/">Pantech IM-A650S手机</a>。经常听说获取android手机的root权限。我听的手也痒痒的。</p>
<h2>什么是android手机的root权限</h2>
<p>android系统是一个定制版的linux操作系统。root账号在linux中就是一种类似于管理员的账号，拥有其它账号没有超高权限。普通账号只可以执行限定权限内操作,root账号则基本可以无法无天， 什么都能干。 “能力越大，责任越重” －－ 基于这个原因， 默认android系统是不对用户开放root的权限的，这样做不是想限制用户的自由，而是担心系统文件被用户或病毒程序搞乱。当然这样的限制只是针对普通用户，对于一些高级用户（比如说，咳咳，我。。。们），这样的限制显然是多余的。所以我们要想办法获取root权限。</p>
<h2>获取android手机的root权限有什么好处？</h2>
<p><span id="more-608"></span></p>
<ul>
<li>可以安装更多的软件，有些软件一定要有root权限才能安装</li>
<li>可以删除系统自带的软件，比如定制手机里带的很多陷阱收费应用</li>
<li>可以修改系统</li>
<li>可以获得一种莫名的自由感</li>
<li>可以获得成功喜悦（如你成功了的话）</li>
</ul>
<h2>获取android手机的root权限有什么坏处？</h2>
<ul>
<li>你有了更多的能力将手机系统（或手机本身）搞坏</li>
<li>你朋友或你的小孩子，他/她有更多的能力将你的手机搞坏</li>
<li>你手机上的病毒、木马有了更多的能力将你的手机搞坏或利用系统做你不想让它做的事</li>
<li>你对上述可能的担心可能会给你带来严重的心理压力</li>
</ul>
<h2>怎样获取android手机的root权限</h2>
<p>获取root权限有很多方法和工具，本文使用SuperOneClick软件。我用就是用它成功获取Pantech IM-A650S手机的root权限的。</p>
<h3>兼容性</h3>
<p>注意这个方法并不适用于所有android手机。以下是SuperOneClick作者列出的兼容列表：</p>
<ul>
<li>Acer Liquid Metal</li>
<li>Dell Streak</li>
<li>HTC Magic (Sapphire) 32B</li>
<li>HTC Bee</li>
<li>LG Ally</li>
<li>Motorola Charm</li>
<li>Motorola Cliq</li>
<li>Motorola Droid</li>
<li>Motorola Flipside</li>
<li>Motorola Flipout</li>
<li>Motorola Milestone</li>
<li>Nexus One</li>
<li>Samsung Captivate</li>
<li>Samsung Galaxy 551 (GT-I5510)</li>
<li>Samsung Galaxy Portal/Spica I5700</li>
<li>Samsung Galaxy S I9000</li>
<li>Samsung Galaxy S SCH-I500</li>
<li>Samsung Galaxy Tab</li>
<li>Samsung Transform M920</li>
<li>Samsung Vibrant</li>
<li>Sony Ericsson Xperia E51i X8</li>
<li>Sony Ericsson Xperia X10</li>
<li>Sprint Hero</li>
<li>Telus Fascinate</li>
</ul>
<p>我的手机，Pantech IM-A650S （sky vega， 运行android 2.2.1系统）不在列表之内，但我很幸运，也成功了用它获取了root权限，所以，<strong>即便你的手机也没有在列表之内，你也可以用这个方法试一试</strong>， 最多， 大不了， 搞坏一部手机而已。</p>
<p>是的，<span style="color: #ff0000;"><strong><span style="color: #ff0000;">获取android手机的root权限的过程有风险！如果你参照本文继续操作，请自负后果！</span></strong></span></p>
<p>但是，如果你成功，请将你在本文下方的评论留言中注明你的手机型号和rom版本，以指引、怂恿更多的机友进行同样的操作。</p>
<h3>准备条件</h3>
<ul>
<li>运行windows 7或 vista或linux或mac os x的电脑，如果你安装的是windows xp,要你先安装.NET Framework 2.0或以上版本（我用的是xp,安装了.NET Framework 4.0）</li>
<li>手机连接电脑的数据线</li>
<li>手机的驱动（A650S的USB驱动在它的官网可以下载）</li>
<li><a href="http://forum.xda-developers.com/showthread.php?t=803682">SuperOneClick程序</a>（在Xda开发者论坛可以<a href="http://forum.xda-developers.com/showthread.php?t=803682">下载</a>，下载要先注册个论坛账号，注册论坛账号要验证email信箱，我下载的是1.6.5版)</li>
</ul>
<h3>用SuperOneClick获取android手机的root权限过程</h3>
<ol>
<li>在设置选项里将sd卡卸载</li>
<li>在设置，程序－》开发设置里将USB调试模式打开</li>
<li>将手机用数据线和电脑连接</li>
<li>启动SuperOneClick程序，并点击左上角的&#8221;root&#8221;大按钮</li>
<li>等待，直到出现“Root files have been installed!! Would you like run a test?”信息，点击OK。</li>
<li>等到“Running a SU test… Success!”信息出现，过程就成功结束了</li>
<li>重启手机</li>
</ol>
<p>如果你成功了，恭喜你。别忘记了留言声明你的手机型号和系统版本。 现在，通过SuperOneClick，你已经获取了android手机的最高root权限，除了感到自由，是否还同我一样感到丝丝的高高在上的恐惧和寂寞呢？
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/superoneclick-android-root/">http://www.cslog.cn/Content/superoneclick-android-root/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/superoneclick-android-root/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
		</item>
		<item>
		<title>linux下使用logrotate自动备份mysql数据库</title>
		<link>http://www.cslog.cn/Content/logrotate-mysql-automated-backu/</link>
		<comments>http://www.cslog.cn/Content/logrotate-mysql-automated-backu/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 15:31:19 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[站长文档]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logrotate]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[数据备份]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=568</guid>
		<description><![CDATA[logrotate是linux下的一个日志文件管理工具。apache,nignx &#8230; <a href="http://www.cslog.cn/Content/logrotate-mysql-automated-backu/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>logrotate是linux下的一个日志文件管理工具。apache,nignx或系统的log文件如不处理， 正常情况下会慢慢变的大， 久了， 硬盘就会爆掉。 logrotate（配合cron）就是用来周期性分割、压缩、删除日志文件用的。前段时间在找mysql数据库的自动备份方法的时候， 在 <a href="http://islandlinux.org/howto/automated-mysql-backups">http://islandlinux.org/howto/automated-mysql-backups</a> 看到了使用logrotate来备份mysql数据库的偏方， 感觉不错， 在这里和大家分享一下。</p>
<p><span id="more-568"></span></p>
<p>首先， 先创建一个脚本文件</p>
<pre>nano /usr/local/sbin/mysql_auto_backup.sh</pre>
<p>贴入如下内容</p>
<pre>#!/bin/sh
#
# 作者 Dallas Vogels 2008-10-01
#
export PATH=/bin:/usr/bin:/sbin:/usr/sbin

OUTPUTDIR="/root/mysql-backups" #将这里修改成你要放备份文件的目录
OPTIONS="--all --complete-insert --add-drop-table --extended-insert --quote-names"
CONFIG_FILE="/root/.my.cnf.backup"

# 检查备份目录是否存在
if [ ! -d $OUTPUTDIR ]; then
        mkdir $OUTPUTDIR
fi

# 获取数据库列表
DATABASES=`echo "SHOW DATABASES" | mysql --defaults-file="$CONFIG_FILE" mysql`

for DATABASE in $DATABASES; do
# 不备份 Database 和 information_schema 这两个数据库
  if [ "$DATABASE" != "Database" -a "$DATABASE" != "information_schema" ]; then
    # 数据库备份开始
    mysqldump --defaults-file="$CONFIG_FILE" $OPTIONS $DATABASE &gt; $OUTPUTDIR/$DATABASE.sql
  fi

done

exit 0</pre>
<p>将这个备份脚本添加可执行属性：</p>
<pre>sudo chmod og-rwx /usr/local/sbin/mysql_auto_backup.sh</pre>
<p>运行mysql</p>
<pre>mysql -u root -p</pre>
<p>给mysql添加专门用来备份数据库的用户：</p>
<pre>GRANT SELECT, LOCK TABLES ON *.* TO mysqlbackup@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;</pre>
<p>注意将password换成你想要设定的密码。</p>
<p>新创建一个mysql配置文件：</p>
<pre>nano /root/.my.cnf.backup</pre>
<p>将这个mysql备份用户信息加到里面：</p>
<pre>[client]
user="mysqlbackup"
password="password"</pre>
<p>注意再次换密码。</p>
<p>设置好这个文件的属性：</p>
<pre>chmod og-rwx /root/.my.cnf.backup</pre>
<p>现在可以测试一下数据备份脚本了，运行：</p>
<pre>/usr/local/sbin/mysql_auto_backup.sh</pre>
<p>如果可以在设定的目录（/root/mysql-backups）找到mysql数据库dump出来的sql文件，那到目前为止一切正常，继续。</p>
<p>创建用来自动备份mysql数据库的logrotate配置文件：</p>
<pre>nano /etc/logrotate.d/mysql-backups</pre>
<p>贴入如下内容:</p>
<pre>/root/mysql-backups/*.sql {
  weekly
  copy
  missingok
  rotate 30
  compress
  notifempty
  create 640 root adm
  sharedscripts
  prerotate
    /usr/local/sbin/mysql_auto_backup.sh
  endscript
}</pre>
<p>上面的设置会每周一次地将mysql中所有除Database和information_schema之外的数据库自动dump到/root/mysql-backups/目录中， 并自动将dump文件压缩成gz格式(如果不希望压缩，去掉上面的compress行）。<br />
如果希望将数据备份周期改到每天一次， 直接将上面logrotate配置文件weekly改成daily就可以了（每月一次是monthly)<br />
上面的脚本会自动保留最近30个备份（注意rotate 30参数， 修改30可设置保留的备份数）</p>
<p>最后测试一下logrotate配置文件有没有问题，强制运行logrotate：</p>
<pre>logrotate -f /etc/logrotate.d/mysql-backups</pre>
<p>这时/root/mysql-backups/目录应该出来gz格式的mysql数据库备份文件。</p>
<p>这时用logrotate的自动mysql数据库的备份部署完成了。这样每星期到/root/mysql-backups/目录下载mysql备份文件就可了。
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/logrotate-mysql-automated-backu/">http://www.cslog.cn/Content/logrotate-mysql-automated-backu/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/logrotate-mysql-automated-backu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
