<?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>Voland.com.cn &#187; 常用技术</title>
	<atom:link href="http://www.voland.com.cn/category/technique/feed" rel="self" type="application/rss+xml" />
	<link>http://www.voland.com.cn</link>
	<description>人生百年,诸事记之</description>
	<lastBuildDate>Thu, 02 Feb 2012 23:09:02 +0000</lastBuildDate>
	<language>zh</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ActiveMQ配置之配置连接密码</title>
		<link>http://www.voland.com.cn/activemq5-5-configuration-password</link>
		<comments>http://www.voland.com.cn/activemq5-5-configuration-password#comments</comments>
		<pubDate>Thu, 29 Dec 2011 05:32:45 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[配置]]></category>
		<category><![CDATA[ActiveMQ]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=734</guid>
		<description><![CDATA[1、控制台安全配置，打开conf/jetty.xml文件，找到 &#60;bean id=&#34;securityConstraint&#34; class=&#34;org.eclipse.jetty.http.security.Constraint&#34;&#62; &#60;property name=&#34;name&#34; value=&#34;BASIC&#34; /&#62; &#60;property name=&#34;roles&#34; value=&#34;admin&#34; /&#62; &#60;property name=&#34;authenticate&#34; value=&#34;false&#34; /&#62; &#60;/bean&#62; 将“false”改为“true”即可。用户名和密码存放在conf/credentials.properties文件中。 2、生产者和消费者连接MQ需要密码 打开conf/activemq.xml文件，在标签里的标签前加入： &#60;plugins&#62; &#60;simpleAuthenticationPlugin&#62; &#60;users&#62; &#60;authenticationUser username=&#34;${activemq.username}&#34; password=&#34;${activemq.password}&#34; groups=&#34;users,admins&#34;/&#62; &#60;/users&#62; &#60;/simpleAuthenticationPlugin&#62; &#60;/plugins&#62; 请注意,这个配置必须在标签前，否则启动ActiveMQ会报错。]]></description>
			<content:encoded><![CDATA[<p>1、控制台安全配置，打开conf/jetty.xml文件，找到</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">    &lt;bean id=&quot;securityConstraint&quot; class=&quot;org.eclipse.jetty.http.security.Constraint&quot;&gt;
        &lt;property name=&quot;name&quot; value=&quot;BASIC&quot; /&gt;
        &lt;property name=&quot;roles&quot; value=&quot;admin&quot; /&gt;
        &lt;property name=&quot;authenticate&quot; value=&quot;false&quot; /&gt;
    &lt;/bean&gt;</pre></div></div>

<p>   将“false”改为“true”即可。用户名和密码存放在conf/credentials.properties文件中。<br />
2、生产者和消费者连接MQ需要密码<br />
   打开conf/activemq.xml文件，在<broker>标签里的<systemUsage>标签前加入：</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">   &lt;plugins&gt;   
     &lt;simpleAuthenticationPlugin&gt;   
       &lt;users&gt;   
          &lt;authenticationUser username=&quot;${activemq.username}&quot; password=&quot;${activemq.password}&quot; groups=&quot;users,admins&quot;/&gt;   
       &lt;/users&gt;   
      &lt;/simpleAuthenticationPlugin&gt;   
   &lt;/plugins&gt;</pre></div></div>

<p>   请注意,这个配置必须在<systemUsage>标签前，否则启动ActiveMQ会报错。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/activemq5-5-configuration-password/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>重设置debian 6系统中mysql5.1的root密码</title>
		<link>http://www.voland.com.cn/reset-debian-6-root-password-for-system-mysql5-1</link>
		<comments>http://www.voland.com.cn/reset-debian-6-root-password-for-system-mysql5-1#comments</comments>
		<pubDate>Thu, 27 Oct 2011 08:44:39 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[常用]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=721</guid>
		<description><![CDATA[今天把一台服务器的系统由debian5升级到了debian6,升级后发现mysql没有启动起来,以前同样的升级也没有遇到过.那就重新安装一个mysql5.1吧,安装完成后,使用root登录不进去了! 使用 sudo cat /etc/mysql/debian.cnf 得到一个用户名为:debian-sys-maint,密码为:YkUUwTfIbqMxi8Vs的用户.然后使用 mysql -udebian-sys-maint -p 成功进入mysql,然后就修改root的密码,如下: UPDATE user SET Password=PASSWORD&#40;'newpassword'&#41; WHERE USER='root'; FLUSH PRIVILEGES; 这里再写几个常用的sql CREATE DATABASE IF NOT EXISTS RCG DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON RCG.* TO rcg@localhost IDENTIFIED BY &#8216;rcg&#8217; WITH GRANT OPTION;]]></description>
			<content:encoded><![CDATA[<p>今天把一台服务器的系统由debian5升级到了debian6,升级后发现mysql没有启动起来,以前同样的升级也没有遇到过.那就重新安装一个mysql5.1吧,安装完成后,使用root登录不进去了!<br />
使用</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo cat /etc/mysql/debian.cnf</pre></div></div>

<p>得到一个用户名为:debian-sys-maint,密码为:YkUUwTfIbqMxi8Vs的用户.然后使用</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>udebian<span style="color: #66cc66;">-</span>sys<span style="color: #66cc66;">-</span>maint <span style="color: #66cc66;">-</span>p</pre></div></div>

<p>成功进入mysql,然后就修改root的密码,如下:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> user <span style="color: #993333; font-weight: bold;">SET</span> Password<span style="color: #66cc66;">=</span>PASSWORD<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'newpassword'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">WHERE</span> USER<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'root'</span>;
<span style="color: #993333; font-weight: bold;">FLUSH</span> PRIVILEGES;</pre></div></div>

<p>这里再写几个常用的sql<br />
CREATE DATABASE IF NOT EXISTS RCG DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;<br />
GRANT ALL PRIVILEGES ON RCG.* TO rcg@localhost IDENTIFIED BY &#8216;rcg&#8217; WITH GRANT OPTION;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/reset-debian-6-root-password-for-system-mysql5-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Myeclipse6.5破解类</title>
		<link>http://www.voland.com.cn/myeclipse6-5-po-jie-lei</link>
		<comments>http://www.voland.com.cn/myeclipse6-5-po-jie-lei#comments</comments>
		<pubDate>Mon, 10 Oct 2011 07:52:21 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[常用]]></category>
		<category><![CDATA[Myeclipse6.5]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=716</guid>
		<description><![CDATA[Myeclipse6.5可能大家也不常用了,我也基本不用,不过用到的时候,没有注册码也难受,在网上找到这个类来生成注册码,还是比较好用的.放在这里备忘: import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Calendar; &#160; public class Crack &#123; //myeclipseBlue6.5破解,运行即可得到key public static final void main&#40;String&#91;&#93; args&#41;&#123; String id=&#34;nortan&#34;; //这是指注册的名称 String num=&#34;999&#34;; System.out.println&#40;getSerial&#40;id,&#34;100&#34;,num,false&#41;&#41;; &#125; public static String getSerial&#40;String userId, String version, String licenseNum, boolean selected&#41; &#123; Calendar cal = Calendar.getInstance&#40;&#41;; cal.add&#40;1, 3&#41;; cal.add&#40;6, -1&#41;; NumberFormat nf = new DecimalFormat&#40;&#34;000&#34;&#41;; licenseNum = [...]]]></description>
			<content:encoded><![CDATA[<p>Myeclipse6.5可能大家也不常用了,我也基本不用,不过用到的时候,没有注册码也难受,在网上找到这个类来生成注册码,还是比较好用的.放在这里备忘:<span id="more-716"></span></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.DecimalFormat</span><span style="color: #339933;">;</span>   
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.NumberFormat</span><span style="color: #339933;">;</span>   
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.SimpleDateFormat</span><span style="color: #339933;">;</span>   
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Calendar</span><span style="color: #339933;">;</span>   
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Crack <span style="color: #009900;">&#123;</span>   
<span style="color: #666666; font-style: italic;">//myeclipseBlue6.5破解,运行即可得到key  </span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>   
        <span style="color: #003399;">String</span> id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;nortan&quot;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//这是指注册的名称  </span>
        <span style="color: #003399;">String</span> num<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;999&quot;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>getSerial<span style="color: #009900;">&#40;</span>id,<span style="color: #0000ff;">&quot;100&quot;</span>,num,<span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
    <span style="color: #009900;">&#125;</span>   
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> getSerial<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> userId, <span style="color: #003399;">String</span> version,   
            <span style="color: #003399;">String</span> licenseNum, <span style="color: #000066; font-weight: bold;">boolean</span> selected<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <span style="color: #003399;">Calendar</span> cal <span style="color: #339933;">=</span> <span style="color: #003399;">Calendar</span>.<span style="color: #006633;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        cal.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        cal.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">6</span>, <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">NumberFormat</span> nf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DecimalFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;000&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        licenseNum <span style="color: #339933;">=</span> nf.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>licenseNum<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">String</span> verTime <span style="color: #339933;">=</span> selected <span style="color: #339933;">?</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;-&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>   
                <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">SimpleDateFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;yyMMdd&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>cal.<span style="color: #006633;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>   
                <span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;-1312310&quot;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//这的时间是指注册到期时间，可以自己修改  </span>
        <span style="color: #003399;">String</span> type <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;YE3MB-&quot;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">String</span> need <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>userId.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   
                .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>type<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>version<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>licenseNum<span style="color: #009900;">&#41;</span>   
                .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>verTime<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">String</span> dx <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>need<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   
                .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>   
                        <span style="color: #0000ff;">&quot;Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.&quot;</span><span style="color: #009900;">&#41;</span>   
&nbsp;
                        .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>userId<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">int</span> suf <span style="color: #339933;">=</span> decode<span style="color: #009900;">&#40;</span>dx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #003399;">String</span> code <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>need<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>   
                <span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>suf<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000000; font-weight: bold;">return</span> change<span style="color: #009900;">&#40;</span>code<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
    <span style="color: #009900;">&#125;</span>   
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> decode<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">char</span> ac<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> s.<span style="color: #006633;">toCharArray</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>   
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> k <span style="color: #339933;">=</span> ac.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&lt;</span> k<span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>   
            i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">31</span> <span style="color: #339933;">*</span> i <span style="color: #339933;">+</span> ac<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>   
&nbsp;
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">abs</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
    <span style="color: #009900;">&#125;</span>   
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> change<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
        <span style="color: #000066; font-weight: bold;">byte</span> abyte0<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> s.<span style="color: #006633;">getBytes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">char</span> ac<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#91;</span>s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>   
        <span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>   
        <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> k <span style="color: #339933;">=</span> abyte0.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> k<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>   
            <span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> abyte0<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>   
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">48</span> <span style="color: #339933;">&amp;&amp;</span> j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">57</span><span style="color: #009900;">&#41;</span>   
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">48</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">48</span><span style="color: #339933;">;</span>   
            <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">65</span> <span style="color: #339933;">&amp;&amp;</span> j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span>   
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">65</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">26</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">65</span><span style="color: #339933;">;</span>   
            <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">97</span> <span style="color: #339933;">&amp;&amp;</span> j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">122</span><span style="color: #009900;">&#41;</span>   
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">97</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">26</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">97</span><span style="color: #339933;">;</span>   
            ac<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span>j<span style="color: #339933;">;</span>   
        <span style="color: #009900;">&#125;</span>   
&nbsp;
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>ac<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
    <span style="color: #009900;">&#125;</span>   
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/myeclipse6-5-po-jie-lei/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu下Subclipse报failed to load javahl library的解决办法</title>
		<link>http://www.voland.com.cn/subclipse-under-ubuntu-report-failed-to-load-javahl-library-solution</link>
		<comments>http://www.voland.com.cn/subclipse-under-ubuntu-report-failed-to-load-javahl-library-solution#comments</comments>
		<pubDate>Thu, 01 Sep 2011 02:00:05 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[常用]]></category>
		<category><![CDATA[操作系统]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=698</guid>
		<description><![CDATA[最近买了一T61p,买回后直接安装Ubuntu 10.04,安装Eclipse并安装Subclipse1.6x插件后,使用svn过程中报如下错误: Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java.library.path no svnjavahl-1 in java.library.path /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: no suitable image found. Did find: /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: mach-o, but wrong architecture 原来是缺少一些关联文件,去subclipse的Wiki看了看,说需要安装libsvn-java,在Ubuntu 下安装很简单,命令如下: sudo apt-get install libsvn-java 安装完后,这文件在/usr/lib/jni目录下,这个目录并不是eclipse的java.library.path路径之一,所以还需要修改eclipse.ini来告诉eclipse去哪找这个libsvn-java相关的文件. 打开eclipse.ini,在最后行加入如下内容(注意换行) -Djava.library.path=/usr/lib/jni]]></description>
			<content:encoded><![CDATA[<p>最近买了一T61p,买回后直接安装Ubuntu 10.04,安装Eclipse并安装Subclipse1.6x插件后,使用svn过程中报如下错误:<br />
<code><br />
Failed to load JavaHL Library.<br />
These are the errors that were encountered:<br />
no libsvnjavahl-1 in java.library.path<br />
no svnjavahl-1 in java.library.path<br />
/opt/local/lib/libsvnjavahl-1.0.0.0.dylib:  no suitable image found.  Did find:  /opt/local/lib/libsvnjavahl-1.0.0.0.dylib: mach-o, but wrong architecture<br />
</code><br />
原来是缺少一些关联文件,去subclipse的Wiki看了看,说需要安装libsvn-java,在Ubuntu 下安装很简单,命令如下:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install libsvn-java</pre></div></div>

<p>安装完后,这文件在/usr/lib/jni目录下,这个目录并不是eclipse的java.library.path路径之一,所以还需要修改eclipse.ini来告诉eclipse去哪找这个libsvn-java相关的文件.<br />
打开eclipse.ini,在最后行加入如下内容(注意换行)</p>

<div class="wp_syntax"><div class="code"><pre class="txt" style="font-family:monospace;">-Djava.library.path=/usr/lib/jni</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/subclipse-under-ubuntu-report-failed-to-load-javahl-library-solution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian6下安装Mysql,Ubuntu下适用</title>
		<link>http://www.voland.com.cn/debian6-install-mysql-ubuntu-applies</link>
		<comments>http://www.voland.com.cn/debian6-install-mysql-ubuntu-applies#comments</comments>
		<pubDate>Mon, 08 Aug 2011 05:53:16 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[常用]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[配置]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=686</guid>
		<description><![CDATA[Debian下安装软件的方便性就不在提了,这里直接讲Debian下安装MYSQL,请分别执行如下命令: sudo apt-get update sudo apt-get installl mysql-server 执行第二条命令的时候,会提示输入root的密码,如下图: 接下来再确认密码,确认后,提示一堆信息,就安装好了.]]></description>
			<content:encoded><![CDATA[<p>Debian下安装软件的方便性就不在提了,这里直接讲Debian下安装MYSQL,请分别执行如下命令:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get update
sudo apt-get installl mysql-server</pre></div></div>

<p>执行第二条命令的时候,会提示输入root的密码,如下图:<br />
<div id="attachment_687" class="wp-caption aligncenter" style="width: 610px"><img src="http://www.voland.com.cn/wp-content/uploads/2011/08/mysqlconfig.jpg" alt="mysqlconfig" title="mysqlconfig" width="600" height="346" class="size-full wp-image-687" /><p class="wp-caption-text">mysql config</p></div><br />
接下来再确认密码,确认后,提示一堆信息,就安装好了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/debian6-install-mysql-ubuntu-applies/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>-bash: /bin/rm: Argument list too long解决办法</title>
		<link>http://www.voland.com.cn/dd</link>
		<comments>http://www.voland.com.cn/dd#comments</comments>
		<pubDate>Wed, 03 Aug 2011 01:54:36 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[人生百味]]></category>
		<category><![CDATA[常用]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=676</guid>
		<description><![CDATA[ls &#124; xargs -n 100 rm -fr ls 就解决了，这句解释为：输出所有的文件名(用空格分割) xargs就是将ls的输出，每100个为一组(以空格为分隔符)，作为rm -rf的参数也就是说将所有文件名100个为一组，由rm -rf删除，这样就不会超过命令行的长度了.]]></description>
			<content:encoded><![CDATA[<per lang="sh">ls | xargs -n 100 rm -fr ls</pre>
<p>就解决了，这句解释为：输出所有的文件名(用空格分割) xargs就是将ls的输出，每100个为一组(以空格为分隔符)，作为rm -rf的参数也就是说将所有文件名100个为一组，由rm -rf删除，这样就不会超过命令行的长度了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/dd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Debian或者Ubuntu服务器上增加用户</title>
		<link>http://www.voland.com.cn/add-a-user-on-ubuntu-server-or-debian-server-on-debian-or-ubuntu-server-to-add-users</link>
		<comments>http://www.voland.com.cn/add-a-user-on-ubuntu-server-or-debian-server-on-debian-or-ubuntu-server-to-add-users#comments</comments>
		<pubDate>Fri, 29 Jul 2011 01:31:51 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[操作系统]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=669</guid>
		<description><![CDATA[Debian或者Ubuntu服务器与其它linux系统一样,有着完全的多用户管理能力,系统用户的增加,我们只需要useradd与adduser两个令命. 1.useradd useradd 命令可以快速增加一个用户使用,如: sudo useradd username 这个命令增加了一个用户,但它没有使用任何的可选选项,所以这个用户目前还没有密码及Home目录.你可以使用-d这个选择来为这个用户设置一个home目录,用-m选项来为这个用户创建一个不存在的目录.我们可以用这些选项来配合useradd添加用户,然后使用passwd命令为这个用户设置密码.当然,你也是可以使用useradd的-p选项来设置一个密码,但我还是建议使用passwd来设置密码,这样至少有确认密码的机会.如下是一个例子: sudo useradd -d /home/nortan -m nortan sudo passwd nortan 这个例子在系统中创建了一个叫nortan的用户,并且把他的Home目录设置为/home/nortan.这个目录在创建的时候,里面的内容实际是从/etc/skel复制过来的.所以如果你想创建用户的时候,在他们的目录下放一些文件,你可以先把这些文件放在/etc/skel下. 现在我们查看一下刚才新建仓的目录有哪些文件 voland@localhost:~$ ls -la /home/nortan total 20 drwxr-xr-x 2 nortan nortan 4096 2006-12-15 11:34 . drwxr-xr-x 5 root root 4096 2006-12-15 11:37 .. -rw-r–r– 1 nortan nortan 220 2006-12-15 11:34 .bash_logout -rw-r–r– 1 nortan nortan 414 2006-12-15 [...]]]></description>
			<content:encoded><![CDATA[<p>Debian或者Ubuntu服务器与其它linux系统一样,有着完全的多用户管理能力,系统用户的增加,我们只需要useradd与adduser两个令命.</p>
<p><strong>1.useradd</strong></p>
<p>useradd 命令可以快速增加一个用户使用,如:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo useradd username</pre></div></div>

<p>这个命令增加了一个用户,但它没有使用任何的可选选项,所以这个用户目前还没有密码及Home目录.你可以使用-d这个选择来为这个用户设置一个home目录,用-m选项来为这个用户创建一个不存在的目录.我们可以用这些选项来配合useradd添加用户,然后使用passwd命令为这个用户设置密码.当然,你也是可以使用useradd的-p选项来设置一个密码,但我还是建议使用passwd来设置密码,这样至少有确认密码的机会.如下是一个例子:<span id="more-669"></span></p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo useradd -d /home/nortan -m nortan
sudo passwd nortan</pre></div></div>

<p>这个例子在系统中创建了一个叫nortan的用户,并且把他的Home目录设置为/home/nortan.这个目录在创建的时候,里面的内容实际是从/etc/skel复制过来的.所以如果你想创建用户的时候,在他们的目录下放一些文件,你可以先把这些文件放在/etc/skel下.<br />
现在我们查看一下刚才新建仓的目录有哪些文件</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">voland@localhost:~$ ls -la /home/nortan
total 20
drwxr-xr-x 2 nortan nortan 4096 2006-12-15 11:34 .
drwxr-xr-x 5 root root 4096 2006-12-15 11:37 ..
-rw-r–r– 1 nortan nortan 220 2006-12-15 11:34 .bash_logout
-rw-r–r– 1 nortan nortan 414 2006-12-15 11:34 .bash_profile
-rw-r–r– 1 nortan nortan 2227 2006-12-15 11:34 .bashrc</pre></div></div>

<p>你发现没有,默认情况下有一些bash脚本文件,所以如果你想设置一些默认路径给新用户,我就得修改/etc/skel,然后你创建他们的时候,这些配置就已经存在了.</p>
<p><strong>2.adduser</strong><br />
adduser命令就更加容易使用了,因为他创建用户过程中,会自动创建用户目录,还有一个向导来引导你输入其它信息,如密码等等.<br />
他的语法是:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">adduser username</pre></div></div>

<p>这里给他例子,其它不多说了:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">voland@localhost:~$ sudo adduser nortan
Password:
Adding user `nortan’…
Adding new group `nortan’ (1004).
Adding new user `nortan’ (1004) with group `nortan’.
Creating home directory `/home/nortan’.
Copying files from `/etc/skel’
Enter new UNIX password:
Retype new UNIX password:
No password supplied
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for nortan
Enter the new value, or press ENTER for the default
Full Name []: The Geek
Room Number []: 0
Work Phone []: 555-1312
Home Phone []: 555-1312
Other []:
Is the information correct? [y/N] y</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/add-a-user-on-ubuntu-server-or-debian-server-on-debian-or-ubuntu-server-to-add-users/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian或者Ubuntu添加虚拟网卡</title>
		<link>http://www.voland.com.cn/add-virtual-network-card-debian-or-ubuntu</link>
		<comments>http://www.voland.com.cn/add-virtual-network-card-debian-or-ubuntu#comments</comments>
		<pubDate>Wed, 27 Jul 2011 07:54:01 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[常用]]></category>
		<category><![CDATA[操作系统]]></category>
		<category><![CDATA[配置]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=658</guid>
		<description><![CDATA[有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍两种方式在debian或ubuntu上添加虚拟网卡. 在添加虚拟网卡前,首先看看网线连接的网卡名是什么(服务器一般有两块网卡,第一个叫eth0,第二个叫eth1). sudo ifconfig 一般情况下会看到: [sudo] password for nortan: eth0 Link encap:Ethernet HWaddr 00:00:4c:5e:a9:ec inet addr:192.168.1.62 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::200:4cff:fe5e:a9ec/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:48954 errors:0 dropped:0 overruns:0 frame:0 TX packets:33536 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13400246 (12.7 MiB) TX bytes:3583352 (3.4 MiB) 其中eth0,就是第一个网卡,我们的例子向第一个网卡添加虚拟网卡: 第一种方法:快递创建\删除虚拟网卡 sudo ifconfig eth0:0 [...]]]></description>
			<content:encoded><![CDATA[<p>有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍两种方式在debian或ubuntu上添加虚拟网卡.</p>
<p>在添加虚拟网卡前,首先看看网线连接的网卡名是什么(服务器一般有两块网卡,第一个叫eth0,第二个叫eth1).</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo ifconfig</pre></div></div>

<p>一般情况下会看到:<br />
<code><br />
[sudo] password for nortan:<br />
eth0      Link encap:Ethernet  HWaddr 00:00:4c:5e:a9:ec<br />
          inet addr:192.168.1.62  Bcast:192.168.1.255  Mask:255.255.255.0<br />
          inet6 addr: fe80::200:4cff:fe5e:a9ec/64 Scope:Link<br />
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br />
          RX packets:48954 errors:0 dropped:0 overruns:0 frame:0<br />
          TX packets:33536 errors:0 dropped:0 overruns:0 carrier:0<br />
          collisions:0 txqueuelen:1000<br />
          RX bytes:13400246 (12.7 MiB)  TX bytes:3583352 (3.4 MiB)<br />
</code><br />
其中eth0,就是第一个网卡,我们的例子向第一个网卡添加虚拟网卡:<span id="more-658"></span></p>
<p><strong>第一种方法:快递创建\删除虚拟网卡</strong></p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo ifconfig eth0:0 192.168.1.63 up</pre></div></div>

<p>以上的命令就可以在eth0网卡上创建一个叫eth0:0的虚拟网卡,他的地址是:192.168.1.63<br />
如果不想要这个虚拟网卡了,可以使用如下命令删除:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo ifconfig eth0:0 down</pre></div></div>

<p>这种办法的优点是创建与删除都快速,不需要重启网络.缺点是重启服务器或者网络后,虚拟网卡就没有了.</p>
<p><strong>第二种方法:修改网卡配置文件</strong><br />
在debian或者ubuntu下,网卡的配置文件是/etc/network/interfaces,所以我们修改它:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo vim /etc/network/interfaces</pre></div></div>

<p>在这个文件中增加如下内容并保存:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">auto eth0:0
iface eth0:0 inet static
address 192.168.1.63
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255</pre></div></div>

<p>保存后,我们需要重启网卡(重新加载配置文件)才会生效,使用如下命令重启:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo /etc/init.d/networking restart</pre></div></div>

<p>他的优点是重启服务器或者网卡都不怕,缺点是麻烦一些.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/add-virtual-network-card-debian-or-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cydia加载数据慢或加载一段时间后退出的解决办法</title>
		<link>http://www.voland.com.cn/cydia-load-data-after-a-period-of-slow-or-loaded-out-of-the-solution</link>
		<comments>http://www.voland.com.cn/cydia-load-data-after-a-period-of-slow-or-loaded-out-of-the-solution#comments</comments>
		<pubDate>Tue, 26 Jul 2011 02:35:57 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[常用]]></category>
		<category><![CDATA[cydia退出]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=656</guid>
		<description><![CDATA[第一种办法: 运行winscp，，输入你iphone 的ip地址，用：root 登陆,然后进入/private/etc/apt/，删除sources.list.d目录下所有的源. 然后就可以进入cydia里了.原理可能是国外的源太慢,或者加载出错,所以把这些源全删除,添加国内的源 第二种办法: 进入/var/root/Media/Cydia/AutoInstall 下面（没有这个目录自己建一个），并将cydia_1.0.3030-62_iphoneos-arm.deb文件放进去，重启iphone 下载]]></description>
			<content:encoded><![CDATA[<p>第一种办法:<br />
运行winscp，，输入你iphone 的ip地址，用：root 登陆,然后进入/private/etc/apt/，删除sources.list.d目录下所有的源.<br />
然后就可以进入cydia里了.原理可能是国外的源太慢,或者加载出错,所以把这些源全删除,添加国内的源</p>
<p>第二种办法:<br />
进入/var/root/Media/Cydia/AutoInstall 下面（没有这个目录自己建一个），并将cydia_1.0.3030-62_iphoneos-arm.deb文件放进去，重启iphone</p>
<p><a href="http://www.voland.com.cn/wp-content/uploads/cydia_1.0.3030-62_iphoneos-arm.deb">下载</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/cydia-load-data-after-a-period-of-slow-or-loaded-out-of-the-solution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian安装配置Iptables防火墙</title>
		<link>http://www.voland.com.cn/debian-install-and-configure-iptables-firewall</link>
		<comments>http://www.voland.com.cn/debian-install-and-configure-iptables-firewall#comments</comments>
		<pubDate>Sat, 23 Jul 2011 04:07:58 +0000</pubDate>
		<dc:creator>Nortan</dc:creator>
				<category><![CDATA[操作系统]]></category>
		<category><![CDATA[配置]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Firewalls]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[防火墙]]></category>

		<guid isPermaLink="false">http://www.voland.com.cn/?p=652</guid>
		<description><![CDATA[服务器通常会安装防火墙,Debian上有很防火墙,Iptables为比较常用的免费防火墙,Iptables能够提供数据包过滤,网络地址转换(NAT)等功能.在Debian上手工配置Iptables的资料比较少,本文做一个详细的介绍. 第一步,首先确定你的系统已经安装Iptables.打开SSH终端,输入 whereis iptables 如果能看到如下类似信息,说明你已经安装了iptables iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz 如果不是这个提示,或者没有任何提示,那你的Debian上可能没有安装iptables 请使用如下命令安装: sudo apt-get install iptables 注意:本文所有命令在普通帐号下完成,本普通帐号使用sudo具有root权限,本人不建议直接使用root用户 第二步:查看Iptables目前的配置信息 可以使用如下命令查看 sudo iptables -L 如果你是第一次安装配置iptables,你可能会看到如下结果: Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 这个结果,也就是防火墙充许所有的请求,就如没有设置防火墙一样. 第三步:配置Iptables 配置Iptables,我们先把一个基本的Iptables的规则文章保存起来,这个规则文章做为测试用 sudo vim /etc/iptables.test.rules [...]]]></description>
			<content:encoded><![CDATA[<p>服务器通常会安装防火墙,Debian上有很防火墙,Iptables为比较常用的免费防火墙,Iptables能够提供数据包过滤,网络地址转换(NAT)等功能.在Debian上手工配置Iptables的资料比较少,本文做一个详细的介绍.</p>
<p>第一步,首先确定你的系统已经安装Iptables.打开SSH终端,输入</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">whereis iptables</pre></div></div>

<p>如果能看到如下类似信息,说明你已经安装了iptables<br />
<code>iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz</code><br />
如果不是这个提示,或者没有任何提示,那你的Debian上可能没有安装iptables<br />
请使用如下命令安装:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo apt-get install iptables</pre></div></div>

<p>注意:本文所有命令在普通帐号下完成,本普通帐号使用sudo具有root权限,本人不建议直接使用root用户<span id="more-652"></span></p>
<p>第二步:查看Iptables目前的配置信息<br />
可以使用如下命令查看</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo iptables -L</pre></div></div>

<p>如果你是第一次安装配置iptables,你可能会看到如下结果:<br />
<code><br />
Chain INPUT (policy ACCEPT)<br />
target     prot opt source               destination<br />
Chain FORWARD (policy ACCEPT)<br />
target     prot opt source               destination<br />
Chain OUTPUT (policy ACCEPT)<br />
target     prot opt source               destination<br />
</code><br />
这个结果,也就是防火墙充许所有的请求,就如没有设置防火墙一样.</p>
<p>第三步:配置Iptables<br />
配置Iptables,我们先把一个基本的Iptables的规则文章保存起来,这个规则文章做为测试用</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo vim /etc/iptables.test.rules</pre></div></div>

<p>然后在这个文章中输入如下规则内容,这个内容是debian官方给出的基本配置</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">*filter
&nbsp;
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
&nbsp;
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
&nbsp;
# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
&nbsp;
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
&nbsp;
# Allows SSH connections for script kiddies
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
&nbsp;
# Now you should read up on iptables rules and consider whether ssh access 
# for everyone is really desired. Most likely you will only allow access from certain IPs.
&nbsp;
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
&nbsp;
# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix &quot;iptables denied: &quot; --log-level 7
&nbsp;
# Reject all other inbound - default deny unless explicitly allowed policy:
-A INPUT -j REJECT
-A FORWARD -j REJECT
&nbsp;
COMMIT</pre></div></div>

<p>保存本文件,然后把本规则加载,使之生效,注意,iptables不需要重启,加载一次规则就成了</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo iptables-restore &lt; /etc/iptables.test.rules</pre></div></div>

<p>然后再查看最新的配置,应该所有的设置都生效了.</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo iptables -L</pre></div></div>

<p>第四小:保存生效的配置,让系统重启的时候自动加载有效配置<br />
iptables提供了保存当前运行的规则功能</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">iptables-save &gt; /etc/iptables.up.rules</pre></div></div>

<p>注意,如果当前用户不是root,即使使用了sudo,也会提示你没有权限,无法保存,所以执行本命令,你必须使用root用户.<br />
可以使用sudo -i快速转到root,使用完成,请及时使用su username切换到普通帐户.</p>
<p>为了重启服务器后,规则自动加载,我们创建如下文件:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">sudo vim /etc/network/if-pre-up.d/iptables</pre></div></div>

<p>本文章的内容如下:</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">#!/bin/bash
/sbin/iptables-restore &lt; /etc/iptables.up.rules</pre></div></div>

<p>最后,设置本文章具体可执行仅限</p>

<div class="wp_syntax"><div class="code"><pre class="sh" style="font-family:monospace;">chmod +x /etc/network/if-pre-up.d/iptables</pre></div></div>

<p>第五:其它<br />
如果你想设置某ip段可以访问所有服务,你需要在iptables.test.rules文件中加入<br />
-A INPUT -m iprange &#8211;src-range 192.168.1.1-192.168.1.199 -j ACCEPT<br />
然后从第三步再设置一次.注意iptables.test.rules不是必须的,它只是让你的修改时,能更好的测试.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.voland.com.cn/debian-install-and-configure-iptables-firewall/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

