<?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>Geoinformatics &#187; Linux</title>
	<atom:link href="http://www.geoinformatics.cn/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geoinformatics.cn</link>
	<description>Arts and Sciences move me on ...</description>
	<lastBuildDate>Fri, 13 Jan 2012 10:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>bug of grub2</title>
		<link>http://www.geoinformatics.cn/2010/03/bug-of-grub2/</link>
		<comments>http://www.geoinformatics.cn/2010/03/bug-of-grub2/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 10:57:30 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/?p=3200</guid>
		<description><![CDATA[如果安装了wubi for ubuntu 9.10, 估计最近你也中招了。自ubuntu 9.10以来，引导系统采用了grub2,而不是先前到grub。grub2 将根据用户自定义到参数生成grub.cfg代替先前到menu.lst文件。 不过grub2 真的不够成熟，最新的bug会导致系统无法找到grub.cfg文件，也就是说， 即使你进入系统，那么当你重启后，依然无法找到grub.cfd文件。具体方法是用最新到wubildr 来替换C盘根目录下到wubildr文件。详见　http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:Wubi_9.10。 希望这个bug没有太困扰大家。 &#8212; insmod ntfs set root=(hd0,8) search &#8211;no-floppy &#8211;fs-uuid &#8211;set 6a7acb957acb5c87 loopback loop0 /ubuntu/disks/root.disk set root=(loop0) linux /boot/vmlinuz-2.6.31-20-generic root=/dev/sda8 loop=/ubuntu/disks/root.disk ro   quiet splash initrd /boot/initrd.img-2.6.31-20-generic]]></description>
			<content:encoded><![CDATA[<p>如果安装了wubi for ubuntu 9.10, 估计最近你也中招了。自ubuntu 9.10以来，引导系统采用了grub2,而不是先前到grub。grub2 将根据用户自定义到参数生成grub.cfg代替先前到menu.lst文件。</p>
<p>不过grub2 真的不够成熟，最新的bug会导致系统无法找到grub.cfg文件，也就是说， 即使你进入系统，那么当你重启后，依然无法找到grub.cfd文件。具体方法是用最新到<span style="font-family: sans-serif;"><a class="external text" style="text-decoration: none; color: #3366bb; background-image: url(http://sourceforge.net/apps/mediawiki/bootinfoscript/skins/sourceforge/external.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; padding-top: 0px; padding-right: 13px; padding-bottom: 0px; padding-left: 0px; background-position: 100% 50%; background-repeat: no-repeat no-repeat;" title="http://launchpadlibrarian.net/36920146/wubildr" rel="nofollow" href="http://launchpadlibrarian.net/36920146/wubildr">wubildr</a></span></p>
<p>来替换C盘根目录下到wubildr文件。详见　http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:Wubi_9.10。</p>
<p>希望这个bug没有太困扰大家。</p>
<p>&#8212;</p>
<div id="_mcePaste">insmod ntfs</div>
<div id="_mcePaste">set root=(hd0,8)</div>
<div id="_mcePaste">search &#8211;no-floppy &#8211;fs-uuid &#8211;set 6a7acb957acb5c87</div>
<div id="_mcePaste">loopback loop0 /ubuntu/disks/root.disk</div>
<div id="_mcePaste">set root=(loop0)</div>
<div id="_mcePaste">linux /boot/vmlinuz-2.6.31-20-generic root=/dev/sda8 loop=/ubuntu/disks/root.disk ro   quiet splash</div>
<div id="_mcePaste">initrd /boot/initrd.img-2.6.31-20-generic</div>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2010/03/bug-of-grub2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>命令行方式调用R的统计功能</title>
		<link>http://www.geoinformatics.cn/2007/02/%e5%91%bd%e4%bb%a4%e8%a1%8c%e6%96%b9%e5%bc%8f%e8%b0%83%e7%94%a8r%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%8a%9f%e8%83%bd/</link>
		<comments>http://www.geoinformatics.cn/2007/02/%e5%91%bd%e4%bb%a4%e8%a1%8c%e6%96%b9%e5%bc%8f%e8%b0%83%e7%94%a8r%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%8a%9f%e8%83%bd/#comments</comments>
		<pubDate>Sat, 03 Feb 2007 20:08:24 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[R]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20070203416.html</guid>
		<description><![CDATA[用R进行地学统计分析是非常方便的事情。但如何将R用于各种编程环境之下，一直是需要讨论的事情。最近想在PHP里面调用R，实现地学的统计分析功能，今天在jia的协助下，实现了其功能。 一个基本的php语句来调用R语言程序段： exec(&#8220;D:\R\bin\r &#8211;no-save -q < input>output&#038;1&#8243;); exec(&#8220;D:\R\bin\r &#8211;no-save -q &#8220; output); 我们调用的test.R 中内容是 x&#8221;中间没有空格 以上命令会把命令的标准输出重新定向到一个文件filename,而不是显示到屏幕上，如果不指明文件标识符，系统默认的就是1, 因此1可以省略 如果把上面例子重的 &#8220;>&#8221; 改成 &#8220;>>&#8221; 则表示把输出追加到 filename 文件的末尾，如果文件不存在则创建它。如下 #ls /dev >>filename 也可以把标准错误重新定向到文件 #ls -qw /dev 2>filename 显然 -qw 是一个错误参数，通常会在显示器上报告一个错误信息，但由于把 2 标准错误（stderr）重新定向到了文件 filename，因此显示器没有错误信息，而信息写到了文件里面 以下命令是把标准输出和错误都定向到文件 #ls /dev &#038;>filename &#8220;&#038;&#8221; 在这里代表标准输出和标准错误，这里无论是正常输出还是错误信息都写到 filename 中了。 重新定义标准输入，输出，和错误的文件标识符 重新定义文件标识符可以用 i>&#038;j 命令，表示把文件标识符 i 重新定向到 j，你可以把 &#8220;&#038;&#8221; 理解为 [...]]]></description>
			<content:encoded><![CDATA[<p>用R进行地学统计分析是非常方便的事情。但如何将R用于各种编程环境之下，一直是需要讨论的事情。最近想在PHP里面调用R，实现地学的统计分析功能，今天在jia的协助下，实现了其功能。</p>
<p>一个基本的php语句来调用R语言程序段：</p>
<p>exec(&#8220;D:\R\bin\r &#8211;no-save -q  < input>output&#038;1&#8243;);<br />
exec(&#8220;D:\R\bin\r &#8211;no-save -q  &#8220;<br />
<input>output);<br />
我们调用的test.R 中内容是</p>
<p>x<-c(2:30)<br />
y<-c(12:40)<br />
plot(x,y)<br />
当程序输入上述php语句，将没人在bin\目录下生成Rplots.ps 的图形文件。php完全可以调用该统计图。实现统计图表的显示功能。该过程需要参考以下相关文献：</p>
<ul>
<li>php exec参数的使用方法</li>
<li>Linux Shell关于重定向输入输出的相关内容</li>
<li>R导论的附录3</li>
</ul>
<p>PS: 关于重定向输入输出，很多人都说这是Unix/Linux的一个伟大创举，确实这样，好比一个万能的接口一样，实现多种软件的协同工作。关于重定向，要搞清楚<> &#038;的含义，可以查考下面的段落：<span id="more-416"></span><br />
首先说一下什么是 I/O 重定向，所谓 I/O 重定向简单来说就是一个过程，这个过程捕捉一个文件，或者命令，程序，脚本，甚至脚本中的代码块（code block）的输出，然后把捕捉到的输出，作为输入发送给另外一个文件，命令，程序，或者脚本。<br />
如果谈到 I/O 重定向，就涉及到文件标识符 (File Descriptor) 的概念, 在 Linux 系统中，系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪，这里有些和C语言编程里的文件句柄相似，文件标识符是一个数字，不同数字代表 不同的含义，默认情况下，系统占用了 3 个，分别是0标准输入（stdin）,1 标准输出 (stdout), 2 标准错误 (stderr), 另外 3-9 是保留的标识符，可以把这些标识符指定成标准输入，输出或者错误作为临时连接。通常这样可以解决很多复杂的重定向请求。</p>
<ul>
<li>标准输入通常指<a style="color: blue" target="_blank" class="10" href="http://product.it168.com/list/b/0201_1.shtml">键盘</a>的输入</li>
<li>标准输出通常指<a style="color: blue" target="_blank" class="10" href="http://product.it168.com/files/0215search.shtml">显示器</a>的输出</li>
<li>标准错误通常也是定向到显示器</li>
<li>请看以下例子，来描述一下他们的关系</li>
<li>#ls /dev</li>
</ul>
<p>这个命令列出/dev目录下的所有文件，在屏幕上输出结果。<br />
这里 /dev 就是作为命令 ls 的标准输入（从键盘输入），而打印在屏幕的结果就是标准输出（/dev 目录中的内容）<br />
还是回到标题，重定向就是把标准的输入或者输出更改成其他的方式，请参看如下例子<br />
或者等同于<br />
#ls /dev 1>filename                                  #注意：&#8221;1&#8243;和&#8221;>&#8221;中间没有空格<br />
以上命令会把命令的标准输出重新定向到一个文件filename,而不是显示到屏幕上，如果不指明文件标识符，系统默认的就是1, 因此1可以省略<br />
如果把上面例子重的 &#8220;>&#8221; 改成 &#8220;>>&#8221; 则表示把输出追加到 filename 文件的末尾，如果文件不存在则创建它。如下<br />
#ls /dev >>filename<br />
也可以把标准错误重新定向到文件<br />
#ls -qw  /dev  2>filename<br />
显然 -qw 是一个错误参数，通常会在显示器上报告一个错误信息，但由于把 2 标准错误（stderr）重新定向到了文件 filename，因此显示器没有错误信息，而信息写到了文件里面<br />
以下命令是把标准输出和错误都定向到文件<br />
#ls /dev &#038;>filename<br />
&#8220;&#038;&#8221; 在这里代表标准输出和标准错误，这里无论是正常输出还是错误信息都写到 filename 中了。<br />
重新定义标准输入，输出，和错误的文件标识符<br />
重新定义文件标识符可以用 i>&#038;j 命令，表示把文件标识符 i 重新定向到 j，你可以把 &#8220;&#038;&#8221; 理解为 &#8220;取地址&#8221;<br />
请看以下例子<br />
#exec 5>&#038;1<br />
表示把文件标识符 5 定向到标准输出，这个命令通常用来临时保存标准输入。<br />
同样标准输入也是可以重新定向的，请参考下面例子<br />
# grep search-word < code><br />
一般来说 grep 命令在给定文件中搜索字符串，以上命令把文件 filename 作为 grep 命令的标准输入，而不是从键盘输入。<br />
前面曾经提到，系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪，那么默认的文件标识符是什么呢？答案是 0，也就是标准输入，或者可以说从键盘输入。当然这个文件标识符也可以自己指定，请参考下面例子<br />
#echo 123456789 >filename   把字符串写到文件 filename 中<br />
#exec 3<>filename           把文件 filename 打开，并指定文件标识符为3<br />
#read -n 4 <&#038;3              从文件中读4个字符，句柄已经指到第四个字符末尾<br />
#echo -n . >&#038;3              在第5个字符处写一个点，覆盖第5个字符，-n表示不换行<br />
#exec 3>&#038;-           关闭文件标识符<br />
现在 cat filename 文件的结果就成了 1234.6789<br />
命令 j<>filename 表示把文件打开，并指明文件标识符为 j<br />
&#8220;&#038;-&#8221; 表示关闭文件标识符<br />
有关关闭文件标识符的操作请参考下面<br />
n<&#038;- 关闭输入文件标识符 n<br />
0<&#038;-或<&#038;- 关闭标准输入 stdin<br />
n>&#038;- 关闭输出文件标识符 n<br />
1>&#038;-或>&#038;-关闭标准输出  stdout</p>
<p>另外还有一些其他命令，如下参考<br />
2.：> filename 或者 > filename<br />
表示把文件filename设置成空，也就是清空文件内容，如果文件不存在，则创建一个空文件，（等同于touch命令） ：表示一个空输出，两个命令的唯一区别就是>filename不是在所有shell都可以正常工作的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2007/02/%e5%91%bd%e4%bb%a4%e8%a1%8c%e6%96%b9%e5%bc%8f%e8%b0%83%e7%94%a8r%e7%9a%84%e7%bb%9f%e8%ae%a1%e5%8a%9f%e8%83%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deleting GRUB?</title>
		<link>http://www.geoinformatics.cn/2007/02/deleting-grub/</link>
		<comments>http://www.geoinformatics.cn/2007/02/deleting-grub/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 16:10:00 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20070202415.html</guid>
		<description><![CDATA[在实验室的机子安装了一个Ubuntu 6.10 edgy, 但是对我lenovo机器的网卡不是很识别，所以就在windows环境下直接格式化了安装ubuntu的盘，但是重新启动windows时就不能识别从那里启动，也就是说GRUB也被删除掉了，没法重新识别windows的引导，现提供一下方式，我就是用的solution 1。不是想让系统直接启动到Windows，不出现Linux的Grub（或LILO）引导界面（Solution 1～3），或者是在Windows中删除了Linux分区后无法正确启动Windows，而停留在“grub>”提示符处，怎么办（Solution 4）？ 请往下看，这里给你提供几种实用的方法： Solution 1 用DOS命令fdisk恢复主引导扇区MBR（Main/Master Boot Record） －－－用win98的引导盘或DOS引导盘引导系统到纯DOS提示符下，执行：&#8221;fdisk /mbr&#8221;即可。 Solution 2 在Linux系统中，恢复MBR。(如果你还能登陆到Linux系统中的话) －－－在终端的命令提示符后输入: &#8220;dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1&#8243; 注意，其中bs（buffer size)是指重写的字节数。为什么不是512呢？主引导扇区是一个扇区(512字节呀)，因为我们只是想通过扇面的命令修复系统MBR的引导或删除 Grub/LILO引导；而不是恢复整个主引导扇区。所以我们只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。 boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘DPT表也破坏掉。那就坏事了!!! (MBR的512字节中前446字节为引导程序，紧跟着后面64字节为分区表，最后面2个字节为结束标记) Solution 3 如果你的fdisk不好使，或者Linux已经翘翘了，不用着急，上帝关上了所有的门，但是他一定会为你留下一扇窗户，下面的工具可意帮助你： Clear MBR 0.9：http://jelle.go.nease.net/resource/clsmbr.exe －－－直接运行执行“Clear MBR”即可，本人有测试过，绝对安全，敬请放心使用。 Solution 4 Linux的分区已经被你从Windows中删除，系统启动后停在“grub>”提示符处。（方法一：按照Solution 1的方法，方法二：如下） －－－在“grub>”提示符后输入：“rootnoverify (hd0,0)” 回车。 //将第一块硬盘（hd0）的第一个分区（0）设为根分区/root设备，但不加载文件系统。 －－－在“grub>”提示符后输入：“chainloader ＋1” 回车。//将启动引导权转交给当前分区的首扇区（Windows系统所在分区的首扇区）。 －－－在“grub>”提示符后输入：“boot” 回车。系统将启动Windows。如果不成功，则表明 (hd0,0) 不是 Windows 系统所在分区，再从第一步开始试一下“root (hd0,1)/root [...]]]></description>
			<content:encoded><![CDATA[<p>在实验室的机子安装了一个Ubuntu 6.10 edgy, 但是对我lenovo机器的网卡不是很识别，所以就在windows环境下直接格式化了安装ubuntu的盘，但是重新启动windows时就不能识别从那里启动，也就是说GRUB也被删除掉了，没法重新识别windows的引导，现提供一下方式，我就是用的solution 1。不是想让系统直接启动到Windows，不出现Linux的Grub（或LILO）引导界面（Solution 1～3），或者是在Windows中删除了Linux分区后无法正确启动Windows，而停留在“grub>”提示符处，怎么办（Solution 4）？ 请往下看，这里给你提供几种实用的方法：</p>
<p><strong>Solution 1</strong><br />
用DOS命令fdisk恢复主引导扇区MBR（Main/Master Boot Record）<br />
－－－用win98的引导盘或DOS引导盘引导系统到纯DOS提示符下，执行：&#8221;fdisk /mbr&#8221;即可。</p>
<p><strong>Solution 2</strong><br />
在Linux系统中，恢复MBR。(如果你还能登陆到Linux系统中的话)<br />
－－－在终端的命令提示符后输入: &#8220;dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1&#8243;<br />
注意，其中bs（buffer size)是指重写的字节数。为什么不是512呢？主引导扇区是一个扇区(512字节呀)，因为我们只是想通过扇面的命令修复系统MBR的引导或删除 Grub/LILO引导；而不是恢复整个主引导扇区。所以我们只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。 boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘DPT表也破坏掉。那就坏事了!!! (MBR的512字节中前446字节为引导程序，紧跟着后面64字节为分区表，最后面2个字节为结束标记)<span id="more-415"></span></p>
<p><strong>Solution 3</strong><br />
如果你的fdisk不好使，或者Linux已经翘翘了，不用着急，上帝关上了所有的门，但是他一定会为你留下一扇窗户，下面的工具可意帮助你：<br />
Clear MBR 0.9：http://jelle.go.nease.net/resource/clsmbr.exe<br />
－－－直接运行执行“Clear MBR”即可，本人有测试过，绝对安全，敬请放心使用。</p>
<p><strong>Solution 4</strong><br />
Linux的分区已经被你从Windows中删除，系统启动后停在“grub>”提示符处。（方法一：按照Solution 1的方法，方法二：如下）<br />
－－－在“grub>”提示符后输入：“rootnoverify (hd0,0)” 回车。 //将第一块硬盘（hd0）的第一个分区（0）设为根分区/root设备，但不加载文件系统。<br />
－－－在“grub>”提示符后输入：“chainloader ＋1” 回车。//将启动引导权转交给当前分区的首扇区（Windows系统所在分区的首扇区）。<br />
－－－在“grub>”提示符后输入：“boot” 回车。系统将启动Windows。如果不成功，则表明 (hd0,0) 不是 Windows 系统所在分区，再从第一步开始试一下“root (hd0,1)/root (hd0,2)/root (hd0,3)/&#8230;”，总之这样一定可以引导启动你的Windows系统。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2007/02/deleting-grub/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Debian中的二级代理(教育网用户推荐)</title>
		<link>http://www.geoinformatics.cn/2006/11/debian%e4%b8%ad%e7%9a%84%e4%ba%8c%e7%ba%a7%e4%bb%a3%e7%90%86%e6%95%99%e8%82%b2%e7%bd%91%e7%94%a8%e6%88%b7%e6%8e%a8%e8%8d%90/</link>
		<comments>http://www.geoinformatics.cn/2006/11/debian%e4%b8%ad%e7%9a%84%e4%ba%8c%e7%ba%a7%e4%bb%a3%e7%90%86%e6%95%99%e8%82%b2%e7%bd%91%e7%94%a8%e6%88%b7%e6%8e%a8%e8%8d%90/#comments</comments>
		<pubDate>Sun, 19 Nov 2006 00:04:11 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20061118342.html</guid>
		<description><![CDATA[教育网的广大用户都是用二级代理上国外的网站吧。 linux下也可以用二级代理，用runsocks+mozilla就可以出国。 下载socks5-v1.0r11.tar.gz（这是一个socks5的包，包括服务器与客户端） #tar -zxvf socks5-v1.0r11.tar.gz #cd socks5-v1.0r11 #./configure #make #make install 然后去/etc下编辑libsocks5.conf（这个是客户端的配置文件），没有的话就建一个 我的libsocks5.conf: socks5 &#8211; - &#8211; - 202.119.32.30:1080 ~~~~~~~~~~~~~~~~~~这是我学校的socks服务器地址 然后设置环境变量 SOCKS5_USER=你的socks5用户名 SOCKS5_PASSWD=密码 runsocks mozilla 把mozilla的代理设成二级代理的地址就可以了。 这个方法也是我看来的，以前我用debian自带的tsocks 可是mozilla就是不认tsocks，只能用runsocks lynx上国外网。 现在socks5-v1.0r11可以了。]]></description>
			<content:encoded><![CDATA[<p>教育网的广大用户都是用二级代理上国外的网站吧。<br />
linux下也可以用二级代理，用runsocks+mozilla就可以出国。<br />
下载socks5-v1.0r11.tar.gz（这是一个socks5的包，包括服务器与客户端）<br />
#tar -zxvf socks5-v1.0r11.tar.gz<br />
#cd socks5-v1.0r11<br />
#./configure<br />
#make<br />
#make install<br />
然后去/etc下编辑libsocks5.conf（这个是客户端的配置文件），没有的话就建一个<br />
我的libsocks5.conf:<br />
socks5 &#8211; - &#8211; - 202.119.32.30:1080<br />
~~~~~~~~~~~~~~~~~~这是我学校的socks服务器地址<br />
然后设置环境变量<br />
SOCKS5_USER=你的socks5用户名<br />
SOCKS5_PASSWD=密码<br />
runsocks mozilla<br />
把mozilla的代理设成二级代理的地址就可以了。<br />
这个方法也是我看来的，以前我用debian自带的tsocks<br />
可是mozilla就是不认tsocks，只能用runsocks lynx上国外网。<br />
现在socks5-v1.0r11可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/11/debian%e4%b8%ad%e7%9a%84%e4%ba%8c%e7%ba%a7%e4%bb%a3%e7%90%86%e6%95%99%e8%82%b2%e7%bd%91%e7%94%a8%e6%88%b7%e6%8e%a8%e8%8d%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goobuntu, really?</title>
		<link>http://www.geoinformatics.cn/2006/09/goobuntu-really/</link>
		<comments>http://www.geoinformatics.cn/2006/09/goobuntu-really/#comments</comments>
		<pubDate>Sat, 09 Sep 2006 03:26:31 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/google/20060908197.html</guid>
		<description><![CDATA[ 前一段时间一直比较关心ubuntu，而且ubuntu在linux界也是叱诧风云，所以说google要推出Goobuntu，我也半信半疑。这是所谓的ubuntu的logo: 虽然 Google 严正否认，不过关于这款挑战 Windows 操作系统，以新操作系统搭载的 Google PC 谣言仍甚嚣尘上。现在我们终于知道这个秘密操作系统的名称：Goobuntu。根据引文来源，Google 已经发展出以 Ubuntu Linux 为基础的操作系统以及 Gnome 桌上型计算机，而且已经到准备推出的阶段。 当然，Goobuntu 真的如官方所说的仅是 Google 公司内部使用而已，Google 之前早已承认他们有发展出专为内部服务器使用的作的业系统。然而，谁知道 Google 真没有野心侵略整个个人计算机的霸权。希望这个操作系统至少可执行  Google Earth 和 Picasa 两套软件。 Google 发言人 Sonya Borälv 提到“公司内部使用 Ubuntu，不过我们没有任何将这套软件向外延伸的计划。”看来 Google 公司的传统除了不断创新以外，就是不断粉碎大家的梦想和希望。]]></description>
			<content:encoded><![CDATA[<p> 前一段时间一直比较关心ubuntu，而且ubuntu在linux界也是叱诧风云，所以说google要推出Goobuntu，我也半信半疑。这是所谓的ubuntu的logo:<img src="/wp-content/uploads/goobuntulogo.jpg" align="right" /><br />
虽然 Google 严正否认，不过关于这款挑战 Windows 操作系统，以新操作系统搭载的 Google PC 谣言仍甚嚣尘上。现在我们终于知道这个秘密操作系统的名称：Goobuntu。根据引文来源，Google 已经发展出以 Ubuntu Linux 为基础的操作系统以及 Gnome 桌上型计算机，而且已经到准备推出的阶段。<br />
当然，Goobuntu 真的如官方所说的仅是 Google 公司内部使用而已，Google 之前早已承认他们有发展出专为内部服务器使用的作的业系统。然而，谁知道 Google 真没有野心侵略整个个人计算机的霸权。希望这个操作系统至少可执行  Google Earth 和 Picasa 两套软件。<br />
Google 发言人 Sonya Borälv 提到“公司内部使用 Ubuntu，不过我们没有任何将这套软件向外延伸的计划。”看来 Google 公司的传统除了不断创新以外，就是不断粉碎大家的梦想和希望。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/09/goobuntu-really/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pursue  OpenGIS</title>
		<link>http://www.geoinformatics.cn/2006/08/pursue-opengis/</link>
		<comments>http://www.geoinformatics.cn/2006/08/pursue-opengis/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 02:49:00 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenGIS]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20060813123.html</guid>
		<description><![CDATA[和充满金钱气息的商业GIS开发领域相比，开源GIS的世界则显得朴素沉静，是技术爱好者的乐园。打开Source Forge网站，在下载排行榜Top10上，我们会赫然发现一个GIS门类的软件——World Wind。这个由NASA策划，用C#编写，调用微软SQL Server影像库Terrain Server来进行全球地形三维显示的软件和Google Earth非常相似。由于三维地球仿真具有强大的视觉冲击力，令人百看不厌，爱不释手，所以使得World Wind这个相当专业的软件能够跻身充斥着电驴、电骡等BT下载客户端软件的Source Forge Top10排行榜。 不同于商业GIS软件，开源GIS软件不用背负数据兼容、易用性等问题的包袱，开发者能够集中精力于功能的开发，因此开源GIS软件普遍功能很强，技术也非常先进，其背后是来自技术狂热者和学院研究生的大力支持。开源GIS软件目前已经形成了一个比较齐全的产品线。打开www.freegis.org网站，我们会发现众多各具特色的GIS软件。老牌的综合GIS软件GRASS，数据转换库OGR、GDAL，地图投影算法库Proj4、Geotrans，也有比较简单易用的桌面软件Quantum GIS，Java平台上有Map Tools，Map Server则是优秀的开源Web GIS软件。各种空间分析，模型计算尤其是开源GIS领域的强项。动态语言如Python在开源世界中颇受宠爱，开源GIS软件也不例外，很多GIS工具都提供了Python接口，以便于系统集成。Python优雅的语法和超强的粘合能力实在是一种挡不住的诱惑。 开源GIS世界虽然繁荣，但其影响还是很小，其身份在外人眼里看来是高深莫测的专业工具，现有的Linux发行版中也没有哪个集成了开源GIS工具。开源GIS技术虽然先进，但是缺乏良好的能够满足商用的发行版本，因此涉足开源GIS领域的多是技术爱好者和科学家，而少有商业人士问津。如果能够提供一个比较系统的、达到商用要求的开源GIS解决方案，并能获得稳定的发行版，如同Linux-Apache-MySQL-PHP那样，开源GIS前途将是不可限量。]]></description>
			<content:encoded><![CDATA[<p>和充满金钱气息的商业GIS开发领域相比，开源GIS的世界则显得朴素沉静，是技术爱好者的乐园。打开Source Forge网站，在下载排行榜Top10上，我们会赫然发现一个GIS门类的软件——World Wind。这个由NASA策划，用C#编写，调用微软SQL Server影像库Terrain Server来进行全球地形三维显示的软件和Google Earth非常相似。由于三维地球仿真具有强大的视觉冲击力，令人百看不厌，爱不释手，所以使得World Wind这个相当专业的软件能够跻身充斥着电驴、电骡等BT下载客户端软件的Source Forge Top10排行榜。</p>
<p>不同于商业GIS软件，开源GIS软件不用背负数据兼容、易用性等问题的包袱，开发者能够集中精力于功能的开发，因此开源GIS软件普遍功能很强，技术也非常先进，其背后是来自技术狂热者和学院研究生的大力支持。开源GIS软件目前已经形成了一个比较齐全的产品线。打开www.freegis.org网站，我们会发现众多各具特色的GIS软件。老牌的综合GIS软件GRASS，数据转换库OGR、GDAL，地图投影算法库Proj4、Geotrans，也有比较简单易用的桌面软件Quantum GIS，Java平台上有Map Tools，Map Server则是优秀的开源Web GIS软件。各种空间分析，模型计算尤其是开源GIS领域的强项。动态语言如Python在开源世界中颇受宠爱，开源GIS软件也不例外，很多GIS工具都提供了Python接口，以便于系统集成。Python优雅的语法和超强的粘合能力实在是一种挡不住的诱惑。</p>
<p>开源GIS世界虽然繁荣，但其影响还是很小，其身份在外人眼里看来是高深莫测的专业工具，现有的Linux发行版中也没有哪个集成了开源GIS工具。开源GIS技术虽然先进，但是缺乏良好的能够满足商用的发行版本，因此涉足开源GIS领域的多是技术爱好者和科学家，而少有商业人士问津。如果能够提供一个比较系统的、达到商用要求的开源GIS解决方案，并能获得稳定的发行版，如同Linux-Apache-MySQL-PHP那样，开源GIS前途将是不可限量。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/pursue-opengis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>开源GIS现状</title>
		<link>http://www.geoinformatics.cn/2006/08/%e5%bc%80%e6%ba%90gis%e7%8e%b0%e7%8a%b6/</link>
		<comments>http://www.geoinformatics.cn/2006/08/%e5%bc%80%e6%ba%90gis%e7%8e%b0%e7%8a%b6/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 02:35:18 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[GRASS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenGIS]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[QGIS]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20060813122.html</guid>
		<description><![CDATA[转自：开源中国社区论坛 地理信息系统（Geographic Information Systems，GIS）软件依赖于覆盖整个地球的数据集。为处理大量的 GIS 数据及其格式，编程人员创建了若干开源库和 GIS 套件。本文简要介绍可用于 UNIX® 和 Linux® 的 GIS 工具和库的范围和深度。 GIS 软件以前仅限于地理学者和地质工作者使用，自从网上提供全球地图服务和移动电话公司开始提供全球定位系统（Global Positioning System，GPS）服务以来，GIS 软件已变得非常普及了。GIS 系统可获得并处理描述地球表面的空间数据。一般情况下，在空间处理软件对地理数据进行格式化、处理和显示后，这些数据就转换为地理信息。声纳、雷达、照相机和其他观测平台便可以获得这些数据。GIS 软件将这些数据存储在三维数据库中，并将其格式化，然后传输它们。有时甚至可以通过所谓的四维（三维 + 时间）转换来显示数据随时间的发展情况。 当然，我们能够对所有 GIS 数据进行编辑，而且必须经常编辑这些数据，训练有素的 GIS 专家可以处理接收到的大多数数据集格式。许多（若非全部）数据格式都遵守开放标准，GIS 空间中的所有操作都可以使用运行于 Linux、主要的 Berkeley Software Design (BSD) 和一些 UNIX 变体上的开源应用程序来执行。最重要的是，GIS 软件套件还可以在 Mac OS X 上运行。 Quantum GIS：开源 GIS 数据查看器 近年来，Linux 上运行的 GIS 应用程序迅速增加。20 世纪 80 年代，编程人员开发了地理资源分析支持系统（Geographic Resources Analysis [...]]]></description>
			<content:encoded><![CDATA[<p>转自：开源中国社区论坛<br />
地理信息系统（Geographic Information Systems，GIS）软件依赖于覆盖整个地球的数据集。为处理大量的 GIS 数据及其格式，编程人员创建了若干开源库和 GIS 套件。本文简要介绍可用于 UNIX® 和 Linux® 的 GIS 工具和库的范围和深度。<br />
GIS 软件以前仅限于地理学者和地质工作者使用，自从网上提供全球地图服务和移动电话公司开始提供全球定位系统（Global Positioning System，GPS）服务以来，GIS 软件已变得非常普及了。GIS 系统可获得并处理描述地球表面的空间数据。一般情况下，在空间处理软件对地理数据进行格式化、处理和显示后，这些数据就转换为地理信息。声纳、雷达、照相机和其他观测平台便可以获得这些数据。GIS 软件将这些数据存储在三维数据库中，并将其格式化，然后传输它们。有时甚至可以通过所谓的四维（三维 + 时间）转换来显示数据随时间的发展情况。</p>
<p>当然，我们能够对所有 GIS 数据进行编辑，而且必须经常编辑这些数据，训练有素的 GIS 专家可以处理接收到的大多数数据集格式。许多（若非全部）数据格式都遵守开放标准，GIS 空间中的所有操作都可以使用运行于 Linux、主要的 Berkeley Software Design (BSD) 和一些 UNIX 变体上的开源应用程序来执行。最重要的是，GIS 软件套件还可以在 Mac OS X 上运行。</p>
<p>Quantum GIS：开源 GIS 数据查看器<br />
近年来，Linux 上运行的 GIS 应用程序迅速增加。20 世纪 80 年代，编程人员开发了地理资源分析支持系统（Geographic Resources Analysis Support System，GRASS）。在 20 世纪 90 年代后期经过修改后，任何具有 GIS 知识和一些 Linux 专业知识的人员都可以利用 GRASS 从 Linux 命令行或图形用户界面 (GUI) 运行完整的 GIS 系统。遗憾的是，GRASS 极其复杂，为在 Linux 上运行 GIS 的初学者造成了一些不便。GUI 显示大量的功能和命令行标识，其目标用户是 GIS 专家，而非尝试创建网络地图的新手。</p>
<p>2002 年 5 月，开发人员开发了 GPLed Quantum GIS (QGIS)，该项目面向需要访问、显示和可能编辑 GIS 数据集的初学者和中间用户。GIS 用户可以将 QGIS 部署为单独的 GIS 数据查看器和编辑器，或者部署为 GIS 工具链的一部分。GIS 工具链可包括 QGIS、GRASS 软件套件、一个三维 PostGIS 数据库和一个向通过 Internet 访问地图网站的用户提供数据集和地图的地图服务器。</p>
<p>QGIS 开发人员决定使用基于 C++ 的 Qt 工具包来构建 QGIS 界面，这是不同于以前实践的主要方案（编程人员主要使用 Tcl/Tk 创建了 GRASS，Tcl/Tk 建立于 20 世纪 80 年代后期）。尽管 QGIS 是在 GPLed Qt 工具包的基础上开发的，但它可以在多数 Linux 和 UNIX 变体、Microsoft® Windows® 和 Mac OS X 上运行。</p>
<p>栅格数据<br />
应用程序使用两种不同的数据结构存储 GIS 数据：栅格数据 和矢量数据。您可以添加三维数据格式的数据库存储，该格式针对 PostgreSQL 处理而优化 —— 即 PostGIS 数据格式。我们将 PostGIS 数据归类为矢量数据，其原因将在下文介绍。</p>
<p>QGIS 处理所有三种数据 —— 栅格数据、矢量数据和数据库，这也是编写 GIS 数据编程库的程序员的重要努力方向。通过想像正方形网格或六边形单元，可以方便地可视化数据结构（实践中，应用程序在多数情况下采用正方形网格）。这些网格覆盖一个像矩阵一样的地理区域，并在一个名为 map algebra 的字段中使用数学表示形式。GIS 专家可以向每个网格中添加数据，如降水量值或经济数据，但描述复杂的不规则地理形状较为困难。该软件通常必须依赖于相似性和网格中值的位置来对特征分类（如街道或海岸），而非基于封装在元数据中的特征描述。另一种可能的解释依赖于使用与个别网格相关联的颜色值将栅格网格组归类为某些特征。</p>
<p>网格按行或按列排列，它反映硬盘存储数据的方式。许多基于栅格的格式都有基本的图像格式：常见的基于栅格的图像格式是位图 (.bmp)。带标记的图像文件格式 (.tiff) 是另一种常用的基于栅格的图像格式，GIS 专家为适应地理学者的需要将其重命名为 GeoTIFF。基于栅格的数据格式更类似于图像。其准确性依赖于描述尽可能少的特征的网格数量。</p>
<p>在栅格数据模型中，地图的准确性还依赖于地图的比例。因此，地图的分辨率和准确性依赖于每个网格代表的实际区域。该数据模型可比较的简单性有助于对 GPS 设备和卫星成像捕获的数据进行建模。有些数据格式可以很好地适用于栅格模型。例如，数字高程模型（Digital Elevation Model，DEM）数据点在网格图形中均匀排列。DEM 格式编码高程数据来创建高清晰地形。前几年，美国地质调查局 (USGS) 向公共领域发布了一个非常受欢迎的全球 DEM 数据集。</p>
<p>矢量数据<br />
基于矢量的数据格式的出现改变了 GIS 专家的生活。新数据查看器和编辑器，如 Thuban 和 QGIS 不必再费力地表示复杂的基于矢量的格式，因为它一开始就内置了编辑和添加基于矢量的数据层的能力。GRASS 已有 20 多年的历史，但最近才获得此能力。</p>
<p>简言之，矢量数据利用最简单的拓扑实体 — 点、线和多边形，并在二维笛卡尔坐标系统中固定它们来描述地理特征。连接线称为弧，笛卡尔坐标系统中的点称为节点。数据结构与图形关联，并以图形理论做为其数学基础。所谓的弧节点列表 包含弧和节点。列表定义多边形，并可以相互层叠，来表示方向完全相反但描述相同地理区域的数据集，从而形成数据详细的地图。</p>
<p>QGIS 和其他较为简单的数据查看器用于探测各种数据格式和覆盖此行星系统的所有数据集。与某些商业产品、甚至 GRASS 不同，您可以容易地安装这些查看器，并且几乎可以在所有主要操作系统上使用。里程可能稍有偏差，但几乎可以始终保证成功。</p>
<p>数据格式<br />
QGIS 支持许多矢量数据格式，如 Shapefile、MapInfo 图层和 ArcInfo coverage。矢量数据要求的存储要比栅格数据少得多，因为弧节点列表简化并减少了表示地图中包含的特征所需的数据。这些数据还非常便于搜索地图或用矢量表示的各种图层。在 20 世纪 90 年代初，商业软件套件 ArcInfo GIS 进入市场以后，促进了对 Shapefile 的使用。后来出现了其他文件和数据格式，但是，没有免费的开源编程社区，这些成果仍局限于地理学者的理论研究和军事规划。</p>
<p>GRASS<br />
最近推出了 GRASS 6.01 版，该版本支持大约 40 种数据格式。它突破了二维栅格格式，可包括体元（voxel） 或三维栅格格式。大量的成像和成图模块大大方便了 GIS 专家以新的方法分析数据。这使得长期模拟和完善的地图制作成为可能。</p>
<p>不过，用户仍需要解决的问题是，由于该版本针对的是 UNIX 和 Linux 专家，其界面相当杂乱而且安装过程也比较复杂。进一步说，导致这一复杂性的原因是随 GRASS 提供了大量的库和工具。所幸的是，各个 GIS 技术级别的学生编写了许多有关 GRASS 的文档，因此使 Linux 和 UNIX 新手能够对付 GRASS 安装时的复杂要求。</p>
<p>GDAL 和 OGR<br />
在谈到 GIS 数据格式时，必然会考虑到要支持的大量格式，以使每个数据查看器和 GIS 应用程序可以广泛适用。开源 GIS 应用程序必须包括从 ArcInfo 到 X 窗口系统的大多数开放数据格式标准。诸如 GeoTIFF 的格式是通常由多数应用程序支持的开放标准的常见示例。</p>
<p>在开源范围中，GRASS、QGIS、Thuban 和许多其他 GIS 应用程序使用基本库，即 Geospatial Data Abstraction Library (GDAL)。GDAL 用 C 和 C++ 编写，只能包括一种栅格格式。另一个库叫做 OGR Simple Features Library（以前称为 OpenGIS Simple Features Reference Implementation），尽管是为了适应 GDAL 源树中存在的矢量格式而构建的，但 OGR 依赖于 GDAL。事实上，如果没有开源许可的 GDAL，多数现代地理空间数据查看器将是不可思议的。该库为编程人员提供了通用的数据模型，包括所有栅格数据格式和矢量数据格式（通过 OGR）。GDAL 还可让编程人员在世界地理坐标（即地理参考坐标）上设计栅格数据。</p>
<p>PostGIS 和 OpenGIS<br />
在没有相当完善的数据存储机制的情况下，公共领域 GIS 数据不可能存在。然而，存储可能不像栅格数据那样重要，其空间构成可能包含相当简单的数字数据。编程人员只须知道一些较高级别的结构，但是多数编程人员认为栅格数据较为复杂并且占用大量的存储。</p>
<p>OpenGIS 标准通过生成矢量数据解决了这些问题，矢量数据也指几何对象，如点、线、多边形及其组合，可以在启用三维数据库的 PostgreSQL 中存取（PostgreSQL 的 OpenGIS 实现标准称为 PostGIS）。存储在 PostgreSQL 数据库中的 GIS 数据完全可以使用 SQL-92 搜索。</p>
<p>目前，编程人员能够访问整个开源 GIS 应用程序在很大程度上依赖于 UNIX 和 Linux 系统。这些成果得益于通常的开放标准，而且多数 Internet 地图制作领域正在趋向于依赖这些标准。以任何形式处理地理数据的所有编程人员都会遇到与 Linux 系统编程人员在 glibc 上遇到的相同的基础库问题。GIS 编程人员即使只是想利用键盘编写数据过滤器的脚本或删改工具链，也无法判断要使用哪些数据格式和基础库。</p>
<p>结束语<br />
在谈到有关开源和全球环境现象时，很难让人联想到地理数据集和 GIS 应用程序领域。但是，开源应用程序，如 GRASS 和 QGIS 在尝试使公共领域 GIS 数据集可用于编程人员和技术用户，以便他们不必使用商业产品。GDAL 和 OGR 之类的库可以将 GIS 数据放在通用开源基础上处理，而不会影响开放 GIS 数据标准的完整性。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/%e5%bc%80%e6%ba%90gis%e7%8e%b0%e7%8a%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QGIS Rambling</title>
		<link>http://www.geoinformatics.cn/2006/08/qgis-rambling/</link>
		<comments>http://www.geoinformatics.cn/2006/08/qgis-rambling/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 23:39:06 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[QGIS]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/20060812112.html</guid>
		<description><![CDATA[Quantum GIS开设了blog，名为QGIS Rambling。这个老牌的OpenGIS，也搭上了blog之风。blog使用drupal做的，主要的参与者在里面都有参与讨论，漫步在QGIS的海洋中，不过话说回来，QGIS 0.8确实有了很多改进之处，再没有那只慵懒的猫了。 Dev-Speak and other QGIS Ramblings&#8230;]]></description>
			<content:encoded><![CDATA[<p>Quantum GIS开设了blog，名为QGIS Rambling。这个老牌的OpenGIS，也搭上了blog之风。blog使用drupal做的，主要的参与者在里面都有参与讨论，漫步在QGIS的海洋中，不过话说回来，QGIS 0.8确实有了很多改进之处，再没有那只慵懒的猫了。</p>
<p><strong>Dev-Speak and other QGIS Ramblings&#8230;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/qgis-rambling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grass 6.1.0 released</title>
		<link>http://www.geoinformatics.cn/2006/08/grass-610-released/</link>
		<comments>http://www.geoinformatics.cn/2006/08/grass-610-released/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 18:45:37 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[GRASS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/gis/20060812106.html</guid>
		<description><![CDATA[Grass 6.1.0 releasd at Aug 11th, 2006. the advanced functions attracted, meanwhile, I am now focused at the Linux recently, the combination of linux and grass would be a good choise for our gisor. if you do not know how to operate grass, you could check out PerryGeo&#8217;s blog for an extractive comprehension or just check [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://grass.itc.it/" target="_blank">Grass 6.1.0</a> </strong>releasd at Aug 11th, 2006. the advanced functions attracted, meanwhile, I am now focused at the Linux recently, the combination of linux and grass would be a good choise for our gisor.<img src="/wp-content/uploads/grasslogo.png" align="right" /></p>
<p>if you do not know how to operate grass, you could check out <a href="http://perrygeo.net/" target="_blank">PerryGeo&#8217;s blog</a> for an extractive comprehension or just check out the official site of <a href="http://grass.itc.it/" target="_blank">Grass</a>.</p>
<p>Commonly referred to as GRASS, this is a Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization. GRASS is currently used in academic and commercial settings around the world, as well as by many governmental agencies and environmental consulting companies.</p>
<p>ps: Grass do not have a GUI, you could combine grass  and QGIS to carry on your experiments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/grass-610-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Tutorial</title>
		<link>http://www.geoinformatics.cn/2006/08/ubuntu-tutorial/</link>
		<comments>http://www.geoinformatics.cn/2006/08/ubuntu-tutorial/#comments</comments>
		<pubDate>Tue, 08 Aug 2006 18:30:11 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/2006080842.html</guid>
		<description><![CDATA[ubuntu 教程]]></description>
			<content:encoded><![CDATA[<p><a href="http://forum.ubuntu.org.cn/about18740.html" target="_blank">ubuntu 教程</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/ubuntu-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux 系统简介</title>
		<link>http://www.geoinformatics.cn/2006/08/linux-%e7%b3%bb%e7%bb%9f%e7%ae%80%e4%bb%8b/</link>
		<comments>http://www.geoinformatics.cn/2006/08/linux-%e7%b3%bb%e7%bb%9f%e7%ae%80%e4%bb%8b/#comments</comments>
		<pubDate>Tue, 08 Aug 2006 18:25:29 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/2006080841.html</guid>
		<description><![CDATA[from ubuntu.org.cn 路径 ==== 路径分为绝对路径和相对路径。 绝对路径的起始点为根目录“/”，例如“/usr/local/bin”就是绝对路径，它指向系统中的一个绝对的位置，不受任何因素影响。 而相对路径的起始点为当前目录，如果您现在位于“/usr”目录，那么相对路径“local/bin”所指示的位置为“/usr/local/bin”。 也就是说，相对路径所指示的位置，除了相对路径本身，还要受到当前位置的影响。例如Linux系统中常见的目录“/bin”、“/usr/bin”、 “/usr/local/bin”，如果只有一个相对路径“bin”，那么它指示的位置可能上面三个目录中的任意一个，也可能是其它目录。 如果我告诉您到“bin”目录寻找一个文件，您不可能知道我要告诉您的是哪一个目录。只有当前位置确定，相对路径指示的位置才能够确定。现在我告诉您，我位于“/usr/local”目录下，它的相对路径“bin”中含有某个文件。您就可以轻松的找到它了。 在相对路径中 “.”表示当前目录，“..”表示当前目录的上一级目录。 例如您安装一个程序，它的主程序没有被放置到上面三个“bin”目录中的任何一个，或者其它系统能够搜索到的地方，这样您就得告诉系统，它的可执行文件在哪里。 可以使用绝对路径，例如：/home/user/bin/exe 或者定位到/home/user/bin 目录，使用相对目录来定位它 ./exe 如果您定位到了它的子目录，比如/home/user/bin/gui，您可以使用“..”来表示它的上级目录 ../exe 路径相关命令 cd (change directory)改变目录。 pwd (print working directory)显示当前路径。 ls (list)显示当前目录中的文件列表。 您可以尝试以下操作： cd /etc 进入“/etc”目录，这里使用的是绝对路径 pwd 显示当前路径，这个命令返回结果“/etc” cd init.d 进入“/etc”目录的子目录“init.d”，这里使用的是相对路径 cd .. 进入上一级目录“/etc” cd ../home “/etc”目录的上一级目录为“/”，它的子目录“home”为“/home” cd &#8211; 回到上一次的目录，我们在“/etc”目录跳转到“/home”目录，所以这次是回到“/etc”目录 cd ~ “~”代表当前用户的“$HOME”目录，也就是“/home/{用户名}”目录。 ls 在任何时候，您都可以使用“ls”命令，来了解当前目录下都有哪些文件。 远程路径： 远程路径的表示方法为“协议://用户名:密码@位置/路径:端口” 大多数的远程路径可以使用默认端口匿名访问，由此用户名、密码、端口通常不需要填写。例如： [...]]]></description>
			<content:encoded><![CDATA[<p>from <a href="http://forum.ubuntu.org.cn/about18740.html" target="_blank">ubuntu.org.cn</a><br />
路径<br />
====<br />
路径分为绝对路径和相对路径。<br />
绝对路径的起始点为根目录“/”，例如“/usr/local/bin”就是绝对路径，它指向系统中的一个绝对的位置，不受任何因素影响。<br />
而相对路径的起始点为当前目录，如果您现在位于“/usr”目录，那么相对路径“local/bin”所指示的位置为“/usr/local/bin”。<br />
也就是说，相对路径所指示的位置，除了相对路径本身，还要受到当前位置的影响。例如Linux系统中常见的目录“/bin”、“/usr/bin”、 “/usr/local/bin”，如果只有一个相对路径“bin”，那么它指示的位置可能上面三个目录中的任意一个，也可能是其它目录。<br />
如果我告诉您到“bin”目录寻找一个文件，您不可能知道我要告诉您的是哪一个目录。只有当前位置确定，相对路径指示的位置才能够确定。现在我告诉您，我位于“/usr/local”目录下，它的相对路径“bin”中含有某个文件。您就可以轻松的找到它了。</p>
<p>在相对路径中 “.”表示当前目录，“..”表示当前目录的上一级目录。<br />
例如您安装一个程序，它的主程序没有被放置到上面三个“bin”目录中的任何一个，或者其它系统能够搜索到的地方，这样您就得告诉系统，它的可执行文件在哪里。<br />
可以使用绝对路径，例如：/home/user/bin/exe<br />
或者定位到/home/user/bin 目录，使用相对目录来定位它   ./exe<br />
如果您定位到了它的子目录，比如/home/user/bin/gui，您可以使用“..”来表示它的上级目录  ../exe</p>
<p>路径相关命令<br />
cd (change directory)改变目录。<br />
pwd (print working directory)显示当前路径。<br />
ls (list)显示当前目录中的文件列表。<br />
您可以尝试以下操作：<br />
cd /etc  进入“/etc”目录，这里使用的是绝对路径<br />
pwd    显示当前路径，这个命令返回结果“/etc”<br />
cd init.d 进入“/etc”目录的子目录“init.d”，这里使用的是相对路径<br />
cd ..     进入上一级目录“/etc”<br />
cd ../home “/etc”目录的上一级目录为“/”，它的子目录“home”为“/home”<br />
cd &#8211;    回到上一次的目录，我们在“/etc”目录跳转到“/home”目录，所以这次是回到“/etc”目录<br />
cd ~    “~”代表当前用户的“$HOME”目录，也就是“/home/{用户名}”目录。<br />
ls     在任何时候，您都可以使用“ls”命令，来了解当前目录下都有哪些文件。</p>
<p>远程路径：<br />
远程路径的表示方法为“协议://用户名:密码@位置/路径:端口”<br />
大多数的远程路径可以使用默认端口匿名访问，由此用户名、密码、端口通常不需要填写。例如：</p>
<p>http://www.ubuntu.org.cn/&#8230;/index.html</p>
<p>要求身份验证的远程路径，您可以使用下面的方式访问<br />
ftp://user:passwd@ftp.ubuntu.org.cn:21</p>
<p>软件<br />
====<br />
Linux中没有“注册表”的概念，因此安装软件，理论上只要拷贝所有相关文件，并运行它的主程序就可以了。<br />
按照传统，一个软件通常分别拷贝到同级目录下的bin、etc、lib、share等文件夹。<br />
bin目录下为可执行文件，我们将大部分程序的可执行文件都放在这个目录下，并且在环境变量中设定搜索路径，便不需要定位其路径，可以直接执行命令。<br />
etc目录下为配置文件，大部分系统程序的配置文件保存于“/etc”目录，便于集中修改。<br />
lib目录下为库文件，库文件集中在一起，可以共享给不同程序使用。相较不同的软件单独保存库文件，能够节约一些磁盘空间。<br />
share目录下为程序运行所需要的其它资源，例如图标、文本等，这部分文件通常不能共享使用，而且目录结构相对复杂，混放在一起会比较乱，所以单独存放。</p>
<p>还有一些软件，占用一个单独的目录，所有的文件都集中在一起，类似于Windows下的绿色软件，不过这种方式并不推荐。<br />
在执行时，系统找不到可执行文件（系统搜索所有路径，资源开销过大，是不现实的），需要定位其位置，像这样/home/user/bin/exe，使用起来不够方便。<br />
配置程序，需要定位其目录，如果同时配置多个系统软件（许多系统软件需要协作运行），切换目录会非常繁琐。<br />
如果每个程序使用的库文件，比如图形库文件，都单独存放，那么磁盘空间的浪费会非常严重。</p>
<p>有一些大型软件，或者您布署的重要应用，您可以将它们单独安装在一个文件夹下。（通常源码安装支持这种方式，将在程序安装部分介绍）</p>
<p>配置方式<br />
========<br />
Linux下没有类似“注册表”的系统，系统和软件选项都提供文本文件的配置方式。<br />
事实上，图形界面的配置工具，通常也是以一种直观的方式提供对配置文件的修改。当然图形界面配置工具只适合配置一些不太复杂的程序，如果一个软件，有几千个可以配置的选项，全部作成菜单，您应该能够想象那有多么恐怖。<br />
对于Linux系统来说，图形界面的配置工具，只是用来编辑某一特定配置文件的文本编辑器。您一样可以使用通用文本编辑器来编辑这些配置文件，比如 Nano、Gedit、Knote、Vim或者Emacs等等。不考虑您配置所占用的时间，直接修改配置文件甚至更迅速。<br />
如果您只是要修改某一常用选项，而且经常需要修改，比如修改主机的IP地址，使用文本编辑器的话，您要找到相应的配置文件，还要在配置文件中找到相应的选项，会浪费掉您的时间和耐心。而图形配置工具经常会受各种因素制约，比如网络服务器中没有安装桌面环境，GUI界面不太稳定等等。这个时候，您可以使用命令行的配置工具来完成这些工作。<br />
比如修改主机IP地址，可以使用ifconfig这个程序，执行下面的命令：<br />
ifconfig eth0 192.168.0.1</p>
<p>Tips：在以后的章节中，如果我们提示您修改某一文件，例如“/etc/fstab”，您可以使用您喜欢的任何文本编辑器打开它。</p>
<p>隐藏文件<br />
========<br />
Linux下，名称中第一个字符为“.”的文件或者文件夹，系统默认情况下将它们隐藏起来，<br />
您可以尝试以下操作：<br />
cd ~   进入您的用户目录<br />
ls    查看当前目录下的文件列表<br />
ls -a   查看所有文件的文件列表（包括隐藏文件）。现在，您可以看到许多文件名以“.”起始的文件或者文件夹了吧？使用“ls”命令无法显示它们</p>
<p>Tips：每个目录下都包含两个特殊目录“.”和“..”。您也许猜到了，“.”代表当前目录，“..”代表上一级目录。目录是一种特殊类型的文件！<br />
如果您只想查看隐藏文件，而不包括这两个特殊目录，您可以使用“ls”命令的参数“-A” （ls -A）</p>
<p>文件类型<br />
========<br />
Linux下，系统主要根据文件头信息来判断文件的类型，扩展名并不是决定因素。<br />
现在使用“ls -l”命令，查看详细信息格式的文件列表，您将会看到如下内容：<br />
total 5<br />
drwxr-x&#8212;  4 user  group    4096 Mar 10 00:37 a<br />
drwxr-xr-x 21 user  group   4096 Mar 10 20:16 b<br />
-rw&#8212;&#8212;-  1 user  group    524 Mar 10 00:40 c<br />
-rw-r&#8211;r&#8211;  1 user  group     24 Jun 11  2000 d<br />
drwx&#8212;&#8212;  2 user  group   4096 Mar  9 11:06 e</p>
<p>共显示了七列信息，从左至右依次为：权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称</p>
<p>其中要特别留意的是第一列：<br />
drwxr-xr-x<br />
一共有10个位置，可以分为4组：<br />
d rwx r-x r-x<br />
第一组为“d”，表示这是一个文件夹;如果为空，也就是“-”，表示这是一个普通文件；为“l”，表示这是一个符号链接;为“b”，表示它是块设备文件；为“c”，表示它是字符设备文件。<br />
剩下的3组分别为归属用户、归属群组、其它用户或群组对于该文件的权限。我们看它的格式<br />
rwx   “r”为可读，“w”为可写，“x”为可执行。它们的顺便不能颠倒，某一位置为空（“-”）则表示不具有相应的权限。</p>
<p>Tips：Linux下的可执行文件并不是由其扩展名（例如“exe”）决定的，而是由其可执行权限决定的。</p>
<p>权限<br />
====<br />
我们已经知道了，文件的权限分为“r”（可读）、“w”（可写）、“x”（可执行）三种类型，而一个文件可以针对归属用户，归属群组，其它用户用户或群组分别设定权限。<br />
这种权限管理的方式非常灵活。由于它本身非常简单，所以稳定可靠，不会产生混乱。不过在最初的阶段，您可能会不适应，因为时常需要与它打交道，而您习惯了的Windows的权限管理却不是这样（非常混乱，大多数时间形同虚设，偶尔用到却让人伤透脑筋）。</p>
<p>您可以使用“chmod”命令来更改文件的权限，使用“chown”来更改文件的归属。<br />
例如：<br />
chmod 755 xxx<br />
chmod a+x xxx<br />
上面命令中的“755”和“a+x”是两种类型的表达式<br />
chown user:group xxx  用来改变文件的归属用户，也可以改变其归属群组<br />
chgrp   group  xxx  用来改变文件的归属群组<br />
我们将后面章节中详细介绍 权限与用户管理</p>
<p>执行命令的权限<br />
有一些命令，普通用户也可以执行，但是只有root用户才能执行成功，这是为什么呢？<br />
例如在系统中增加一个新用户“useradd”<br />
ls -l /usr/sbin/useradd  可以看到：<br />
-rwxr-xr-x 1 root root 56156 2006-04-03 21:37 /usr/sbin/useradd<br />
明明所有的用户都可以执行嘛？<br />
这是因为，“useradd”命令是修改“/etc/passwd”文件的一个工具，来看看这个文件：<br />
ls -l /etc/passwd<br />
-rw-r&#8211;r&#8211; 1 root root 1835 2006-06-24 17:58 /etc/passwd<br />
原来只有root用户才能写入修改结果，非root用户执行“useradd”命令当然不会有结果。</p>
<p>执行命令的身份<br />
默认情况下，您的命令提示符末位为“$”，这表示您将以普通用户的身份执行命令。<br />
您可以使用“su”（switch user）这个命令来切换其它用户。<br />
例如“su root”，切换到root用户，如果“su”命令后面没有切换目标，那么这个命令默认切换到root用户。<br />
现在您执行“su”这个命令，系统会提示您输入密码，请输入管理员的密码。这个时候，您会发现命令提示符末位变成了“#”，您将以root用户的身份执行命令。</p>
<p>Ubuntu系统默认会随机设定系统的root密码，这样会更安全一些，这个时候您可以执行“sudo”命令，输入当前用户密码后，暂时以root用户的身份执行命令。（前提是sudoer列表中要包含您的ID。您在安装Ubuntu系统时创建的用户，默认具有“sudo”权限）</p>
<p>Tips：如果您能够执行“sudo”命令，那么您也就拥有了root权限。在后面的章节中，如果我们提到了“root权限”，那么您可以通过以上两种方式来实现.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/linux-%e7%b3%bb%e7%bb%9f%e7%ae%80%e4%bb%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu下Apache2＋PHP设置的问题。</title>
		<link>http://www.geoinformatics.cn/2006/08/ubuntu%e4%b8%8bapache2%ef%bc%8bphp%e8%ae%be%e7%bd%ae%e7%9a%84%e9%97%ae%e9%a2%98%e3%80%82/</link>
		<comments>http://www.geoinformatics.cn/2006/08/ubuntu%e4%b8%8bapache2%ef%bc%8bphp%e8%ae%be%e7%bd%ae%e7%9a%84%e9%97%ae%e9%a2%98%e3%80%82/#comments</comments>
		<pubDate>Tue, 08 Aug 2006 01:54:24 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/2006080739.html</guid>
		<description><![CDATA[在陶谷这里忙碌了3天有余了，终于解决了在Ubuntu 6.06下设置Apache2和php的问题。把自己的经验发出来吧。已被日后不测。 在解决问题之前首先要有一下两个准备： 1 时刻和ubuntu源进行互联，这就是为什么我没有在宿舍或者实验室进行配置的原因。跟据二八原理，如果我在校园网的环境下完成设置工作，将大大浪费我宝贵的时间。 2 持之以恒的决心和耐力，相信自己一定能够完成，如果对自己都没有信心，或者不坚持到底，那么一定是不能达到目的的。 呵呵，下面是需要主义的问题： 1 总体安装：用命令行的方式进行。在ubuntu中有篇《LAMP服务器的配置》的文章很不错。 2 按照上文还是有一些问题，首先还需要再设置php5.load 和php5.conf的软链接到mod-enabled的文件夹里。可以参考文章《[求助]apache2不能解析php》。“就是/etc/apache2/mods-available/下面没有php5.load和php5.conf，两个文本文件，我也不知道为什么没有。 在别人机器上拷过来一份(其实可以自己写，很简单的两个文件)，再把这两个文件软链接到/etc/apache2/mods-enable/下（文件名不变），就好了。” 3 再者，还需要修改了/etc/apache2/httpd.conf ，添加如下代码： AddType application/x-httpd-php .php AddType application/x-httpd-php .phtml  LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 该步操作可以参考文章《[问题]请教Apache+PHP问题》 这样，在/var/www/中添加页面phptest.php, 写入代码,就可以进行测试了。这只是一个大致的过程，希望对自己和他人有用。]]></description>
			<content:encoded><![CDATA[<p>在陶谷这里忙碌了3天有余了，终于解决了在Ubuntu 6.06下设置Apache2和php的问题。把自己的经验发出来吧。已被日后不测。</p>
<p>在解决问题之前首先要有一下两个准备：</p>
<ul>
<li>1 时刻和ubuntu源进行互联，这就是为什么我没有在宿舍或者实验室进行配置的原因。跟据二八原理，如果我在校园网的环境下完成设置工作，将大大浪费我宝贵的时间。</li>
<li>2 持之以恒的决心和耐力，相信自己一定能够完成，如果对自己都没有信心，或者不坚持到底，那么一定是不能达到目的的。</li>
</ul>
<p>呵呵，下面是需要主义的问题：</p>
<ul>
<li>1 总体安装：用命令行的方式进行。在ubuntu中有篇<a target="_blank" href="http://wiki.ubuntu.org.cn/LAMP服务器的配置?highlight=%28lamp%29">《LAMP服务器的配置》</a>的文章很不错。</li>
<li>2 按照上文还是有一些问题，首先还需要再设置php5.load 和php5.conf的软链接到mod-enabled的文件夹里。可以参考文章<a target="_blank" href="http://forum.ubuntu.org.cn/about12906.html&#038;sid=84169bf240859125e66ea1d8355b3e45">《[求助]apache2不能解析php》。</a>“就是/etc/apache2/mods-available/下面没有php5.load和php5.conf，两个文本文件，我也不知道为什么没有。<br />
在别人机器上拷过来一份(其实可以自己写，很简单的两个文件)，再把这两个文件软链接到/etc/apache2/mods-enable/下（文件名不变），就好了。”</li>
</ul>
<ul>
<li>3 再者，还需要<span class="postbody">修改了/etc/apache2/httpd.conf </span>，添加如下代码：</li>
</ul>
<p>AddType application/x-httpd-php .php<br />
AddType application/x-httpd-php .phtml<br />
<span class="postbody"> LoadModule php5_module /usr/lib/apache2/modules/libphp5.so </span></p>
<p><span class="postbody" />该步操作可以参考文章<a target="_blank" href="http://forum.ubuntu.org.cn/about11940.html&#038;sid=f8c5e8bdfede7cdf38438d7ac541a8b9">《<span class="postdetails">[问题]请教Apache+PHP问题</span>》</a></p>
<p>这样，在/var/www/中添加页面phptest.php, 写入代码<coolcode lang="php" linenum="off"><? php phpinfo(); ?></coolcode>,就可以进行测试了。这只是一个大致的过程，希望对自己和他人有用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/ubuntu%e4%b8%8bapache2%ef%bc%8bphp%e8%ae%be%e7%bd%ae%e7%9a%84%e9%97%ae%e9%a2%98%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux必学60个命令文件处理</title>
		<link>http://www.geoinformatics.cn/2006/08/linux%e5%bf%85%e5%ad%a660%e4%b8%aa%e5%91%bd%e4%bb%a4%e6%96%87%e4%bb%b6%e5%a4%84%e7%90%86/</link>
		<comments>http://www.geoinformatics.cn/2006/08/linux%e5%bf%85%e5%ad%a660%e4%b8%aa%e5%91%bd%e4%bb%a4%e6%96%87%e4%bb%b6%e5%a4%84%e7%90%86/#comments</comments>
		<pubDate>Tue, 08 Aug 2006 00:54:42 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/2006080738.html</guid>
		<description><![CDATA[from Linux联盟 Linux 系统信息存放在文件里，文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息，如文件的用户、文件的大小等。文件可以是一封信、一个通讯录，或者是程序的源语句、程序的数据，甚至可以包括可执行的程序和其它非正文内容。 Linux文件系统具有良好的结构，系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。 file 1.作用 file通过探测文件内容判断文件类型，使用权限是所有用户。 2.格式 file [options] 文件名 3.[options]主要参数 -v：在标准输出后显示版本信息，并且退出。 -z：探测压缩过的文件类型。 -L：允许符合连接。 -f name：从文件namefile中读取要分析的文件名列表。 4.简单说明 使用file命令可以知道某个文件究竟是二进制（ELF格式）的可执行文件, 还是Shell Script文件，或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap，可以使用下面命令： $ file grap grap： English text 此时系统显示这是一个英文文本文件。需要说明的是，file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作用 mkdir命令的作用是建立名称为dirname的子目录，与MS DOS下的md命令类似，它的使用权限是所有用户。 2.格式 mkdir [options] 目录名 3.[options]主要参数 －m, －－mode=模式：设定权限，与chmod类似。 －p, －－parents：需要时创建上层目录；如果目录早已存在，则不当作错误。 －v, －－verbose：每次创建新目录都显示信息。 －－version：显示版本信息后离开。 4.应用实例 在进行目录创建时可以设置目录的权限，此时使用的参数是“－m”。假设要创建的目录名是“tsk”，让所有用户都有rwx(即读、写、执行的权限)，那么可以使用以下命令： $ mkdir －m 777 tsk grep [...]]]></description>
			<content:encoded><![CDATA[<p>from <a href="http://www.xxlinux.com/linux/article/accidence/install/20051202/597.html" target="_blank">Linux联盟</a></p>
<p>Linux 系统信息存放在文件里，文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息，如文件的用户、文件的大小等。文件可以是一封信、一个通讯录，或者是程序的源语句、程序的数据，甚至可以包括可执行的程序和其它非正文内容。 Linux文件系统具有良好的结构，系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。</p>
<p>file</p>
<p>1.作用</p>
<p>file通过探测文件内容判断文件类型，使用权限是所有用户。</p>
<p>2.格式</p>
<p>file [options] 文件名</p>
<p>3.[options]主要参数</p>
<p>-v：在标准输出后显示版本信息，并且退出。</p>
<p>-z：探测压缩过的文件类型。</p>
<p>-L：允许符合连接。</p>
<p>-f name：从文件namefile中读取要分析的文件名列表。</p>
<p>4.简单说明</p>
<p>使用file命令可以知道某个文件究竟是二进制（ELF格式）的可执行文件, 还是Shell Script文件，或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。</p>
<p>5.应用实例</p>
<p>如果我们看到一个没有后缀的文件grap，可以使用下面命令：</p>
<p>$ file grap</p>
<p>grap： English text</p>
<p>此时系统显示这是一个英文文本文件。需要说明的是，file命令不能探测包括图形、音频、视频等多媒体文件类型。</p>
<p>mkdir</p>
<p>1.作用</p>
<p>mkdir命令的作用是建立名称为dirname的子目录，与MS DOS下的md命令类似，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>mkdir [options] 目录名</p>
<p>3.[options]主要参数</p>
<p>－m, －－mode=模式：设定权限<模式>，与chmod类似。</p>
<p>－p, －－parents：需要时创建上层目录；如果目录早已存在，则不当作错误。</p>
<p>－v, －－verbose：每次创建新目录都显示信息。</p>
<p>－－version：显示版本信息后离开。</p>
<p>4.应用实例</p>
<p>在进行目录创建时可以设置目录的权限，此时使用的参数是“－m”。假设要创建的目录名是“tsk”，让所有用户都有rwx(即读、写、执行的权限)，那么可以使用以下命令：</p>
<p>$ mkdir －m 777 tsk</p>
<p>grep</p>
<p>1.作用</p>
<p>grep命令可以指定文件中搜索特定的内容，并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print，表示全局正则表达式版本，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>grep [options]</p>
<p>3.主要参数</p>
<p>[options]主要参数：</p>
<p>－c：只输出匹配行的计数。</p>
<p>－I：不区分大小写（只适用于单字符）。</p>
<p>－h：查询多文件时不显示文件名。</p>
<p>－l：查询多文件时只输出包含匹配字符的文件名。</p>
<p>－n：显示匹配行及行号。</p>
<p>－s：不显示不存在或无匹配文本的错误信息。</p>
<p>－v：显示不包含匹配文本的所有行。</p>
<p>pattern正则表达式主要参数：</p>
<p>\：忽略正则表达式中特殊字符的原有含义。</p>
<p>^：匹配正则表达式的开始行。</p>
<p>$: 匹配正则表达式的结束行。</p>
<p>\<：从匹配正则表达式的行开始。</p>
<p>\>：到匹配正则表达式的行结束。</p>
<p>[ ]：单个字符，如[A]即A符合要求 。</p>
<p>[ - ]：范围，如[A-Z]，即A、B、C一直到Z都符合要求 。</p>
<p>。：所有的单个字符。</p>
<p>* ：有字符，长度可以为0。</p>
<p>正则表达式是Linux/Unix系统中非常重要的概念。正则表达式（也称为“regex”或“regexp”）是一个可以描述一类字符串的模式（Pattern）。如果一个字符串可以用某个正则表达式来描述，我们就说这个字符和该正则表达式匹配（Match）。这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上，正则表达式通常被用来查找文本的模式，以及对文本执行“搜索－替换”操作和其它功能。</p>
<p>4.应用实例</p>
<p>查询DNS服务是日常工作之一，这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址，但是却忘了第二部分中的其余部分，只知到有两个句点，例如nnn nn..。要抽取其中所有nnn.nnn IP地址，使用[0－9 ]\{3 \}\.[0－0\{3\}\。含义是任意数字出现3次，后跟句点，接着是任意数字出现3次，后跟句点。</p>
<p>$grep '[0－9 ]\{3 \}\.[0－0\{3\}\' ipfile</p>
<p>补充说明，grep家族还包括fgrep和egrep。fgrep是fix grep，允许查找字符串而不是一个模式；egrep是扩展grep，支持基本及扩展的正则表达式，但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。</p>
<p>dd</p>
<p>1.作用</p>
<p>dd命令用来复制文件，并根据参数将数据转换和格式化。</p>
<p>2.格式</p>
<p>dd [options]</p>
<p>3.[opitions]主要参数</p>
<p>bs=字节：强迫 ibs=<字节>及obs=<字节>。</p>
<p>cbs=字节：每次转换指定的<字节>。</p>
<p>conv=关键字：根据以逗号分隔的关键字表示的方式来转换文件。</p>
<p>count=块数目：只复制指定<块数目>的输入数据。</p>
<p>ibs=字节：每次读取指定的<字节>。</p>
<p>if=文件：读取<文件>内容，而非标准输入的数据。</p>
<p>obs=字节：每次写入指定的<字节>。</p>
<p>of=文件：将数据写入<文件>，而不在标准输出显示。</p>
<p>seek=块数目：先略过以obs为单位的指定<块数目>的输出数据。</p>
<p>skip=块数目：先略过以ibs为单位的指定<块数目>的输入数据。</p>
<p>4.应用实例</p>
<p>dd命令常常用来制作Linux启动盘。先找一个可引导内核，令它的根设备指向正确的根分区，然后使用dd命令将其写入软盘：</p>
<p>$ rdev vmlinuz /dev/hda</p>
<p>$dd if＝vmlinuz of＝/dev/fd0</p>
<p>上面代码说明，使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda，请把“hda”换成自己的根分区，接下来用dd命令将该内核写入软盘。<br />
find</p>
<p>1.作用</p>
<p>find命令的作用是在目录中搜索文件，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>find [path][options][expression]</p>
<p>path指定目录路径，系统从这里开始沿着目录树向下查找文件。它是一个路径列表，相互用空格分离，如果不写path，那么默认为当前目录。</p>
<p>3.主要参数</p>
<p>[options]参数：</p>
<p>－depth：使用深度级别的查找过程方式，在某层指定目录中优先查找文件内容。</p>
<p>－maxdepth levels：表示至多查找到开始目录的第level层子目录。level是一个非负数，如果level是0的话表示仅在当前目录中查找。</p>
<p>－mindepth levels：表示至少查找到开始目录的第level层子目录。</p>
<p>－mount：不在其它文件系统（如Msdos、Vfat等）的目录和文件中查找。</p>
<p>－version：打印版本。</p>
<p>[expression]是匹配表达式，是find命令接受的表达式，find命令的所有操作都是针对表达式的。它的参数非常多，这里只介绍一些常用的参数。</p>
<p>—name：支持统配符*和?。</p>
<p>－atime n：搜索在过去n天读取过的文件。</p>
<p>－ctime n：搜索在过去n天修改过的文件。</p>
<p>－group grpoupname：搜索所有组为grpoupname的文件。</p>
<p>－user 用户名：搜索所有文件属主为用户名（ID或名称）的文件。</p>
<p>－size n：搜索文件大小是n个block的文件。</p>
<p>－print：输出搜索结果，并且打印。</p>
<p>4.应用技巧</p>
<p>find命令查找文件的几种方法：</p>
<p>（1）根据文件名查找</p>
<p>例如，我们想要查找一个文件名是lilo.conf的文件，可以使用如下命令：</p>
<p>find / －name lilo.conf</p>
<p>find命令后的“/”表示搜索整个硬盘。</p>
<p>（2）快速查找文件</p>
<p>根据文件名查找文件会遇到一个实际问题，就是要花费相当长的一段时间，特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中，那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件，从它的文件后缀“.conf”可以判断这是一个配置文件，那么它应该在/etc目录内，此时可以使用下面命令：</p>
<p>find /etc －name smb.conf</p>
<p>这样，使用“快速查找文件”方式可以缩短时间。</p>
<p>（3）根据部分文件名查找方法</p>
<p>有时我们知道只某个文件包含有abvd这4个字，那么要查找系统中所有包含有这4个字符的文件可以输入下面命令：</p>
<p>find / －name &#8216;*abvd*&#8217;</p>
<p>输入这个命令以后，Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件（其中*是通配符），比如abvdrmyz等符合条件的文件都能显示出来。</p>
<p>(4) 使用混合查找方式查找文件</p>
<p>find命令可以使用混合查找的方法，例如，我们想在/etc目录中查找大于500000字节，并且在24小时内修改的某个文件，则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。</p>
<p>find /etc -size +500000c -and -mtime +1</p>
<p>mv</p>
<p>1.作用</p>
<p>mv命令用来为文件或目录改名，或者将文件由一个目录移入另一个目录中，它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。</p>
<p>2.格式</p>
<p>mv[options] 源文件或目录 目标文件或目录</p>
<p>3.[options]主要参数</p>
<p>－i：交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖，此时系统询问是否重写，要求用户回答“y”或“n”，这样可以避免误覆盖文件。</p>
<p>－f：禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示，指定此参数后i参数将不再起作用。</p>
<p>4.应用实例</p>
<p>（1）将/usr/cbu中的所有文件移到当前目录（用“.”表示）中：</p>
<p>$ mv /usr/cbu/ * .</p>
<p>（2）将文件cjh.txt重命名为wjz.txt：</p>
<p>$ mv cjh.txt wjz.txt</p>
<p>ls</p>
<p>1.作用</p>
<p>ls命令用于显示目录内容，类似DOS下的dir命令，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>ls [options][2004108174040.htm]</p>
<p>3.options主要参数</p>
<p>－a, －－all：不隐藏任何以“.” 字符开始的项目。</p>
<p>－A, －－almost－all：列出除了“ . ”及 “.. ”以外的任何项目。</p>
<p>－－author：印出每个文件著作者。</p>
<p>－b, －－escape：以八进制溢出序列表示不可打印的字符。</p>
<p>－－block－size=大小：块以指定<大小>的字节为单位。</p>
<p>－B, －－ignore－backups：不列出任何以 ~ 字符结束的项目。</p>
<p>－f：不进行排序，－aU参数生效，－lst参数失效。</p>
<p>－F, －－classify：加上文件类型的指示符号 (*/=@| 其中一个)。</p>
<p>－g：like －l, but do not list owner。</p>
<p>－G, －－no－group：inhibit display of group information。</p>
<p>－i, －－inode：列出每个文件的inode号。</p>
<p>－I, －－ignore=样式：不印出任何符合Shell万用字符<样式>的项目。</p>
<p>－k：即－－block－size=1K。</p>
<p>－l：使用较长格式列出信息。</p>
<p>－L, －－dereference：当显示符号链接的文件信息时，显示符号链接所指示的对象，而并非符号链接本身的信息。</p>
<p>－m：所有项目以逗号分隔，并填满整行行宽。</p>
<p>－n, －－numeric－uid－gid：类似－l，但列出UID及GID号。</p>
<p>－N, －－literal：列出未经处理的项目名称，例如不特别处理控制字符。</p>
<p>－p, －－file－type：加上文件类型的指示符号 (/=@| 其中一个)。</p>
<p>－Q, －－quote－name：将项目名称括上双引号。</p>
<p>－r, －－reverse：依相反次序排列。</p>
<p>－R, －－recursive：同时列出所有子目录层。</p>
<p>－s, －－size：以块大小为序。</p>
<p>4.应用举例</p>
<p>ls 命令是Linux系统使用频率最多的命令，它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色，其中蓝色表示是目录，绿色表示是可执行文件，红色表示是压缩文件，浅蓝色表示是链接文件，加粗的黑色表示符号链接，灰色表示是其它格式文件。ls最常使用的是ls- l，见图1所示。</p>
<p>图1 使用ls-l命令</p>
<p>文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型，它可以是下述类型之一：－（普通文件）、d（目录）、l（符号链接）、b（块设备文件）、c（字符设备文件）。后面的9个字符表示文件的访问权限，分为3组，每组3位。第一组表示文件属主的权限，第二组表示同组用户的权限，第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读（r）、写（w）和执行权限（x）。对于目录，表示进入权限。s表示当文件被执行时，把该文件的UID 或GID赋予执行进程的UID（用户ID）或GID（组 ID）。t表示设置标志位（留在内存，不被换出）。如果该文件是目录，那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件，那么在该文件执行后，指向其正文段的指针仍留在内存。这样再次执行它时，系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名称。<br />
diff</p>
<p>1.作用</p>
<p>diff命令用于两个文件之间的比较，并指出两者的不同，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>diff [options] 源文件 目标文件</p>
<p>3.[options]主要参数</p>
<p>-a：将所有文件当作文本文件来处理。</p>
<p>-b：忽略空格造成的不同。</p>
<p>-B：忽略空行造成的不同。</p>
<p>-c：使用纲要输出格式。</p>
<p>-H：利用试探法加速对大文件的搜索。</p>
<p>-I：忽略大小写的变化。</p>
<p>-n &#8211;rcs：输出RCS格式。</p>
<p>cmp</p>
<p>1.作用</p>
<p>cmp（“compare”的缩写）命令用来简要指出两个文件是否存在差异，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>cmp[options] 文件名</p>
<p>3.[options]主要参数</p>
<p>-l: 将字节以十进制的方式输出，并方便将两个文件中不同的以八进制的方式输出。</p>
<p>cat</p>
<p>1.作用</p>
<p>cat（“concatenate”的缩写）命令用于连接并显示指定的一个和多个文件的有关信息，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>cat [options] 文件1 文件2……</p>
<p>3.[options]主要参数</p>
<p>－n：由第一行开始对所有输出的行数编号。</p>
<p>－b：和－n相似，只不过对于空白行不编号。</p>
<p>－s：当遇到有连续两行以上的空白行时，就代换为一行的空白行。</p>
<p>4.应用举例</p>
<p>（1）cat命令一个最简单的用处是显示文本文件的内容。例如，我们想在命令行看一下README文件的内容，可以使用命令：</p>
<p>$ cat README</p>
<p>（2）有时需要将几个文件处理成一个文件，并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件，并将它们作为一个单独的文件打印到它的输出。例如，把README和INSTALL的文件内容加上行号（空白行不加）之后，将内容附加到一个新文本文件File1 中：</p>
<p>$ cat README INSTALL File1</p>
<p>（3）cat还有一个重要的功能就是可以对行进行编号，见图2所示。这种功能对于程序文档的编制，以及法律和科学文档的编制很方便，打印在左边的行号使得参考文档的某一部分变得容易，这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。</p>
<p>图2 使用cat命令/etc/named.conf文件进行编号</p>
<p>对行进行编号功能有-b（只能对非空白行进行编号）和-n（可以对所有行进行编号）两个参数：</p>
<p>$ cat -b /etc/named.conf</p>
<p>ln</p>
<p>1.作用</p>
<p>ln命令用来在文件之间创建链接，它的使用权限是所有用户。</p>
<p>2.格式</p>
<p>ln [options] 源文件 [链接名]</p>
<p>3.参数</p>
<p>－f：链结时先将源文件删除。</p>
<p>－d：允许系统管理者硬链结自己的目录。</p>
<p>－s：进行软链结(Symbolic Link)。</p>
<p>－b：将在链结时会被覆盖或删除的文件进行备份。</p>
<p>链接有两种，一种被称为硬链接（Hard Link），另一种被称为符号链接（Symbolic Link）。默认情况下，ln命令产生硬链接。</p>
<p>硬连接指通过索引节点来进行的连接。在Linux的文件系统中，保存在磁盘分区中的文件不管是什么类型都给它分配一个编号，称为索引节点号(Inode Index)。在Linux中，多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名，这样用户就可以建立硬连接到重要文件，以防止“误删”的功能。其原因如上所述，因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接，只有当最后一个连接被删除后，文件的数据块及目录的连接才会被释放。也就是说，文件才会被真正删除。</p>
<p>与硬连接相对应，Lnux系统中还存在另一种连接，称为符号连接（Symbilc Link），也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中，文件实际上是一个文本文件，其中包含的有另一文件的位置信息。</p>
<p>动手联系</p>
<p>上面我们介绍了Linux文件处理命令，下面介绍几个实例，大家可以动手练习一下刚才讲过的命令。</p>
<p>1.利用符号链接快速访问关键目录</p>
<p>符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用，但由于Linux的文件和目录结构等原因，这个文件或目录在很深的子目录中。比如， Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中，并且不想每次都要从主目录进入这样一个长的路径之中(实际上，这个路径也非常不容易记忆)。</p>
<p>为了解决这个问题，可以在主目录中创建一个符号链接，这样在需要进入该目录时，只需进入这个链接即可。</p>
<p>为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录，在主目录下可以使用以下命令：</p>
<p>$ ln -s /usr/local/httpd/htdocs gg</p>
<p>这样每次进入gg目录就可访问Web服务器的文档，以后如果不再访问Web服务器的文档时，删除gg即可，而真正的Web服务器的文档并没有删除。</p>
<p>2.使用dd命令将init.rd格式的root.ram内容导入内存</p>
<p>dd if=/dev/fd0 of=floppy.fd</p>
<p>dd if=root.ram of=/dev/ram0 #</p>
<p>3.grep命令系统调用</p>
<p>grep是Linux/Unix中使用最广泛的命令之一，许多Linux系统内部都可以调用它。</p>
<p>(1)如果要查询目录列表中的目录，方法如下：</p>
<p>$ ls -l | grep &#8216;∧d&#8217;</p>
<p>(2)如果在一个目录中查询不包含目录的所有文件，方法如下：</p>
<p>$ ls -l | grep &#8216;∧[∧d]&#8216;</p>
<p>(3)用find命令调用grep，如所有C源代码中的“Chinput”，方法如下：</p>
<p>$find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print<br />
<a href="http://www.xxlinux.com/linux/article/accidence/install/20051202/597.html" target="_blank"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/linux%e5%bf%85%e5%ad%a660%e4%b8%aa%e5%91%bd%e4%bb%a4%e6%96%87%e4%bb%b6%e5%a4%84%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>httpd.conf 中文版</title>
		<link>http://www.geoinformatics.cn/2006/08/httpdconf-%e4%b8%ad%e6%96%87%e7%89%88/</link>
		<comments>http://www.geoinformatics.cn/2006/08/httpdconf-%e4%b8%ad%e6%96%87%e7%89%88/#comments</comments>
		<pubDate>Mon, 07 Aug 2006 20:37:42 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/2006080736.html</guid>
		<description><![CDATA[http://linux-down.kmip.net/ # # 基于 NCSA 服务的配置文件。 # #这是Apache服务器主要配置文件。 #它包含服务器的影响服务器运行的配置指令。 #参见以取得关于这些指令的详细信息 # #不要只是简单的阅读这些指令信息而不去理解它。 #这里只是做了简单的说明，如果你没有参考在线文件，你就会被警告。 # #这些配置指令被分为下面三个部分： #1. 控制整个Apache服务器行为的部分（即全局环境变量） #2. 定义主要或者默认服务参数的指令，也为所有虚拟主机提供默认的设置参数 #3. 虚拟主机的设置参数 # #配置和日志文件名：如果你指定的文件名以“/”开始（win32下以“dirver:/”）， #服务器将使用绝对路径，如果文件名不是以“/”开始的，那么它将把ServerRoot #的值附加在文件名的前面，例如，对“logs/foo.log&#8221;，如果ServerRoot的值 #为“/usr/local/apache2”，则该文件应为“/usr/local/apache2/logs/foo.log” # ##第一区：全局环境参数 # #这里设置的参数将影响整个Apache服务器的行为； #例如Apache能够处理的并发请求的数量等。 # #ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。 # #注意！如果你想要将它指定为NFS或其它网络上的位置， #请一定要去阅读与LockFile有关的文档（可能在 #)。 #这将会使你自己也能解决很多问题。 # #路径的结尾不要添加斜线。 # ServerRoot &#8220;/usr/loacl/apache2&#8243; # #串行访问的锁文件必须保存在本地磁盘上 # #LockFile logs/accept.lock #ScoreBoardFile:用来保存内部服务进程信息的文件。 #如果未指明（默认），记分板（scoreboard）将被保存在一个匿名的共享内存段中， #并且它不能被第三方软件所使用。 #如果指定了，要确保不能使用两个Apache使用同一个记分板文件， #这个记分板文件必须保存在本地磁盘上。 # #ScoreBoardFile [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://linux-down.kmip.net/" target="_blank">http://linux-down.kmip.net/</a></p>
<p>#<br />
# 基于 NCSA 服务的配置文件。<br />
#<br />
#这是Apache服务器主要配置文件。<br />
#它包含服务器的影响服务器运行的配置指令。<br />
#参见<URL:http://httpd.ache.org/doc-2.0/>以取得关于这些指令的详细信息<br />
#<br />
#不要只是简单的阅读这些指令信息而不去理解它。<br />
#这里只是做了简单的说明，如果你没有参考在线文件，你就会被警告。<br />
#<br />
#这些配置指令被分为下面三个部分：<br />
#1. 控制整个Apache服务器行为的部分（即全局环境变量）<br />
#2. 定义主要或者默认服务参数的指令，也为所有虚拟主机提供默认的设置参数<br />
#3. 虚拟主机的设置参数<br />
#<br />
#配置和日志文件名：如果你指定的文件名以“/”开始（win32下以“dirver:/”），<br />
#服务器将使用绝对路径，如果文件名不是以“/”开始的，那么它将把ServerRoot<br />
#的值附加在文件名的前面，例如，对“logs/foo.log&#8221;，如果ServerRoot的值<br />
#为“/usr/local/apache2”，则该文件应为“/usr/local/apache2/logs/foo.log”<br />
#<br />
##第一区：全局环境参数<br />
#<br />
#这里设置的参数将影响整个Apache服务器的行为；<br />
#例如Apache能够处理的并发请求的数量等。<br />
#<br />
#ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。<br />
#<br />
#注意！如果你想要将它指定为NFS或其它网络上的位置，<br />
#请一定要去阅读与LockFile有关的文档（可能在<br />
#<URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>)。<br />
#这将会使你自己也能解决很多问题。<br />
#<br />
#路径的结尾不要添加斜线。<br />
#<br />
ServerRoot &#8220;/usr/loacl/apache2&#8243;<br />
#<br />
#串行访问的锁文件必须保存在本地磁盘上<br />
#<br />
<IfModule !mpm_winnt.c><br />
<IfModule !mpm_neware.c><br />
#LockFile logs/accept.lock<br />
</IfModule><br />
</IfModule></p>
<p>#ScoreBoardFile:用来保存内部服务进程信息的文件。<br />
#如果未指明（默认），记分板（scoreboard）将被保存在一个匿名的共享内存段中，<br />
#并且它不能被第三方软件所使用。<br />
#如果指定了，要确保不能使用两个Apache使用同一个记分板文件，<br />
#这个记分板文件必须保存在本地磁盘上。<br />
#<br />
<IfModule !mpm_netware.c><br />
<IfModule !perchild.c><br />
#ScoreBoardFile logs/apache_runtime_status<br />
<IfModule><br />
<IfModule></p>
<p>#<br />
#PidFile:记录服务器启动进程号的文件。<br />
#<br />
<IfModule !mpm_neware.c><br />
PidFile logs/httpd.pid<br />
</IfModule></p>
<p>#<br />
#Timeout:接收和发送前超时秒数<br />
#<br />
Timeout 300</p>
<p>#<br />
#KeepAlive:是否允许稳固的连接（每个连接有多个请求），<br />
#设为&#8221;Off&#8221;则停用。<br />
#<br />
KeepAlive On</p>
<p>#<br />
#MaxKeepAliveRequests:在稳固连接期间允许的最大请求数，<br />
#设为0表示无限制接入。<br />
#我们推荐你将其设为一个较大的值，以便提高性能<br />
MaxKeepAliveRequests 100</p>
<p>#<br />
#KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数<br />
#<br />
KeepAliveTimeout 15</p>
<p>##<br />
##Server-Pool大小设定（针对MPM的）<br />
##</p>
<p># prefork MPM<br />
# StartServers:启动时服务器启动的进程数<br />
# MinSpareServers:保有的备用进程的最小数目<br />
# MaxSpareServers:保有的备用进程的最大数目<br />
# MaxClients:服务器允许启动的最大进程数<br />
# MaxRequestsPerChild:一个服务进程允许的最大请求数<br />
<IfModule prefork.c><br />
StartServers 5<br />
MinSpareServers 5<br />
MaxSpareServers 10<br />
MaxClients 150<br />
MaxRequestPerChild 0<br />
</IfModule></p>
<p># worker MPM<br />
# StartServers:服务器启动时的服务进程数目<br />
# MaxClients:允许同时连接的最大用户数目<br />
# MinSpareThreads:保有的最小工作线程数目<br />
# MaxSpareThreads:允许保有的最大工作线程数目<br />
# ThreadsPerChild:每个服务进程中的工作线程常数<br />
# MaxRequestsPerChild:服务进程中允许的最大请求数目<br />
<IfModule worker.c><br />
StartServers 2<br />
MaxClients 150<br />
MinSpareThreads 25<br />
MaxSpareThreads 75<br />
ThreadsPerChild 25<br />
MaxRequestsPerChild 0<br />
</IfModule></p>
<p># perchild MPM<br />
# NumServers:服务进程数量<br />
# StartThreads:每个服务进程中的起始线程数量<br />
# MinSpareThreads:保有的最小线程数量<br />
# MaxSpareThreads:保有的最大线程数量<br />
# MaxThreadsPerChild:每个服务进程允许的最大线程数<br />
# MaxRequestsPerChild:每个服务进程允许连接的最大数量<br />
<IfModule perchild.c><br />
NumServers 5<br />
StartThreads 5<br />
MinSpareThreads 5<br />
MaxSpareThreads 10<br />
MaxThreadsPerChild 20<br />
MaxRequestsPerChild 0<br />
</IfModule></p>
<p># WinNT MPM<br />
# ThreadsPerChild:服务进程中工作线程常数<br />
# MaxRequestsPerChild:服务进程允许的最大请求数<br />
<IfModule mpm_winnt.c><br />
ThreadsPerChild 250<br />
MaxRequestsPerChild 0<br />
</IfModule></p>
<p># BeOS MPM<br />
# StartThreads:服务器启动时启动的线程数<br />
# MaxClients:可以启动的最大线程数（一个线程等于一个用户）<br />
# MaxRequestsPerThread:每个线程允许的最大请求数<br />
<IfModule beos.c><br />
StartThreads 10<br />
MaxClients 50<br />
MaxRequestsPerThread 10000<br />
</IfModule></p>
<p># NetWare MPM<br />
# ThreadStachSize:为每个工作线程分配的堆栈尺寸<br />
# StartThreads:服务器启动时启动的线程数<br />
# MinSpareThreads:用于处理实发请求的空闲线程数<br />
# MaxSpareThreads:空闲线程的最大数量<br />
# MaxThreads:在同一时间活动的最大线程数<br />
# MaxRequestPerChild:一个线程服务请求的最大数量，<br />
# 推荐将其设置为0，以实现无限制的接入<br />
<IfModule mpm_netware.c><br />
ThreadStackSize 65536<br />
StartThreads 250<br />
MinSpareThreads 25<br />
MaxSpareThreads 250<br />
MaxThreads 1000<br />
MaxRequestPerChild 0<br />
</IfModule></p>
<p># OS/2 MPM<br />
# StartServers:启动的服务进程数量<br />
# MinSpareThreads:每个进程允许的最小空闲线程<br />
# MaxSpareThreads:每个进程允许的最大空闲线程<br />
# MaxRequestsPerChild:每个服务进程允许的最大连接数<br />
<IfModule mpmt_os2.c><br />
StartServers 2<br />
MinSpareThreads 5<br />
MaxSpareThreads 10<br />
MaxRequestsPerChild 0<br />
</IfModule></p>
<p>#<br />
# Listen:允许你绑定Apache服务到指定的IP地址和端口上，以取代默认值<br />
# 参见<VirtualHost>指令<br />
# 使用如下命令使Apache只在指定的IP地址上监听，<br />
# 以防止它在IP地址0.0.0.0上监听<br />
#<br />
# Listen 12.34.56.78:80</p>
<p>Listen 80</p>
<p>#<br />
# 动态共享支持（DSO）<br />
#<br />
# 为了能够使用那些以DSO模式编译的模块中的函数，你必须有相应的“LoadModule”行，<br />
# 因此，在这里包含了这些指令，以便能在使用它之前激活。<br />
# 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块)<br />
#<br />
# 示例：<br />
# LoadModule foo_module modules/mod_foo.so<br />
#</p>
<p>#<br />
# ExtendedStatus：当调用“server-status”时，控制Apache是产生“全”状态<br />
# 信息（ExtendedStatus On），还是产生基本信息（ExtendedStatus Off）。<br />
# 默认为off<br />
#<br />
# ExtendedStatus On</p>
<p>### 第二区：“主”服务配置<br />
#<br />
# 这一区建立被 “主” 服务器用的指令值,以回应那些不被 <VirtualHost><br />
# 定义处理的任何请求。<br />
# 这些数值也提供默认值给后面定义的<VirtualHost>容器。<br />
# 如果<VirtualHost>中有定义，那么这里定义的指令值将被<br />
# <VirtualHost>中的定义所覆盖。<br />
#</p>
<p><IfModule !mpm_winnt.c><br />
<IfModule !mpm_neware.c><br />
#<br />
# 如果你想使httpd以另外的用户或组来运行，你必须在开始时以root方式启动<br />
# 然后再将它切换为你想要使用的用户或组。<br />
#<br />
# User/Group:运行httpd的用户和组<br />
# 在SCO (ODT3)上使用“User nouser”和“Group nogroup”<br />
# 在HPUX上，你可能不能以nobody身份使用共享内存，建议创建一个www用户。<br />
# 注意一些核心（kernel）在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET)，<br />
#节在这些系统上不要使用“Group #-1”。<br />
#<br />
User nobody<br />
Group #-1<br />
</IfModule><br />
</IfModule></p>
<p>#<br />
# ServerAdmin:你的邮件地址，当发生问题时Apache将向你发出邮件。<br />
# 作为一个出错文档，这个地址显示在server-generated页上，<br />
# 例如：admin@your-domain.com<br />
#<br />
ServerAdmin kreny@sina.com</p>
<p>#<br />
# ServerName指定Apache用于识别自身的名字和端口号。<br />
# 通常这个值是自动指定的，但是我们推荐你显式的指定它以防止启动时出错<br />
#<br />
# 如果你为你的主机指定了一个无效的DNS名，server-generated重定向将不能工作。<br />
# 参见UseCanonicalName指令<br />
#<br />
# 如果你的主机没有注册DNS名，在这里键入它的IP地址<br />
# 无论如何，你必须使用它的IP地址来提供服务，<br />
# 这里使用一种容易理解的方式重定向服务<br />
ServerName www.dalouis.com:80</p>
<p>#<br />
# UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。<br />
# 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。<br />
# 当设置为“On”,Apache会使用ServerName指令的值。<br />
#<br />
UseCanonicalName Off</p>
<p>#<br />
# DocumentRoot:你的文档的根目录。默认情况下，所有的请求从这个目录进行应答。<br />
# 但是可以使用符号链接和别名来指向到其他的位置。<br />
#<br />
DocumentRoot &#8220;/home/redhat/public_html&#8221;</p>
<p>#<br />
# Apache可以存取的每个目录都可以配置存取权限（包括它的子目录）。<br />
#<br />
# 首先，我们配置一个高限制的特征。</p>
<p># 这将禁止访问文件系统所在的目录，并添加你希望允许访问的目录块。<br />
# 如下所示<br />
<Directory /><br />
Order Deny,Allow<br />
Deny from all<br />
</Directory></p>
<p>#<br />
# 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。<br />
# &#8211; 所以，如果Apache没有象你所期待的那样工作的话,<br />
# 请检查你是否在下面明确的指定它可用。<br />
#</p>
<p>#<br />
# 这将改变到你设置的DocumentRoot<br />
#<br />
<Directory "/home/redhat/public_html"></p>
<p>#<br />
# Options：这个指令的值可以是“None”，“All”，或者下列选项的任意组合：<br />
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews<br />
#<br />
# 注意，“MultiViews”必须被显式的指定，“Options All”不能为你提供这个特性。<br />
#<br />
# 这个指令既复杂又重要，请参见<br />
#“http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。<br />
#<br />
Options FollowSymLinks</p>
<p>#<br />
# AllowOverride控制那些被放置在.htaccess文件中的指令。<br />
# 它可以是“All”，“None”，或者下列指令的组合：<br />
# Options FileInfo AuthConfig Limit<br />
#<br />
AllowOverride None</p>
<p>#<br />
# 控制谁可以获得服务。<br />
#<br />
Order allow,deny<br />
Allow from all</p>
<p></Directory></p>
<p>#<br />
# UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。<br />
#</p>
<p>UserDir public_html</p>
<p># 为防止在UserDir指令上的漏洞，对root用户设置<br />
# 象“./”这样的UserDir是非常有用的。<br />
# 如果你使用Apache 1.3或以上版本，我们强烈建议你<br />
# 在你的服务器配置文件中包含下面的行</p>
<p>UserDir disabled root</p>
<p>#<br />
# 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例：<br />
#<br />
# <Directory /home/*/public_html><br />
# AllowOverride FileInfo AuthConfig Limit Indexes<br />
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec<br />
# <Limit GET POST OPTIONS PROPFIND><br />
# Order allow,deny<br />
# Allow from all<br />
# </Limit><br />
# <LimitExcept GET POST OPTIONS PROPFIND><br />
# Order deny,allow<br />
# Deny from all<br />
# </LimitExcept><br />
# </Directory></p>
<p>#<br />
# DirectoryIndex:定义请求是一个目录时，Apache向用户提供服务的文件名<br />
#<br />
# index.html.var文件（一个类型映象文件）用于提供一个文档处理列表，<br />
# 出于同样的目的，也可以使用MultiViews选项，但是它会非常慢。<br />
#<br />
DirectoryIndex index.php index.html index.html.var</p>
<p>#<br />
# AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。<br />
# 参见AllowOverride指令。<br />
#<br />
AccessFileName .htaccess</p>
<p>#<br />
# 下面的行防止.htaccess和.htpasswd文件被Web客户查看。<br />
#<br />
<Files ~ "^\.ht"><br />
Order allow,deny<br />
Deny from all<br />
</Files></p>
<p>#<br />
# Typeconfig:定义在哪里查询mime.types文件。<br />
#<br />
TypeConfig conf/mime.types</p>
<p>#<br />
# DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。<br />
# 如果你的服务主要包含text或HTML文档，“text/plain”是一个好的选择；<br />
# 如果大多是二进制文档，诸如软件或图像，你应使用<br />
# “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。<br />
#<br />
DefaultType text/plain</p>
<p>#<br />
# mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索（hints），<br />
# 这个MIMEMagicFile指令定义hints定义所在的文件。<br />
#<br />
<IfModule mod_mime_magic.c><br />
MIMEMagicFile conf/magic<br />
</IfModule></p>
<p>#<br />
# HostnameLookups：指定记录用户端的名字还是IP地址，例如，本指令为on时<br />
# 记录主机名，如www.apache.org；为off时记录IP地址，204.62.129.132。<br />
# 默认值为off，这要比设为on好得多，因为如果设为on则每个用户端请求都将会<br />
# 至少造成对 nameserver 进行一次查询。<br />
#<br />
HostnameLookups Off</p>
<p>#<br />
# EnableMMAP:控制是否进行内存转储（如果操作系统支持的话）。<br />
# 默认为on，如果你的服务器安装在网络文件系统上（NFS），请关闭它。<br />
# 在一些系统上，关闭它会提升系统性能（与文件系统类型无关）；<br />
# 具体情况请参阅http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap<br />
#<br />
# EnableMMAP off</p>
<p>#<br />
# EnableSendfile:控制是否使用sendfile kernel支持发送文件<br />
# （如果操作系统支持的话）。默认为on，如果你的服务器安装在网络文件系统<br />
# （NFS）上，请你关闭它。<br />
# 参见http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile<br />
#<br />
# EnableSendfile off</p>
<p>#<br />
# ErrorLog:错误日志文件定位。<br />
# 如果你没有在<VirtualHost>内定义ErrorLog指令，这个虚拟主机的错误信息<br />
# 将记录在这里。如果你在那儿定义了ErrorLog，这些错误信息将记录在你所<br />
# 定义的文件里，而不是这儿定义的文件。<br />
#<br />
ErrorLog logs/error_log</p>
<p>#<br />
# LogLevel:控制记录在错误日志文件中的日志信息数量。<br />
# 可能的值包括：debug，info，notice，warn，error，crit，alert，emerg。<br />
#<br />
LogLevel warn</p>
<p>#<br />
# 下面的指令为CustomLog指令定义格式别名。<br />
#<br />
LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %>s %b \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221;" combined<br />
LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %>s %b&#8221; common<br />
LogFormat &#8220;%{Referer}i -> %U&#8221; referer<br />
LogFormat &#8220;%{User-agent}i&#8221; agent</p>
<p># 你需要安装了mod_logio.c模块才能使用%I和%O。<br />
# LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %>s %b \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221; %I %O&#8221; combinedio</p>
<p>#<br />
# 指定接入日志文件的定位和格式（一般日志格式）。<br />
# 如果你没有在<VirtualHost>内定义这个指令，传输信息将记录在这里，<br />
# 如果你定义了这个指令，则记录在你指定的位置，而不是这儿定义的位置。<br />
#<br />
CustomLog logs/access_log common</p>
<p>#<br />
# 如果你想要记录agent和referer信息，可以使用下面的指令<br />
#<br />
# CustomLog logs/referer_log referer<br />
# CustomLog logs/agent_log agent</p>
<p>#<br />
# 如果你想要使用一个文件记录access，agent和referer信息，<br />
# 你可以如下定义这个指令：<br />
#<br />
# CustomLog logs/access_log combined</p>
<p>#<br />
# ServerTokens<br />
# 这个指令定义包含在HTTP回应头中的信息类型。默认为“Full”，<br />
# 这表示在回应头中将包含模块中的操作系统类型和编译信息。<br />
# 可以设为列各值中的一个：<br />
# Full | OS | Minor | Minimal | Major | Prod<br />
# Full传达的信息最多，而Prod最少。<br />
#<br />
ServerTokens Full</p>
<p>#<br />
# 随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中<br />
# （内部错误文档，FTP目录列表，mod_status和mod_info输出等等，除了CGI错误<br />
# 或自定义的错误文档以外）。<br />
# 设为“EMail”将包含一个指向ServerAdmin的mailto:连接。<br />
# 可以为如下值：On | Off | EMail<br />
#<br />
ServerSignature On</p>
<p>#<br />
# Aliases:在这时添加你需要的别名，格式如下：<br />
# Alias 别名 真实名<br />
#<br />
# 注意，如果你在别名的未尾包含了“/”，那么在URL中也需要包含“/”。<br />
# 因此，“/icons”不是这个示例中的别名。<br />
# 如果别名中以“/”结尾，那么真实名也必须以“/”结尾，<br />
# 如果别名中省略了结尾的“/”，那么真实名也必须省略。<br />
#<br />
# 我们使用别名“/icons/”来表示FancyIndexed目录列表，如果你不使用、<br />
# FancyIndexing，你可以注释掉它。<br />
#<br />
# Alias /icons/ &#8220;/usr/local/apache2/icons/&#8221;</p>
<p># <Directory "/usr/local/apache2/icons"><br />
# Options Indexes MultiViews<br />
# AllowOverride None<br />
# Order allow,deny<br />
## Allow from all<br />
# </Directory></p>
<p>#<br />
# 这将改变ServerRoot/manual。这个别名提供了手册页所在的位置，<br />
# 即使你改变了你的DocumentRoot。如果你对有无手册页并不在意的话，<br />
# 你可以注释掉它。<br />
#<br />
Alias /manual &#8220;/usr/loacl/apache2/manual&#8221;</p>
<p><Directory "/usr/local/apache2/manual"><br />
Options Indexes FollowSymLinks MultiViews IncludesNoExec<br />
AddOutputFilter Includes html<br />
Order allow,deny<br />
Allow from all<br />
</Directory></p>
<p>#<br />
# ScriptAlias:指定包含服务脚本的目录。<br />
# ScriptAliases 本质上与Aliases一样，除了这里的文档在请求时做为程序处理处理以外。<br />
# 尾部的“/”规则与Alias一样<br />
#<br />
ScriptAlias /cgi-bin/ &#8220;/usr/loacl/apache2/cgi-bin/&#8221;</p>
<p># 这里是添加php 4支持的指令<br />
AddType application/x-httpd-php .php<br />
LoadModule php4_module modules/libphp4.so</p>
<p><IfModule mod_cgid.c><br />
#<br />
# 添加mod_cgid.c设置，mod_cgid提供使用cgid进行通讯的UNIX套接字的<br />
# 脚本接口路径。<br />
#<br />
# Scriptsock logs/cgisock<br />
</IfModule></p>
<p>#<br />
# 将&#8221;/usr/local/apache2/cgi-bin&#8221;改为你的ScriptAliased指定的CGI目录，<br />
# 如果你配置了的话。<br />
#<br />
<Directory "/usr/local/apache2/cgi-bin"><br />
AllowOverride None<br />
Options None<br />
Order allow,deny<br />
Allow from all<br />
</Directory></p>
<p>#<br />
# Redirect允许你告诉客户端使用存在于服务器名字空间中的文档，<br />
# 而不是现在的，这帮助客户定位那些改变了位置的文档。<br />
# 例如：<br />
# Redirect permanent /foo http://www.example.com/bar</p>
<p>#<br />
# 控制server-generated目录列表显示的指令<br />
#</p>
<p>#<br />
# IndexOptions:控制server-generated目录列表显示特征。<br />
#<br />
IndexOptions FancyIndexing VersionSort</p>
<p>#<br />
# AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示，<br />
# 只适用于FancyIndexed指令<br />
#<br />
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip<br />
AddIconByType (TXT,/icons/text.gif) text/*<br />
AddIconByType (IMG,/icons/image2.gif) image/*<br />
AddIconByType (SND,/icons/sound2.gif) audio/*<br />
AddIconByType (VID,/icons/movie.gif) video/*</p>
<p>AddIcon /icons/binary.gif .bin .exe<br />
AddIcon /icons/binhex.gif .hqx<br />
AddIcon /icons/tar.gif .tar<br />
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv<br />
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip<br />
AddIcon /icons/a.gif .ps .ai .eps<br />
AddIcon /icons/layout.gif .html .shtml .htm .pdf<br />
AddIcon /icons/text.gif .txt<br />
AddIcon /icons/c.gif .c<br />
AddIcon /icons/p.gif .pl .py<br />
AddIcon /icons/f.gif .for<br />
AddIcon /icons/dvi.gif .dvi<br />
AddIcon /icons/uuencoded.gif .uu<br />
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl<br />
AddIcon /icons/tex.gif .tex<br />
AddIcon /icons/bomb.gif core</p>
<p>AddIcon /icons/back.gif ..<br />
AddIcon /icons/hand.right.gif README<br />
AddIcon /icons/folder.gif ^^DIRECTORY^^<br />
AddIcon /icons/blank.gif ^^BLANKICON^^</p>
<p>#<br />
# DefaultIcon 为那些没有显式定义图标的文件提供处理<br />
#<br />
DefaultIcon /icons/unknown.gif</p>
<p>#<br />
# AddDescription允许你在server-generated索引后放置一个简短的说明。<br />
# 只对FancyIndexed指令有效。<br />
# 格式：AddDescription &#8220;说明&#8221; 文件名<br />
#<br />
# AddDescription &#8220;GZIP compressed document&#8221; .gz<br />
# AddDescription &#8220;tar archive&#8221; .tar<br />
# AddDescription &#8220;GZIP compressed tar archive&#8221; .tgz</p>
<p>#<br />
# ReadmeName指定服务器默认查找的README文件的名字，并添加到目录列表中<br />
#<br />
# HeaderName指定目录列表前缀文件的文件名<br />
ReadmeName README.html<br />
HeaderName HEADER.html</p>
<p>#<br />
# IndexIgnore指定目录索引忽略并且不包含在列表中的文件名集合，<br />
# 支持shell类型的通配符。<br />
#<br />
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</p>
<p>#<br />
# AddEncoding允许你在信息传送中使用(Mosaic/X 2.1+)解压缩信息，<br />
# 注意：不是所有的浏览器都支持这个选项。<br />
# 尽管名字相似，但是下列的指令与上面的FancyIndexing定制指令不同。<br />
#<br />
AddEncoding x-compress Z<br />
AddEncoding x-gzip gz tgz</p>
<p>#<br />
# DefaultLanguage和AddLanguage允许你指定文档的语言。<br />
# 这使你可以让用户用容易理解的语言浏览文档。<br />
#<br />
# 指定默认的语言，这意味着所有没有指定语言的包都将使用该语言。<br />
# 多数情况下，你也许并不想设置它，除非你确信这样做是正确的。<br />
# 通常，不使用确定的语言比使用错误的语言要好。<br />
#<br />
# DefaultLanguage nl<br />
#<br />
# 注意1：作为语言关键字的词缀毫无疑问是不能一样的&#8211;采用波兰<br />
# 文的文档（网络标准语言代码是pl）将希望使用“AddLanguage pl .po”<br />
# 来避免与perl脚本的一般词缀产生二义性。<br />
#<br />
# 注意2: 下面的例子举例说明在一些范例中语言的二字符缩写与它的国家<br />
# 的二字符缩写不相同,例如 “Danmark/dk” 和 “Danmark/da” 的比较.<br />
#<br />
# 注意3: 在 “ltz” 的情况下我们使用三字符词缀，违犯了 RFC的规定，<br />
# 运行中将修复它并使用RFC1766标准取得参考数据。<br />
#<br />
# Danish (da) &#8211; Dutch (nl) &#8211; English (en) &#8211; Estonian (et)<br />
# French (fr) &#8211; German (de) &#8211; Greek-Modern (el)<br />
# Italian (it) &#8211; Norwegian (no) &#8211; Norwegian Nynorsk (nn) &#8211; Korean (ko)<br />
# Portugese (pt) &#8211; Luxembourgeois* (ltz)<br />
# Spanish (es) &#8211; Swedish (sv) &#8211; Catalan (ca) &#8211; Czech(cz)<br />
# Polish (pl) &#8211; Brazilian Portuguese (pt-br) &#8211; Japanese (ja)<br />
# Russian (ru) &#8211; Croatian (hr)<br />
#<br />
AddLanguage da .dk<br />
AddLanguage nl .nl<br />
AddLanguage en .en<br />
AddLanguage et .et<br />
AddLanguage fr .fr<br />
AddLanguage de .de<br />
AddLanguage he .he<br />
AddLanguage el .el<br />
AddLanguage it .it<br />
AddLanguage ja .ja<br />
AddLanguage pl .po<br />
AddLanguage ko .ko<br />
AddLanguage pt .pt<br />
AddLanguage nn .nn<br />
AddLanguage no .no<br />
AddLanguage pt-br .pt-br<br />
AddLanguage ltz .ltz<br />
AddLanguage ca .ca<br />
AddLanguage es .es<br />
AddLanguage sv .sv<br />
AddLanguage cz .cz<br />
AddLanguage ru .ru<br />
AddLanguage tw .tw<br />
AddLanguage zh-tw .tw<br />
AddLanguage hr .hr</p>
<p># LanguagePriority允许你在会话过程中优先使用一些语言。<br />
#<br />
# 以优先次序递减的方式列出它们。我们或多或少地采用按字母排列顺序的方式<br />
# 排列它们。也许你想要改变这个顺序。<br />
LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw</p>
<p>#<br />
# ForceLanguagePriority 允许你为MULTIPLE CHOICES(Prefer)[在通讯的情况下]<br />
# 或NOT ACCEPTABLE(Fallback)[没有可接受的语言匹配的情况]提供一个结果页。<br />
#<br />
ForceLanguagePriority Prefer Fallback</p>
<p>#<br />
# 为发送出的所有页指定默认的字符集，这总是一个好主意，并且为你的<br />
# web站点的国际化打开了大门，这不正是你曾经想要的吗。同样地，指定<br />
# 默认字符集有一些小的损害，如一个使用iso-8859-1(latin1)标准命令<br />
# 的页面，除非以别的方式指定例如你仅仅以显式方式声明它。<br />
# 也有一些与那些总是鼓励你使用默认字符集的javascropt和URL语法有关<br />
# 的浏览器安全原因。<br />
#<br />
#AddDefaultCharset ISO-8859-1<br />
AddDefaultCharse GB2312</p>
<p>#<br />
# 一般以文件扩展名的方式使用字符集。也许你想要避免与语言扩展发生<br />
# 碰撞，除非你在每次改变后都做了很好的测试。<br />
# 参见http://www.iana.org/assignments/character-sets以取得字符集<br />
# 的名字列表和它们各自的RFCs。<br />
#<br />
AddCharset ISO-8859-1 .iso8859-1 .latin1<br />
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen<br />
AddCharset ISO-8859-3 .iso8859-3 .latin3<br />
AddCharset ISO-8859-4 .iso8859-4 .latin4<br />
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru<br />
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb<br />
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk<br />
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb<br />
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk<br />
AddCharset ISO-2022-JP .iso2022-jp .jis<br />
AddCharset ISO-2022-KR .iso2022-kr .kis<br />
AddCharset ISO-2022-CN .iso2022-cn .cis<br />
AddCharset Big5 .Big5 .big5<br />
# 对于俄语，使用了多个字符集（如何使用主要依靠客户端）：<br />
AddCharset WINDOWS-1251 .cp-1251 .win-1251<br />
AddCharset CP866 .cp866<br />
AddCharset KOI8-r .koi8-r .koi8-ru<br />
AddCharset KOI8-ru .koi8-uk .ua<br />
AddCharset ISO-10646-UCS-2 .ucs2<br />
AddCharset ISO-10646-UCS-4 .ucs4<br />
AddCharset UTF-8 .utf8</p>
<p># 下面的字符集没有映射到一个特定的标准(iso)上，但是它们在浏览器<br />
# 中被广泛的支持。注意那些大写字母。<br />
# (它不应该,但是它是为兼容一些浏览器而做)<br />
#<br />
# 参见http://www.iana.org/assianments/character-sets以取得<br />
# 它们的列表。但是浏览器支持较少。<br />
#<br />
AddCharset GB2312 .gb2312 .gb<br />
AddCharset utf-7 .utf7<br />
AddCharset utf-8 .utf8<br />
AddCharset big5 .big5 .b5<br />
AddCharset EUC-TW .euc-tw<br />
AddCharset EUC-JP .euc-jp<br />
AddCharset EUC-KR .euc-kr<br />
AddCharset shift_jis .sjis</p>
<p>#<br />
# AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME<br />
#<br />
AddType application/x-tar .tgz<br />
AddType image/x-icon .ico</p>
<p>#<br />
# AddHandler允许你映射确定的文件扩展名到“handlers”:<br />
# 与文件类型无关的行为。这既能编译到服务器中也可以添加到Action指令<br />
# 中（看下面）。<br />
# 为了在ScriptAliased指令指定的以外使用CGI脚本：<br />
#（要使它可用，你还需要在Options中添加“ExecCGI”。<br />
#<br />
# AddHandler cgi-script .cgi</p>
<p>#<br />
# 对于那些包含他们自己的HTTP头的文件<br />
#<br />
# AddHandler send-as-is asis</p>
<p>#<br />
# 对于server-parsed imagemap文件：<br />
#<br />
# AddHandler imap-file map</p>
<p>#<br />
# agemap 文件:<br />
#<br />
#AddHandler imap- 文件映像</p>
<p>#<br />
# 对于类型映像转移资源)<br />
#(这是默认的设定以允许Apache的“It Worked”页能多种语言分发)。<br />
#<br />
AddHandler type-map var</p>
<p>#<br />
# 过滤器允许你在将它发送到客户端前进行处理。<br />
#<br />
# 为了在服务器端分析包含(SSI)的.shtml文档：<br />
# （要执行这个指令，你还需要在Options指令中添加“Includes”。）<br />
#<br />
# AddType text/html .shtml<br />
# AddOutputFilter INCLUDES .shtml</p>
<p>#<br />
# Action让你定义当调用匹配的媒体文件时将要执行的脚本。这将减少<br />
# 那些经常使用的CGI脚本的URL路径名的重复输入。<br />
# 格式：Action media/type /cgi-script/location<br />
# 格式：Action handler-name /cgi-script/location<br />
#</p>
<p>#<br />
# 可配置的错误应答有三种风格：<br />
# 1）plain text 2)local redirects 3) external redirects<br />
#<br />
# 一些示例：<br />
# ErrorDocument 500 &#8220;The server made a boo boo.&#8221;<br />
# ErrorDocument 404 /missing.html<br />
# ErrorDocument 404 &#8220;/cgi-bin/missing_handler.pl&#8221;<br />
# ErrorDocument 402 http://www.example.com/subscription_info.html<br />
#</p>
<p>#<br />
# 综合应用这些指令，我们可以创建一个国际化的出错应答。<br />
#<br />
# 我们使用Alias来重定向任意/error/HTTP_<error>.html.var应答到<br />
# 我们的多语言错误消息集合。使用正确的文本替代它。<br />
#<br />
# 通过加入下面的行，你就能够改变这些消息的显示，而不必改变<br />
# HTTP_<error>.html.var文件。<br />
#<br />
# Alias /error/include/ &#8220;/your/include/path/&#8221;<br />
#<br />
# 以将/usr/local/apache2/error/include/下的文件拷贝到/your/inclue/path/下<br />
# 开始，你可以创建你自己的文件集合，甚至是其于每个虚拟主机的。<br />
# 不管你的ServerSignature如何设置，默认的包含文件将显示你的<br />
# Aapche版本号和你的ServerAdmin邮件地址<br />
#<br />
# 国际化的错误文档需要mod_alias，mod_include和mod_negotiation三个<br />
# 模块。要激活它们，取消下面30行的注释符号</p>
<p># Alias /error/ &#8220;/usr/local/apache2/error/&#8221;<br />
#<br />
# <Directory "/usr/local/apache2/error"><br />
# AllowOverride None<br />
# Options IncludesNoExec<br />
# AddOutputFilter Includes html<br />
# AddHandler type-map var<br />
# Order allow,deny<br />
# Allow from all<br />
# LanguagePriority en de es fr it nl sv<br />
# ForceLanguagePriority Prefer Fallback<br />
# </Directory><br />
#<br />
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var<br />
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var<br />
ErrorDocument 403 /error.php<br />
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var<br />
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var<br />
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var<br />
# ErrorDocument 410 /error/HTTP_GONE.html.var<br />
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var<br />
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var<br />
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var<br />
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var<br />
# ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var<br />
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var<br />
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var<br />
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var<br />
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var<br />
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var</p>
<p>#<br />
# 下面的命令更改标准的HTTP应答行为以处理己知的浏览器问题。<br />
#<br />
BrowserMatch &#8220;Mozilla/2&#8243; nokeepalive<br />
BrowserMatch &#8220;MSIE 4\.0b2;&#8221; nokeepalive downgrade-1.0 force-response-1.0<br />
BrowserMatch &#8220;RealPlayer 4\.0&#8243; force-response-1.0<br />
BrowserMatch &#8220;Java/1\.0&#8243; force-response-1.0<br />
BrowserMatch &#8220;JDK/1\.0&#8243; force-response-1.0</p>
<p>#<br />
# 下面命令关闭对那些没有尾部“/”的目录的非GET请求的重定向，<br />
# 这些命令修复了微软的采用DAV方法不能正确处理重定向的WEB文件夹的问题。<br />
# Apple下的DAV文件系统和Gnome下的VFS对DAV的支持也是采用这样的方法<br />
# 进行处理的。<br />
#<br />
BrowserMatch &#8220;Microsoft Data Access Internet Publishing Provider&#8221; redirect-carefully<br />
BrowserMatch &#8220;^WebDrive&#8221; redirect-carefully<br />
BrowserMatch &#8220;^WebDAVFS/1.[012]&#8221; redirect-carefully<br />
BrowserMatch &#8220;^gnome-vfs&#8221; redirect-carefully</p>
<p>#<br />
# 允许你使用URL：http://servername/server-status来通过mod_status生<br />
# 成并报告服务器状态信息。改变.example.com为你自己的域名。<br />
#<br />
# <Location /server-status><br />
# SetHandler server-status<br />
# Order deny,allow<br />
# Deny from all<br />
# Allow from .example.com<br />
# </Location></p>
<p>#<br />
# 允许使用URL:http://servername/server-info来远程报告服务器配置信息<br />
# （需要mod_info.c支持）。改变“.example.com”为你自己的域名。<br />
#<br />
# <Location /server-info><br />
# SetHandler server-info<br />
# Order deny,allow<br />
# Deny from all<br />
# Allow from .example.com<br />
# </Location></p>
<p>#<br />
# 代理服务器命令，去掉下面的行使代理服务可用。<br />
#<br />
# <IfModule mod_proxy.c><br />
# ProxyRequests On<br />
# <Proxy *><br />
# Order deny,allow<br />
# Deny from all<br />
# Allow from .example.com<br />
# </Proxy></p>
<p>#<br />
# 安装或关闭HTTP/1.1“通道”头处理。<br />
# （“Full”添加服务器版本信息，“Block”移掉所有输出“通道”头信息。<br />
# 可以设为下面各选项之一：Off | On | Full | Block<br />
#<br />
# ProxyVia On</p>
<p># 最好为代理服务安装高速缓冲，去掉下面几行的注释符号：<br />
# （没有CacheRoot则不缓冲）<br />
#<br />
# CacheRoot &#8220;/usr/local/apache2/proxy&#8221;<br />
# CacheSize 5<br />
# CacheGcInterval 4<br />
# CacheMaxExpire 24<br />
# CacheLastModifiedFactor 01<br />
# CacheDefaultExpire 1<br />
# NoCache a-domain.com another-domain.edu joes.garage-sale.com</p>
<p># </IfModule><br />
# 代理命令结束。</p>
<p>#<br />
# 附加的特定模块配置。<br />
#<br />
<IfModule mod_ssl.c><br />
Include conf/ssl.conf<br />
</IfModule></p>
<p>## 第三区：虚拟主机<br />
#<br />
# VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上保有多个<br />
# 域名/主机名。大多数配置信息只使用基于名字的虚拟主机，因此服务器<br />
# 不必担心IP地址的问题，下面的命令以*号代替虚拟主机名。<br />
#<br />
# 在你试着配置你的虚拟主机以前，请参见<br />
# URL:http://httpd.apache.org/docs-2.0/vhosts/>以取得更多的信息。<br />
#<br />
# 你可以使用命令行选项“-S”来检验你的虚拟主机配置。</p>
<p>#<br />
# 使用基于名字的虚拟主机。<br />
#<br />
# NameVirtualHost *</p>
<p>#<br />
# 虚拟主机示例：<br />
# 几乎所有的Apache命令都可以在虚拟主机容器中使用。<br />
# 第一个虚拟主机区是用于向服务名未知的请求进行应答的配置。<br />
#<br />
# <VirtualHost *><br />
# ServerAdmin webmaster@dummy-host.example.com<br />
# DocumentRoot /www/docs/dummy-host.example.com<br />
# ServerName dummy-host.example.com<br />
# ErrorLog logs/dummy-host.example.com-error_log<br />
# CustomLog logs/dummy-host.example.com-access_log commom<br />
# </virtualHost></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/httpdconf-%e4%b8%ad%e6%96%87%e7%89%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu如何安装上kde?</title>
		<link>http://www.geoinformatics.cn/2006/08/ubuntu%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85%e4%b8%8akde/</link>
		<comments>http://www.geoinformatics.cn/2006/08/ubuntu%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85%e4%b8%8akde/#comments</comments>
		<pubDate>Mon, 07 Aug 2006 06:29:04 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/miscellaneous/2006080734.html</guid>
		<description><![CDATA[$sudo apt-get install kubuntu-desktop kde-i18n-zhcn kaffeine-mozilla kdm]]></description>
			<content:encoded><![CDATA[<p>$sudo apt-get install kubuntu-desktop kde-i18n-zhcn kaffeine-mozilla kdm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/ubuntu%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85%e4%b8%8akde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>htaccess 学习笔记</title>
		<link>http://www.geoinformatics.cn/2006/08/htaccess-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/</link>
		<comments>http://www.geoinformatics.cn/2006/08/htaccess-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/#comments</comments>
		<pubDate>Sun, 06 Aug 2006 17:05:47 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/category/blog/2006080629.html</guid>
		<description><![CDATA[转载自Windix Apache的配置文件.htaccess是个难点，也是个重点。一直都没安下心来好好学学，甚至一直以为Redirect方法是属于mod_rewrite，用到的时候也都是糊里糊涂的。今天找到了一个很好的教程，一边学，一边写点心得。 updated: 不断修正一些小问题 Source: Comprehensive guide to .htaccess Officical reference: Directive Quick Reference 1 Introduction 介绍 文件名 .htaccess 属性 644 (RW-R–R–) htaccess会影响它所在目录下的所有子目录 注意大多数内容都要求保持在一行之内，不要换行，否则会引起错误 2 Error Documents 错误文档 Official document: ErrorDocument Directive ErrorDocument code document 例子 ErrorDocument 400 /errors/badrequest.html ErrorDocument 404 http://yoursite/errors/notfound.html ErrorDocument 401 “ Authorization Required ” (注意之后内容如果出现的双引号需要转义为 \”) 常见HTTP状态码 Successful Client Requests 200 [...]]]></description>
			<content:encoded><![CDATA[<p>转载自<a href="http://www.douzi.org/wp/index.php/articles/104" target="_blank">Windix</a><br />
Apache的配置文件.htaccess是个难点，也是个重点。一直都没安下心来好好学学，甚至一直以为Redirect方法是属于mod_rewrite，用到的时候也都是糊里糊涂的。今天找到了一个很好的教程，一边学，一边写点心得。</p>
<p>updated: 不断修正一些小问题</p>
<p>Source: <a href="http://www.javascriptkit.com/howto/htaccess.shtml" target="_blank">Comprehensive guide to .htaccess</a></p>
<p>Officical reference: <a href="http://httpd.apache.org/docs/2.0/mod/quickreference.html" target="_blank">Directive Quick Reference</a></p>
<p>1 Introduction 介绍<br />
文件名 .htaccess 属性 644 (RW-R–R–)<br />
htaccess会影响它所在目录下的所有子目录<br />
注意大多数内容都要求保持在一行之内，不要换行，否则会引起错误</p>
<p>2 Error Documents 错误文档<br />
Official document: <a href="http://httpd.apache.org/docs/2.0/mod/core.html#errordocument" target="_blank">ErrorDocument Directive</a></p>
<p>ErrorDocument code document<br />
例子<br />
ErrorDocument 400 /errors/badrequest.html<br />
ErrorDocument 404 http://yoursite/errors/notfound.html<br />
ErrorDocument 401 “</p>
<h1>Authorization Required</h1>
<p>”<br />
(注意之后内容如果出现的双引号需要转义为 \”)</p>
<p>常见HTTP状态码</p>
<p>Successful Client Requests</p>
<p>200 OK<br />
201 Created<br />
202 Accepted<br />
203 Non-Authorative Information<br />
204 No Content<br />
205 Reset Content<br />
206 Partial Content</p>
<p>Client Request Redirected</p>
<p>300 Multiple Choices<br />
301 Moved Permanently<br />
302 Moved Temporarily<br />
303 See Other<br />
304 Not Modified<br />
305 Use Proxy</p>
<p>Client Request Errors</p>
<p>400 Bad Request<br />
401 Authorization Required<br />
402 Payment Required (not used yet)<br />
403 Forbidden<br />
404 Not Found<br />
405 Method Not Allowed<br />
406 Not Acceptable (encoding)<br />
407 Proxy Authentication Required<br />
408 Request Timed Out<br />
409 Conflicting Request<br />
410 Gone<br />
411 Content Length Required<br />
412 Precondition Failed<br />
413 Request Entity Too Long<br />
414 Request URI Too Long<br />
415 Unsupported Media Type</p>
<p>Server Errors</p>
<p>500 Internal Server Error<br />
501 Not Implemented<br />
502 Bad Gateway<br />
503 Service Unavailable<br />
504 Gateway Timeout<br />
505 HTTP Version Not Supported</p>
<p>3 Password Protection 密码保护<br />
Official document: Authentication, Authorization and Access Control</p>
<p>假设密码文件为.htpasswd</p>
<p>AuthUserFile /usr/local/safedir/.htpasswd (这里必须使用全路径名)<br />
AuthName EnterPassword<br />
AuthType Basic</p>
<p>两种常见验证方式:<br />
Require user windix<br />
(仅允许用户windix登陆)<br />
Require valid-user<br />
(所有合法用户都可登陆)</p>
<p>Tip: 如何生成密码文件<br />
使用htpasswd命令(apache自带)</p>
<p>第一次生成需要创建密码文件<br />
htpasswd -c .htpasswd user1</p>
<p>之后增加新用户<br />
htpasswd .htpasswd user2</p>
<p>4 Enabling SSI Via htaccess 通过htaccess允许SSI(Server Side Including)功能<br />
AddType text/html .shtml<br />
AddHandler server-parsed .shtml<br />
Options Indexes FollowSymLinks Includes</p>
<p>DirectoryIndex index.shtml index.html</p>
<p>5 Blocking users by IP 根据IP阻止用户访问<br />
order allow,deny<br />
deny from 123.45.6.7<br />
deny from 12.34.5. (整个C类地址)<br />
allow from all</p>
<p>6 Blocking users/sites by referrer 根据referrer阻止用户/站点访问<br />
需要mod_rewrite模块</p>
<p>例1. 阻止单一referrer: badsite.com<br />
RewriteEngine on<br />
# Options +FollowSymlinks<br />
RewriteCond %{HTTP_REFERER} badsite\.com [NC]<br />
RewriteRule .* &#8211; [F]</p>
<p>例2. 阻止多个referrer: badsite1.com, badsite2.com<br />
RewriteEngine on<br />
# Options +FollowSymlinks<br />
RewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR]<br />
RewriteCond %{HTTP_REFERER} badsite2\.com<br />
RewriteRule .* &#8211; [F]</p>
<p>[NC] &#8211; 大小写不敏感(Case-insensite)<br />
[F] &#8211; 403 Forbidden</p>
<p>注意以上代码注释掉了”Options +FollowSymlinks”这个语句。如果服务器未在 httpd.conf 的 段落设置 FollowSymLinks, 则需要加上这句，否则会得到”500 Internal Server error”错误。</p>
<p>7 Blocking bad bots and site rippers (aka offline browsers) 阻止坏爬虫和离线浏览器<br />
需要mod_rewrite模块</p>
<p>坏爬虫? 比如一些抓垃圾email地址的爬虫和不遵守robots.txt的爬虫(如baidu?)<br />
可以根据 HTTP_USER_AGENT 来判断它们<br />
(但是还有更无耻的如”中搜 zhongsou.com”之流把自己的agent设置为 “Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)” 太流氓了，就无能为力了)</p>
<p>RewriteEngine On<br />
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]<br />
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]<br />
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]<br />
RewriteCond %{HTTP_USER_AGENT} ^Zeus<br />
RewriteRule ^.* &#8211; [F,L]</p>
<p>[F] &#8211; 403 Forbidden<br />
[L] &#8211; ?</p>
<p>8 Change your default directory page 改变缺省目录页面<br />
DirectoryIndex index.html index.php index.cgi index.pl</p>
<p>9 Redirects 转向<br />
单个文件<br />
Redirect /old_dir/old_file.html http://yoursite.com/new_dir/new_file.html</p>
<p>整个目录<br />
Redirect /old_dir http://yoursite.com/new_dir</p>
<p>效果: 如同将目录移动位置一样<br />
http://yoursite.com/old_dir -> http://yoursite.com/new_dir<br />
http://yoursite.com/old_dir/dir1/test.html -> http://yoursite.com/new_dir/dir1/test.html</p>
<p>Tip: 使用用户目录时Redirect不能转向的解决方法</p>
<p>当你使用Apache默认的用户目录，如 http://mysite.com/~windix，当你想转向 http://mysite.com/~windix/jump时，你会发现下面这个Redirect不工作:<br />
Redirect /jump http://www.google.com</p>
<p>正确的方法是改成<br />
Redirect /~windix/jump http://www.google.com</p>
<p>(source: .htaccess Redirect in “Sites” not redirecting: why?)</p>
<p>10 Prevent viewing of .htaccess file 防止.htaccess文件被查看</p>
<p>order allow,deny<br />
deny from all</p>
<p>11 Adding MIME Types 添加 MIME 类型<br />
AddType application/x-shockwave-flash swf</p>
<p>Tips: 设置类型为 application/octet-stream 将提示下载</p>
<p>12 Preventing hot linking of images and other file types 防盗链<br />
需要mod_rewrite模块</p>
<p>RewriteEngine on<br />
RewriteCond %{HTTP_REFERER} !^$<br />
RewriteCond %{HTTP_REFERER} !^http://(www/\.)?mydomain.com/.*$ [NC]<br />
RewriteRule \.(gif|jpg|js|css)$ &#8211; [F]</p>
<p>解析:<br />
若 HTTP_REFERER 非空 (来源为其他站点，非直接连接) 并且<br />
若 HTTP_REFERER 非(www.)mydomain.com开头(忽略大小写[NC]) (来源非本站)<br />
对于所有含有 .gif/.jpg/.js/.css 结尾的文件给出 403 Forbidden 错误[F]</p>
<p>也可指定响应，如下例显示替换图片</p>
<p>RewriteRule \.(gif|jpg)$ http://www.mydomain.com/angry.gif [R,L]</p>
<p>[R] &#8211; 转向(Redirect)<br />
[L] &#8211; 连接(Link)</p>
<p>13 Preventing Directory Listing 防止目录列表时显示<br />
IndexIgnore *</p>
<p>IndexIgnore *.jpg *.gif</p>
<p>Tips:<br />
允许目录列表显示: Options +Indexes<br />
禁止牧师列表显示: Options -Indexes<br />
显示提示信息: 页首 文件HEADER, 页尾 文件README</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/08/htaccess-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>什么是Linux？</title>
		<link>http://www.geoinformatics.cn/2006/06/%e4%bb%80%e4%b9%88%e6%98%aflinux%ef%bc%9f/</link>
		<comments>http://www.geoinformatics.cn/2006/06/%e4%bb%80%e4%b9%88%e6%98%aflinux%ef%bc%9f/#comments</comments>
		<pubDate>Tue, 27 Jun 2006 14:24:37 +0000</pubDate>
		<dc:creator>长安旧梦</dc:creator>
				<category><![CDATA[技术心得]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[开源]]></category>

		<guid isPermaLink="false">http://www.geoinformatics.cn/index.php/category/linux/26.html</guid>
		<description><![CDATA[我终于在实验室里有了自己的电脑,准备在E盘装个Linux试试.摘录了些关于Linux的介绍，没事自己看看。 也许很多人会不屑的说，Linux不就是个操作系统么。错！Linux不是一个操作系统，严格来讲，Linux只是一个操作系统中的内核。内核是什么？内核建立了计算机软件与硬件之间通讯的平台，内核提供系统服务，比如文件管理、虚拟内存、设备I/O等。 既然Linux只是一个内核。那么我们通常所说的Linux操作系统又是什么？我们通常所说的Linux，指 GNU/Linux ，即采用Linux内核的GNU操作系统。是的，操作系统的实际名称是GNU。什么是GNU？GNU代表GNU’s Not Unix。可以说是一个操作系统又可以说是一种规范。比如，众所周知的PHP，原名为Personal HomePage（个人主页），根据GNU的软件命名规则，PHP现已更名为PHP: Hypertext Preprocessor（超文本预处理程序）。 谁编写/创造了Linux？ Linux最早由Linus Torvalds在1991年开始编写。在这之前，Richard Stallman创建了Free Software Foundation（FSF）组织以及GNU项目，并不断的编写创建GNU程序（程序的许可方式均为GPL: General Public License）。在不断的有程序员和开发者加入到GNU组织中后，变造就了今天我们所看到的Linux，或称GNU/Linux。 什么是Linux发行版？ 正如之前所说的，Linux只是一个内核。然而，一个完整的操作系统不仅仅是内核而已。所以，许多个人、组织和企业，开发了基于GNU/Linux的Linux发行版。这其中最著名的便是Red Hat公司的Red Hat系列以及社区（community）组织的Debian系列。 下面我就简单得介绍一下目前比较著名、流行的Linux发行版本。部分资料来源：DistroWatch.com Mandriva Mandriva原名Mandrake，最早由Gaël Duval创建并在1998年7月发布。记得前两年国内刚开始普及Linux时，Mandrake非常流行。说起Mandrake的历史，其实最早Mandrake的开发者是基于Redhat进行开发的。Redhat默认采用GNOME桌面系统，而Mandrake将之改为KDE。而由于当时的Linux普遍比较难安装，不适合第一次接触Linux的新手，所以Mandrake还简化了安装系统。我想这也是当时Mandrake在国内如此红火的原因之一。Mandrake在易用性方面的确是下了不少功夫，包括默认情况下的硬件检测等。 Mandrake的开发完全透明化，包括“cooker”。当系统有了新的测试版本后，便可以在cooker上找到。之前Mandrake的新版本的发布速度很快，但从9.0之后便开始减缓。估计是希望能够延长版本的生命力以确保稳定和安全性。 优点：友好的操作界面，图形配置工具，庞大的社区技术支持，NTFS分区大小变更 缺点：部分版本bug较多，最新版本只先发布给Mandrake俱乐部的成员 软件包管理系统：urpmi (RPM) 免费下载：FTP即时发布下载，ISO在版本发布后数星期内提供 官方主页：[URL=http://www.mandrivalinux.com/]http://www.mandrivalinux.com/[/URL] Red Hat 国内，乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版想必就是Red Hat了。Red Hat最早由Bob Young和Marc Ewing在1995年创建。而公司在最近才开始真正步入盈利时代，归功于收费的Red Hat Enterprise Linux（RHEL，Red Hat的企业版）。而正统的Red Hat版本早已停止技术支持，最后一版是Red Hat 9.0。于是，目前Red Hat分为两个系列：由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux，以及由社区开发的免费的Fedora Core。Fedora Core [...]]]></description>
			<content:encoded><![CDATA[<p><code>我终于在实验室里有了自己的电脑,准备在E盘装个Linux试试.摘录了些关于Linux的介绍，没事自己看看。</code><br />
也许很多人会不屑的说，Linux不就是个操作系统么。错！Linux不是一个操作系统，严格来讲，Linux只是一个操作系统中的内核。内核是什么？内核建立了计算机软件与硬件之间通讯的平台，内核提供系统服务，比如文件管理、虚拟内存、设备I/O等。</p>
<p>既然Linux只是一个内核。那么我们通常所说的Linux操作系统又是什么？我们通常所说的Linux，指 GNU/Linux ，即采用Linux内核的GNU操作系统。是的，操作系统的实际名称是GNU。什么是GNU？GNU代表GNU’s Not Unix。可以说是一个操作系统又可以说是一种规范。比如，众所周知的PHP，原名为Personal HomePage（个人主页），根据GNU的软件命名规则，PHP现已更名为PHP: Hypertext Preprocessor（超文本预处理程序）。</p>
<p>谁编写/创造了Linux？</p>
<p>Linux最早由Linus Torvalds在1991年开始编写。在这之前，Richard Stallman创建了Free Software Foundation（FSF）组织以及GNU项目，并不断的编写创建GNU程序（程序的许可方式均为GPL: General Public License）。在不断的有程序员和开发者加入到GNU组织中后，变造就了今天我们所看到的Linux，或称GNU/Linux。</p>
<p>什么是Linux发行版？</p>
<p>正如之前所说的，Linux只是一个内核。然而，一个完整的操作系统不仅仅是内核而已。所以，许多个人、组织和企业，开发了基于GNU/Linux的Linux发行版。这其中最著名的便是Red Hat公司的Red Hat系列以及社区（community）组织的Debian系列。</p>
<p>下面我就简单得介绍一下目前比较著名、流行的Linux发行版本。部分资料来源：DistroWatch.com</p>
<p>Mandriva</p>
<p>Mandriva原名Mandrake，最早由Gaël Duval创建并在1998年7月发布。记得前两年国内刚开始普及Linux时，Mandrake非常流行。说起Mandrake的历史，其实最早Mandrake的开发者是基于Redhat进行开发的。Redhat默认采用GNOME桌面系统，而Mandrake将之改为KDE。而由于当时的Linux普遍比较难安装，不适合第一次接触Linux的新手，所以Mandrake还简化了安装系统。我想这也是当时Mandrake在国内如此红火的原因之一。Mandrake在易用性方面的确是下了不少功夫，包括默认情况下的硬件检测等。</p>
<p>Mandrake的开发完全透明化，包括“cooker”。当系统有了新的测试版本后，便可以在cooker上找到。之前Mandrake的新版本的发布速度很快，但从9.0之后便开始减缓。估计是希望能够延长版本的生命力以确保稳定和安全性。</p>
<p>优点：友好的操作界面，图形配置工具，庞大的社区技术支持，NTFS分区大小变更<br />
缺点：部分版本bug较多，最新版本只先发布给Mandrake俱乐部的成员<br />
软件包管理系统：urpmi (RPM)<br />
免费下载：FTP即时发布下载，ISO在版本发布后数星期内提供<br />
官方主页：[URL=http://www.mandrivalinux.com/]http://www.mandrivalinux.com/[/URL]</p>
<p>Red Hat</p>
<p>国内，乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版想必就是Red Hat了。Red Hat最早由Bob Young和Marc Ewing在1995年创建。而公司在最近才开始真正步入盈利时代，归功于收费的Red Hat Enterprise Linux（RHEL，Red Hat的企业版）。而正统的Red Hat版本早已停止技术支持，最后一版是Red Hat 9.0。于是，目前Red Hat分为两个系列：由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux，以及由社区开发的免费的Fedora Core。Fedora Core 1发布于2003年年末，而FC的定位便是桌面用户。FC提供了最新的软件包，同时，它的版本更新周期也非常短，仅六个月。目前最新版本为FC 3，而FC4也预定将于今年6月发布。这也是为什么服务器上一般不推荐采用Fedora Core。</p>
<p>适用于服务器的版本是Red Hat Enterprise Linux，而由于这是个收费的操作系统。于是，国内外许多企业或空间商选择CentOS。CentOS可以算是RHEL的克隆版，但它最大的好处是免费！菜鸟油目前的服务器便采用的CentOS 3.4。</p>
<p>优点：拥有数量庞大的用户，优秀的社区技术支持，许多创新<br />
缺点：免费版（Fedora Core）版本生命周期太短，多媒体支持不佳<br />
软件包管理系统：up2date (RPM), YUM (RPM)<br />
免费下载：是<br />
官方主页：[URL=http://www.redhat.com/ ]http://www.redhat.com/ [/URL]</p>
<p>SUSE</p>
<p>SUSE是德国最著名的Linux发行版，在全世界范围中也享有较高的声誉。SUSE自主开发的软件包管理系统YaST也大受好评。SUSE于2003年年末被Novell收购。</p>
<p>SUSE之后的发布显得比较混乱，比如9.0版本是收费的，而10.0版本（也许由于各种压力）又免费发布。这使得一部分用户感到困惑，也转而使用其它发行版本。但是，瑕不掩瑜，SUSE仍然是一个非常专业、优秀的发行版。</p>
<p>优点：专业，易用的YaST软件包管理系统<br />
缺点：FTP发布通常要比零售版晚1~3个月<br />
软件包管理系统：YaST (RPM), 第三方APT (RPM) 软件库（repository）<br />
免费下载：取决于版本<br />
官方主页：[URL=http://www.suse.com/ ]http://www.suse.com/ [/URL]</p>
<p>Debian GNU/Linux</p>
<p>Debian是菜鸟油服务器之前所采用的操作系统。Debian最早由Ian Murdock于1993年创建。可以算是迄今为止，最遵循GNU规范的Linux系统。Debian系统分为三个版本分支（branch）：stable, testing 和 unstable。截至2005年5月，这三个版本分支分别对应的具体版本为：Woody, Sarge 和 Sid。其中，unstable为最新的测试版本，其中包括最新的软件包，但是也有相对较多的bug，适合桌面用户。testing的版本都经过unstable中的测试，相对较为稳定，也支持了不少新技术（比如SMP等）。而Woody一般只用于服务器，上面的软件包大部分都比较过时，但是稳定和安全性都非常的高。菜鸟油之前所采用的是Debian Sarge。</p>
<p>为何有如此多的用户痴迷于Debian呢（包括笔者在内）？apt-get / dpkg是原因之一。dpkg是Debian系列特有的软件包管理工具，它被誉为所有Linux软件包管理工具（比如RPM）最强大的！配合apt-get，在Debian上安装、升级、删除和管理软件变得异常容易。许多Debian的用户都开玩笑的说，Debian将他们养懒了，因为只要简单得敲一下”apt-get upgrade &#038;&#038; apt-get update”，机器上所有的软件就会自动更新了……</p>
<p>优点：遵循GNU规范，100%免费，优秀的网络和社区资源，强大的apt-get<br />
缺点：安装相对不易，stable分支的软件极度过时<br />
软件包管理系统：APT (DEB)<br />
免费下载：是<br />
官方主页：[URL=http://www.debian.org/]http://www.debian.org/[/URL]</p>
<p>Ubuntu</p>
<p>笔者的桌面电脑便使用的Ubuntu。依照笔者的理解，简单而言，Ubuntu就是一个拥有Debian所有的优点，以及自己所加强的优点的近乎完美的Linux操作系统。:) Ubuntu是一个相对较新的发行版，但是，它的出现可能改变了许多潜在用户对Linux的看法。也许，从前人们会认为Linux难以安装、难以使用，但是，Ubuntu出现后，这些都成为了历史。Ubuntu基于Debian Sid，所以这也就是笔者所说的，Ubuntu拥有Debian的所有优点，包括apt-get。然而，不仅如此而已，Ubuntu默认采用的GNOME桌面系统也将Ubuntu的界面装饰的简易而不失华丽。当然，如果你是一个KDE的拥护者的话，Kubuntu同样适合你！</p>
<p>Ubuntu的安装非常的人性化，只要按照提示一步一步进行，安装和Windows同样简便！并且，Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一，许多在其他发行版上无法使用，或者默认配置时无法使用的硬件，在Ubuntu上轻松搞定。并且，Ubuntu采用自行加强的内核（kernel），安全性方面更上一层楼。并且，Ubuntu默认不能直接root登陆，必须从第一个创建的用户通过su或sudo来获取root权限（这也许不太方便，但无疑增加了安全性，避免用户由于粗心而损坏系统）。Ubuntu的版本周期为六个月，弥补了Debian更新缓慢的不足。</p>
<p>优点：人气颇高的论坛提供优秀的资源和技术支持，固定的版本更新周期和技术支持，可从Debian Woody直接升级<br />
缺点：还未建立成熟的商业模式<br />
软件包管理系统：APT (DEB)<br />
免费下载：是<br />
官方主页：h[URL=ttp://www.ubuntulinux.org/]ttp://www.ubuntulinux.org/[/URL]</p>
<p>Gentoo</p>
<p>Gentoo最初由Daniel Robbins（前Stampede Linux和FreeBSD的开发者之一）创建。由于开发者对FreeBSD的熟识，所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——portage。（Ports和Portage都是用于在线更新软件的系统，类似apt-get，但还是有很大不同）Gentoo的首个稳定版本发布于2002年。</p>
<p>Gentoo的出名是因为其高度的自定制性：因为它是一个基于源代码的（source-based）发行版。尽管安装时可以选择预先编译好的软件包，但是大部分使用Gentoo的用户都选择自己手动编译。这也是为什么Gentoo适合比较有Linux使用经验的老手使用的原因。但是要注意的是，由于编译软件需要消耗大量的时间，所以如果你所有的软件都自己编译，并安装KDE桌面系统等比较大的软件包，可能需要几天时间才能编译完……</p>
<p>优点：高度的可定制性，完整的使用手册，媲美Ports的Portage系统，适合“臭美”的高手使用^^<br />
缺点：编译耗时多，安装缓慢<br />
软件包管理系统：Portage (SRC)<br />
免费下载：是<br />
官方主页：[URL=http://www.gentoo.org/]http://www.gentoo.org/[/URL]</p>
<p>Slackware</p>
<p>Slackware由Patrick Volkerding创建于1992年。算起来应当是历史最悠久的Linux发行版。曾经Slackware非常的流行，但是当Linux越来越普及，用户的技术层面越来越广（更多的新手）后，Slackware渐渐的被新来的人们所遗忘。在其他主流发行版强调易用性的时候，Slackware依然固执的追求最原始的效率——所有的配置均还是要通过配置文件来进行。</p>
<p>尽管如此，Slackware仍然深入人心（大部分都是比较有经验的Linux老手）。Slackware稳定、安全，所以仍然有大批的忠实用户。由于Slackware尽量采用原版的软件包而不进行任何修改，所以制造新bug的几率便低了很多。Slackware的版本更新周期较长（大约1年），但是新版本的软件仍然不间断的提供给用户下载。</p>
<p>优点：非常稳定、安全，高度坚持UNIX的规范<br />
缺点：所有的配置均通过编辑文件来进行，自动硬件检测能力较差<br />
软件包管理系统：Slackware Package Management (TGZ)<br />
免费下载：是<br />
官方主页：[URL=http://www.slackware.com/ ]http://www.slackware.com/ [/URL]</p>
<p>Knoppix</p>
<p>由德国的Klaus Knopper开发的Knoppix，是一个基于Debian的发行版。Knoppix严格算起来是一款LiveCD Linux，所谓的LiveCD就是整个操作系统都在一张光盘上，只要开机从光盘启动，就能拥有一个完整的Linux系统！无需安装！当然，Knoppix也能够非常轻松的安装到硬盘上。其强大的硬件检测能力、系统修复能力、即时压缩传输技术，都令人大加称赞。可以说，在LiveCD界，Knoppix是无人能及的！</p>
<p>优点：无需安装可直接运行于CD上，优秀的硬件检测能力，可作为系统急救盘使用<br />
缺点：LiveCD由于光盘的数据读取速度限制导致性能大幅下降<br />
软件包管理系统：APT (DEB)<br />
免费下载：是<br />
官方主页：[URL=http://www.knoppix.com/]http://www.knoppix.com/[/URL]</p>
<p>MEPIS</p>
<p>MEPIS由Warren Woodford在2003年建立。MEPIS虽然刚建立不久，但是迅速的传播在Linux用户间。简单来说，MEPIS是一个集合了Debian Sid和Knoppix的产物。用户即能将之当作LiveCD使用，也能使用常规的图形界面进行安装。</p>
<p>MEPIS默认集成安装了Java Runtime Environment、Flash插件、nVidia加速驱动等许多常</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geoinformatics.cn/2006/06/%e4%bb%80%e4%b9%88%e6%98%aflinux%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

