﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Sealyu-随笔分类-Linux</title><link>http://www.blogjava.net/sealyu/category/30673.html</link><description>--- The devil's in the Details</description><language>zh-cn</language><lastBuildDate>Mon, 09 Aug 2010 08:28:01 GMT</lastBuildDate><pubDate>Mon, 09 Aug 2010 08:28:01 GMT</pubDate><ttl>60</ttl><item><title>Linux 与 BSD 之间的 10 个不同之处（转）</title><link>http://www.blogjava.net/sealyu/archive/2010/08/09/328281.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Mon, 09 Aug 2010 01:02:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/08/09/328281.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/328281.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/08/09/328281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/328281.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/328281.html</trackback:ping><description><![CDATA[<div id="news_content">
<p>你是否经常会听到人们把 Linux 及 BSD
系统混为一谈？是的，我有时会经常听到一些新手，甚至于媒体都这么说。当然，事实上这两者确实有很多相似之处，比如它们都是基于 Unix
演变而来，而且基本上这两类系统都是由非盈利组织及团队开发，另外我更想说的是，这两个系统都有一个共同的目标&#8211;那就是创建最有用、最可靠的操作系统。</p>
<p><br />
<img style="float: right;" src="http://dl.javaeye.com/upload/attachment/289215/19a34c99-6721-3f8a-a05f-438b6f9500db.jpg" alt="" />不过话说回来，这两个系统确实存在着明显的差异，当人们忽略这点的时候，整个 BSD 社区都会感到异常的愤怒，因此我们也可以经常看到 BSD
社区人员或 BSD 用户会对 Linux 不屑一顾。因此，我会尽我所能来帮助我的 BSD 的弟兄们，让更多的人了解到 Linux 与 BSD
的不同之处在哪里。</p>
<p><strong>1、许可证</strong></p>
<p>正如我们所知道的，Linux 操作系统是基于 GPL 许可证授权下的。该许可证可防止开源软件被转换为封闭源代码软件及确保源代码的可用性。 GPL 许可证的目的就是防止二进制包成为唯一的软件发行源。</p>
<p>而 BSD 许可证的限制则要少得多，它甚至允许二进制包成为唯一的发行源。这就是核心差异，可以这样理解：GPL
许可证让您有权拥有任何你想要使用该软件的方法，但你必须确保提供源代码给下一个使用它的人（包括你对它的改变部分）。而 BSD
许可证并不是要求你必须那么做。( <em>译者注</em>：这里分别维基百科上对 <a href="http://zh.wikipedia.org/zh-cn/BSD%E8%AE%B8%E5%8F%AF%E8%AF%81" target="_blank">BSD</a> 及 <a href="http://zh.wikipedia.org/zh-hans/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81" target="_blank">GPL</a> 许可证的解释)</p>
<p><strong>2、代码控制</strong></p>
<p>BSD 的代码不是被控制在任何一个人手里，而 Linux 的内核基本上被 Linus Torvalds ( Linux 创始人 )
所控制，BSD 并没有单一的人来说什么可以或什么不可以进入代码。
&lt;script src="/javascripts/tinymce/themes/advanced/langs/zh.js"
type="text/javascript"&gt;&lt;/script&gt;&lt;script
src="/javascripts/tinymce/plugins/javaeye/langs/zh.js"
type="text/javascript"&gt;&lt;/script&gt;
相反，BSD 通过一个核心小组 &#8221; Core Team&#8221;
来管理该项目，这个核心小组比非核心小组有更多的发言权来指导 BSD 社区的发展方向，（<em>译者注</em>：而据我所知，FreeBSDD 核心小组的成员会每两年选举一次。）</p>
<p><strong>3、内核 vs 操作系统</strong></p>
<p>BSD 项目维护的是整个操作系统，而 Linux 则只是主要集中在单一的内核上面。这点确实是需要注意的，虽然这两个系统上都运行着许多相同的软件。</p>
<p><strong>4、UNIX-Like</strong></p>
<p>这里有一个关于 BSD vs Linux 的古老说法：&#8221; BSD is what you get when a bunch of
UNIX hackers sit down to try to port a UNIX system to the PC. Linux is
what you get when a bunch of PC hackers sit down and try to write a
UNIX system for the PC &#8220;，这里表达了很多。你会发现 BSD 系统更为类似于 UNIX ，而事实上它就是传统 UNIX
的直接衍生品。而 Linux ，则是一个松散的基于 UNIX 衍生品 ( Minix ) 而新创建的一个 OS 。</p>
<p><strong>5、基本系统</strong></p>
<p>这是一个关于 BSD 与 Linux 之间差异的至关重要的理念。 Linux 的&#8221;基本系统&#8221; 是并不真正存在的，许多人会说，Linux
的基本系统就是内核，但问题是如果没有任何可用的应用程序的话，那么这个内核是完全没有价值的。而另一方面，BSD 则有一个包括众多工具的基本系统，
甚至 libc
也是基本系统的一部分。因为这些组件都被作为一个基本系统，所以它们都是被一起开发和打包的，许多事实表明这样更能创建出一个更具凝聚力的整体。</p>
<p><strong>6、更多来自于源代码</strong></p>
<p>由于 BSD 的开发方式（使用 Ports 系统 )
的关系，所以用户们更多的是从源代码来安装程序，而不是预先编译好的二进制包。这是一个优势还是劣势？这取决于不同的用户。如果你更多的想从友好或易用性
方面考虑的话，看到这一点后你也许会有放弃的念头，对于新用户更是如此。但一些新的用户也有想要从源代码编译安装，这可能比较累人。但是，从源码安装也有
一定的优势，比如（库版本控制，通过特殊的包来构建系统等等）。</p>
<p><strong>7、升级</strong></p>
<p>由于 BSD 的开发方式的原因（见第5项），你可以利用一条指令就可以升级你的基本系统到最新版本 （ Freebsd 下是用
freebsd-update fetch update 命令）。或者你也可以下载整个源代码树，然后通过编译来升级。而在 Linux
中，你也可以通过内置的包管理系统来升级系统。前者 (BSD) 仅更新基本系统，而后者 ( Linux ) 则会升级整个系统。不过请记住，BSD
中升级到最新的基本系统并不意味着所有的附加软件包也将会被更新，而 Linux 升级的时候，所有的软件包都会被升级。这是否意味着 Linux
处理得更好吗？在我看未必。我经常会看到 Linux 在升级时出现严重错误，从而需要重新安装整个系统，但这个现象基本不太可能发生在 BSD
的升级过程中。</p>
<p><strong>8、前沿技术</strong></p>
<p>基本上你不太可能会看到 BSD 系统运行着任何非常前沿版本的软件。而在 Linux
这一方面，大量的发行版会分发前沿版本的软件包。如果你是一个 &#8221; If it isn&#8217;t broken, don&#8217;t fix it&#8221;
这样观点的持有者的话，你将会是 BSD 的超级粉丝。但是，如果你很新潮，想要体验一切最新的东西，那么你最好尽快迁移到 Linux 。</p>
<p><strong>9、硬件支持</strong></p>
<p>你会发现，通常情况下 Linux 的硬件支持要比 BSD 更早一些。但这并不是说 BSD 没有像 Linux
那样支持足够多的硬件，它只是意味着在某些情况下 Linux 会在 BSD
之前先支持某些硬件。因此，如果你想要最新的、最好的显卡的话，基本上不用考虑 BSD
了。如果你有一个包含了最新无线芯片的新型笔记本的话，建议你选择 Linux，运气好的话也许它会支持。</p>
<p><strong>10、用户群</strong></p>
<p>在这里我冒险概括一下计算机用户们，但我想先声明一下每一个事物都有例外。下面我要向你展示我对用户分布方面的概括。</p>
<p>Mac &#8211;&gt; Windows &#8211;&gt; Linux &#8211;&gt; BSD &#8211;&gt; UNIX</p>
<p>从左边到右边，分别是&#8221;使用该 OS 的人里精通电脑的用户群最少&#8221;到&#8221;使用该 OS
的人里精通电脑的用户群最多&#8221;的过渡。我们可以看到，Linux的被放置在了中间，而 BSD
则更接近于右边。许多人会对此有争论，也有些人可能会感觉被冒犯了。但是，个人认为这是一个对&#8221;哪些用户使用哪些系统&#8221;相当准确的概括。</p>
<p><strong>其他的不同点？</strong></p>
<p>这个列表并不想表明哪个系统比哪个更好。事实上，BSD 和 Linux 各有着自己的亮点。你认为怎么样？有兴趣的话也请表达出你的观点。</p>
</div>
<img src ="http://www.blogjava.net/sealyu/aggbug/328281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-08-09 09:02 <a href="http://www.blogjava.net/sealyu/archive/2010/08/09/328281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubantu10.04安装RabbitVCS方法(转)</title><link>http://www.blogjava.net/sealyu/archive/2010/07/28/327280.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 28 Jul 2010 01:21:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/07/28/327280.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/327280.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/07/28/327280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/327280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/327280.html</trackback:ping><description><![CDATA[<span style="font-family: 'Century Gothic',微软雅黑; line-height: 20px; color: #333333;">
<pre style="line-height: normal;">RabbitVCS是Linux下替代TortoiseSVN的一个可视化工具，非常不错！</pre>
<pre style="line-height: normal;">1. Go to <a href="http://wiki.rabbitvcs.org/wiki/download" style="line-height: normal; font-family: 'Century Gothic',微软雅黑;">http://wiki.rabbitvcs.org/wiki/download</a> and click on the PPA link<br style="line-height: normal;" />
2. Add "deb <a href="http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu" style="line-height: normal; font-family: 'Century Gothic',微软雅黑;">http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu</a> lucid main" to<br style="line-height: normal;" />
/etc/apt/sources.list as requested<br style="line-height: normal;" />
3. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 34EF4A35 <br style="line-height: normal;" />
4. sudo apt-get update<br style="line-height: normal;" />
5. sudo apt-get install rabbitvcs-cli  rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus rabbitvcs-thunar thunarx-python<br />
6. reboot</pre>
</span>
<img src ="http://www.blogjava.net/sealyu/aggbug/327280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-07-28 09:21 <a href="http://www.blogjava.net/sealyu/archive/2010/07/28/327280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> ubuntu 10.04源 更新源列表（转）</title><link>http://www.blogjava.net/sealyu/archive/2010/07/22/326808.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 22 Jul 2010 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/07/22/326808.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/326808.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/07/22/326808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/326808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/326808.html</trackback:ping><description><![CDATA[<p><span style="line-height: 18px; color: #333333; font-size: 12px;"><span style="line-height: normal; widows: 2; text-transform: none; font-variant: normal; font-style: normal; text-indent: 0px; border-collapse: separate; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; font-size: medium; font-weight: normal; word-spacing: 0px;"><span style="line-height: 18px; color: #333333; font-size: 12px;"><span style="padding: 0px; line-height: 16px; background-color: #f8f5ee; margin: 0px; white-space: normal;"><span style="color: #800080;"><strong>台湾</strong></span><br style="padding: 0px; margin: 0px;" />
</span></span></span>
</span>
</p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码:</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://tw.archive.ubuntu.com/ubuntu/ lucid main universe restricted multiverse<br />
deb-src http://tw.archive.ubuntu.com/ubuntu/ lucid main universe restricted multiverse<br />
deb http://tw.archive.ubuntu.com/ubuntu/ lucid-security universe main multiverse restricted<br />
deb-src http://tw.archive.ubuntu.com/ubuntu/ lucid-security universe main multiverse restricted<br />
deb http://tw.archive.ubuntu.com/ubuntu/ lucid-updates universe main multiverse restricted<br />
deb-src http://tw.archive.ubuntu.com/ubuntu/ lucid-updates universe main multiverse restricted</div>
<p><br style="padding: 0px; margin: 0px;" />
SRT Sources</p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码:</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://ubuntu.srt.cn/ubuntu/ lucid main restricted universe multiverse<br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-security main restricted universe multiverse<br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-updates main restricted universe multiverse<br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-proposed main restricted universe multiverse<br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-backports main restricted universe multiverse<br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid main restricted universe multiverse<br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-security main restricted universe multiverse<br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-updates main restricted universe multiverse<br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-proposed main restricted universe multiverse<br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-backports main restricted universe multiverse</div>
<p><br style="padding: 0px; margin: 0px;" />
<span style="margin: 0px; padding: 0px;"><span style="color: #800080;"><strong>网易（速度很快）</strong></span></span><br style="padding: 0px; margin: 0px;" />
</p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码:</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse<br />
deb-src http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse<br />
deb http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted<br />
deb-src http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted<br />
deb http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted<br />
deb http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted<br />
deb-src http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted<br />
deb http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted<br />
deb-src http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted<br />
deb-src http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted</div>
<p><br style="padding: 0px; margin: 0px;" />
<br style="padding: 0px; margin: 0px;" />
<span style="color: #800080;"><strong>ubuntu官方上海源，提供 Kernel，Hiweed，ubuntu</strong></span></p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码:</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://mirror.rootguide.org/ubuntu/ lucid main universe restricted multiverse <br />
deb-src http://mirror.rootguide.org/ubuntu/ lucid main universe restricted multiverse <br />
deb http://mirror.rootguide.org/ubuntu/ lucid-security universe main multiverse restricted <br />
deb-src http://mirror.rootguide.org/ubuntu/ lucid-security universe main multiverse restricted <br />
deb http://mirror.rootguide.org/ubuntu/ lucid-updates universe main multiverse restricted <br />
deb http://mirror.rootguide.org/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb-src http://mirror.rootguide.org/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb http://mirror.rootguide.org/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://mirror.rootguide.org/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://mirror.rootguide.org/ubuntu/ lucid-updates universe main multiverse restricted&nbsp;</div>
<p><br style="padding: 0px; margin: 0px;" />
<span style="color: #800080;"><strong>搜狐 </strong></span></p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码:</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://mirrors.shlug.org/ubuntu/ lucid main universe restricted multiverse <br />
deb-src http://mirrors.shlug.org/ubuntu/ lucid main universe restricted multiverse <br />
deb http://mirrors.shlug.org/ubuntu/ lucid-security universe main multiverse restricted <br />
deb-src http://mirrors.shlug.org/ubuntu/ lucid-security universe main multiverse restricted <br />
deb http://mirrors.shlug.org/ubuntu/ lucid-updates universe main multiverse restricted <br />
deb http://mirrors.shlug.org/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb-src http://mirrors.shlug.org/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb http://mirrors.shlug.org/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://mirrors.shlug.org/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://mirrors.shlug.org/ubuntu/ lucid-updates universe main multiverse restricted</div>
<p><br style="padding: 0px; margin: 0px;" />
<span style="color: #800080;"><strong>骨头源，骨头源是bones7456架设的一个Ubuntu源 ，提供ubuntu,deepin </strong></span></p>
<div style="border: 0px solid #9f4c09; padding: 2px 4px; margin: 10px 5px 0px; font-size: 1em;"><strong style="padding: 0px; margin: 0px;">代码</strong></div>
<div style="border: 1px solid #dbba75; padding: 5px; line-height: 16px; background-color: #fafafa; margin: 0px 5px 10px; direction: ltr; color: #006600; font-size: 1em; font-weight: normal;">deb http://ubuntu.srt.cn/ubuntu/ lucid main universe restricted multiverse <br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid main universe restricted multiverse <br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-security universe main multiverse restricted <br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-security universe main multiverse restricted <br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-updates universe main multiverse restricted <br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-proposed universe main multiverse restricted <br />
deb http://ubuntu.srt.cn/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-backports universe main multiverse restricted <br />
deb-src http://ubuntu.srt.cn/ubuntu/ lucid-updates universe main multiverse restricted</div>
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/326808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-07-22 10:32 <a href="http://www.blogjava.net/sealyu/archive/2010/07/22/326808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to change your default locale on Ubuntu Linux</title><link>http://www.blogjava.net/sealyu/archive/2010/05/22/321591.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Fri, 21 May 2010 16:16:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/05/22/321591.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/321591.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/05/22/321591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/321591.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/321591.html</trackback:ping><description><![CDATA[One problem that has repeatedly cropped up when developing in Java is
strange error messages in our unit tests for certain text manipulation
tests when running on a freshly installed Ubuntu desktop.<br />
<br />
They
are all related to Ubuntu's default British locale: <code>en_GB.UTF-8</code><br />
<br />
This
was causing files checked out of CVS to be in <a href="http://unicode.org/">Unicode</a> (<a href="http://unicode.org/unicode/faq/utf_bom.html#2">UTF-8</a>) format
rather than ISO-8859-1 and so the British pound sign (&#163;) was being
encoded as a double-byte (rather than single-byte) character in the
file.<br />
<br />
To check which locale you currently have as your default
just run: <code>locale</code><br />
<br />
Changing the default locale is a
little different on Ubuntu compared to most Linux distros, these are the
steps we needed to go through to get it changed:<br />
<br />
<strong>Add the
locale to the list of 'supported locales'</strong><br />
Edit <code>/var/lib/locales/supported.d/local</code>
and add the following line:<br />
<code>en_GB ISO-8859-1</code><br />
<br />
<strong>Regenerate
the supported locales</strong><br />
Run <code>sudo dpkg-reconfigure locales</code><br />
<br />
<strong>Change
the default locale</strong><br />
Edit <code>/etc/environment</code> and ensure
the <code>LANG</code> and <code>LANGUAGE</code> lines read as follows:<br />
<code>LANG="en_GB"<br />
LANGUAGE="en_GB:en"</code><br />
<br />
<strong>UPDATE
'09: An old collegue has suggested that this change should now be made
in <code>/etc/default/locale</code> rather than <code>/etc/environment</code>
- Thanks Guy!</strong><br />
<br />
<strong>Reboot!</strong><br />
<br />
Rerun <code>locale</code>
to check that your default locale is now <code>en_GB</code><br />
<img src ="http://www.blogjava.net/sealyu/aggbug/321591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-05-22 00:16 <a href="http://www.blogjava.net/sealyu/archive/2010/05/22/321591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>改变ubuntu的命令行语言为英文(Language:en) [转载]</title><link>http://www.blogjava.net/sealyu/archive/2010/05/22/321590.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Fri, 21 May 2010 16:12:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/05/22/321590.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/321590.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/05/22/321590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/321590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/321590.html</trackback:ping><description><![CDATA[<p><strong>1、</strong>修改/etc/default/locale, 改为：</p>
<p>LANG="en_US.UTF-8"</p>
<p>LANGUAGE="en_US:en"</p>
<p><strong>2、</strong>sudo reboot</p>
<p><strong>3、</strong>locale</p>
显示环境变量已经全部是英文
<img src ="http://www.blogjava.net/sealyu/aggbug/321590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-05-22 00:12 <a href="http://www.blogjava.net/sealyu/archive/2010/05/22/321590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu 10.04安装jdk</title><link>http://www.blogjava.net/sealyu/archive/2010/05/03/319972.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Mon, 03 May 2010 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/05/03/319972.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/319972.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/05/03/319972.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/319972.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/319972.html</trackback:ping><description><![CDATA[在ubuntu10.04版本里面，sun的jdk已经不是在标准库里面，标准库的只有openJDK了，sun的jdk已经被放到partner库里面，所以如果要安装jdk，需要以下步骤：<br />
To enable Partner Repo:<br />
SYSTEM -&gt; ADMINISTRATION -&gt; SOFTWARE SOURCES -&gt; OTHER SOFTWARE
-&gt; ADD<br />
deb <a href="http://archive.canonical.com/" target="_blank">http://archive.canonical.com/</a>
lucid partner<br />
<br />
Then CLOSE window and RELOAD, then search for Sun Java<br />
You should find Version 6.20 ..... Install<br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/319972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-05-03 21:44 <a href="http://www.blogjava.net/sealyu/archive/2010/05/03/319972.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu新建用户并添加到管理组(转)</title><link>http://www.blogjava.net/sealyu/archive/2010/05/01/319839.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Fri, 30 Apr 2010 16:13:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2010/05/01/319839.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/319839.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2010/05/01/319839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/319839.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/319839.html</trackback:ping><description><![CDATA[<p><span style="color: green;">用recovery mode模式启动后，进入命令行模式，提示符应该是 #</span></p>
<p><span style="color: green;">1、输入用户管理的命令，新建用户（以test为例）：<br />
useradd test</span></p>
<p><span style="color: green;">修改 test 用户的密码：<br />
passwd test</span></p>
<p><span style="color: green;">2、将新用户添加到管理组：<br />
gpasswd -a test admin</span></p>
<p><span style="color: green;">3、给 test 用户创建自己的目录：<br />
cd /home</span></p>
<p><span style="color: green;">mkdir test</span></p>
<p><span style="color: green;">chown test /home/test</span></p>
<p><span style="color: green;">4、重新启动，<br />
reboot</span></p>
<p><span style="color: green;">然后用 test 登录，</span></p>
<p><span style="color: green;">登录以后，点菜单&#8220;系统－系统管理－用户和组&#8221;，进去选中你的用户，点右边的&#8220;属性&#8221;按钮，到用户权限里打勾需要的；</span></p>
<img src ="http://www.blogjava.net/sealyu/aggbug/319839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2010-05-01 00:13 <a href="http://www.blogjava.net/sealyu/archive/2010/05/01/319839.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu 407 proxy（转）</title><link>http://www.blogjava.net/sealyu/archive/2009/10/14/298212.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 14 Oct 2009 06:55:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/10/14/298212.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/298212.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/10/14/298212.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/298212.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/298212.html</trackback:ping><description><![CDATA[更新：遇到这个问题的朋友，不用往下面看了，请直接使用 <a href="http://cntlm.sourceforge.net/" target="_blank">cntlm</a>
吧，比ntlmaps 好用些！<br />
<br />
在
公司里面，网络访问都是通过ISA Server的（Microsoft&#174; Internet Security and Acceleration
Server），在使用Windows的时候不会出现任何问题，可是前两天装了Ubuntu Linux，遇到了些问题。<br />
<br />
我使用firefox访问网络没有问题，只需要设好代理服务器地址，浏览网站时输入相应的用户名和密码即可，但在console下面使用apt-get更新系统时有问题。<br />
<br />
开始我觉得应该这样设置代理：<br />
export http_proxy=http://domaindomainuser:password@proxy.corpnet.com:8080<br />
<br />
可是总会出现这个错误：<br />
407
Proxy Authentication Required ( The ISA Server requires authorization
to fulfill the request. Access to the Web Proxy service is denied. )<br />
<br />
后来在网上搜索了一下，找到方法解决这个问题了：<br />
<br />
Download ntlmaps-0.9.9.0.1 from <a href="https://sourceforge.net/project/showfiles.php?group_id=69259&amp;package_id=68110&amp;release_id=388621" target="_blank">here</a>
<br />
<br />
$ tar -zxvf ntlmaps-0.9.9.0.1<br />
<br />
$ vim ntlmaps-0.9.9.0.1/server.cfg<br />
<br />
Edit PARENT_PROXY,PARENT_PROXY_PORT,USER,PASSWORD to match your preferences, then run main.py<br />
<br />
$ ./ntlmaps-0.9.9.0.1/main.py &amp;<br />
<br />
$ export http_proxy="<a href="http://127.0.0.1:5865/" target="_blank">http://127.0.0.1:5865</a>
"<br />
<br />
$ sudo apt-get update<br />
<br />
Now, everything is OK.
<img src ="http://www.blogjava.net/sealyu/aggbug/298212.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-10-14 14:55 <a href="http://www.blogjava.net/sealyu/archive/2009/10/14/298212.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu下Firefox使用flash插件乱码问题</title><link>http://www.blogjava.net/sealyu/archive/2009/05/11/270000.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Mon, 11 May 2009 02:12:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/05/11/270000.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/270000.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/05/11/270000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/270000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/270000.html</trackback:ping><description><![CDATA[使用谷歌听歌的时候发现flash乱码，所以把之前的flash插件卸载，重新安装Adobe的：<br />
sudo apt-get remove swfdec-mozilla<br />
但是安装过后还是乱码，后来发现是字体配置文件的原因，解决方法：<br />
$ sudo rm /etc/fonts/conf.d/49-sansserif.conf<br />
然后重启firefox。<br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/270000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-05-11 10:12 <a href="http://www.blogjava.net/sealyu/archive/2009/05/11/270000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>gsopcast频道地址</title><link>http://www.blogjava.net/sealyu/archive/2009/04/08/264438.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 08 Apr 2009 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/04/08/264438.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/264438.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/04/08/264438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/264438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/264438.html</trackback:ping><description><![CDATA[http://rogerlumm.blog.ubuntu.org.cn/files/2008/09/gchlxml.gz
<img src ="http://www.blogjava.net/sealyu/aggbug/264438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-04-08 12:58 <a href="http://www.blogjava.net/sealyu/archive/2009/04/08/264438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu 听在线音乐</title><link>http://www.blogjava.net/sealyu/archive/2009/03/10/258741.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Tue, 10 Mar 2009 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/03/10/258741.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/258741.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/03/10/258741.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/258741.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/258741.html</trackback:ping><description><![CDATA[<p>sudo apt-get remove totem-mozilla <br />
<br />
这样firefox就会用MPLAYER的播放了<br />
</p>
<p><span style="color: #ff0000;">sudo apt-get install mplayer mozilla-mplayer</span>
</p>
<p>安装mplayer的插件。<br />
</p>
<p>同时在about:config里增加了两个配置项：</p>
<p><span style="color: #ff0000;">Network.protocol-handler.app.mms&nbsp;&nbsp; string /usr/bin/mplayer</span>
</p>
<p><span style="color: #ff0000;">Network.protocal-handler.external.mms boolean True</span>
</p>
<p>restart it ,就OK了。</p>
<p><br />
</p>
<p>同时可以参考：</p>
<p>1、安装软件和相应解码器<br />
<br />
sudo apt-get install mplayer mozilla-mplayer totem-xine libxine-extracodecs w32codecs audacious</p>
安装后 audacious 能播放 ogg*, flac*, <a href="http://www.linuxidc.com/Linux/2007-07/MP3" title="http://www.linuxidc.com/audio/index.htm">MP3</a>, wma, wav, 3gp 这些格式。安装后 mplayer 和 totem 能播放 xvid/divx 编码的 avi 格式视频, rm/rmvb/asf/wmv 等流媒体视频，外加 vcd/dvd 和其他 mpeg2/mpeg4 视频。<br />
<br />
1) 如果要让 Rhythmbox 和 Banshee 这些使用 gstreamer 为后端的播放器，能播放 <a href="http://www.linuxidc.com/Linux/2007-07/MP3" title="http://www.linuxidc.com/audio/index.htm">MP3</a>, wma, ra, ram, wav 等格式音乐，就装上：<br />
<br />
sudo apt-get install gstreamer0.10-plugins-ugly gstreamer0.10-pitfdll gstreamer0.10-ffmpeg<br />
<br />
2) 如果要让 audacious 播放 APE 格式的音乐：<br />
<br />
sudo apt-get install audacious-mac<br />
<br />
3) 如果需要把 APE 转换为 FLAC：<br />
<br />
sudo apt-get install mac flac cuetools shntool<br />
cuebreakpoints xx.cue |shnsplit -o flac -n xx xx.ape<br />
2、Mplayer 的中文字幕设置方法<br />
<br />
1) 在 Preferences-Font 里面点击 &#8221;Browse&#8221; 选择一个中文字体，Encodeing 选择 Unicode。<br />
<br />
2) 在 Preferences-Subtitle&amp;OSD 里面的 Encoding 选择：<br />
<br />
Simplified Chinese Charset(cp936)<br />
<div align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-5195587195407606";
/* Linuxidc 468x60, ������ 08-8-31 */
google_ad_slot = "9963827011";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script>window.google_render_ad();</script>
</div>
<br />
<br />
3) 在 Preferences-Font &#8220;Text scale&#8221; 这里调整字幕大小(我调整为 3.8 )。<br />
<br />
如果播放时提示错误，设置一下：<br />
<br />
Preferences-Video 选择 &#8220;xv X11/Xv&#8221;<br />
Preferences-Codecs&amp;demuxer 选择 &#8220;FFmpeg/libavcodec audio decoders&#8221;<br />
<br />
3、使用 Firefox 在线播放解决办法<br />
<br />
1) 内嵌播放，可以安装 MediaWrap 这个扩展。<br />
<br />
2) 如果喜欢调用外部播放器播放，安装 MediaPlayerConnectivity 。<br />
<br />
4、Totem 播放 rmvb 没有声音，这里给出了解决方法：<br />
<br />
编辑 ~/.xine/catalog.cache 文件：<br />
gedit ~/.xine/catalog.cache<br />
<br />
找到<br />
[/usr/lib/xine/plugins/1.1.4/xineplug_decode_real_audio.so]<br />
<br />
把 decoder_priority 后面的数字修改为 10。<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/258741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-03-10 10:58 <a href="http://www.blogjava.net/sealyu/archive/2009/03/10/258741.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu设置固定IP</title><link>http://www.blogjava.net/sealyu/archive/2009/03/04/257777.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 04 Mar 2009 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/03/04/257777.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/257777.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/03/04/257777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/257777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/257777.html</trackback:ping><description><![CDATA[<p>首先设置IP</p>
<p>sudo gedit /etc/network/interface</p>
<p>将其内容删除</p>
<p>加上一下内容</p>
<p>auto lo</p>
<p>iface lo inet loopback</p>
<p>auto etho</p>
<p>iface etho inet static</p>
<p>address 192.168.0.168</p>
<p>netmask 255.255.255.0</p>
<p>network 192.168.0.0</p>
<p>broadcast 192.168.0.255</p>
<p>gateway 192.168.0.1</p>
<p>保存</p>
<p>然后修改DNS</p>
<p>sudo gedit /etc/resolv.conf</p>
<p>将内容修改为 </p>
<p>nameserver 202.103.24.68</p>
<p>保存</p>
<p>重启网络连接</p>
<p>sudo /etc/init.d/networking stop</p>
<p>sudo /etc/init.d/networking start</p>
<img src ="http://www.blogjava.net/sealyu/aggbug/257777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-03-04 14:10 <a href="http://www.blogjava.net/sealyu/archive/2009/03/04/257777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu java环境配置</title><link>http://www.blogjava.net/sealyu/archive/2009/03/04/257760.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 04 Mar 2009 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/03/04/257760.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/257760.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/03/04/257760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/257760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/257760.html</trackback:ping><description><![CDATA[<h1>Java安装配置</h1>
<h3 id="siteSub">出自Ubuntu中文</h3>
<!-- start content -->
<p>打开终端，执行以下命令，或使用Adept/新立得软件管理器，在其中分别搜索"sun-java6-jre"和"sun-java6-jdk"并标记安装。
</p>
<pre>sudo apt-get install sun-java6-jre<br />
<br />
</pre>
<p>如果空间富裕，建议安装一个JDK。
</p>
<pre>sudo apt-get install sun-java6-jdk<br />
<br />
</pre>
<p>提示：安装过程中需要你回答是否同意使用协议（终端中红蓝色的提示界面），此时按tab键至OK，再按回车即可正常安装。
</p>
<p><strong>设置当前默认的java解释器：</strong>
</p>
<pre>sudo update-alternatives --config java<br />
<br />
</pre>
<p>执行后会出现类似如下的画面:
</p>
<pre>There are 2 alternatives which provide `java'.<br />
<br />
<br />
<br />
Selection Alternative<br />
<br />
-----------------------------------------------<br />
<br />
1 /usr/bin/gij-wrapper-4.1<br />
<br />
*+ 2 /usr/lib/jvm/java-6-sun/jre/bin/java<br />
<br />
<br />
<br />
Press enter to keep the default[*], or type selection number:</pre>
<p>输入 有包含 "sun" 的行的前面的数字。如上面显示，则输入2，然后回车确定。
</p>
<p><br />
<strong>配置JAVA环境变量:</strong>
</p>
<pre>sudo gedit /etc/environment<br />
<br />
</pre>
<p>在其中添加如下两行：
</p>
<pre>CLASSPATH=.:/usr/lib/jvm/java-6-sun/libv<br />
<br />
JAVA_HOME=/usr/lib/jvm/java-6-sun<br />
<br />
</pre>
<pre>sudo gedit /etc/jvm<br />
<br />
</pre>
<p>将文件中的
</p>
<pre>/usr/lib/jvm/java-6-sun<br />
<br />
</pre>
<p>这一行填入到配置块的顶部
</p>
<p><strong>安装浏览器的JAVA Plugin（可选）：</strong>
</p>
<pre>sudo apt-get install sun-java6-plugin<br />
<br />
</pre>
<img src ="http://www.blogjava.net/sealyu/aggbug/257760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-03-04 12:31 <a href="http://www.blogjava.net/sealyu/archive/2009/03/04/257760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu下SQuirrel连接Microsoft SQL Server（很好的客户端）</title><link>http://www.blogjava.net/sealyu/archive/2009/01/14/251217.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 14 Jan 2009 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/01/14/251217.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/251217.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/01/14/251217.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/251217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/251217.html</trackback:ping><description><![CDATA[今天终于搞定SQuirrel了，这样就可以把项目的开发平台全部迁移到ubuntu下面了，经过测试，项目编译的时间整整节省了一半，jboss的启动时间也省了很多，现在完整编译由以前的十多分钟变为3分钟多点，看来ext3的文件系统比NTFS还是效率高很多啊。<br />
顺便把安装配置SQuirrel的过程中遇到到的问题记录一下，以免忘记：<br />
1。我安装的版本是SQuirrel2.6.8， 在安装完成后启动，显示出来的只有一个空窗口，除了标题栏没任何东西，Google了一下，有人说是jdk版本的问题，由于项目需要，必须使用jdk5，看来只有安装两个jdk了。 可以这么作，原有jdk及环境变量保持不变，再安装一个jdk6，然后手动创建一个launcher，启动参数设置为：/usr/lib/jvm/java-6-sun/bin/java -jar /home/sealyu/tools/SQuirreL/squirrel-sql.jar 。<br />
2。不知道是否由于版本的原因，没找到使用文档，SQuirrel官方网站也没找到。后来自己摸索了一下，想要连接到Microsoft SQL Server（这里我用的版本是2005），下载了最新的jtds驱动，我的是jtds1.2.2.jar。将之放到SQuirrel_home/lib下面，这样就能自动检测到驱动，打开SQuirrel后，在jTDS Microsoft SQL 右键，选择Modify Driver, 在 Extra Class Path 中选出你的jtds架包，List Drivers，这样你就能在下面的下拉框中看到驱动的主类。点击确定按钮，这时候左边树形菜单里面对应的条目前方就由红色的小叉变为绿色的对号了。<br />
3。新建一个Alias，输入你要连接数据库的信息，connect即可使用。<br />
<br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/251217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-01-14 10:02 <a href="http://www.blogjava.net/sealyu/archive/2009/01/14/251217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu启动问题：Your session only lasted less than 10 seconds 的解决</title><link>http://www.blogjava.net/sealyu/archive/2009/01/13/251115.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Tue, 13 Jan 2009 05:35:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2009/01/13/251115.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/251115.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2009/01/13/251115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/251115.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/251115.html</trackback:ping><description><![CDATA[作者：Sealyu 日期：2009-01-13<br />
<br />
在系统做完一次更新后，重新启动系统，输入用户名密码后，弹出一个对话框：<br />
显示错误信息：<br />
Your session only lasted less than 10 seconds。。。。。。。。。。<br />
点击查看详细信息：<br />
/etc/gdm/Xsession ........<br />
Couldn't exec /usr/bin/pulse-session<br />
<br />
点击确定后会重新定向到登录窗口。再次登录还是同样问题。不过可以通过将session改为failsafe模式登录进去，安全模式也可以登录进去。<br />
<br />
分析错误信息，应该是pulseaudio这个文件出现了问题， 所以将pulseaudio这个软件重装了一下，重启登录，还是没有解决。<br />
<br />
后来failsafe模式进去后，发现/etc/gdm/Xsession目录下面有一个70pulseaudio文件，应该是系统启动gdm是要加载的session，但是找不到/usr/bin/pulse-session,所以导致了这个错误。<br />
确定了问题所在，也就知道怎么解决了。<br />
<br />
解决方法：sudo rm /etc/X11/Xsession.d/70pulseaudio<br />
这样每次启动的时候就不会去找这个session加载。<br />
不过如果需要使用pulseaudio的话，需要卸载重装了。<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/251115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2009-01-13 13:35 <a href="http://www.blogjava.net/sealyu/archive/2009/01/13/251115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu下不能删除WICD问题的解决</title><link>http://www.blogjava.net/sealyu/archive/2008/12/15/246499.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Mon, 15 Dec 2008 14:11:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/12/15/246499.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/246499.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/12/15/246499.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/246499.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/246499.html</trackback:ping><description><![CDATA[在ubuntu中试图卸载wicd时报错：<br />
E: Sub-process /usr/bin/dpkg returned an error code (1)<br />
<br />
只要找到/var/lib/dpkg/info/wicd.prerm这个文件，用管理员帐户删除，然后再次运行新利得删除即可。<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/246499.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-12-15 22:11 <a href="http://www.blogjava.net/sealyu/archive/2008/12/15/246499.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu下ssh时碰到的问题</title><link>http://www.blogjava.net/sealyu/archive/2008/12/11/245803.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 11 Dec 2008 14:44:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/12/11/245803.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/245803.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/12/11/245803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/245803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/245803.html</trackback:ping><description><![CDATA[当使用ubuntu作为客户端ssh远程连接时，提示如下信息：<br />
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br />
@&nbsp;&nbsp;&nbsp; WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!&nbsp;&nbsp;&nbsp;&nbsp; @<br />
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br />
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!<br />
Someone could be eavesdropping on you right now (man-in-the-middle attack)!<br />
<br />
根据网上搜索到的解决办法，将之前保存的已知主机列表删除即可，<br />
执行： rm&nbsp; -rf&nbsp; .ssh/known_hosts<br />
问题解决<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/245803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-12-11 22:44 <a href="http://www.blogjava.net/sealyu/archive/2008/12/11/245803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to use Django with Apache and mod_python</title><link>http://www.blogjava.net/sealyu/archive/2008/11/07/239347.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Fri, 07 Nov 2008 15:44:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/11/07/239347.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/239347.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/11/07/239347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/239347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/239347.html</trackback:ping><description><![CDATA[<p><a external="" href="http://httpd.apache.org/">Apache</a> with <a external="" href="http://www.modpython.org/">mod_python</a> currently is the preferred setup for using Django
on a production server.</p>
<p>mod_python is similar to (and inspired by) <a external="" href="http://perl.apache.org/">mod_perl</a> : It embeds Python within
Apache and loads Python code into memory when the server starts. Code stays in
memory throughout the life of an Apache process, which leads to significant
performance gains over other server arrangements.</p>
<p>Django requires Apache 2.x and mod_python 3.x, and you should use Apache&#8217;s
<a external="" href="http://httpd.apache.org/docs/2.2/mod/prefork.html">prefork MPM</a>, as opposed to the <a external="" href="http://httpd.apache.org/docs/2.2/mod/worker.html">worker MPM</a>.</p>
<p>You may also be interested in <a external="" href="http://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#howto-deployment-fastcgi"><em>How to use Django with FastCGI, SCGI or AJP</em></a> (which also covers SCGI and AJP).</p>
<div id="s-basic-configuration">
<h2 id="basic-configuration">Basic configuration<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#basic-configuration" title="Permalink to this headline">&#182;</a></h2>
<p>To configure Django with mod_python, first make sure you have Apache installed,
with the mod_python module activated.</p>
<p>Then edit your <tt literal="">httpd.conf</tt> file and add the following:</p>
<div>
<pre>&lt;Location "/mysite/"&gt;<br />
SetHandler python-program<br />
PythonHandler django.core.handlers.modpython<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />
PythonOption django.root /mysite<br />
PythonDebug On<br />
&lt;/Location&gt;<br />
</pre>
</div>
<p>...and replace <tt literal="">mysite.settings</tt> with the Python import path to your Django
project's settings file.</p>
<p>This tells Apache: "Use mod_python for any URL at or under '/mysite/', using the
Django mod_python handler." It passes the value of <a external="" href="http://docs.djangoproject.com/en/dev/topics/settings/#django-settings-module"><em>DJANGO_SETTINGS_MODULE</em></a> so mod_python knows which settings to use.</p>
<div>
New in Django 1.0: The <tt literal="">PythonOption django.root ...</tt> is new in this version.</div>
<p>Because mod_python does not know we are
serving this site from underneath the <tt literal="">/mysite/</tt> prefix, this value needs to
be passed through to the mod_python handler in Django, via the <tt literal="">PythonOption
django.root ...</tt> line. The value set on that line (the last item) should
match the string given in the <tt literal="">&lt;Location ...&gt;</tt> directive. The effect of this
is that Django will automatically strip the <tt literal="">/mysite</tt> string from the front
of any URLs before matching them against your <tt literal="">URLConf</tt> patterns. If you
later move your site to live under <tt literal="">/mysite2</tt>, you will not have to change
anything except the <tt literal="">django.root</tt> option in the config file.</p>
<p>When using <tt literal="">django.root</tt> you should make sure that what's left, after the
prefix has been removed, begins with a slash. Your URLConf patterns that are
expecting an initial slash will then work correctly. In the above example,
since we want to send things like <tt literal="">/mysite/admin/</tt> to <tt literal="">/admin/</tt>, we need
to remove the string <tt literal="">/mysite</tt> from the beginning, so that is the
<tt literal="">django.root</tt> value. It would be an error to use <tt literal="">/mysite/</tt> (with a
trailing slash) in this case.</p>
<p>Note that we're using the <tt literal="">&lt;Location&gt;</tt> directive, not the <tt literal="">&lt;Directory&gt;</tt>
directive. The latter is used for pointing at places on your filesystem,
whereas <tt literal="">&lt;Location&gt;</tt> points at places in the URL structure of a Web site.
<tt literal="">&lt;Directory&gt;</tt> would be meaningless here.</p>
<p>Also, if your Django project is not on the default <tt literal="">PYTHONPATH</tt> for your
computer, you'll have to tell mod_python where your project can be found:</p>
<pre>&lt;Location "/mysite/"&gt;<br />
SetHandler python-program<br />
PythonHandler django.core.handlers.modpython<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />
PythonOption django.root /mysite<br />
PythonDebug On<br />
<strong>PythonPath "['/path/to/project'] + sys.path"</strong><br />
&lt;/Location&gt;<br />
</pre>
<p>The value you use for <tt literal="">PythonPath</tt> should include the parent directories of
all the modules you are going to import in your application. It should also
include the parent directory of the <a external="" href="http://docs.djangoproject.com/en/dev/topics/settings/#django-settings-module"><em>DJANGO_SETTINGS_MODULE</em></a> location. This is exactly the same situation as
setting the Python path for interactive usage. Whenever you try to import
something, Python will run through all the directories in <tt literal="">sys.path</tt> in turn,
from first to last, and try to import from each directory until one succeeds.</p>
<p>An example might make this clearer. Suppose you have some applications under
<tt literal="">/usr/local/django-apps/</tt> (for example, <tt literal="">/usr/local/django-apps/weblog/</tt> and
so forth), your settings file is at <tt literal="">/var/www/mysite/settings.py</tt> and you have
specified <a external="" href="http://docs.djangoproject.com/en/dev/topics/settings/#django-settings-module"><em>DJANGO_SETTINGS_MODULE</em></a> as in the above
example. In this case, you would need to write your <tt literal="">PythonPath</tt> directive
as:</p>
<div>
<pre>PythonPath "['/usr/local/django-apps/', '/var/www'] + sys.path"<br />
</pre>
</div>
<p>With this path, <tt literal="">import weblog</tt> and <tt literal="">import mysite.settings</tt> will both
work. If you had <tt literal="">import blogroll</tt> in your code somewhere and <tt literal="">blogroll</tt>
lived under the <tt literal="">weblog/</tt> directory, you would <em>also</em> need to add
<tt literal="">/usr/local/django-apps/weblog/</tt> to your <tt literal="">PythonPath</tt>. Remember: the
<strong>parent directories</strong> of anything you import directly must be on the Python
path.</p>
<div note="">
<p admonition-title="">Note</p>
<p>If you're using Windows, we still recommended that you use forward
slashes in the pathnames, even though Windows normally uses the backslash
character as its native separator. Apache knows how to convert from the
forward slash format to the native format, so this approach is portable and
easier to read. (It avoids tricky problems with having to double-escape
backslashes.)</p>
<p>This is valid even on a Windows system:</p>
<div>
<pre>PythonPath "['c:/path/to/project'] + sys.path"<br />
</pre>
</div>
</div>
<p>You can also add directives such as <tt literal="">PythonAutoReload Off</tt> for performance.
See the <a external="" href="http://modpython.org/live/current/doc-html/directives.html">mod_python documentation</a> for a full list of options.</p>
<p>Note that you should set <tt literal="">PythonDebug Off</tt> on a production server. If you
leave <tt literal="">PythonDebug On</tt>, your users would see ugly (and revealing) Python
tracebacks if something goes wrong within mod_python.</p>
<p>Restart Apache, and any request to <tt literal="">/mysite/</tt> or below will be served by
Django. Note that Django's URLconfs won't trim the "/mysite/" -- they get passed
the full URL.</p>
<p>When deploying Django sites on mod_python, you'll need to restart Apache each
time you make changes to your Python code.</p>
</div>
<div id="s-multiple-django-installations-on-the-same-apache">
<h2 id="multiple-django-installations-on-the-same-apache">Multiple Django installations on the same Apache<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#multiple-django-installations-on-the-same-apache" title="Permalink to this headline">&#182;</a></h2>
<p>It's entirely possible to run multiple Django installations on the same Apache
instance. Just use <tt literal="">VirtualHost</tt> for that, like so:</p>
<div>
<pre>NameVirtualHost *<br />
<br />
&lt;VirtualHost *&gt;<br />
ServerName www.example.com<br />
# ...<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost *&gt;<br />
ServerName www2.example.com<br />
# ...<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.other_settings<br />
&lt;/VirtualHost&gt;<br />
</pre>
</div>
<p>If you need to put two Django installations within the same <tt literal="">VirtualHost</tt>
(or in different <tt literal="">VirtualHost</tt> blocks that share the same server name),
you'll need to take a special precaution to ensure mod_python's cache doesn't
mess things up. Use the <tt literal="">PythonInterpreter</tt> directive to give different
<tt literal="">&lt;Location&gt;</tt> directives separate interpreters:</p>
<div>
<pre>&lt;VirtualHost *&gt;<br />
ServerName www.example.com<br />
# ...<br />
&lt;Location "/something"&gt;<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />
PythonInterpreter mysite<br />
&lt;/Location&gt;<br />
<br />
&lt;Location "/otherthing"&gt;<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.other_settings<br />
PythonInterpreter othersite<br />
&lt;/Location&gt;<br />
&lt;/VirtualHost&gt;<br />
</pre>
</div>
<p>The values of <tt literal="">PythonInterpreter</tt> don't really matter, as long as they're
different between the two <tt literal="">Location</tt> blocks.</p>
</div>
<div id="s-running-a-development-server-with-mod-python">
<h2 id="running-a-development-server-with-mod-python">Running a development server with mod_python<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#running-a-development-server-with-mod-python" title="Permalink to this headline">&#182;</a></h2>
<p>If you use mod_python for your development server, you can avoid the hassle of
having to restart the server each time you make code changes. Just set
<tt literal="">MaxRequestsPerChild 1</tt> in your <tt literal="">httpd.conf</tt> file to force Apache to reload
everything for each request. But don't do that on a production server, or we'll
revoke your Django privileges.</p>
<p>If you're the type of programmer who debugs using scattered <tt literal="">print</tt>
statements, note that <tt literal="">print</tt> statements have no effect in mod_python; they
don't appear in the Apache log, as one might expect. If you have the need to
print debugging information in a mod_python setup, either do this:</p>
<div>
<pre>assert False, the_value_i_want_to_see<br />
</pre>
</div>
<p>Or add the debugging information to the template of your page.</p>
</div>
<div id="s-id1">
<h2 id="id1">Serving media files<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#id1" title="Permalink to this headline">&#182;</a></h2>
<p>Django doesn't serve media files itself; it leaves that job to whichever Web
server you choose.</p>
<p>We recommend using a separate Web server -- i.e., one that's not also running
Django -- for serving media. Here are some good choices:</p>
<ul>
    <li><a external="" href="http://www.lighttpd.net/">lighttpd</a></li>
    <li><a external="" href="http://en.wikipedia.org/wiki/TUX_web_server">TUX</a></li>
    <li>A stripped-down version of <a external="" href="http://httpd.apache.org/">Apache</a></li>
</ul>
<p>If, however, you have no option but to serve media files on the same Apache
<tt literal="">VirtualHost</tt> as Django, here's how you can turn off mod_python for a
particular part of the site:</p>
<div>
<pre>&lt;Location "/media"&gt;<br />
SetHandler None<br />
&lt;/Location&gt;<br />
</pre>
</div>
<p>Just change <tt literal="">Location</tt> to the root URL of your media files. You can also use
<tt literal="">&lt;LocationMatch&gt;</tt> to match a regular expression.</p>
<p>This example sets up Django at the site root but explicitly disables Django for
the <tt literal="">media</tt> subdirectory and any URL that ends with <tt literal="">.jpg</tt>, <tt literal="">.gif</tt> or
<tt literal="">.png</tt>:</p>
<div>
<pre>&lt;Location "/"&gt;<br />
SetHandler python-program<br />
PythonHandler django.core.handlers.modpython<br />
SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />
&lt;/Location&gt;<br />
<br />
&lt;Location "/media"&gt;<br />
SetHandler None<br />
&lt;/Location&gt;<br />
<br />
&lt;LocationMatch "".(jpg|gif|png)$"&gt;<br />
SetHandler None<br />
&lt;/LocationMatch&gt;<br />
</pre>
</div>
</div>
<div id="s-id3">
<h2 id="id3">Serving the admin files<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#id3" title="Permalink to this headline">&#182;</a></h2>
<p>Note that the Django development server automagically serves admin media files,
but this is not the case when you use any other server arrangement. You're
responsible for setting up Apache, or whichever media server you're using, to
serve the admin files.</p>
<p>The admin files live in (<tt literal="">django/contrib/admin/media</tt>) of the Django
distribution.</p>
<p>Here are two recommended approaches:</p>
<ol simple="">
    <li>Create a symbolic link to the admin media files from within your
    document root. This way, all of your Django-related files -- code <strong>and</strong>
    templates -- stay in one place, and you'll still be able to <tt literal="">svn
    update</tt> your code to get the latest admin templates, if they change.</li>
    <li>Or, copy the admin media files so that they live within your Apache
    document root.</li>
</ol>
</div>
<div id="s-using-eggs-with-mod-python">
<h2 id="using-eggs-with-mod-python">Using "eggs" with mod_python<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#using-eggs-with-mod-python" title="Permalink to this headline">&#182;</a></h2>
<p>If you installed Django from a Python <a external="" href="http://peak.telecommunity.com/DevCenter/PythonEggs">egg</a> or are using eggs in your Django
project, some extra configuration is required. Create an extra file in your
project (or somewhere else) that contains something like the following:</p>
<div>
<pre>import os<br />
os.environ['PYTHON_EGG_CACHE'] = '/some/directory'<br />
</pre>
</div>
<p>Here, <tt literal="">/some/directory</tt> is a directory that the Apache webserver process can
write to. It will be used as the location for any unpacking of code the eggs
need to do.</p>
<p>Then you have to tell mod_python to import this file before doing anything
else. This is done using the <a external="" href="http://www.modpython.org/live/current/doc-html/dir-other-pimp.html">PythonImport</a> directive to mod_python. You need
to ensure that you have specified the <tt literal="">PythonInterpreter</tt> directive to
mod_python as described <a internal="" href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#multiple-django-installations-on-the-same-apache">above</a> (you need to do this even if you aren't
serving multiple installations in this case). Then add the <tt literal="">PythonImport</tt>
line in the main server configuration (i.e., outside the <tt literal="">Location</tt> or
<tt literal="">VirtualHost</tt> sections). For example:</p>
<div>
<pre>PythonInterpreter my_django<br />
PythonImport /path/to/my/project/file.py my_django<br />
</pre>
</div>
<p>Note that you can use an absolute path here (or a normal dotted import path),
as described in the <a external="" href="http://www.modpython.org/live/current/doc-html/dir-other-pimp.html">mod_python manual</a>. We use an absolute path in the
above example because if any Python path modifications are required to access
your project, they will not have been done at the time the <tt literal="">PythonImport</tt>
line is processed.</p>
</div>
<div id="s-error-handling">
<h2 id="error-handling">Error handling<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#error-handling" title="Permalink to this headline">&#182;</a></h2>
<p>When you use Apache/mod_python, errors will be caught by Django -- in other
words, they won't propagate to the Apache level and won't appear in the Apache
<tt literal="">error_log</tt>.</p>
<p>The exception for this is if something is really wonky in your Django setup. In
that case, you'll see an "Internal Server Error" page in your browser and the
full Python traceback in your Apache <tt literal="">error_log</tt> file. The <tt literal="">error_log</tt>
traceback is spread over multiple lines. (Yes, this is ugly and rather hard to
read, but it's how mod_python does things.)</p>
</div>
<div id="s-if-you-get-a-segmentation-fault">
<h2 id="if-you-get-a-segmentation-fault">If you get a segmentation fault<a href="http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs#if-you-get-a-segmentation-fault" title="Permalink to this headline">&#182;</a></h2>
<p>If Apache causes a segmentation fault, there are two probable causes, neither
of which has to do with Django itself.</p>
<ol simple="">
    <li>It may be because your Python code is importing the "pyexpat" module,
    which may conflict with the version embedded in Apache. For full
    information, see <a external="" href="http://www.dscpl.com.au/articles/modpython-006.html">Expat Causing Apache Crash</a>.</li>
    <li>It may be because you're running mod_python and mod_php in the same
    Apache instance, with MySQL as your database backend. In some cases,
    this causes a known mod_python issue due to version conflicts in PHP and
    the Python MySQL backend. There's full information in the
    <a external="" href="http://modpython.org/FAQ/faqw.py?req=show&amp;file=faq02.013.htp">mod_python FAQ entry</a>.</li>
</ol>
<p>If you continue to have problems setting up mod_python, a good thing to do is
get a barebones mod_python site working, without the Django framework. This is
an easy way to isolate mod_python-specific problems. <a external="" href="http://www.dscpl.com.au/articles/modpython-001.html">Getting mod_python Working</a>
details this procedure.</p>
<p>The next step should be to edit your test code and add an import of any
Django-specific code you're using -- your views, your models, your URLconf,
your RSS configuration, etc. Put these imports in your test handler function
and access your test URL in a browser. If this causes a crash, you've confirmed
it's the importing of Django code that causes the problem. Gradually reduce the
set of imports until it stops crashing, so as to find the specific module that
causes the problem. Drop down further into modules and look into their imports,
as necessary.</p>
</div>
<img src ="http://www.blogjava.net/sealyu/aggbug/239347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-11-07 23:44 <a href="http://www.blogjava.net/sealyu/archive/2008/11/07/239347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在RedHat AS4 上安装Mysql_python模块时遇到的问题</title><link>http://www.blogjava.net/sealyu/archive/2008/11/07/239288.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Fri, 07 Nov 2008 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/11/07/239288.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/239288.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/11/07/239288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/239288.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/239288.html</trackback:ping><description><![CDATA[作者：sealyu 2008-11-7<br />
<br />
在RedHat AS4 上配置Apache+MySQL+Django 环境时，首先安装好了Apache和Python以及Django和Mysql，<br />
其中Mysql是编译安装的5.0版本。<br />
下载了MySQL-python-1.2.2.tar.gz之后，解压缩，cd进去，<br />
执行： python setup.py build时报错：<br />
<pre>File "/tmp/easy_install-nHSsgl/MySQL-python-1.2.2/setup_posix.py", line 26, in mysql_config<br />
EnvironmentError: mysql_config not found<br />
<br />
后来发现是由于Mysql编译安装后没有 mysql_config这个值，解决方法：<br />
打开 setup_posix.py, 将其中line：26手动改成系统中对应的Mysql选项（这里我的是/usr/local/mysql）：<br />
mysql_config = /usr/local/mysql/bin/mysql_config<br />
<br />
重新执行 ：python setup.py build，没有了刚才的错误，但是出现了另外一个错误：<br />
error： /usr/bin/ld: cannot find -lmysqlclient<br />
<br />
网上搜索了一下这个错误，发现有几种不同的情况，主要有以下几个原因：<br />
1.没有安装mysqlclient。解决方法：找到对应的版本进行安装。<br />
2.安装的mysqlclient的版本不匹配。对应链接： http://www.hao32.com/webserver/258.html<br />
3.已经安装了对应的mysqlclient但是找不到对应的链接。这是在一个国外的网站上看到的，具体网址已经找不到了，后来那位仁兄将对应的<br />
mysql_home/lib/mysql文件夹下面libmysqlclient对应的文件全部拷贝到/usr/local/lib下面才解决了问题。<br />
<br />
按照对应方案，问题解决。<br />
重新执行： <br />
python setup.py build<br />
python setup.py install<br />
安装完成。<br />
<br />
<br />
</pre>
<img src ="http://www.blogjava.net/sealyu/aggbug/239288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-11-07 17:03 <a href="http://www.blogjava.net/sealyu/archive/2008/11/07/239288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为RedHat AS4添加在线升级功能</title><link>http://www.blogjava.net/sealyu/archive/2008/11/06/239070.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 06 Nov 2008 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/11/06/239070.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/239070.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/11/06/239070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/239070.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/239070.html</trackback:ping><description><![CDATA[可能是因为版权的关系,网上已经找不到可用的rhel的apt和yum源了.centos是一个根据rhel rebuild的版本,它的目录结构,<span href="http://www.discuz.net/tag.php?name=%CE%C4%BC%FE" onclick="tagshow(event)" class="t_tag">文件</span>命名,所有软件包都跟rhel是完全兼容的,因此,我们完全可以用centos的apt和yum源来进行<span href="http://www.discuz.net/tag.php?name=%CF%B5%CD%B3" onclick="tagshow(event)" class="t_tag">系统</span>和软件更新.<br />
<br />
Apt<span href="http://www.discuz.net/tag.php?name=%CF%C2%D4%D8" onclick="tagshow(event)" class="t_tag">下载</span>：<a href="http://rpm.pbone.net/index.php3/stat/4/idpl/1985014/com/apt-0.5.15cnc6-4.centos4.i386.rpm.html" target="_blank">http://rpm.pbone.net/index.php3/ ... ntos4.i386.rpm.html</a><br />
下载完以后用rpm -i apt-0.5.15cnc6-4.centos4.i386.rpm 进行安装<br />
<br />
其实这时就可以用了,不过为了使更新更快,我们最好编辑一下下面这个文件<br />
/etc/apt/sources.list.d/centos.list<br />
<br />
修改其中的apt源为centos的<span href="http://www.discuz.net/tag.php?name=%D6%D0%B9%FA" onclick="tagshow(event)" class="t_tag">中国</span>镜像
<div><blockquote>### CentOS-4 APT repository<br />
rpm <a href="http://mirror.be10.com/" target="_blank">http://mirror.be10.com</a> centos/4/apt/i386 os addons updates extras<br />
rpm&nbsp;&nbsp;<a href="http://mirror.be10.com/" target="_blank">http://mirror.be10.com</a> centos/4/apt/i386&nbsp;&nbsp;contrib centosplus</blockquote></div>
然后更新apt文件列表<br />
<br />
apt-get update<br />
<br />
升级所有文件<br />
<br />
apt-get upgrade<br />
<br />
也可以用下面命令来安装软件<br />
<br />
apt-get install packagename<br />
<br />
用apt可以升级我们大多数的软件,但要升级内核还需要用yum<br />
<br />
先安装yum<br />
<br />
apt-get install yum<br />
<br />
这个时候需要导入一个GPG-KEY<br />
<br />
rpm --import /usr/share/rhn/RPM-GPG-KEY<br />
<br />
现在网上的文章出现了一个失误，还要修改一下/etc/yum.repos.d/CentOS-Base.repo<br />
才可以yum升级，把/etc/yum.repos.d/CentOS-Base.repo的内容替换为：
<div><blockquote>[base]<br />
name=CentOS-4 - Base<br />
baseurl=http://mirror.be10.com/centos/4/os/i386/<br />
gpgcheck=1<br />
<br />
#released updates <br />
[update]<br />
name=CentOS-4 - Updates<br />
baseurl=http://mirror.be10.com/centos/4/updates/i386/<br />
gpgcheck=1<br />
<br />
#packages used/produced in the build but not released<br />
[addons]<br />
name=CentOS-4 - Addons<br />
baseurl=http://mirror.be10.com/centos/4/addons/i386/<br />
gpgcheck=1<br />
<br />
#additional packages that may be useful<br />
[extras]<br />
name=CentOS-4 - Extras<br />
baseurl=http://mirror.be10.com/centos/4/extras/i386/<br />
gpgcheck=1<br />
<br />
#additional packages that extend functionality of existing packages<br />
[centosplus]<br />
name=CentOS-4 - Plus<br />
baseurl=http://mirror.be10.com/centos/4/centosplus/i386/<br />
gpgcheck=1<br />
enabled=0<br />
<br />
#contrib - packages by Centos Users<br />
[contrib]<br />
name=CentOS-4 - Contrib<br />
baseurl=http://mirror.be10.com/centos/4/contrib/i386/<br />
gpgcheck=1<br />
enabled=0<br />
<br />
#packages in testing<br />
[testing]<br />
name=CentOS-4 - Testing<br />
baseurl=http://mirror.be10.com/centos/4/testing/i386/<br />
gpgcheck=1<br />
enabled=0</blockquote></div>
然后现在就可以进行升级了<br />
<br />
yum update<br />
<br />
yum升级完以后如果升级内核的话需要重新启动,使用<br />
<br />
/sbin/shutdown -r now<br />
<br />
重新启动以后再看看系统内核,已经是新版本的了<br />
<br />
uname -a<br />
<br />
你应该有很高的悟性，知道baseurl=http://mirror.be10.com/centos/4/testing/i386/中，<font color="red">4</font>代表的是版本号。<br />
这类文章很多，恭喜你看到了最正确的一篇，同时也感谢你看到这里。<br />
<br />
测试环境：红帽AS4
<img src ="http://www.blogjava.net/sealyu/aggbug/239070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-11-06 17:20 <a href="http://www.blogjava.net/sealyu/archive/2008/11/06/239070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux和Windows下查看环境变量方法对比</title><link>http://www.blogjava.net/sealyu/archive/2008/11/06/239050.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 06 Nov 2008 08:13:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/11/06/239050.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/239050.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/11/06/239050.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/239050.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/239050.html</trackback:ping><description><![CDATA[<div>
<p><strong>一、查看所有环境变量的名称和值：</strong></p>
<p>Linux下：<strong>export</strong></p>
<p>Windows下：<strong>set</strong></p>
<p><strong>二、根据名称查该环境变量的值：</strong></p>
<p>Linux下：<strong>echo $环境变量名</strong></p>
<p>比如：echo $ORACLE_HOME</p>
<p>Windows下：<strong>set 环境变量名</strong></p>
</div>
<img src ="http://www.blogjava.net/sealyu/aggbug/239050.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-11-06 16:13 <a href="http://www.blogjava.net/sealyu/archive/2008/11/06/239050.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu8.10 应用程序菜单无法打开的解决办法</title><link>http://www.blogjava.net/sealyu/archive/2008/08/27/224923.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 27 Aug 2008 01:25:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/08/27/224923.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/224923.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/08/27/224923.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/224923.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/224923.html</trackback:ping><description><![CDATA[不记得做了什么操作，发现左上角&#8220;应用程序&#8221;菜单突然无法打开了，<br />
搜索得到解决办法：<br />
找到/etc/xdg/menus/applications.menu这个文件，拷贝一份将你坏掉的/home/your_user_name/.config/menus/applications.menu文件替换掉就可以了。<br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/224923.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-08-27 09:25 <a href="http://www.blogjava.net/sealyu/archive/2008/08/27/224923.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat AS4升级</title><link>http://www.blogjava.net/sealyu/archive/2008/08/14/222060.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 14 Aug 2008 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/08/14/222060.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/222060.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/08/14/222060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/222060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/222060.html</trackback:ping><description><![CDATA[ 众所周知，RedHat&nbsp;AS4需要付费升级，现在介绍一种第三方升级方法<br />
第一步：下载第三方软件<br />
#wget&nbsp;<a href="http://apt.sw.be/packages/apt/apt-0.5.15lorg3.1-4.el4.rf.x86_64.rpm%C2%A0%C2%A0%C2%A0%28" target="_blank">http://apt.sw.be/packages/apt/apt-0.5.15lor ... _64.rpm&nbsp;&nbsp;&nbsp;(</a>注意,不同的版本不一样)<br />
第二步：下载rpm的密钥<br />
#wget&nbsp;http-://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt<br />
第三步：安装第三方软件apt-get<br />
#rpm&nbsp;-Uvh&nbsp;./pt-0.5.15cnc6-4.2.el4.rf.i386.rpm<br />
第四步：导入rpm密钥<br />
#rpm&nbsp;--import&nbsp;RPM-GPG-KEY.dag.txt<br />
第五步：编辑文件，让apt-get知道去哪里找升级包和密钥<br />
#vi&nbsp;/etc/apt/sources.list.d/dag.list<br />
添加下面一行：<br />
#rpm&nbsp;<a href="http://apt.sw.be%c2%a0redhat/el4/en/i386%C2%A0dag" target="_blank">http://apt.sw.be&nbsp;redhat/el4/en/i386&nbsp;dag</a><br />
保存退出<br />
第六步：升级、安装<br />
更新数据库<br />
#apt-get&nbsp;update<br />
真正的升级<br />
#apt-get&nbsp;upgrade
<img src ="http://www.blogjava.net/sealyu/aggbug/222060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-08-14 17:16 <a href="http://www.blogjava.net/sealyu/archive/2008/08/14/222060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 中的网络管理器wicd</title><link>http://www.blogjava.net/sealyu/archive/2008/08/13/221647.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 13 Aug 2008 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/08/13/221647.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/221647.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/08/13/221647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/221647.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/221647.html</trackback:ping><description><![CDATA[<p>Wicd是Linux下的一个开源的有线、无线网络连接管理器。您可以在简单的界面里设置网络连接的各种参数。</p>
<p><strong>Wicd的功能： </strong></p>
<ul>
    <li>
    <p><em>无需依赖Gnome运行环境 (尽管它确实需要GTK)，就是说可以在XFCE、Fluxbox, Openbox、Enlightenment 等X下使用</em></p>
    </li>
</ul>
<ul>
    <li>
    <p><em>可以管理有线和无线网络连接</em></p>
    </li>
</ul>
<ul>
    <li>
    <p><em>每个无线和有线网络连接都有独立的配置文件</em></p>
    </li>
</ul>
<ul>
    <li>
    <p><em>支持多种加密方式，包括 WEP、WPA、WPA2 等</em></p>
    </li>
</ul>
<ul>
    <li>
    <p><em>保持了对 wireless-tools 的兼容性</em></p>
    </li>
</ul>
<ul>
    <li>
    <p><em>在系统托盘显示网络状况和信号强度</em></p>
    </li>
</ul>
<p><strong>在Ubuntu中安装 Wicd：</strong></p>
<p>首先编辑&nbsp; /etc/apt/sources.list 文件</p>
<p style="margin-left: 40px;"><span style="background-color: #ffff99;"><span style="color: #000080;">sudo gedit /etc/apt/sources.list</span></span></p>
<p>7.10 (gutsy) 在里面添加如下一行：</p>
<p style="margin-left: 40px;"><span style="background-color: #ffff99;">deb http://apt.wicd.net gutsy extras</span></p>
<p>8.04 (hardy) 用户在里面添加这行：</p>
<p style="margin-left: 40px;"><span style="color: #000080;"><span style="background-color: #ffff99;">deb http://apt.wicd.net hardy extras</span></span></p>
<p>保存退出</p>
<p>现在用下面的命令更新源列表</p>
<p style="margin-left: 40px;"><span style="color: #000080;"><span style="background-color: #ffff99;">sudo aptitude update</span></span></p>
<p>通过下面这行命令安装 wicd</p>
<p style="margin-left: 40px;"><span style="color: #000080;"><span style="background-color: #ffff99;">sudo aptitude install wicd</span></span></p>
<p>请注意，此操作将删除GNOME的默认网络管理器 network-manager，可能导致暂时失去网络连接。</p>
<p>在GNOME中，如果您想让它自动启动并显示系统托盘图标。那么请在 <strong>系统&#8594;首选项&#8594;会话</strong> 的<strong> 启动程序 </strong>标签中点击 <strong>添加</strong>。设定个名字(比如&#8221;Wicd&#8221;)并在<strong>命令</strong>一栏中输入 &#8220;<span style="color: #000080;"><span style="background-color: #ffff99;">/opt/wicd/tray.py</span></span>&#8221;。</p>
<p style="text-align: center;"><a href="http://www.lirui.name/post/134.html" target="_blank"><img alt="Auto Start" src="http://www.lirui.name/upload/134.Wicd.autostart.png" align="center" /></a></p>
<p style="text-align: center;">启动后效果如下：</p>
<p style="text-align: center;"><a href="http://www.lirui.name/post/134.html" target="_blank"><img alt="Tray" src="http://www.lirui.name/upload/134.Wicd.tray.png" align="center" /></a></p>
<p><strong>使用 Wicd</strong></p>
<p>在GNOME中通过应用程序菜单启动 wicd 的方法是点击 <strong>应用程序<strong>&#8594;</strong>互联网<strong>&#8594;</strong>Wicd</strong>。</p>
<p>在wicd的窗口中您将看见一个系统检测到的无线网络列表。有时 Wicd 在刚启动的时候不能搜索到所有范围内的无线网络。请点击工具条上的刷新按钮来重新搜索。</p>
<p>点击网络名称下面的那个 <span style="color: #0000ff;"><strong>连接</strong></span> 后稍候几秒就应该连上您选择的网络了。</p>
<p style="text-align: center;"><a href="http://www.lirui.name/post/134.html" target="_blank"><img alt="Wicd Main" src="http://www.lirui.name/upload/134.Wicd.main.png" align="center" /></a></p>
<p>如果网络是加密的，您需要再干点儿活儿。Wicd支持的加密方式包括：WPA、WEP、LEAP、TTLS、EAP 和 PEAP。</p>
<p>点击您要连接的那个网络名称边上的箭头，然后点击<strong>高级设置</strong>。在这里选中 <strong>Use Encryption</strong> 框，并在下拉菜单里选择对应的加密方式，最后在密钥栏填上您的密码。</p>
<p style="text-align: center;"><a href="http://www.lirui.name/post/134.html" target="_blank"><img alt="Detail" src="http://www.lirui.name/upload/134.Wicd.detail.png" align="center" /></a></p>
<hr />
<p><br />
</p>
<img src ="http://www.blogjava.net/sealyu/aggbug/221647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-08-13 11:17 <a href="http://www.blogjava.net/sealyu/archive/2008/08/13/221647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat AS4 下使用别名收取root帐户邮件。</title><link>http://www.blogjava.net/sealyu/archive/2008/07/31/219184.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 31 Jul 2008 15:05:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/31/219184.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/219184.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/31/219184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/219184.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/219184.html</trackback:ping><description><![CDATA[root帐户的邮件对于系统管理非常重要，但是不能使用root进行远程邮件收取，<br />
但是可以通过下列方式解决：<br />
配置/etc/aliases &nbsp; <br />
&nbsp;  &nbsp; <br />
&nbsp; vi &nbsp; /etc/aliases &nbsp; <br />
&nbsp; 加入： &nbsp; <br />
&nbsp; root: &nbsp; your_account_name &nbsp;&nbsp;  <br />
&nbsp; :wq &nbsp; <br />
&nbsp;  &nbsp; <br />
&nbsp; #newaliases &nbsp; <br />
&nbsp;  &nbsp; <br />
&nbsp; 现在，发给root的，就转发给了your_account_name乐。 &nbsp; <br />
<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/219184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-31 23:05 <a href="http://www.blogjava.net/sealyu/archive/2008/07/31/219184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sendmail篇之dovecot（转）</title><link>http://www.blogjava.net/sealyu/archive/2008/07/31/219158.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Thu, 31 Jul 2008 13:16:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/31/219158.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/219158.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/31/219158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/219158.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/219158.html</trackback:ping><description><![CDATA[ 本来是打算用cyrus 做pop3服务器的，但是因为跟openwebmail不兼容，就选用了dovecot，性能应该比cyrus 好。<br />
<br />
<strong>一、编译安装</strong><br />
# tar xzvf dovecot-1.0.2.tar.gz <br />
# cd dovecot-1.0.2<br />
# ./configure<br />
# make<br />
# make install<br />
<br />
<strong>二、找出sendmail邮箱的位置</strong><br />
# echo "Hello me" | mail -s "Dovecot test" $USER<br />
一般的rh系统都在 /var/mail 目录下<br />
<br />
<br />
<strong>三、配置dovecot</strong><br />
# mv /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf<br />
每个配置的选项conf文件里已经有很详细的注释了，这里贴出我的dovecot.conf:<br />
<div style="padding: 10px; background-color: #f0f0f0;">protocols = imap pop3<br />
disable_plaintext_auth = no<br />
ssl_disable = yes<br />
ser=&lt;%u&gt; method=%m rip=%r lip=%l %c<br />
#login_log_format = %$: %s<br />
<br />
mail_location = mbox:~/mail:INBOX=/var/mail/%u<br />
<br />
dotlock_use_excl = yes<br />
maildir_copy_with_hardlinks = yes<br />
<br />
protocol pop3 {<br />
pop3_uidl_format = %v.%u<br />
}<br />
<br />
<br />
protocol lda {<br />
postmaster_address = postmaster@example.com<br />
}<br />
<br />
auth_verbose = yes<br />
<br />
auth default {<br />
mechanisms = plain<br />
passdb shadow {<br />
}<br />
userdb passwd {<br />
}<br />
user = root<br />
}<br />
</div>
<br />
<strong>四、启动dovecot</strong><br />
编辑启动脚本 /etc/init.d/dovecot，适应于所有的操作系统<br />
<div style="padding: 10px; background-color: #f0f0f0;">#! /bin/sh<br />
<br />
DAEMON=/usr/local/sbin/dovecot<br />
<br />
test -x $DAEMON || exit 0<br />
set -e<br />
<br />
base_dir=`$DAEMON -a|grep '^base_dir: '|sed 's/^base_dir: //'`<br />
pidfile=$base_dir/master.pid<br />
<br />
if test -f $pidfile; then<br />
running=yes<br />
else<br />
running=no<br />
fi<br />
<br />
case "$1" in<br />
start)<br />
echo -n "Starting Dovecot"<br />
$DAEMON<br />
echo "."<br />
;;<br />
stop)<br />
if test $running = yes; then<br />
echo "Stopping Dovecot"<br />
kill `cat $pidfile`<br />
echo "."<br />
else<br />
echo "Dovecot is already stopped."<br />
fi<br />
;;<br />
reload)<br />
if test $running = yes; then<br />
echo -n "Reloading Dovecot configuration"<br />
kill -HUP `cat $base_dir/master.pid`<br />
echo "."<br />
else<br />
echo "Dovecot isn't running."<br />
fi<br />
;;<br />
restart|force-reload)<br />
echo -n "Restarting Dovecot"<br />
if test $running = yes; then<br />
kill `cat $base_dir/master.pid`<br />
sleep 1<br />
fi<br />
$DAEMON<br />
echo "."<br />
;;<br />
*)<br />
echo "Usage: /etc/init.d/dovecot {start|stop|reload|restart|force-reload}" &gt;&amp;2<br />
exit 1<br />
;;<br />
esac<br />
<br />
exit 0<br />
</div>
<br />
# /etc/init.d/dovecot start 启动dovecot<br />
# kill `cat /usr/local/var/run/dovecot/master.pid` 关闭dovecot<br />
<br />
参考资料：<br />
<a href="http://wiki.dovecot.org/FrontPage?action=show&amp;redirect=%E9%A6%96%E9%A1%B5" target="_blank">http://wiki.dovecot.org/FrontPage?action=show&amp;redirect=%E9%A6%96%E9%A1%B5</a>
<img src ="http://www.blogjava.net/sealyu/aggbug/219158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-31 21:16 <a href="http://www.blogjava.net/sealyu/archive/2008/07/31/219158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat linux AS 4+Apache2.2+MYSQL5.0.17+PHP5.1.1（转）</title><link>http://www.blogjava.net/sealyu/archive/2008/07/28/218089.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Mon, 28 Jul 2008 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/28/218089.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/218089.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/28/218089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/218089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/218089.html</trackback:ping><description><![CDATA[安装MYSQL<br />
# groupadd mysql<br />
# useradd -g mysql -d /usr/local/mysql/data -M mysql<br />
# tar -zxvf mysql-5.0.17.tar.gz<br />
# cd mysql-5.0.17<br />
./configure --prefix=/usr/local/mysql "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 指定安装目录 <br />
&gt; --sysconfdir=/etc "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;配置文件的路径<br />
&gt; --localstatedir=/usr/local/mysql/data "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;数据库存放的路径<br />
&gt; --enable-assembler "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 使用一些字符函数的汇编版本<br />
&gt; --with-mysqld-ldflags=-all-static "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;以纯静态方式编译服务端<br />
&gt; --with-charset=utf8 "&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 添加utf8字符支持<br />
&gt; --with-extra-charsets=all&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 添加所有字符支持<br />
<br />
# make <br />
# make install<br />
# /usr/local/mysql/bin/mysql_install_db <br />
# chown -R mysql:mysql /usr/local/mysql/data<br />
# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld<br />
#&nbsp;&nbsp;chkconfig --add mysqld<br />
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf<br />
<br />
安装Apache<br />
tar -zvxf httpd-2.2.tar.gz<br />
cd httpd-2.2<br />
./configure --prefix=/usr/local/apache --enable-so<br />
make<br />
make install<br />
<br />
先安装支持包（注意安装顺序） <br />
先列出配置gd2需要的网址<br />
<br />
gd-2.0.33.tar.gz<br />
<a href="http://www.boutell.com/gd" target="_blank">www.boutell.com/gd</a><br />
<br />
jpegsrc.v6b.tar.gz<br />
ftp.uu.net/graphics/jpeg<br />
<a href="http://www.ijg.org/" target="_blank">www.ijg.org</a><br />
<br />
libpng-1.2.7.tar.tar<br />
<a href="http://www.libpng.org/pub/png/libpng.html" target="_blank">www.libpng.org/pub/png/libpng.html</a><br />
libpng.sourceforge.net<br />
sourceforge.net/projects/libpng<br />
<br />
zlib-1.2.2.tar.gz<br />
<a href="http://www.zlib.net/" target="_blank">www.zlib.net</a><br />
sourceforge.net/projects/zlib<br />
<br />
freetype-2.1.9.tar.gz<br />
<a href="http://www.freetype.org/" target="_blank">www.freetype.org</a><br />
freetype.sourceforge.net/index2.html<br />
sourceforge.net/projects/freetype<br />
<br />
建立初始目录： <br />
mkdir /usr/local/modules <br />
<br />
jpeg目录 <br />
mkdir /usr/local/modules/jpeg6 <br />
mkdir /usr/local/modules/jpeg6/bin <br />
mkdir /usr/local/modules/jpeg6/lib <br />
mkdir /usr/local/modules/jpeg6/include <br />
mkdir /usr/local/modules/jpeg6/man <br />
mkdir /usr/local/modules/jpeg6/man/man1 <br />
<br />
<br />
安装libxml <br />
# tar -zxf libxml2-2.6.16.tar.gz <br />
# cd libxml2-2.6.16 <br />
# ./configure (xml默认安装就可以,不要指定路径了,因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本) <br />
# make <br />
# make install <br />
<br />
安装zlib <br />
tar xzvf zlib-1.2.2.tar.gz <br />
cd zlib-1.2.2 <br />
#不要用--prefix自定义安装目录，影响gd的安装 <br />
./configure <br />
make <br />
make install <br />
<br />
安装freetype <br />
tar xzvf freetype-2.1.5.tar.gz <br />
cd freetype-2.1.5 <br />
./configure --prefix=/usr/local/modules/freetype <br />
make <br />
make install <br />
<br />
安装libpng <br />
tar xzvf libpng-1.2.5.tar.gz <br />
#不要用--prefix自定义安装目录，影响gd的安装 <br />
cd libpng-1.2.5 <br />
cp scripts/makefile.std makefile <br />
make <br />
make install <br />
<br />
<br />
安装jpeg <br />
tar xzvf jpegsrc.v6b.tar.gz <br />
./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static <br />
make <br />
make install <br />
<br />
安装GD <br />
tar xzvf gd-2.0.33.tar.gz <br />
./configure --prefix=/usr/local/modules/gd
--with-jpeg=/usr/local/modules/jpeg6 --with-png --with-zlib
--with-freetype=/usr/local/modules/freetype <br />
make <br />
make install<br />
<br />
安装imap: <br />
tar zxvf imap-2001a.tar.Z <br />
cd imap-2001a&nbsp;&nbsp;<br />
make&nbsp;&nbsp;slx&nbsp;&nbsp;<br />
cp&nbsp;&nbsp;ipopd/ipop*.*&nbsp;&nbsp;/usr/sbin&nbsp;&nbsp;<br />
cp&nbsp;&nbsp;imapd/imapd&nbsp;&nbsp;/usr/sbin&nbsp;&nbsp;<br />
cp&nbsp;&nbsp;c-client/c-client.a&nbsp;&nbsp;/usr/local/lib&nbsp;&nbsp;<br />
请确定你有&nbsp;&nbsp;/usr/local/include&nbsp;&nbsp;这个目录<br />
cp&nbsp;&nbsp;c-client/rfc822.h&nbsp;&nbsp;/usr/local/include&nbsp;&nbsp;<br />
cp&nbsp;&nbsp;c-client/mail.h&nbsp;&nbsp;/usr/local/include&nbsp;&nbsp;<br />
cp&nbsp;&nbsp;c-client/linkage.h&nbsp;&nbsp;/usr/local/include&nbsp;&nbsp;<br />
<br />
<br />
mkdir /usr/local/php5<br />
tar -zxvf php-5.1.1.tar.gz<br />
cd php-5.1.1<br />
./configure --prefix=/usr/local/php5 "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-mysql=/usr/local/mysql "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-mysqli=/usr/local/mysql/bin/mysql_config "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-apxs2=/usr/local/apache/bin/apxs "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-libxml-dir=/usr/local/lib "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-gd=/usr/local/modules/gd "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-jpeg-dir=/usr/local/modules/jpeg6 "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-zlib "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-png "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-freetype-dir=/usr/local/modules/freetype "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-imap=/usr/local/lib "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-xmlrpc "<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;--with-config-file-path=/usr/local/php5/etc<br />
make<br />
make install<br />
<br />
cp ./php.ini-dist /usr/local/php5/etc/php.ini<br />
<br />
修改httpd.conf<br />
#vi /usr/local/apache/conf/httpd.conf<br />
加载php模块，去掉注释&#8220;＃&#8221;，如没有此行，请加上。<br />
LoadModule php5_module&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;modules/libphp5.so<br />
加上此两行<br />
AddType application/x-httpd-php .php .phtml<br />
AddType application/x-httpd-php-source .phps<br />
<br />
到这里全部的安装过程已完成。
<img src ="http://www.blogjava.net/sealyu/aggbug/218089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-28 16:06 <a href="http://www.blogjava.net/sealyu/archive/2008/07/28/218089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sendmail邮件服务器搭载smtp和pop3认证的配置方法(转)</title><link>http://www.blogjava.net/sealyu/archive/2008/07/24/217055.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 23 Jul 2008 16:24:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/24/217055.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/217055.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/24/217055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/217055.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/217055.html</trackback:ping><description><![CDATA[ 网上介绍sendmail的文章千百种，很少有跟着做下来一次成功的。多少都有些说的不准确的地方。我给大家共享一下我经过实验环境测试，完全可行的方法。<br />
<br />
1.软件准备<br />
<br />
操作系统：centos5.0<br />
<br />
我选择centos5，最新的操作系统，不要再用redhat9了，很久没有更新了，企业里用有风险的。更新换代吧。<br />
<br />
以下软件，centos5全部自带，无需另外下载。<br />
<br />
邮件系统：<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;sendmail8.13<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;sendmail-cf-8.13<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;m4-1.4<br />
<br />
pop3认证：dovecot-1.0<br />
<br />
smtp认证：<br />
&nbsp; &nbsp; &nbsp; &nbsp; cyrus-sasl-2.1<br />
&nbsp; &nbsp; &nbsp; &nbsp; cyrus-sasl-md5-2.1<br />
&nbsp; &nbsp; &nbsp; &nbsp; cyrus-sasl-plain-2.1<br />
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; cyrus-sasl-lib-2.1<br />
<br />
sasl这里，我要说一句，网上有人说&#8220;sendmail-8.13已经包含cyrus-sasl的功能，所没必要再安装cyrus-sasl&#8221;<br />
大
哥大姐们，没有cyrus-sasl用什么做认证.....sendmail官方只是说，sendmail的rpm包默认已经支持了cyrus-sasl
认证方式，也就是说，sendmail会在cyrus-sasl的工作目录下自动创建相关认证配置文件，并监听25号端口，就不用你去手动自己建立配置文
件和监听端口了。当有请求进入25号端口的时候，sendmail会自动找到/usr/lib/sasl2/Sendmail.conf读取认证方法。下
面我会详细解释。<br />
<br />
2.安装软件<br />
<br />
rpm -ivh把上面软件全装上，都在光盘里呢，好装。<br />
<br />
3.认证配置<br />
<br />
pop3：<br />
<br />
网
上说修改/etc/dovecot.conf文件，将第17行的：#protocols = imap imaps pop3
pop3s的#去掉。其实不用，它默认已经启用了这些服务，除非你只想用dovecot-auth的认证，你可以改成protocols =
none，否则不用改。<br />
<br />
smtp:<br />
注意，smtp稍微麻烦一下。<br />
<br />
我讲下原理：<br />
<br />
当用户请求进入
25号端口后，sendmail调用cyrus-sasl的saslauthd进程，saslauthd要求对方输入本地系统用户的用户名和密码，当用户
输入好后，saslauthd会去查找系统的/etc/shadow文件，密码确认无误，放行，告诉sendmail，这个用户合法，可以使用邮件服务来
发邮件。<br />
<br />
这时候你去/usr/lib/sasl2/下看看，sendmail已经做好了一个sendmail.conf文件，里面指明了：pwcheck_method=saslauthd，说明sendmail认证时就要调用saslauthd<br />
所以要实现上述功能，就要设置cyrus-sasl的saslauthd，给它指定认证方式。<br />
首先，进入/etc/sysconfig/，打开saslauthd的脚本，找到第7行的：<br />
<br />
MECH=<br />
<br />
等号后面不管写什么，我们都要改成：<br />
<br />
MECH=shadow<br />
<br />
保存<br />
<br />
这样saslauthd才会去找shadow文件给用户做认证。<br />
<br />
<br />
其实saslauthd还可以用自己的用户名和密码数据库做验证，但这样不方便，还要另外创建用户，不如直接用系统自身存在的用户名和密码。<br />
<br />
<br />
<br />
<br />
4.Sendmail配置.<br />
<br />
配置邮件服务器名称：<br />
<br />
打开/etc/mail/local-host-names<br />
加入你 @后面的邮箱地址。比如我这里是<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#111;&#116;&#116;&#111;&#64;&#108;&#105;&#110;&#117;&#120;&#101;&#100;&#101;&#110;&#116;&#101;&#115;&#116;&#46;&#99;&#111;&#109;">otto@linuxedentest.com</a><br />
那么，你要在local-host-names文件里的第二行添加：<br />
linuxedentest.com<br />
保存<br />
<br />
当然<br />
local-host-names还可以设置邮箱别名，这个不多说，大家查文档看看。<br />
<br />
改好后还要去你的dns服务器上，打上mx标志，添加A标记，用来解析dns名和地址。具体方法就要查查bind的设置方法了，或者win2003的dns设置方法。<br />
<br />
<br />
配置sendmail.mc：<br />
<br />
打开/etc/mail/sendmail.mc文件，<br />
<br />
找到：<br />
<br />
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl<br />
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl<br />
<br />
把前面的dnl注释去掉，变成：<br />
<br />
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl<br />
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl<br />
<br />
上面两句的意思是：<br />
<br />
放行那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件用户，无视access文件中的设置。<br />
<br />
confAUTH_MECHANISMS，确定系统支持的认证方式。LOGIN PLAIN 方式下，outlook用的多。<br />
<br />
<br />
还不算完，找到：<br />
<br />
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, )dnl<br />
<br />
改成：<br />
<br />
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, )dnl<br />
<br />
这样所有ip地址都可以通过smtp端口使用我们的邮件服务器了。<br />
<br />
<br />
-----------------------------------------------------------<br />
这里要说一句，不要改<br />
<br />
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl<br />
<br />
这句话！保持注释状态。<br />
<br />
上面那句话，网上好多文章都说把Port=submission,改成Port=25，说是强制所有用户在25端口上做认证。<br />
<br />
我不知道sendmail以前的版本是怎么样设置smtp认证的。sendmail8.13不用这么设置，这句话人家sendmail的意思是：取消注释后，一旦当25号端口被重定向或者被屏蔽，或者在25号端口打不开的情况下，马上使用587备用端口给用户做认证。<br />
<br />
本来人家sendmail就已经打开了25端口（Port=smtp了已经），你却在这里还Port=25，把备用端口也改成25，这不是让sendmail的sm-client认<br />
<br />
证进程和sendmail的主进程抢端口么....<br />
<br />
-----------------------------------------------------------<br />
<br />
<br />
到此为止，保存sendmail.mc<br />
<br />
<br />
用m4重新生成sendmail.cf文件 <br />
<br />
# m4 /etc/mail/sendmail.mc &gt; /etc/sendmail.cf <br />
<br />
<br />
启动dovecot进程：<br />
/etc/init.d/dovecot start<br />
<br />
<br />
<br />
启动saslauthd进程：<br />
/etc/init.d/saslauthd start<br />
<br />
<br />
<br />
启动sendmail进程：<br />
/etc/init.d/sendmail start<br />
<br />
<br />
把这些进程加入到启动脚本中去：<br />
chkconfig dovecot on<br />
chkconfig saslauthd on<br />
chkconfig sendmail on<br />
<br />
<br />
ok，所有设置全部完成，可以正常认证和收发邮件了。<br />
<br />
本文如有不准确的地方，请各位海批~~~<br />
<br />
<br />
=============================分割线==============================================<br />
<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <font size="4"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; smtp测试方法：</span></font><br />
<br />
以下sh#表示在shell上输入；C 为客户端输入， S为服务器端返回信息 。<br />
<br />
<br />
sh# telnet &lt;邮件服务器地址/IP&gt;&nbsp; &lt;port（一般是25）&gt;<br />
<br />
S : 220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Sun, 18 May 2008 01:55:03 +0800<br />
<br />
C : ehlo &lt;名字&gt; （不带认证功能的是helo +名字）<br />
<br />
S : 250-localhost.localdomain Hello zhangzb.nec-as.nec.com.cn [172.28.90.9], pleased to meet you<br />
S : 250-ENHANCEDSTATUSCODES<br />
S : 250-PIPELINING<br />
S : 250-8BITMIME<br />
S : 250-SIZE<br />
S : 250-DSN<br />
S : 250-ETRN<br />
S : 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN<br />
S : 250-DELIVERBY<br />
S : 250 HELP<br />
<br />
C : auth login<br />
<br />
S : 334 VXNlcm5hbWU6<br />
<br />
注：{&nbsp; 下面先输入username后passwd，两者需要输入encode base64码，转换方法：<br />
sh# perl -MMIME::Base64 -e 'print encode_base64("username")'<br />
（注意print前后 是单引号，username 处替换成你需要的单词）<br />
}<br />
<br />
C : MQ==&nbsp; （这是我的用户名：1）<br />
<br />
S : 334 UGFzc3dvcmQ6<br />
<br />
C : MQ==&nbsp;&nbsp;  （密码，也是1）<br />
<br />
S : 235 2.0.0 OK Authenticated<br />
<br />
C : MAIL FROM:&lt;XXXX@XXXX&gt; （部分服务器设置后，需要真实的邮箱后缀名，具体方法不详）<br />
<br />
&nbsp;<br />
S : 250 2.1.0 &lt;XXXX@XXXX&gt;... Sender ok<br />
<br />
&nbsp;<br />
C : RCPT TO:&lt;XXXX@XXXX&gt;&nbsp;&nbsp;  （目标邮箱）<br />
<br />
&nbsp;<br />
S : 250 2.1.5 &lt;XXXX@XXXX&gt;... Recipient ok<br />
<br />
&nbsp;<br />
C : DATA<br />
<br />
&nbsp;<br />
S : 354 Enter mail, end with "." on a line by itself<br />
<br />
C ： 〈这里添邮件内容〉<br />
C ：.&nbsp; (点) <br />
&nbsp;<br />
S : 250 2.0.0 m4HHt3Sj005640 Message accepted for delivery<br />
&nbsp;<br />
C： quit&nbsp; <br />
〈mail send successful〉<br />
<img src ="http://www.blogjava.net/sealyu/aggbug/217055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-24 00:24 <a href="http://www.blogjava.net/sealyu/archive/2008/07/24/217055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dovecot安装</title><link>http://www.blogjava.net/sealyu/archive/2008/07/23/217047.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 23 Jul 2008 15:20:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/23/217047.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/217047.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/23/217047.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/217047.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/217047.html</trackback:ping><description><![CDATA[<div align="justify">一、RPM格式</div>
<div align="justify">1。安装RPM包；<br />
2。编辑/etc/dovecot.conf<br />
其中，修改<br />
protocols = imap pop3</div>
<div align="justify">passdb passwd {<br />
&nbsp;}</div>
<div align="justify">passdb shadow {<br />
&nbsp; }<br />
3。启动</div>
<div align="justify">#service dovecot start</div>
<div align="justify">&nbsp;</div>
<div align="justify">二、tar.gz包的安装</div>
<div align="justify">1。下载地址：(目前最新版本)<a href="http://http//www.dovecot.org/releases/dovecot-1.0.rc14.tar.gz"><u><font color="#3300ff">http://www.dovecot.org/releases/dovecot-1.0.rc14.tar.gz</font></u></a></div>
<div align="justify">2。安装：</div>
<div align="justify">#tar zxvf dovecot-1.0.rc14.tar.tar<br />
#cd dovecot-1.0.rc14<br />
#./configure --prefix=/usr/local/dovecot --sysconfdir=/usr/local/etc --with-mysql --without-ssl --disable-ipv6</div>
<div align="justify">#make</div>
<div align="justify">#make install</div>
<div align="justify"># cp /usr/local/etc/dovecot-example.conf /usr/local/etc/dovecot.conf</div>
<div align="justify">&nbsp;</div>
<div align="justify">3。建立启动进程所依赖的用户<br />
# useradd -s /bin/false -d /dev/null dovecot</div>
<div align="justify">&nbsp;</div>
<div align="justify">4。修改配置文件</div>
<div align="justify">编辑/usr/local/etc/dovecot.conf<br />
其中，修改<br />
protocols = imap pop3</div>
<div align="justify">ssl_disable = yes</div>
<div align="justify">passdb passwd {<br />
&nbsp;}</div>
<div align="justify">passdb shadow {<br />
&nbsp; }<br />
</div>
<div align="justify">5。启动</div>
<div align="justify">#/usr/local/dovecot/sbin/dovecot</div>
<div align="justify">&nbsp;</div>
<div align="justify">6。可以把启动命令写进/etc/rc.d/rc.local文件，以使得系统启动时能自动启动服务。</div>
<div align="justify">#echo "/usr/local/dovecot/sbin/dovecot" &gt;&gt; /etc/rc.d/rc.local</div>
<div align="justify">&nbsp;</div>
<div align="justify">7。验正</div>
<div align="justify">(1)验正POP3</div>
<div align="justify">#telnet localhost 110</div>
<div align="justify">Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
+OK Dovecot ready.</div>
<div align="justify">&nbsp;</div>
<div align="justify">(2)验正imap</div>
<div align="justify">#telnet localhost 143</div>
Trying 127.0.0.1...<br />
Connected to localhost.localdomain (127.0.0.1).<br />
Escape character is '^]'.<br />
* OK Dovecot ready.
<img src ="http://www.blogjava.net/sealyu/aggbug/217047.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-23 23:20 <a href="http://www.blogjava.net/sealyu/archive/2008/07/23/217047.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sendmail 配置错误：Cannot open /usr/share/sendmail-cf/m4/cf.m4</title><link>http://www.blogjava.net/sealyu/archive/2008/07/23/217028.html</link><dc:creator>seal</dc:creator><author>seal</author><pubDate>Wed, 23 Jul 2008 13:40:00 GMT</pubDate><guid>http://www.blogjava.net/sealyu/archive/2008/07/23/217028.html</guid><wfw:comment>http://www.blogjava.net/sealyu/comments/217028.html</wfw:comment><comments>http://www.blogjava.net/sealyu/archive/2008/07/23/217028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sealyu/comments/commentRss/217028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sealyu/services/trackbacks/217028.html</trackback:ping><description><![CDATA[按照文档配置sendmail的时候，在重新生成sendmail.cf时，,修改了sendmail.mc
<p>m4 sendmail.mc &gt; sendmail.cf</p>
<p>却提示 sendmail.mc:10: m4: Cannot open /usr/share/sendmail-cf/m4/cf.m4: No such file or directory</p>
<p>这是因为没有安装sendmai-cf这个包</p>
<p>安装完成后问题解决</p>
<img src ="http://www.blogjava.net/sealyu/aggbug/217028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sealyu/" target="_blank">seal</a> 2008-07-23 21:40 <a href="http://www.blogjava.net/sealyu/archive/2008/07/23/217028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>