<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[Spring.Net &amp; NHibernate 技术中文站]]></title> 
<description><![CDATA[志立于Spring.NET技术在中国的发展应用。]]></description>
<link>http://www.springframework.cn/blog</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>

<item>
	<title>IDEA IDEA 9 快捷键 utf-8 编码 参数设置 编码设置 设置配置 自动保存设置 优化设置</title>
	<link>http://www.springframework.cn/blog/?post=72</link>
	<description><![CDATA[<p><strong>1. IDEA内存优化</strong> <br />
先看看你机器本身的配置而配置. <br />
\IntelliJ IDEA 8\bin\idea.exe.vmoptions <br />
----------------------------------------- <br />
-Xms64m <br />
-Xmx256m <br />
-XX:MaxPermSize=92m <br />
-ea <br />
-server <br />
-Dsun.awt.keepWorkingSetOnMinimize=true</p>
<p>&nbsp;<br />
<br />
<strong>查询快捷键<br />
</strong>CTRL+N&nbsp;&nbsp;&nbsp;查找类<br />
CTRL+SHIFT+N&nbsp;&nbsp;查找文件<br />
CTRL+SHIFT+ALT+N&nbsp;查找类中的方法或变量<br />
CIRL+B&nbsp;&nbsp;&nbsp;找变量的来源<br />
CTRL+ALT+B&nbsp;&nbsp;找所有的子类<br />
CTRL+SHIFT+B&nbsp;&nbsp;找变量的类<br />
CTRL+G&nbsp;&nbsp;&nbsp;定位行<br />
CTRL+F&nbsp;&nbsp;&nbsp;在当前窗口查找文本<br />
CTRL+SHIFT+F&nbsp;&nbsp;在指定窗口查找文本<br />
CTRL+R&nbsp;&nbsp;&nbsp;在当前窗口替换文本<br />
CTRL+SHIFT+R&nbsp;&nbsp;在指定窗口替换文本<br />
ALT+SHIFT+C&nbsp;&nbsp;查找修改的文件<br />
CTRL+E&nbsp;&nbsp;&nbsp;最近打开的文件<br />
F3&nbsp;&nbsp;&nbsp;向下查找关键字出现位置<br />
SHIFT+F3&nbsp;&nbsp;向上一个关键字出现位置<br />
F4&nbsp;&nbsp;&nbsp;查找变量来源<br />
CTRL+ALT+F7&nbsp;&nbsp;选中的字符 查找工程出现的地方<br />
CTRL+SHIFT+O&nbsp;&nbsp;弹出显示查找内容</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>SVN 管理<br />
</strong>把SVN库添加到IDEA中 SETTING -&gt;&nbsp; VERSION CONTROL -&gt; VCS = SVBVERSION</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>自动代码<br />
</strong>ALT+回车&nbsp;&nbsp;导入包,自动修正<br />
CTRL+ALT+L&nbsp;&nbsp;格式化代码<br />
CTRL+ALT+I&nbsp;&nbsp;自动缩进<br />
CTRL+ALT+O&nbsp;&nbsp;优化导入的类和包<br />
ALT+INSERT&nbsp;&nbsp;生成代码(如GET,SET方法,构造函数等)<br />
CTRL+E或者ALT+SHIFT+C&nbsp;最近更改的代码<br />
CTRL+SHIFT+SPACE&nbsp;自动补全代码<br />
CTRL+空格&nbsp;&nbsp;代码提示<br />
CTRL+ALT+SPACE&nbsp;&nbsp;类名或接口名提示<br />
CTRL+P&nbsp;&nbsp;&nbsp;方法参数提示<br />
CTRL+J&nbsp;&nbsp;&nbsp;自动代码<br />
CTRL+ALT+T&nbsp;&nbsp;把选中的代码放在 TRY{} IF{} ELSE{} 里</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>复制快捷方式<br />
</strong>F5&nbsp;&nbsp;&nbsp;拷贝文件快捷方式<br />
CTRL+D&nbsp;&nbsp;&nbsp;复制行<br />
CTRL+X&nbsp;&nbsp;&nbsp;剪切,删除行<br />
CTRL+SHIFT+V&nbsp;&nbsp;可以复制多个文本</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>高亮<br />
</strong>CTRL+F&nbsp;&nbsp;&nbsp;选中的文字,高亮显示 上下跳到下一个或者上一个<br />
F2 或SHIFT+F2&nbsp;&nbsp;高亮错误或警告快速定位<br />
CTRL+SHIFT+F7&nbsp;&nbsp;高亮显示多个关键字.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>其他快捷方式<br />
</strong>CIRL+U&nbsp;&nbsp;&nbsp;大小写切换<br />
CTRL+Z&nbsp;&nbsp;&nbsp;倒退<br />
CTRL+SHIFT+Z&nbsp;&nbsp;向前<br />
CTRL+ALT+F12&nbsp;&nbsp;资源管理器打开文件夹<br />
ALT+F1&nbsp;&nbsp;&nbsp;查找文件所在目录位置<br />
SHIFT+ALT+INSERT&nbsp;竖编辑模式<br />
CTRL+/&nbsp;&nbsp;&nbsp;注释//&nbsp; <br />
CTRL+SHIFT+/&nbsp;&nbsp;注释/*...*/<br />
CTRL+W&nbsp;&nbsp;&nbsp;选中代码，连续按会有其他效果<br />
CTRL+B&nbsp;&nbsp;&nbsp;快速打开光标处的类或方法<br />
ALT+ &larr;/&rarr;&nbsp;&nbsp;切换代码视图<br />
CTRL+ALT &larr;/&rarr;&nbsp;&nbsp;返回上次编辑的位置<br />
ALT+ &uarr;/&darr;&nbsp;&nbsp;在方法间快速移动定位<br />
SHIFT+F6&nbsp;&nbsp;重构-重命名<br />
CTRL+H&nbsp;&nbsp;&nbsp;显示类结构图<br />
CTRL+Q&nbsp;&nbsp;&nbsp;显示注释文档<br />
ALT+1&nbsp;&nbsp;&nbsp;快速打开或隐藏工程面板<br />
CTRL+SHIFT+UP/DOWN&nbsp;代码向上/下移动。<br />
CTRL+UP/DOWN&nbsp;&nbsp;光标跳转到第一行或最后一行下<br />
ESC&nbsp;&nbsp;&nbsp;光标返回编辑框<br />
SHIFT+ESC&nbsp;&nbsp;光标返回编辑框,关闭无用的窗口<br />
F1&nbsp;&nbsp;&nbsp;帮助 千万别按,很卡!<br />
CTRL+F4&nbsp;&nbsp;&nbsp;非常重要 下班都用</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>重要的设置</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>不编译某个MODULES的方法，但在视图上还是有显示<br />
</strong>SETTINGS -&gt; COMPILER -&gt; EXCLUDES -&gt;</p>
<p>&nbsp;</p>
<p><strong>不编译某个MODULES，并且不显示在视图上<br />
</strong>MODULES SETTINGS -&gt; (选择你的MODULE) -&gt; SOURCES -&gt; EXCLUDED -&gt; 整个工程文件夹</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>IDEA编码设置3步曲<br />
</strong>FILE -&gt; SETTINGS -&gt; FILE ENCODINGS -&gt; IDE ENCODING<br />
FILE -&gt; SETTINGS -&gt; FILE ENCODINGS -&gt; DEFAULT ENCODING FOR PROPERTIES FILES<br />
FILE -&gt; SETTINGS -&gt; COMPILER -&gt; JAVA COMPILER -&gt; ADDITIONAL COMMAND LINE PARAMETERS</p>
<p><strong>加上参数 -ENCODING UTF-8 编译GROOVY文件的时候如果不加，STRING S = &quot;中文&quot;; 这样的GROOVY文件编译不过去.</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>编译中添加其他类型文件比如 *.TXT *.INI<br />
</strong>FILE -&gt; SETTINGS -&gt; RESOURCE PATTERNS</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>改变编辑文本字体大小<br />
</strong>FILE -&gt; SETTINGS -&gt; EDITOR COLORS &amp; FONTS -&gt; FONT -&gt; SIZE</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>修改智能提示快捷键 <br />
</strong>FILE -&gt; SETTINGS -&gt; KEYMAP -&gt; MAIN MENU -&gt; CODE -&gt; COMPLETE CODE -&gt; BASIC</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>显示文件过滤<br />
</strong>FILE -&gt; SETTINGS -&gt; FILE TYPES -&gt; IGNORE FILES...<br />
<strong>下边是我过滤的类型,区分大小写的<br />
CVS;SCCS;RCS;rcs;.DS_Store;.svn;.pyc;.pyo;*.pyc;*.pyo;.git;*.hprof;_svn;.sbas;.IJI.*;vssver.scc;vssver2.scc;.*;*.iml;*.ipr;*.iws;*.ids</strong></p>
<p>&nbsp;</p>
<p><strong>在PROJECT窗口中快速定位,编辑窗口中的文件</strong><strong><br />
在编辑的所选文件按ALT+F1,然后选择PROJECT VIEW</strong></p>]]></description>
	<pubDate>Thu, 02 Sep 2010 15:21:50 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=72</guid>

