﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-lqxue-随笔分类-linux</title><link>http://www.blogjava.net/lqxue/category/24890.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 27 Oct 2007 01:21:24 GMT</lastBuildDate><pubDate>Sat, 27 Oct 2007 01:21:24 GMT</pubDate><ttl>60</ttl><item><title>solaris 下怎么设置环境变量</title><link>http://www.blogjava.net/lqxue/archive/2007/10/21/154639.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Sun, 21 Oct 2007 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/10/21/154639.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/154639.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/10/21/154639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/154639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/154639.html</trackback:ping><description><![CDATA[sh: &nbsp; <br />
&nbsp; variable=value &nbsp; <br />
&nbsp; export &nbsp; variable &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; csh: &nbsp; <br />
&nbsp; setenv &nbsp; variable &nbsp; value
<img src ="http://www.blogjava.net/lqxue/aggbug/154639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-10-21 10:40 <a href="http://www.blogjava.net/lqxue/archive/2007/10/21/154639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[收藏]在 Linux 上使用 Bugzilla 跟踪 bug</title><link>http://www.blogjava.net/lqxue/archive/2007/10/19/154193.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Fri, 19 Oct 2007 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/10/19/154193.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/154193.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/10/19/154193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/154193.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/154193.html</trackback:ping><description><![CDATA[http://www.ibm.com/developerworks/cn/linux/l-bugzilla.html<br />
<img src ="http://www.blogjava.net/lqxue/aggbug/154193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-10-19 14:01 <a href="http://www.blogjava.net/lqxue/archive/2007/10/19/154193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[收藏]RedHat9+Apache2+Resin3 安装指南 </title><link>http://www.blogjava.net/lqxue/archive/2007/10/13/152641.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Sat, 13 Oct 2007 13:37:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/10/13/152641.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/152641.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/10/13/152641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/152641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/152641.html</trackback:ping><description><![CDATA[http://www.be10.com/vbb3.0.1/showthread.php?t=1067
<img src ="http://www.blogjava.net/lqxue/aggbug/152641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-10-13 21:37 <a href="http://www.blogjava.net/lqxue/archive/2007/10/13/152641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows 和 linux 系统中的分隔符</title><link>http://www.blogjava.net/lqxue/archive/2007/10/10/151754.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Wed, 10 Oct 2007 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/10/10/151754.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/151754.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/10/10/151754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/151754.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/151754.html</trackback:ping><description><![CDATA[<font size="-1">在<font color="#cc0033">linux</font>下需要新建一个sh脚本，基本<font color="#cc0033">写法</font>和在windows下一样，唯一区别是在windows<wbr>下各个jar包之间的<font color="#cc0033">分隔符</font>是";"，而在<font color="#cc0033">linux</font>下各个jar包之间的<font color="#cc0033">分隔符</font>是":"。 <font color="#cc0033">java</font> -classpath /root/cmdDemo/lib/log4j-1.2.14.jar:/root/cmdDemo/lib/cmdDemo.jar <strong>...</strong></font>
<img src ="http://www.blogjava.net/lqxue/aggbug/151754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-10-10 15:18 <a href="http://www.blogjava.net/lqxue/archive/2007/10/10/151754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让Linux下程序永远在后台执行</title><link>http://www.blogjava.net/lqxue/archive/2007/09/02/142015.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Sat, 01 Sep 2007 17:38:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/09/02/142015.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/142015.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/09/02/142015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/142015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/142015.html</trackback:ping><description><![CDATA[Unix/Linux下一般想让某个程序在后台运行，很多都是使用 &amp; 在程序结尾来让程序自动运行。比如我们要运行mysql在后台：
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/mysql/bin/mysqld_safe --user=mysql &amp;</p>
<p>　但是我们很多程序并不象mysqld一样可以做成守护进程，可能我们的程序只是普通程序而已，一般这种程序即使使用 &amp; 结尾，如果终端关闭，那么程序也会被关闭。为了能够后台运行，我们需要使用nohup这个命令，比如我们有个start.sh需要在后台运行，并且希望在后台能够一直运行，那么就使用nohup： </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nohup /root/start.sh &amp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在shell中回车后提示： </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [~]$ appending output to nohup.out </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原程序的的标准输出被自动改向到当前目录下的nohup.out文件，起到了log的作用。</p>
<p>但是有时候在这一步会有问题，当把终端关闭后，进程会自动被关闭，察看nohup.out可以看到在关闭终端瞬间服务自动关闭。</p>
<p>咨询红旗Linux工程师后，他也不得其解，在我的终端上执行后，他启动的进程竟然在关闭终端后依然运行。</p>
<p>在第二遍给我演示时，我才发现我和他操作终端时的一个细节不同：他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口，然后通过在shell中输入exit来退出终端；而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端.。所以这时候会断掉该命令所对应的session，导致nohup对应的进程被通知需要一起shutdown。</p>
<p>这个细节<a href="http://www.douzhe.com/bbs/archiver/tid-3119.html" target="_blank">有人和我一样没注意到</a>，所以在这儿记录一下了。<br />
<strong></strong></p>
<p><strong>附：nohup命令参考</strong> </p>
<div style="margin-left: 2em">
<div class="post-body">
<p>nohup 命令 </p>
<p>　　用途：不挂断地运行命令。 </p>
<p>　　语法：nohup Command [ Arg ... ] [　&amp; ] </p>
<p>　　描述：nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令，忽略所有挂断（SIGHUP）信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令，添加 &amp; （ 表示"and"的符号）到命令的尾部。 </p>
<p>　　无论是否将 nohup 命令的输出重定向到终端，输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写，输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加，那么 Command 参数指定的命令不可调用。如果标准错误是一个终端，那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 </p>
<p>　　退出状态：该命令返回下列出口值： </p>
<p>　　126 可以查找但不能调用 Command 参数指定的命令。 </p>
<p>　　127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。 </p>
<p>　　否则，nohup 命令的退出状态是 Command 参数指定命令的退出状态。 </p>
<p>　　nohup命令及其输出文件 </p>
<p>　　nohup命令：如果你正在运行一个进程，而且你觉得在退出帐户时该进程还不会结束，那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。 </p>
<p>　　该命令的一般形式为：nohup command &amp; </p>
<p>　　使用nohup命令提交作业 </p>
<p>　　如果使用nohup命令提交作业，那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中，除非另外指定了输出文件： </p>
<p>　　nohup command &gt; myout.file 2&gt;&amp;1 &amp; </p>
<p>　　在上面的例子中，输出被重定向到myout.file文件中。 </p>
<p>　　使用 jobs 查看任务。 </p>
<p>　　使用 fg %n　关闭。 </p>
<p>　　另外有两个常用的ftp工具ncftpget和ncftpput，可以实现后台的ftp上传和下载，这样就可以利用这些命令在后台上传和下载文件了。 </p>
</div>
<br />
<br />
from：http://einit.com/user1/11/archives/2006/3603.html</div>
<img src ="http://www.blogjava.net/lqxue/aggbug/142015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-09-02 01:38 <a href="http://www.blogjava.net/lqxue/archive/2007/09/02/142015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cron和crontab命令详解</title><link>http://www.blogjava.net/lqxue/archive/2007/08/13/136328.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Mon, 13 Aug 2007 03:39:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/08/13/136328.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/136328.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/08/13/136328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/136328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/136328.html</trackback:ping><description><![CDATA[<span class=tpc_content><font size=2>ron命令：循环执行某一命令。at命令只能执行一次，虽然都是计划任务的命令，这是这两个命令的区别 <br><br>。 <br><br>用户cron：用户自己加的 <br>组 cron：系统默认就有的 <br><br>#ls /etc/crontab //显示crontab命令路径 <br>#cat /etc/crontab //查看系统crontab <br>* * * * * 用户名 可执行命令 <br>下面是每个位置的表示意义和取值范围 <br>名称 * * * * * 用户名 可执行命令 <br>表示 分钟 小时 日期 月份 星期 <br>取值范围 0-59 0-23 1-31 1-12 0-6 <br><br>* * * * * //代表每分钟 <br>1 * * * * //代表每小时第1分钟 <br>02 12 * * * //代表每天12点第2分钟（每天12：02） <br>0-59/2 * * * * //代表每2分钟执行一次任务 <br><br>#which 命令名称：查看命令所在目录路径。 <br>#which date //查看date命令所在目录路径 <br>/bin/date <br>#crontab -e //编辑crontab命令，-e(edit)代表编辑 <br>* * * * * /bin/date &gt;&gt;/root/66.txt //每分钟向/root/66.txt写入一次当前系统时间 <br>#crontab -l //显示用户计划任务 <br>#crontab -r //删除用户计划任务 <br>注意:#crontab -r命令，在哪个用户下，删除的就是哪个用户的计划任务，还需要注意的是该命令是删除 <br><br>所有用户的所有计划任务。还有普通用户不能删除root的计划任务的权限。 <br><br>普通用户进行crontab命令计划任务操作 <br>例：#su - text //切换到普通用户text <br>$crontab -e //在text普通用户中进行crontab命令计划任务编辑 <br>* * * * * /bin/date &gt;&gt;/home/text/33.txt //每分钟向/home/text/33.txt写入一次当前系统时间 <br>cat /home/text/33.txt //显示/home/text/33.txt文件内容 <br><br>#crontab -u 用户名 -e //在root用户中给普通用户加计划任务编辑操作 <br><br>#which crontab //查看crontab命令位置 <br>说明：which命令是查看命令所在位置，which会在$PATH里找，在普通用户里不好用。 <br>ll /usr/bin/crontab //查看crontab命令权限 <br>cat /etc/crontab //显示/etc/crontab文件内容 <br><br>小例子 <br>#cd /home/aaa //进入普通用户aaa家(home)目录里 <br>#vi 1.txt //建立1.txt文件 <br>/sbin/init 6 //对1.txt文件进行操作，写入/sbin/init 6（重启操作），然后wq（保存退出） <br>#chmod 755 1.txt //把1.txt文件权限改成可执行文件 <br>#run-parts aaa //执行该操作机器将重启（注意：执行该操作只能在/home/aaa目录外执行才有效） <br><br>#cd /var/spool/cron //建立的计划任务都存放在/var/spool/cron目录里 <br>#ls //显示可以执行crontab命令的用户 <br>#cat 用户名 //并可以用cat命令显示用户crontab命令的内容 <br>#cat test //显示test用户计划任务内容 <br><br>源自：<a href="http://tdhome.hlw.cn/show.php?clg_cuid=2&amp;id=528">http://tdhome.hlw.cn/show.php?clg_cuid=2&amp;id=528</a><br>注意：定义完任务后可以通过以下方式启动任务<br>[root@node db_backup]# /etc/init.d/crond stop<br>Stopping crond: [&nbsp; OK&nbsp; ]<br>[root@node db_backup]# /etc/init.d/crond start<br>Starting crond: [&nbsp; OK&nbsp; ]</font></span>
<img src ="http://www.blogjava.net/lqxue/aggbug/136328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-08-13 11:39 <a href="http://www.blogjava.net/lqxue/archive/2007/08/13/136328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux创建文件名添加当前系统日期时间的方法 </title><link>http://www.blogjava.net/lqxue/archive/2007/08/13/136325.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Mon, 13 Aug 2007 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/08/13/136325.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/136325.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/08/13/136325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/136325.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/136325.html</trackback:ping><description><![CDATA[使用`date +%y%m%d` <br>Example: mkdir `date +%y%m%d` <br>tar cfvz /tmp/bak.`date +%y%m%d`.tar.gz /etc <br><br>ymdHM代表年月日时分，可以通过date --hlep查看哪些字母代表什么<br><br>注意：`这个符号是键盘上~，而不是'. 
<img src ="http://www.blogjava.net/lqxue/aggbug/136325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-08-13 11:18 <a href="http://www.blogjava.net/lqxue/archive/2007/08/13/136325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apache2.0.59+tomcat5.5.x配置</title><link>http://www.blogjava.net/lqxue/archive/2007/08/11/136018.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Sat, 11 Aug 2007 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/08/11/136018.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/136018.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/08/11/136018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/136018.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/136018.html</trackback:ping><description><![CDATA[<p>apache version:2.0.59<br>tomcat version:5.5.x<br><br>前言：<br>&nbsp;&nbsp;&nbsp;域名解析的作用：域名解析只能解析到ip地址，是不能够绑定到固定ip的，帮定ip的工作由web服务器来做。<br>一、<br>需注意的几点事项：<br>1.apache和tomcat的结合都是通过mod_jk来实现的。这个文件可以在apache的网站上下的到，本文用的mod_jk的地址为<a href="http://ossavant.org/apache/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.24/i386/mod_jk-1.2.24-httpd-2.0.59.so">http://ossavant.org/apache/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.24/i386/mod_jk-1.2.24-httpd-2.0.59.so</a>这里需要注意的是：(1) mod_jk的版本号一定要和apache的版本号一致. (2) mod_jk有64位和32位之分，所以要根据机器的配置来决定选择哪个。<br><br>二、安装apache，注意一定要支持DSO，在安装时加个参数--enable-so就可以使apache支持dso。可以通过<br>[root@localhost&nbsp;bin]#&nbsp;httpd&nbsp;-l <br>Compiled&nbsp;in&nbsp;modules: <br>&nbsp;&nbsp;core.c <br>&nbsp;&nbsp;prefork.c <br>&nbsp;&nbsp;http_core.c <br>&nbsp;&nbsp;mod_so.c <br><br>（说明：看到mod_so.c这个模块，就说明能支持DSO<br><br>三、安装tomcat，正常安装即可<br><br>安装完tomcat和apache之后先分别测似一下，保证都正常能用了，再往下进行。<br><br>四、整和apache与tomcat（具体参考apache的官方网站） <br><br>1〉把刚才下的mod_jk考到apache2/modules文件夹下<br>2〉在tomcat的conf里创建一个文件workers.properties，并添加如下内容<br>workers.tomcat_home=/usr/local/apache-tomcat-5.5.23<br>workers.java_home=/usr<br>ps=\<br>worker.list=ajp13<br>worker.ajp13.port=8009<br>worker.ajp13.host=localhost<br>worker.ajp13.type=ajp13<br>worker.ajp13.lbfactor=1<br><br><br>3〉在apache2/conf的httpd.conf里加入如下一段话<br><br>LoadModule jk_module&nbsp;&nbsp;&nbsp; modules/mod_jk-1.2.24-httpd-2.0.59.so<br>JkWorkersFile "/usr/local/apache-tomcat-5.5.23/conf/workers.properties"&nbsp;&nbsp; //指向刚才那个文件<br>JkLogFile "/usr/local/apache-tomcat-5.5.23/logs/mod_jk2.log"<br>JkLogLevel info<br><br>五、配置虚拟主机<br>在httpd.conf下加入如下：<br><br>&lt;VirtualHost *:80&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName <a href="http://www.91yjs.com/">www.91yjs.com</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAlias 91yjs.com<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DocumentRoot /usr/local/apache-tomcat-5.5.23/webapps/ROOT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DirectoryIndex index.html index.htm index.jsp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /servlet/* ajp13<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /*.jsp ajp13<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount /*.do ajp13 <br>&lt;/VirtualHost&gt;</p>
<p>配置完后，进入apache的bin下执行 ./httpd -t<br>出现Syntax OK说明，你的配置没有错误，重新启动apache,应该可以了。<br><br>附录：<br>&nbsp;&nbsp;停止apache：./apachectl stop<br>&nbsp; 启动apache：./apachectl graceful<br><br>参考：<br></p>
<div><font face=Verdana><font color=#800080 size=2><a href="http://www.chinaunix.net/jh/13/669895.html"><u>http://www.chinaunix.net/jh/13/669895.html</u></a></font></font></div>
<div><font face=Verdana color=#0000ff><a href="http://www.linuxfans.org/nuke/modules.php?name=News&amp;file=article&amp;op=view&amp;sid=1433"><u>http://www.linuxfans.org/nuke/modules.php?name=News&amp;file=article&amp;op=view&amp;sid=1433</u></a></font></div>
<div><font face=Verdana color=#0000ff><a href="http://www.cjsdn.net/post/view?bid=11&amp;id=172565&amp;sty=1&amp;tpg=1&amp;age=0"><u>http://www.cjsdn.net/post/view?bid=11&amp;id=172565&amp;sty=1&amp;tpg=1&amp;age=0</u></a></font><br><br><br><br><br></div>
<img src ="http://www.blogjava.net/lqxue/aggbug/136018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-08-11 14:16 <a href="http://www.blogjava.net/lqxue/archive/2007/08/11/136018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux 下 svn 安装</title><link>http://www.blogjava.net/lqxue/archive/2007/08/03/134175.html</link><dc:creator>lqx</dc:creator><author>lqx</author><pubDate>Fri, 03 Aug 2007 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/lqxue/archive/2007/08/03/134175.html</guid><wfw:comment>http://www.blogjava.net/lqxue/comments/134175.html</wfw:comment><comments>http://www.blogjava.net/lqxue/archive/2007/08/03/134175.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lqxue/comments/commentRss/134175.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lqxue/services/trackbacks/134175.html</trackback:ping><description><![CDATA[一 安装服务器端
<p>下载Apache和SVN源码包：httpd-2.0.52.tar.gz,subversion-1.1.1.tar.gz<br>(因为redhat 9默认安装的Apache没有并包含--enable-so选项，所以无法产生mod_dav_svn.没有这个模块，SVN就无法采用http方式运行，所以必须重新编译新的Apache)<br>以root身份执行：<br>#tar zxvf httpd-2.0.52.tar.gz<br>#cd httpd-2.0.52<br>#./configure --enable-dav --enable-so --enable-maintainer-mode<br>#make<br>#make install<br>此时会产生/usr/local/apache2目录<br>#tar zxvf subversion-1.1.1.tar.gz<br>#./configure --with-apxs=/usr/local/apache2/bin/apxs<br>#make<br>#make install<br>此时会自动在/usr/local/apache2/conf/httpd.conf添加<br>LoadModule dav_svn_module modules/mod_dav_svn.so<br>安装完成后,运行svnserver --version确认版本为1.1.1。<br>SVN服务器安装结束.</p>
<p>二&nbsp;建立仓库Repository</p>
<p>Subversion 的档案库是个中央仓储, 用来存放任意数量项目的受版本控管数据,建立方法很简单<br>#svnadmin create path/to/repos<br>举个例子：#svnadmin create /home/mysvn<br></p>
<p><br><strong>导入项目到版本中心库</strong><br>&nbsp;#svn import /tmp/project/ file:///data/repos -m "initial import"<br><br><br>三&nbsp;运行服务器</p>
<p>Subversion服务器有两种运行方式，一是可以作为Apache 2.0的一个模块，以WebDAV/DeltaV协议与外界连通；另外，也可使用Subversion 自带的小型服务器程序svnserve。该程序使用的是自带的通讯协议，可以很容易地透过SSH以<br>以http方式运行<br>在/usr/local/apache2/conf/httpd.conf中加入:<br>&lt;Location /svn/repository&gt;<br>DAV svn<br>SVNPath /home/mysvn<br>&lt;/Location&gt;<br>在服务器的浏览器中输入网址:<br><a href="http://localhost/svn/repository/"><u><font color=#0000ff>http://localhost/svn/repository/</font></u></a><br>这时候,你会看到这样一副界面:</p>
<p>这表明服务器已经以http方式正常运行了.<br>以svnserve方式运行<br>这种方式的运行又可以分为以下两种(这和vsftp有些相似)<br>1) standalone mode<br>直接运行 #svnserve &#8211;d<br>运行 lsof -i :3690可以看到SVN服务器已经在运行<br><br>四&nbsp;客户机访问</p>
<p>客户机的访问方法舆服务器的运行方式有直接关系<br>window客户机：<br>1) 服务器以http方式运行</p>
<p>安装完TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi后,在你想工作的目录下点击右键，执行checkout，按上图输入即可。</p>
<p>2) 服务器以svnserve方式运行<br>同上的区别只是URL of repository变为 svn://svn服务器ip/home/mysvn<br>或者 svn+ssh://svn服务器ip/home/mysvn<br>(注意不是//svn服务器ip//svn/repository)<br>linux客户机：<br>1) 服务器以http方式运行<br>执行 #svn checkout http: //svn服务器ip/svn/repository<br>2) 服务器以svnserve方式运行<br>执行 #svn checkout svn://svn服务器ip/home/mysvn<br>或者 #svn checkout svn+ssh://svn服务器ip/home/mysvn</p>
<p>五&nbsp;客户认证机制</p>
<p>这舆服务器的运行方式有关<br></p>
<p><strong>服务器以svnserve方式运行</strong><br>默认下客户可以以匿名方式通过svn://方式任意访问档案库，为了限制其权限，比如只允许读操作，可以通过修改档案库conf子目录中的svnseve.conf文件来实现。<br>#vi /home/mysvn/conf/svnseve.conf<br>修改[general]字段下内容为：<br>anon-access = read<br>如果设为anon-access = none，则匿名用户不可以通过svn://方式访问档案库<br>为了实现用户认证,我们一般采用svn+ssh://访问机制。<br>首先在svnseve.conf文件设置anon-access = none禁止匿名用户通过svn://方式访问档案库<br>在其后加入auth-access = write一行<br>auth-access 是限制有援权的使用者(使用svn+ssh:// 来登入) 的存取权限，我们设为是可以读写。<br>当用户通过svn+ssh://访问时，服务器会自动启动ssh认证机制，要求用户输入密码，对于window用户来说还需要安装第三方软件openssh，才可以采用这种机制</p>
<p><br><strong>服务器以http方式运行</strong><br>比如我们想给 Sally 与 Harry 送交存取档案库的权限. 首先, 我们必须把它们加入到密码档案.<br># ### 第一次: 以 -c 建立档案<br># htpasswd -c /etc/svn-auth-file harry<br>New password: *****<br>Re-type new password: *****<br>Adding password for user harry<br># htpasswd /etc/svn-auth-file sally<br>New password: *******<br>Re-type new password: *******<br>Adding password for user sally<br>#<br>接着,在/usr/local/apache2/conf/httpd.conf的加入:<br>&lt;Location /svn/repository &gt;<br>DAV svn<br>SVNPath /home/mycvs<br>AuthType Basic<br>AuthName "Subversion repository"<br>AuthUserFile /etc/svn-auth-file<br>Require valid-user<br>&lt;/Location&gt;<br>重新启动 Apache后，如果有人要访问SVN服务器，系统会要求他输入用户名和密码。 只有输入Sally 或Harry的用户名和相应的密码，才可以对档案库进行修改和访问</p>
<p>六 添加用户</p>
<p>打开/conf/目录，打开svnserve.conf找到一下两句：<br>
<div class=code># [general]<br># password-db = passwd<br></div>
<p>去之每行开头的#，其中第二行是指定身份验证的文件名，即passwd文件<br>同样打开passwd文件，将<br></p>
<div class=code># [users]<br># harry = harryssecret<br># sally = sallyssecret<br></div>
这几行的开头#字符去掉，这是设置用户，一行一个，存储格式为&#8220;用户名 = 密码&#8221;，如可插入一行：admin = admin888，即为系统添加一个用户名为admin，密码为admin888的用户
 <img src ="http://www.blogjava.net/lqxue/aggbug/134175.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lqxue/" target="_blank">lqx</a> 2007-08-03 10:30 <a href="http://www.blogjava.net/lqxue/archive/2007/08/03/134175.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>