</item>
<item>
	<title>Linux下的批量Kill进程采用ps结合kill</title>
	<link>http://www.springframework.cn/blog/?post=71</link>
	<description><![CDATA[<p>ps -ef|grep Aug16|grep -v grep|cut -c 9-15|xargs kill -9</p>]]></description>
	<pubDate>Mon, 30 Aug 2010 09:45:39 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=71</guid>

</item>
<item>
	<title>linux cron的时间定义</title>
	<link>http://www.springframework.cn/blog/?post=66</link>
	<description><![CDATA[<p>/etc/crontab 文件中的行由 6 个字段组成，不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间</p>
<p>　　分钟 (0-59)</p>
<p>　　小时 (0-23)</p>
<p>　　日期 (1-31)</p>
<p>　　月份 (1-12)</p>
<p>　　星期几(0-6，其中 0 代表星期日)</p>]]></description>
	<pubDate>Tue, 25 May 2010 09:05:55 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=66</guid>

</item>
<item>
	<title>redhat enterprise 5.4 X64位Linux很卡--解决方法</title>
	<link>http://www.springframework.cn/blog/?post=65</link>
	<description><![CDATA[<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">刚装好的redhat enterprise 5.4</span><span style="font-size: 9pt; mso-spacerun: yes"> </span><span style="font-size: 9pt; mso-spacerun: yes">X64版本</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">症状：ssh终端连接速度慢，vi打开文件卡住，ls列目录需要很长的一段时间，整台服务器几乎无法操作。出现如下进程：</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">/bin/bash /usr/bin/run-parts /etc/cron.hourly</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">/bin/bash /etc/cron.hourly/mcelog.cron</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">awk -v progname=/etc/cron.hourly/mcelog.cron progname {?????&nbsp;&nbsp;&nbsp; print progname &quot;:\n&quot;?????&nbsp;&nbsp;&nbsp; progname=&quot;&quot;;????&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">/bin/bash /etc/cron.hourly/mcelog.cron</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">awk -v progname=/etc/cron.hourly/mcelog.cron progname {?????&nbsp;&nbsp;&nbsp; print progname &quot;:\n&quot;?????&nbsp;&nbsp;&nbsp; progname=&quot;&quot;;????&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">cat /sys/hypervisor/uuid</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">cat /sys/hypervisor/uuid</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">/bin/bash /etc/cron.hourly/mcelog.cron</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">awk -v progname=/etc/cron.hourly/mcelog.cron progname {?????&nbsp;&nbsp;&nbsp; print progname &quot;:\n&quot;?????&nbsp;&nbsp;&nbsp; progname=&quot;&quot;;????&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p style="text-align: justify; margin-top: 0pt; margin-bottom: 0pt; vertical-align: baseline; word-break: break-all" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">cat /sys/hypervisor/uuid</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">解决方法一：</span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">关闭Linux的虚拟化xend</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">[root@localhost ~]# vi /boot/grub/grub.conf //进入引导文件</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">将default=0修改为1，如果只有一个引导选项的话，那就不需要做修改。看下一个方法。</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">解决方法二：</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">关闭/etc/updatedb.conf，打开updatedb.conf在首行加上</span><span style="color: rgb(255,0,0); font-size: 9pt; mso-spacerun: yes">DAILY_UPDATE=n</span><span style="color: rgb(255,0,0); font-size: 9pt; mso-spacerun: yes">o</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="color: rgb(255,0,0); font-size: 9pt; mso-spacerun: yes">大致如下：</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">DAILY_UPDATE=n</span><span style="font-size: 9pt; mso-spacerun: yes">o</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">PRUNEFS = &quot;auto afs gfs gfs2 iso9660 sfs udf&quot;</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">PRUNEPATHS=&quot;/afs /media /net /sfs /tmp /udev /var/spool/cups /var/spool/squid /var/tmp&quot;</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0">&nbsp;</p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">updatedb.Conf</span><span style="font-size: 9pt; mso-spacerun: yes">的作用：</span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-size: 9pt; mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 简单的说一下：服务器每天定时对硬盘上的文件进行索引，简单的说就是建立一个数据库，把所有文件目录信息存放到这个库里面，当使用whereis和locate命令搜索文件时，它直接到这个数据库中读取数据。而不是像find一样在硬盘上找文件。Whereis搜索一个文件几乎只要几秒钟就可以搞定，而find需要花费几分钟或者更长时间。updatedb.Conf使搜索的效率提高了很多倍。但是有缺点，它每天都需要索引更新，这会导致IO负载过高，因为不是时时更新，所以会出现搜索到已经删除的文件，搜不出新添加的文件，平时管理中我们很少用到。如果文件数量多而且更新平凡，我们大可把这个功能关闭。</span></p>]]></description>
	<pubDate>Mon, 24 May 2010 17:04:32 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=65</guid>

</item>
<item>
	<title>output_buffering没打开将影响php的cookie</title>
	<link>http://www.springframework.cn/blog/?post=63</link>
	<description><![CDATA[<p>output_buffering没打开将影响php的cookie</p>
<p>应该 是</p>
<p>output_buffering=on</p>
<p>否则cookie太多后可能无效。</p>]]></description>
	<pubDate>Fri, 21 May 2010 14:37:38 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=63</guid>

</item>
<item>
	<title>php mysql apache线程安全的问题</title>
	<link>http://www.springframework.cn/blog/?post=62</link>
	<description><![CDATA[<p>php-5.2.8<br />
checking for MySQL UNIX socket location... no<br />
configure: error: Cannot find libmysqlclient_r under /www/servers/mysql4118.<br />
Note that the MySQL client library is not bundled anymore!<br />
要求mysql也要加上 --enable-thread-safe-client.<br />
解决方法一：重新编译安装MYSQL的时候加上 --enable-thread-safe-client.<br />
原因：--enable-thread-safe-client&nbsp;&nbsp;&nbsp; #Compile the client with threads. 如果没有这个参数，编译php的时候会报&quot;Cannot find libmysqlclient_r under&rdquo;之类的错误。<br />
其实这跟PHP没有关系<br />
那是因为我在编译APACHE的时候，使用--with-mpm模块，所以就必须在编译MYSQL的时候加上 --enable-thread-safe-client.<br />
这是PHP5.2的一个改进，在PHP5.2.0之前的版本都不需要MYSQL启用安全线程</p>
<p>解决方法二：编译之前，先处理一下mysql的库，默认查找libmysqlclient_r.so，可是mysql默认为libmysqlclient.so，内容完全一样，做个链接即可<br />
# cd /data/mysql/lib/mysql/<br />
# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so <br />
照做。<br />
再次重新编译安装PHP<br />
顺利通过！</p>]]></description>
	<pubDate>Fri, 21 May 2010 12:35:00 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=62</guid>

</item>
<item>
	<title>linux fdisk使用</title>
	<link>http://www.springframework.cn/blog/?post=61</link>
	<description><![CDATA[<p>(1) fdisk -l</p>
<p>查看磁盘列表</p>
<p>(2) fdisk /dev/hdc</p>
<p>分区</p>
<p>(3) mkfs.ext3 /dev/hdc1</p>
<p>格式化</p>
<p>(4) mount</p>
<p>mount /dev/hdc1 /usr/local/www/bak/</p>]]></description>
	<pubDate>Thu, 13 May 2010 17:04:50 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=61</guid>

</item>
<item>
	<title>我的Samba配置文件内容</title>
	<link>http://www.springframework.cn/blog/?post=60</link>
	<description><![CDATA[<p>smb.conf</p>
<p>&nbsp;<span style="color: #333399">#======================= Global Settings =====================================<br />
[global] <br />
dos charset = GB2312<br />
unix charset = GB2312<br />
display charset = GB2312<br />
# ----------------------- Netwrok Related Options -------------------------<br />
workgroup&nbsp; = STHOME<br />
server string = Steelhome Samba Server <br />
&nbsp;<br />
netbios name = smbserver<br />
hosts allow = 172.16.0.0/255.255.0.0<br />
&nbsp;<br />
max connections = 20<br />
# --------------------------- Logging Options -----------------------------<br />
log file = /var/log/samba/%m.log<br />
max log size = 50<br />
&nbsp;<br />
# ----------------------- Standalone Server Options ------------------------<br />
security = user<br />
#security = share<br />
#encrypt passwords = Yes <br />
#smb passwd file = /etc/samba/smbpasswd<br />
passdb backend = tdbsam<br />
# --------------------------- Filesystem Options ---------------------------<br />
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192<br />
dns proxy = no<br />
template shell = /bin/false<br />
winbind use default domain = no</span></p>
<p><span style="color: #333399">#============================ Share Definitions ==============================<br />
#[resource]<br />
#comment = local resource<br />
#path = /usr/local/www<br />
#read only = no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
#public = yes</span></p>
<p><span style="color: #333399">[steel]<br />
&nbsp;&nbsp;&nbsp; comment = steel<br />
&nbsp;&nbsp;&nbsp; path = /usr/local/www<br />
&nbsp;&nbsp;&nbsp; valid users = llh,lyl,wqj,zxm,yrr<br />
&nbsp;&nbsp;&nbsp; public = no<br />
&nbsp;&nbsp;&nbsp; writable = yes<br />
&nbsp;&nbsp;&nbsp; printable = no<br />
</span><span style="color: #333399">&nbsp;&nbsp;&nbsp; create mask = 0775<br />
&nbsp;&nbsp;&nbsp; directory mask = 0775<br />
&nbsp;&nbsp;&nbsp; browseable = no</span></p>
<p>&nbsp;</p>
<p><span style="color: #333399">添加新用户：</span></p>
<p><span style="color: #333399">(1)建立系统用户，如llh</span></p>
<p><span style="color: #333399">(2)添加到Samba帐号：<font color="#000000">pdbedit &ndash;a llh</font></span></p>]]></description>
	<pubDate>Wed, 12 May 2010 14:18:33 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=60</guid>

</item>
<item>
	<title>Samba配置文件常用参数详解</title>
	<link>http://www.springframework.cn/blog/?post=59</link>
	<description><![CDATA[<div><font face="微软雅黑"><font size="3"><b>Samba</b><b>配置文件常用参数详解</b></font></font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑">Samba的主配置文件叫smb.conf，默认在/etc/samba/目录下。</font></div>
<div><font face="微软雅黑">smb.conf含有多个段，每个段由段名开始，直到下个段名。每个段名放在方括号中间。每段的参数的格式是：名称=指。配置文件中一行一个段名和参数，段名和参数名不分大小写。</font></div>
<div><font face="微软雅黑">除了[global]段外，所有的段都可以看作是一个共享资源。段名是该共享资源的名字，段里的参数是该共享资源的属性。</font></div>
<div><font face="微软雅黑">Samba安装好后，使用testparm命令可以测试smb.conf配置是否正确。使用<b>testparm &ndash;v</b>命令可以详细的列出smb.conf支持的配置参数。</font></div>
<div>&nbsp;</div>
<div><b><font size="3" face="微软雅黑">全局参数：</font></b></div>
<div><font face="微软雅黑">==================Global Settings ===================</font></div>
<div><b><font face="微软雅黑">[global]</font></b></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">config file = /usr/local/samba/lib/smb.conf.%m</font></b></div>
<div><font face="微软雅黑">说明：config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在，则该项无效。这个参数很有用，可以使得samba配置更灵活，可以让一台samba服务器模拟多台不同配置的服务器。比如，你想让PC1（主机名）这台电脑在访问Samba Server时使用它自己的配置文件，那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件，然后在smb.conf中加入：config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时，smb.conf.%m就被替换成smb.conf.pc1。这样，对于PC1来说，它所使用的Samba服务就是由smb.conf.pc1定义的，而其他机器访问Samba Server则还是应用smb.conf。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">workgroup = WORKGROUP </font></b></div>
<div><font face="微软雅黑">说明：设定 Samba Server 所要加入的工作组或者域。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">server string = Samba Server Version %v</font></b></div>
<div><font face="微软雅黑">说明：设定 Samba Server 的注释，可以是任何字符串，也可以不填。宏%v表示显示Samba的版本号。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">netbios name = smbserver</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server的NetBIOS名称。如果不填，则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 </font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server监听哪些网卡，可以写网卡名，也可以写该网卡的IP地址。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">hosts allow = 127. 192.168.1. 192.168.10.1</font></b></div>
<div><font face="微软雅黑">说明：表示允许连接到Samba Server的客户端，多个参数以空格隔开。可以用一个IP表示，也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。</font></div>
<div><font face="微软雅黑">例如：hosts allow=172.17.2.EXCEPT172.17.2.50</font></div>
<div><font face="微软雅黑">表示容许来自172.17.2.*.*的主机连接，但排除172.17.2.50</font></div>
<div><font face="微软雅黑">hosts allow=172.17.2.0/255.255.0.0</font></div>
<div><font face="微软雅黑">表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接</font></div>
<div><font face="微软雅黑">hosts allow=M1，M2</font></div>
<div><font face="微软雅黑">表示容许来自M1和M2两台计算机连接</font></div>
<div><font face="微软雅黑">hosts allow=@xq</font></div>
<div><font face="微软雅黑">表示容许来自XQ网域的所有计算机连接</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">max connections = 0</font></b></div>
<div><font face="微软雅黑">说明：max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目，则新的连接请求将被拒绝。0表示不限制。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">deadtime = 0</font></b></div>
<div><font face="微软雅黑">说明：deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟，0代表Samba Server不自动切断任何连接。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">time server = yes/no</font></b></div>
<div><font face="微软雅黑">说明：time server用来设置让nmdb成为windows客户端的时间服务器。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">log file = /var/log/samba/log.%m</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m（主机名），表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server，就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">max log size = 50</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server日志文件的最大容量，单位为kB，0代表不限制。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">security = user </font></b></div>
<div><font face="微软雅黑">说明：设置用户访问Samba Server的验证方式，一共有四种验证方式。</font></div>
<div><font face="微软雅黑"><b>1. </b><b>share</b><b>：</b>用户访问Samba Server不需要提供用户名和口令, 安全性能较低。</font></div>
<div><font face="微软雅黑"><b>2. </b><b>user：</b>Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。</font></div>
<div><font face="微软雅黑"><b>3. </b><b>server：</b>依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。</font></div>
<div><font face="微软雅黑"><b>4. </b><b>domain：</b>域安全级别,使用主域控制器(PDC)来完成认证。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">passdb backend = tdbsam</font></b></div>
<div><font face="微软雅黑">说明：passdb backend就是用户后台的意思。目前有三种后台：smbpasswd、tdbsam和ldapsam。sam应该是security account manager（安全账户管理）的简写。</font></div>
<div><font face="微软雅黑"><b>1.smbpasswd：</b>该方式是使用smb自己的工具smbpasswd来给系统用户（真实</font></div>
<div><font face="微软雅黑">用户或者虚拟用户）设置一个Samba密码，客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下，不过有时候要手工建立该文件。</font></div>
<div><font face="微软雅黑"><b>2.tdbsam</b><b>：</b>该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb，默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd &ndash;a来建立Samba用户，不过要建立的Samba用户必须先是系统用户。我们也可以使用<b>pdbedit</b>命令来建立Samba账户。pdbedit命令的参数很多，我们列出几个主要的。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;a username：新建Samba账户。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;x username：删除Samba账户。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;L：列出Samba用户列表，读取passdb.tdb数据库文件。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;Lv：列出Samba用户列表的详细信息。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;c &ldquo;[D]&rdquo; &ndash;u username：暂停该Samba用户的账号。</font></div>
<div><font face="微软雅黑">pdbedit &ndash;c &ldquo;[]&rdquo; &ndash;u username：恢复该Samba用户的账号。</font></div>
<div><font face="微软雅黑"><b>3.ldapsam</b><b>：</b>该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务，然后设置&ldquo;passdb backend = ldapsam:ldap://LDAP Server&rdquo;</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">encrypt passwords = yes/no</font></b></div>
<div><font face="微软雅黑">说明：是否将认证密码加密。因为现在windows操作系统都是使用加密密码，所以一般要开启此项。不过配置文件默认已开启。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">smb passwd file = /etc/samba/smbpasswd</font></b></div>
<div><font face="微软雅黑">说明：用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">username map = /etc/samba/smbusers</font></b></div>
<div><font face="微软雅黑">说明：用来定义用户名映射，比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如：root = administrator admin，这样就可以用administrator或admin这两个用户来代替root登陆Samba Server，更贴近windows用户的习惯。</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><strong>guest account = nobody</strong></font></div>
<div><font face="微软雅黑">说明：用来设置guest用户名。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192</font></b></div>
<div><font face="微软雅黑">说明：用来设置服务器和客户端之间会话的Socket选项，可以优化传输速度。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">domain master = yes/no </font></b></div>
<div><font face="微软雅黑">说明：设置Samba服务器是否要成为网域主浏览器，网域主浏览器可以管理跨子网域的浏览服务。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">local master = yes/no</font></b></div>
<div><font face="微软雅黑">说明：local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no，则永远不会成为本地网域主浏览器。但是即使设置为yes，也不等于该Samba Server就能成为主浏览器，还需要参加选举。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">preferred master = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server一开机就强迫进行主浏览器选举，可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时，最好把domain master也指定为yes。使用该参数时要注意：如果在本Samba Server所在的子网有其他的机器（不论是windows NT还是其他Samba Server）也指定为首要主浏览器时，那么这些机器将会因为争夺主浏览器而在网络上大发广播，影响网络性能。</font></div>
<div><font face="微软雅黑">如果同一个区域内有多台Samba Server，将上面三个参数设定在一台即可。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">os level = 200</font></b></div>
<div><font face="微软雅黑">说明：设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255，winNT的os level是32，win95/98的os level是1。Windows 2000的os level是64。如果设置为0，则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC，那么将它的os level值设大些。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">domain logons = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">logon . = %u.bat</font></b></div>
<div><font face="微软雅黑">说明：当使用者用windows客户端登陆，那么Samba将提供一个登陆档。如果设置成%u.bat，那么就要为每个用户提供一个登陆档。如果人比较多，那就比较麻烦。可以设置成一个具体的文件名，比如start.bat，那么用户登陆后都会去执行start.bat，而不用为每个用户设定一个登陆档了。这个文件要放置在[netlogon]的path设置的目录路径下。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">wins support = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置samba服务器是否提供wins服务。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">wins server = wins服务器IP地址</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server是否使用别的wins服务器提供wins服务。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">wins proxy = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server是否开启wins代理服务。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">dns proxy = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置Samba Server是否开启dns代理服务。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">load printers = yes/no</font></b></div>
<div><font face="微软雅黑">说明：设置是否在启动Samba时就共享打印机。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">printcap name = cups</font></b></div>
<div><font face="微软雅黑">说明：设置共享打印机的配置文件。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">printing = cups</font></b></div>
<div><font face="微软雅黑">说明：设置Samba共享打印机的类型。现在支持的打印系统有：bsd, sysv, plp, lprng, aix, hpux, qnx</font></div>
<div>&nbsp;</div>
<div><b><font size="3" face="微软雅黑">共享参数：</font></b></div>
<div><font face="微软雅黑">================== Share Definitions ==================</font></div>
<div><font face="微软雅黑"><b>[</b><b>共享名]</b></font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><b>comment = </b><b>任意字符串</b></font></div>
<div><font face="微软雅黑">说明：comment是对该共享的描述，可以是任意字符串。</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><b>path = </b><b>共享目录路径</b></font></div>
<div><font face="微软雅黑">说明：path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名，用宏表示主要用于[homes]共享域。例如：如果我们不打算用home段做为客户的共享，而是在/home/share/下为每个Linux用户以他的用户名建个目录，作为他的共享目录，这样path就可以写成：path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替，要注意这个用户名路径一定要存在，否则，客户机在访问时会找不到网络路径。同样，如果我们不是以用户来划分目录，而是以客户机来划分目录，为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径，作为不同机器的共享资源，就可以这样写：path = /home/share/%m 。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">browseable = yes/no</font></b></div>
<div><font face="微软雅黑">说明：browseable用来指定该共享是否可以浏览。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">writable = yes/no</font></b></div>
<div><font face="微软雅黑">说明：writable用来指定该共享路径是否可写。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">available = yes/no</font></b></div>
<div><font face="微软雅黑">说明：available用来指定该共享资源是否可用。</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><b>admin users = </b><b>该共享的管理者</b></font></div>
<div><font face="微软雅黑">说明：admin users用来指定该共享的管理员（对该共享具有完全控制权限）。在samba 3.0中，如果用户验证方式设置成&ldquo;security=share&rdquo;时，此项无效。</font></div>
<div><font face="微软雅黑">例如：admin users =bobyuan，jane（多个用户中间用逗号隔开）。</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><b>valid users = </b><b>允许访问该共享的用户</b></font></div>
<div><font face="微软雅黑">说明：valid users用来指定允许访问该共享资源的用户。</font></div>
<div><font face="微软雅黑">例如：valid users = bobyuan，@bob，@tech（多个用户或者组中间用逗号隔开，如果要加入一个组就用&ldquo;@+组名&rdquo;表示。）</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑"><b>invalid users = </b><b>禁止访问该共享的用户</b></font></div>
<div><font face="微软雅黑">说明：invalid users用来指定不允许访问该共享资源的用户。</font></div>
<div><font face="微软雅黑">例如：invalid users = root，@bob（多个用户或者组中间用逗号隔开。）</font></div>
<div>&nbsp;</div>
<div><strong><font face="微软雅黑">write list = 允许写入该共享的用户</font></strong></div>
<div><font face="微软雅黑">说明：write list用来指定可以在该共享下写入文件的用户。</font></div>
<div><font face="微软雅黑">例如：write list = bobyuan，@bob</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">public = yes/no</font></b></div>
<div><font face="微软雅黑">说明：public用来指定该共享是否允许guest账户访问。</font></div>
<div>&nbsp;</div>
<div><b><font face="微软雅黑">guest ok = yes/no</font></b></div>
<div><font face="微软雅黑">说明：意义同&ldquo;public&rdquo;。</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑">几个特殊共享：</font></div>
<div><font face="微软雅黑">[homes]</font></div>
<div><font face="微软雅黑">comment = Home Directories</font></div>
<div><font face="微软雅黑">browseable = no</font></div>
<div><font face="微软雅黑">writable = yes</font></div>
<div><font face="微软雅黑">valid users = %S</font></div>
<div><font face="微软雅黑">; valid users = MYDOMAIN\%S</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑">[printers]</font></div>
<div><font face="微软雅黑">comment = All Printers</font></div>
<div><font face="微软雅黑">path = /var/spool/samba</font></div>
<div><font face="微软雅黑">browseable = no</font></div>
<div><font face="微软雅黑">guest ok = no</font></div>
<div><font face="微软雅黑">writable = no</font></div>
<div><font face="微软雅黑">printable = yes</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑">[netlogon]</font></div>
<div><font face="微软雅黑">comment = Network Logon Service</font></div>
<div><font face="微软雅黑">path = /var/lib/samba/netlogon</font></div>
<div><font face="微软雅黑">guest ok = yes</font></div>
<div><font face="微软雅黑">writable = no</font></div>
<div><font face="微软雅黑">share modes = no</font></div>
<div>&nbsp;</div>
<div><font face="微软雅黑">[Profiles]</font></div>
<div><font face="微软雅黑">path = /var/lib/samba/profiles</font></div>
<div><font face="微软雅黑">browseable = no</font></div>
<div><font face="微软雅黑">guest ok = yes</font></div>]]></description>
	<pubDate>Wed, 12 May 2010 12:12:57 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=59</guid>

</item>
<item>
	<title>linux中如何让当前运行的进程进入后台运行</title>
	<link>http://www.springframework.cn/blog/?post=56</link>
	<description><![CDATA[<p>对于已经在前台执行的命令，也可以重新放到后台执行，首先按<strong>ctrl+z</strong>暂停已经运行的进程，然后使用<strong>bg</strong>命令将停止的作业放到后台运行：</p>
<p>$ ./test.sh<br />
[1]+&nbsp; Stopped&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./test.sh<br />
<br />
$ bg %1<br />
[1]+ ./test.sh &amp;<br />
<br />
$ jobs -l<br />
[1]+ 22794 Running&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./test.sh &amp;<br />
&nbsp;</p>]]></description>
	<pubDate>Wed, 05 May 2010 14:37:32 +0800</pubDate>
	<author>㊣阿华</author>
	<guid>http://www.springframework.cn/blog/?post=56</guid>

</item></channel>
</rss>