﻿<?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-Read Sean-随笔分类-GNU/Linux</title><link>http://www.blogjava.net/sean/category/18647.html</link><description>Read me, read Sean.</description><language>zh-cn</language><lastBuildDate>Fri, 02 May 2008 12:52:14 GMT</lastBuildDate><pubDate>Fri, 02 May 2008 12:52:14 GMT</pubDate><ttl>60</ttl><item><title>So long, Ubuntu!</title><link>http://www.blogjava.net/sean/archive/2008/05/02/197760.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 02 May 2008 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/05/02/197760.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/197760.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/05/02/197760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/197760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/197760.html</trackback:ping><description><![CDATA[
		<br />最近在家休息，想来Ubuntu新的LTS版本8.04已经出来一周多了，试试看吧，正好想给家里的服务器来一次升级，未曾想这一试让我彻底和Ubuntu说了bye bye。<br /><br />我的主打机器是一台T43，在3月下旬，这台ThinkPad就彻底从Ubuntu变脸成了Arch Linux，运行至今，十分稳定，要速度有速度，要功能有功能，简单而强大，让人爱不释手。我家里有一台"老"机器，AMD Athlon 2500+ / 512M，先后装过SuSE、Fedora、CentOS、Debian、Ubuntu 7.10，由于很长一段时间以来都比较忙，没时间去折腾，在最后这次开刀之前，定格在了Gusty Gibbon。<br /><br />说回这次开刀。趁休假有时间，我打算再整理/升级一下这台服务器，正好Ubuntu 8.04 LTS出来，冲着省事（平时难有时间去折腾）和LTS，我想这应该还是比较自然的一个选择。安装过程很顺利，该找到的硬件都找到，一切都还像是Ubuntu在7.10基础上正常的一次升级版，谁知刚配置完几个我常用的应用程序/服务，就遇到了严重的问题：系统会随机（通常几分钟时间）锁住，没有反应，键盘灯和鼠标灯还有反应，但是屏幕定格，Ctrl-Alt-Backspace或者Ctrl-Alt-F1等等，都不管用了，什么提示都没有。硬件问题？不像啊，之前的Gusty跑得很好。网上一搜，好家伙，还是普遍现象：<br /><br /><a target="_blank" title="http://ubuntuforums.org/showthread.php?t=768200" href="http://ubuntuforums.org/showthread.php?t=768200">http://ubuntuforums.org/showthread.php?t=768200</a><br /><br />没想到拿LTS的正式ISO安装，还是无奈的做了一次小白鼠，对Ubuntu印象因此大打折扣。算了吧，装回熟悉的Debian，一切又恢复安静。从今天起，我的Linux推荐榜调整为：公司服务器 - CentOS、个人服务器 - Debian、个人桌面 - Arch Linux。<br /><br />So long, Ubuntu!<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/197760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-05-02 17:35 <a href="http://www.blogjava.net/sean/archive/2008/05/02/197760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[链接] KDE 4.1: Visual Changelog (rev 783000)</title><link>http://www.blogjava.net/sean/archive/2008/03/12/185525.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 11 Mar 2008 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/03/12/185525.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/185525.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/03/12/185525.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/185525.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/185525.html</trackback:ping><description><![CDATA[
		<br />一篇关于目前开发中的KDE 4.1最新进展介绍<br /><a target="_blank" title="http://polishlinux.org/kde/kde-41-visual-changelog-rev-783000/" href="http://polishlinux.org/kde/kde-41-visual-changelog-rev-783000/">http://polishlinux.org/kde/kde-41-visual-changelog-rev-783000/</a><br /><br />看上去挺不错的，有了KDE 4的基础，从4.1开始，一些之前来不及polish的地方开始逐渐被弥补。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/185525.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-03-12 00:27 <a href="http://www.blogjava.net/sean/archive/2008/03/12/185525.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] 移植Oracle数据库到PostgreSQL的要点</title><link>http://www.blogjava.net/sean/archive/2008/03/11/185510.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 11 Mar 2008 15:04:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/03/11/185510.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/185510.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/03/11/185510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/185510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/185510.html</trackback:ping><description><![CDATA[
		<br />最近尝试把一个Oracle数据库，连同构建在这个数据库上的Java应用移植到PostgreSQL环境。在移植过程中，总结了一些要点，一方面作为笔记备忘，一方面也给有类似任务需要处理而又无从下手的朋友作为参考。<br /><br />1- 首先是准备PostgreSQL环境。有条件的话，最好是找一台空闲的PC机作为测试服务器，安装Linux或BSD，然后从源码编译最新的PostgreSQL 8.3.0。编译时，通过configure指定--with-perl和--with-python以支持PL/Perl和PL/Python。因为绝大多数Linux发行版都已自带Perl和Python，不必额外安装。<br /><br />2- 如果是Windows环境，又需要Perl和Python，则必须额外安装，Python的话，可以方便的找到2.5 for Windows的安装包，Perl的话，推荐ActivePerl，相对麻烦一点，为了后面用到的一些便利的功能顺利加载，Perl版本尽量选5.8.8。<br /><br />3- 创建数据库和用户。通过initdb初始化数据目录，配置postgresql.conf指定主机IP、端口等等信息，配置pg_hba.conf指定访问权限，通过pg_ctl -D &lt;数据目录&gt; -l &lt;日志文件&gt; start启动postmaster，然后createdb、createuser创建数据库和用户。数据库建好之后，就可以createlang -d &lt;数据库名&gt; [plperl|plperlu|plpython|plpythonu]开启PL/Perl和PL/Python。具体命令行参数可通过各命令加--help查看。<br /><br />4- 安装PostgreSQL客户端pgAdminIII，最新版是1.8.2，有条件的话，也可以下载源码自己编译。<br /><br />5- 安装Oracle客户端，需要在PostgreSQL同一台机器，以便Perl用于连接数据库的DBI和Oracle驱动DBD::Oracle模块顺利安装。如果是Windows上的ActivePerl，则可以通过ppm install DBD-Oracle，如果是Linux/BSD，则可以通过CPAN来安装，如perl -MCPAN -e shell进入CPAN Shell，通过install &lt;模块名&gt;或force install &lt;模块名&gt;安装DBI和DBD::Oracle。<br /><br />6- 数据库的移植，可以选择ora2pg来帮忙，目前的版本是4.7。ora2pg是一个用于读取Oracle数据库schema、数据，并生成PostgreSQL脚本或直接导入PostgreSQL数据库的Perl工具。用法很简单，就是通过.conf文件指定数据库连接信息包括NLS_LANG、需要导出导入的schema、table、view、data等等，然后执行一个pl脚本。这是目前相对比较成熟的一个方案，但是遇到schema复杂、约束较强的数据库，需要手工处理的地方还是不少。建议不要直接写入PostgreSQL，而是生成SQL脚本，验证无误后再执行。ora2pg默认会把Oracle中名称的大写转换成小写，因为PostgreSQL在解析SQL时，除非""括起来，默认都是转成小写。schema、table、view、sequence、data等等，基本用ora2pg，加上一些手工调整即可搞定。至于function、stored procedure等，还是手工移吧，偷不得懒。除了ora2pg，其实也可以配置DBI-Link，将Oracle数据库挂到PostgreSQL数据库作为一组独立的"schema"，然后用create table xxx as select ... from ...这样的语法来倒表和数据。PostgreSQL的contrib包也附带有一个dblink，不过是连接其他PostgreSQL数据库的，如果需要连接非PostgreSQL，
还是考虑DBI-Link，任何可以通过Perl的DBI接口访问的数据库，都能link进PostgreSQL。<br /><br />7- 接下来就是Java应用本身了，我这次移的这个应用是Spring+iBatis架构的，很多SQL语句都是明文，好在DAO层的基础部分(CRUD)的SQLMap是工具自动生成，且都是符合ANSI SQL92标准的，不需要修改即可使用。其余的高级查询SQL，需要调整的地方不少，一些常见的修改列举如下：<br /><br />i. SELECT出来的column（包括子查询），如果有别名，必须加AS，比如 select null as some_column from some_table;<br />ii. PostgreSQL没有dual表，类似select 0 from dual的语句，写成select 0即可;<br />iii. DECODE函数需要重构成(case when some_column = 'some_value' then 'some_other_value' when ... then ... else 'some_default_value' end ) as some_column;<br />iv. NVL()函数，PostgreSQL中相对应的是coalesce()，其实几乎所有主流DBMS都支持coalesce，包括Oracle，这才是标准写法;<br />v. 比较日期，在PostgreSQL中，建议使用date_trunc('day', SOME_DATE) = date_trunc('day', #enteredDate#)这样的写法，其中'day'位置可选字段包括有year、month、week、hour、minute、second等等;<br />vi. SYSDATE，对应到PostgreSQL是current_timestamp，可以根据需要使用current_date;<br />vii. ROWNUM，通常我们用ROWNUM都是为了限制查询出来的记录数，PostgreSQL没有这个关键字，需要改成在SELECT语句最后添加 LIMIT语句，如LIMIT 100;<br />viii. (+)这样的外连接写法需要调整为SQL标准的 table1 [LEFT|RIGHT|FULL] OUTER JOIN table2 ON (...);<br />ix. CONNECT BY ... START WITH ... 递归查询可以参考 http: //www.postgresql.org/docs/8.3/static/tablefunc.html 的connectby()函数.<br /><br />最后再多提一点，PostgreSQL自带的过程语言是PL/pgSQL，在PostgreSQL上写function，除了用plpqsql，还支持sql、plperl(u)、plpython(u)等等。如果你对SQL天生过敏，看类似PL/pgSQL的代码都很吃力，别说是写了，你完全可以用你喜欢的语言来表达函数和存储过程的逻辑。有了PL/Python，你还怕什么呢？你几乎能做任何事。<br /><br />[更新 20080313] 把JDBC驱动的部分漏掉了，移植Java应用时，除了改SQL，还需要拿PostgreSQL的JDBC驱动放到classpath下面，如WEB-INF/lib，然后修改数据库连接URL，改成jdbc:postgresql://&lt;ip&gt;:&lt;port&gt;/&lt;dbname&gt;即可。<br /><br />[更新 20080323] 移植schema和数据时，比ora2pg更方便的一种方式是利用EnterpriseDB的Migration Tool，将Oracle的JDBC驱动ojdbc14.jar拷贝到EnterpriseDB安装路径下的jre/lib/ext下后，启动Developer Studio即可建立Oracle连接，选中schema后，可以通过右键Online Migration将schema、数据、函数包等等一次性通通导入EnterpriseDB。如果要继续往"纯"PostgreSQL移，从EDB做backup，然后到PostgreSQL下做restore，这样会丢掉函数包，因为毕竟EDB在PostgreSQL基础上做了相当改造以和Oracle兼容，不过函数包之类还是手工移比较稳妥。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/185510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-03-11 23:04 <a href="http://www.blogjava.net/sean/archive/2008/03/11/185510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Linux下挂载中文Windows共享目录</title><link>http://www.blogjava.net/sean/archive/2008/01/18/176166.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 18 Jan 2008 04:54:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2008/01/18/176166.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/176166.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2008/01/18/176166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/176166.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/176166.html</trackback:ping><description><![CDATA[
		<br />使用Linux很便利的一个地方，就是它把所有资源都按照文件的方式抽象出来，于是我们在读写任何外部资源时，都像是操作本地普通文件一样。访问Windows共享，除了在Nautilus/Konquerer使用smb://，或者命令行使用smbclient之外，当然还有更cool的方式，那就是smbmount。<br /><br />在Ubuntu下使用smbmount，需要安装smbfs包，通过sudo apt-get install smbfs即可。调用方法如下，新建/share目录后：<br />$ [sudo] smbmount //10.10.10.10/share /share -o username=&lt;user_name&gt;,password=&lt;password&gt;,codepage=cp936,iocharset=ut8<br /><br />注意最后两个参数，Linux默认是UTF-8编码，中文Windows则是GBK，按codepage划分，也就是cp936。如果你的环境和上述不一致，则需要相应的修改codepage和iocharset参数。成功以后，我们就可以通过熟悉的ls, cp, cat, less, more, mv, zip, tar, rm, rename, nano, vi等等我们在Linux下已经习以为常的方式来操作了，就和本地文件夹一样。<br /><br />如果想在Linux启动时自动把Windows共享挂进来，则可以修改/etc/fstab，增加如下内容：<br />//10.10.10.10/share /share smbfs username=&lt;user_name&gt;,password=&lt;password&gt;,codepage=cp936,iocharset=ut8,umask=000 0 0<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/176166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2008-01-18 12:54 <a href="http://www.blogjava.net/sean/archive/2008/01/18/176166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hello, Gusty Gibbon!</title><link>http://www.blogjava.net/sean/archive/2007/12/22/169664.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 22 Dec 2007 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/12/22/169664.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/169664.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/12/22/169664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/169664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/169664.html</trackback:ping><description><![CDATA[
		<br />前段时间工作比较忙，想来Gusty Gibbon也已经出来2个月了，还没来得及好好把玩，这周终于有点时间和精力把它下载下来安装到本本上。<br /><br />这个版本用下来最直接的感受有两点：<br />1- 默认的中文字体支持更好了，一方面字体的处理更加协调一致，不像之前默认时经常中文字符一大一小的，默认采用英文字体时对中文的显示也做的不错。<br />2- Compiz和Beryl复和之后，成了Ubuntu新的标配，省得大家费力折腾从其他的apt源或者源码安装了。<br /><br />当然了，其他细微的改进还有很多，比如Pidgin、默认的ntfs-3g、keyring的处理、闭源的驱动和codecs等等。总的来说，Gusty Gibbon在Feisty Fawn基础上，更加成熟，也让我们对明年4月的Hardy Heron这个在6.06之后第二个LTS版本有了更多的期待。<br /><br />这里有一个截图，很多东东还没有装，基本上也没花太多时间去hack，感觉就已经挺漂亮，也挺好用的了，呵呵:<br /><img src="http://www.blogjava.net/images/blogjava_net/sean/screenshot_20071222.png" alt="screenshot_20071222.png" border="0" height="420" width="560" /><br /><br />BTW，AWN(Avant Window Navigator)已经确认会包含在明年8.04(Hardy Heron)默认的apt源中，这对AWN fans们，以及所有喜欢"eye candy"但又不愿花时间去折腾的朋友们来说，无疑是个好消息。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/169664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-12-22 23:57 <a href="http://www.blogjava.net/sean/archive/2007/12/22/169664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [新闻] 联想将于今年第四季度发售预装Linux的ThinkPad</title><link>http://www.blogjava.net/sean/archive/2007/08/07/135071.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 07 Aug 2007 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/08/07/135071.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/135071.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/08/07/135071.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/135071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/135071.html</trackback:ping><description><![CDATA[
		<br />
据外电报道，继Dell发布预装Ubuntu的PC和笔记本电脑之后，联想也宣布将于今年第四季度开始发售预装SuSE Linux
Enterprise Desktop
10的ThinkPad笔记本电脑，硬件和操作系统均由联想向客户提供支持，操作系统升级则由Novell提供。值得注意的是，与Dell面向Linux
爱好者和个人用户不同，联想这次更多的是针对企业用户。<br /><br />
对于广大Linux爱好者来说，这可是个不错的消息哦。<br /><br />
详见:<br /><a href="http://www.reghardware.co.uk/2007/08/06/lenovo_linux/" target="_blank">http://www.reghardware.co.uk/2007/08/06/lenovo_linux/</a><br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/135071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-08-07 21:09 <a href="http://www.blogjava.net/sean/archive/2007/08/07/135071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 11g今年8月登陆Linux</title><link>http://www.blogjava.net/sean/archive/2007/07/14/130252.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 14 Jul 2007 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/07/14/130252.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/130252.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/07/14/130252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/130252.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/130252.html</trackback:ping><description><![CDATA[
		<br />
来自PC World的报道:<br /><a href="http://www.pcworld.com/article/id,134381-c,databases/article.html" target="_blank">http://www.pcworld.com/article/id,134381-c,databases/article.html</a><br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/130252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-07-14 12:31 <a href="http://www.blogjava.net/sean/archive/2007/07/14/130252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] 在Linux环境下调整Eclipse中树状列表(GtkTreeView)的显示密度</title><link>http://www.blogjava.net/sean/archive/2007/06/09/123109.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sat, 09 Jun 2007 14:46:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/06/09/123109.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/123109.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/06/09/123109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/123109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/123109.html</trackback:ping><description><![CDATA[
		<br />
如果你在Windows和Linux两个平台下都使用过Eclipse，那么你一定注意到Windows下Eclipse项目列表的显示要比Linux下
紧凑许多。对于做开发的朋友来讲，在屏幕上同时看到的信息总是希望尽可能多，尽可能全，在这一点上目前的GNOME并不能让我们十分满意，它的GTK+控
件本身和控件之间的间隙占掉了不少本来就很有限的屏幕空间，尤其当屏幕分辨率不是特别高的时候。<br /><br />
Linux版的Eclipse默认使用GTK+2.0的控件，所以在默认的情况下，会和其他GTK应用程序（如OpenOffice.org）一样给人一
种不够密实的感觉。当然，这和GNOME的设计哲学不无关系，不过这不是本文主旨，就不深入讨论了，进入正题讲讲如何调整Eclipse树状列表的显示密
度。<br /><br />
基于GTK+2.0的程序在启动时会到用户的home目录找GTK+2.0的配置文件，即~/.gtkrc-2.0，Ubuntu下默认没有这个文件，需要我们自己创建。打开你习惯的编辑器，加入如下代码：<br /><br />
style "eclipse" {<br />
  font_name="Sans 8"<br />
  GtkTreeView::vertical-separator=0<br />
  GtkTreeView::horizontal-separator=0<br />
}<br />
class "GtkTreeView" style "eclipse"<br /><br />
重启Eclipse应该就能看到效果了。如果你想做得更彻底，对所有常用的GTK+2.0控件都开刀的话，可以这样写：<br /><br />
style "gtkcompact" {<br />
  font_name="Sans 8"<br />
  GtkButton::default_border={0,0,0,0}<br />
  GtkButton::default_outside_border={0,0,0,0}<br />
  GtkButtonBox::child_min_width=0<br />
  GtkButtonBox::child_min_heigth=0<br />
  GtkButtonBox::child_internal_pad_x=0<br />
  GtkButtonBox::child_internal_pad_y=0<br />
  GtkMenu::vertical-padding=1<br />
  GtkMenuBar::internal_padding=0<br />
  GtkMenuItem::horizontal_padding=4<br />
  GtkOptionMenu::indicator_size=0<br />
  GtkOptionMenu::indicator_spacing=0<br />
  GtkPaned::handle_size=4<br />
  GtkRange::trough_border=0<br />
  GtkRange::stepper_spacing=0<br />
  GtkScale::value_spacing=0<br />
  GtkScrolledWindow::scrollbar_spacing=0<br />
  GtkExpander::expander_size=10<br />
  GtkExpander::expander_spacing=0<br />
  GtkTreeView::vertical-separator=0<br />
  GtkTreeView::horizontal-separator=0<br />
  GtkTreeView::expander-size=8<br />
  GtkTreeView::fixed-height-mode=TRUE<br />
  GtkWidget::focus_padding=0<br />
}<br />
class "GtkWidget" style "gtkcompact"<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/123109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-06-09 22:46 <a href="http://www.blogjava.net/sean/archive/2007/06/09/123109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] 解决Linux环境下SQL*Plus方向键无法使用的问题</title><link>http://www.blogjava.net/sean/archive/2007/06/07/122736.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Thu, 07 Jun 2007 14:13:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/06/07/122736.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/122736.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/06/07/122736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/122736.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/122736.html</trackback:ping><description><![CDATA[
		<br />
Linux下面使用Oracle的SQL*Plus工具有个挺恼人的问题：通过sqlplus命令进入到SQL*Plus控制台后，我们在Bash中已经
习以为常的上下左右键突然变成了^[[A^[[B^[[D^[[C这样的"乱码"。熟悉ksh的朋友肯定要说我们这是大惊小怪了，不过对于从
Windows平台转过来的一般用户而言，不小心按错一下就是4个错误的字符，而且历史命令也无法方便的回查了，确实挺郁闷的。<br /><br />
别着急，如果你的Linux是Debian或者Ubuntu/Kubuntu，直接sudo apt-get install
rlwrap安装这个小巧的readline扩展，然后就可以以rlwrap
sqlplus的方式进入方向键"正常"的SQL*Plus了。当然，如果嫌每次敲rlwrap不爽，可以在/etc/profile或者自己的
~/.bashrc里面添加alias sqlplus='rlwrap sqlplus'。其他发行版的朋友可以选择rpm包或者干脆从源码自己编译。<br /><br /><img src ="http://www.blogjava.net/sean/aggbug/122736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-06-07 22:13 <a href="http://www.blogjava.net/sean/archive/2007/06/07/122736.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Ubuntu Feisty中修改nm-applet默认网络连接</title><link>http://www.blogjava.net/sean/archive/2007/05/13/117197.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 13 May 2007 15:34:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/05/13/117197.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/117197.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/05/13/117197.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/117197.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/117197.html</trackback:ping><description><![CDATA[
		<br />
不知道大家注意到没有，Ubuntu Feisty自带的nm-applet有一个小毛病：一旦你通过它连上某个无线网络之后，不管你是不是点错了，或者说是不是真的需要保留这个连接的信息，它都会记录下这个网络ID，今后如果检测到这个网络，根据它自己排的优先级（最后一次成功连接，但有时候不准，或者说有可能在来回切换时不小心被弄乱），如果它排在前面，就会自动连上去，就算你手动选择另一个，它还是不依不饶的切回它认定的那一个。<br /><br />
遇到这个情况，我想许多朋友大概和我一样，在它提供的上下文菜单找，不过GNOME的界面哲学使得界面菜单直接提供的信息和高级功能很有限，或者到类似 /etc/*、~/.*/之类的地方找相关配置文件，但是实际上它也不是那么"传统"，因为nm-applet使用GConf来记录配置信息：<br /><br />
在命令行输入gconf-editor，打开GConf编辑器，定位到system -&gt; networking -&gt; wireless -&gt; networks，这个目录下记录了所有nm-applet使用的无线网络ID和相关配置信息，如果有不希望保留的配置，直接进到相关目录，右键逐个点击右面的key-value条目，Unset Key，完成以后就可以让nm-applet"忘掉"这个无线网络连接。当然，通过这个小工具，你也可以手工对某组具体的key-value做修改。<br /><br />
这件事也让我联想起Linus Torvalds不止一次（也包括不少KDE的死忠）对GNOME的微词：尽可能让用户自己掌控，还是尽可能帮用户拿主意？这是个问题。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/117197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-05-13 23:34 <a href="http://www.blogjava.net/sean/archive/2007/05/13/117197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Dell to Choose Ubuntu</title><link>http://www.blogjava.net/sean/archive/2007/05/01/114947.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 01 May 2007 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/05/01/114947.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/114947.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/05/01/114947.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/114947.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/114947.html</trackback:ping><description><![CDATA[
		<br />
		<a href="http://www.eweek.com/article2/0,1759,2124025,00.asp" target="_blank">http://www.eweek.com/article2/0,1759,2124025,00.asp</a>
		<br />
		<br />
相信大家都听说了Dell将在部分产品型号的PC和Laptop中预装Linux操作系统而非Windows，据eWeek的报道，该Linux操作系统将会是Ubuntu。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/114947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-05-01 17:19 <a href="http://www.blogjava.net/sean/archive/2007/05/01/114947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>令人惊喜的Feisty，让人失望的Evolution</title><link>http://www.blogjava.net/sean/archive/2007/04/27/114214.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Fri, 27 Apr 2007 14:25:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/04/27/114214.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/114214.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/04/27/114214.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/114214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/114214.html</trackback:ping><description><![CDATA[
		<br />
上个周末的时候安装了最新的Ubuntu Feisty Fawn，给用了很久的Dapper来了一次彻底升级。第一印象是眼前一亮，打开默认自带的Compiz，对用惯了传统桌面系统的用户而言，毫不夸张的说，是全新的桌面体验。<br /><br />
花了个把小时样子简单调整了更新源、中文输入法、字体、区域选项等等，还上了比Compiz更强的Beryl，开始全面试用。经过一周的使用，包括工作和其他应用，感觉确实比6.06进步不少，尤其在桌面方面，比较明显的改善有：<br /><br />
1- 默认就支持Compiz，同时安装Beryl也非常容易。<br />
2- Shell中敲命令，如果出现尚未安装的常见软件包，会提示安装信息。<br />
3- Gaim默认增加了QQ支持。<br />
4- 新的NetworkManager Applet 0.6.4使得无线连接管理变得简单、直观、而且相当方便。<br />
5- OpenOffice.org更加完善，对中文支持更加友好，尤其是在中文字体宽度计算上的问题得到了解决。<br /><br />
总的来说，已经足够胜任日常工作的需要，而且十分简单易用。当然了，有些遗憾的是默认的邮件客户端Evolution并不能让人满意：<br /><br />
我原本一直使用Thunderbird，这次想给Evolution一次机会表现一下，它却不那么争气。本以为Novell和MS的东西集成应该不错，但是除了对日历、会议邀请的支持还算是亮点之外，并没有发现什么过人之处，而对TNEF的支持就有点贻笑大方了，Thunderbird都能正确处理的Winmail.dat附件，在Evolution下基本就是一个字：挂，连另存然后外部tnef处理都无法搞定，因为出来的东西已经不是tnef格式，搞不懂Evolution为什么要做这一层额外的处理。<br /><br />
于是准备切回Thunderbird，更令人感到困惑的事情出现了：在Evolution下辛辛苦苦录入的联系人信息，居然无法导出一个简简单单的CSV，而只能是vCard。界面上没有其他选项，命令行倒是有一个导出工具可以指定--format=csv，不过很不幸，上来就是core dump，晕倒。本来简简单单的东西，何必复杂化。还好vCard本身还是文本，处理一下也不难，但感觉怪怪的，心中难免不爽，对Evolution和Novell的印象大打折扣。<br /><br />
顺便表扬一下SWT/Eclipse，在Ubuntu Feisty下跑起来真的是无缝，界面风格完全就是一个native的应用程序，开启Beryl效果之后，连Tooltip都跟着"炫"了起来，让人越看越喜欢，Evolution带来的不愉快也就自然而然抛在脑后了。<br /><br />
今天，你Feisty了吗？<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/114214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-04-27 22:25 <a href="http://www.blogjava.net/sean/archive/2007/04/27/114214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[新闻] Debian 4.0 (etch) 发布！</title><link>http://www.blogjava.net/sean/archive/2007/04/08/109279.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Sun, 08 Apr 2007 14:50:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/04/08/109279.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/109279.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/04/08/109279.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/109279.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/109279.html</trackback:ping><description><![CDATA[
		<br />
大家期待已久的Debian重要升级4.0，代号"etch"，终于正式发布。请看官方声明:<br /><a href="http://www.debian.org/News/2007/20070408" target="_blank">http://www.debian.org/News/2007/20070408</a><br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/109279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-04-08 22:50 <a href="http://www.blogjava.net/sean/archive/2007/04/08/109279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [新闻] Mark Shuttleworth Joins the Linux Foundation  </title><link>http://www.blogjava.net/sean/archive/2007/03/14/103905.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 14 Mar 2007 15:56:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/03/14/103905.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/103905.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/03/14/103905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/103905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/103905.html</trackback:ping><description><![CDATA[<br/>
<a href="http://www.markshuttleworth.com/archives/99" target="_blank">http://www.markshuttleworth.com/archives/99</a><br/>
<br/>
Ubuntu创始人Mark Shuttleworth正式宣布加入今年1月由Linux业界两大组织OSDL和FSG合并成立的Linux Foundation。<br/>
<br/>
<br/><img src ="http://www.blogjava.net/sean/aggbug/103905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-03-14 23:56 <a href="http://www.blogjava.net/sean/archive/2007/03/14/103905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[阅读] 从RH/Fedora到Ubuntu，ESR如是说</title><link>http://www.blogjava.net/sean/archive/2007/02/22/100329.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 21 Feb 2007 20:49:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/02/22/100329.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/100329.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/02/22/100329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/100329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/100329.html</trackback:ping><description><![CDATA[<br />
<a href="http://www.linux-watch.com/news/NS6401388051.html" target="_blank">http://www.linux-watch.com/news/NS6401388051.html</a><br />
<br />
Linux-Watch上刚发布了一篇关于最近Eric S. Raymond (ESR)&ldquo;受够了&rdquo;Fedora，&ldquo;转投&rdquo;Ubuntu的文章，挺有趣的。<br />
<br />
Note: Eric S. Raymond可以说是Unix大牛和开源运动的鼻祖之一，他最有名的著作为&quot;The Cathedral and the Bazaar&quot;(中译&ldquo;大教堂与市集&rdquo;)和&quot;The Art of UNIX Programming&quot;(中译&ldquo;UNIX编程艺术&rdquo;)。<br />
<br/>
<br/><img src ="http://www.blogjava.net/sean/aggbug/100329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-02-22 04:49 <a href="http://www.blogjava.net/sean/archive/2007/02/22/100329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] CVSNT到Linux平台的资源库无障碍迁移</title><link>http://www.blogjava.net/sean/archive/2007/02/02/97394.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Thu, 01 Feb 2007 16:24:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/02/02/97394.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/97394.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/02/02/97394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/97394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/97394.html</trackback:ping><description><![CDATA[<br/>
一直误以为CVSNT和Linux下的CVS不兼容，至少没那么"无缝"，事实证明一切真的很简单，以下就是从CVSNT迁出一个资源库到Ubuntu下的全部步骤：<br/>
<br/>
1- 通过Samba或者其他方式将CVSNT资源库整个目录，包括CVSROOT子目录，拷贝到Ubuntu文件系统中，chown，chmod。<br/>
2- 在Ubuntu下编辑/etc/xinetd.d/cvspserver，在cvsargs增加--allow-root [YOUR CVS PATH]，每一个资源库均写在这里，以空格分隔。<br/>
3- 命令行执行sudo /etc/init.d/xinetd restart。<br/>
<br/>
迁移后的资源库即可使用了，包括历史修订记录、标签等等信息均完整保留，并不要求新的资源库用户和老资源库用户一致。这就是CVS值得我们叫好的地方，一切都那么简单、直接、好用。可能需要注意一下的是encoding，如果两边的encoding不一致，而文件名或目录名出现非ASCII字符的话，可能出现无法同步或者部分文件丢失的现象，文件内容出现非ASCII字符则不影响。<br/>
<br/>
See Also: <a href="http://www.blogjava.net/sean/archive/2006/09/17/70145.html" target="_blank">[Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务</a><br/>
<br/>
<br/>

<img src ="http://www.blogjava.net/sean/aggbug/97394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-02-02 00:24 <a href="http://www.blogjava.net/sean/archive/2007/02/02/97394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Windows/Linux双系统重装Windows后无法进入Linux的最速解决办法</title><link>http://www.blogjava.net/sean/archive/2007/01/23/95605.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 23 Jan 2007 13:14:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/23/95605.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/95605.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/23/95605.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/95605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/95605.html</trackback:ping><description><![CDATA[<br/>
本文假定你有CD-ROM光驱以及Linux Live CD (如Ubuntu)，并使用GRUB作为bootloader。<br/>
<br/>
安装好Windows基本系统后，用Live CD启动，进入Linux桌面，打开Terminal，sudo -s切换到root，然后执行如下步骤：<br/>
&nbsp;&nbsp;# grub<br/>
&nbsp;&nbsp;grub&gt; root (hd0,7)<br/>
&nbsp;&nbsp;grub&gt; setup (hd0)<br/>
&nbsp;&nbsp;grub&gt; quit<br/>
&nbsp;&nbsp;# shutdown -r now<br/>
机器重启后，熟悉的grub界面又出来了。:)<br/>
<br/>
注意在root命令和setup命令后都有空格。另外稍微解释一下hd0和hd0,7的含义：hd是Hard Disk的缩写，0表示第一块硬盘，7表示编号为7的分区。如果不确定原先的Linux安装所在的分区编号是多少，可以在敲完"root (hd0,"后敲[TAB]键，在列表中即可通过文件系统类型和分区大小一目了然的找到。<br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/95605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-23 21:14 <a href="http://www.blogjava.net/sean/archive/2007/01/23/95605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[新闻] Open Source Development Labs (OSDL) 和 Free Software Group (FSG) 合并成为 Linux Foundation</title><link>http://www.blogjava.net/sean/archive/2007/01/22/95429.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 22 Jan 2007 15:59:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/22/95429.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/95429.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/22/95429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/95429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/95429.html</trackback:ping><description><![CDATA[<br/>
详见:<br/>
<a href="http://www.linux-foundation.org/wordpress/?p=286" target="_blank">http://www.linux-foundation.org/wordpress/?p=286</a><br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/95429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-22 23:59 <a href="http://www.blogjava.net/sean/archive/2007/01/22/95429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Debian/Ubuntu下安装NFS如无法正常启动需要dpkg-reconfigure portmap</title><link>http://www.blogjava.net/sean/archive/2007/01/10/93006.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 10 Jan 2007 13:17:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/10/93006.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/93006.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/10/93006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/93006.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/93006.html</trackback:ping><description><![CDATA[<br/>
安装NFS的方法很简单，apt-get install nfs-kernel-server，之后只要配置/etc/exports (如[path] [client-hostname](rw,async))，然后/etc/init.d/nfs-kernel-server start (或者stop|restart等等)即可启动和控制NFS服务运行。在客户端通过mount  xxx.xxx.xxx.xxx:/xxx ([ip-address]:[server-path])的方式即可挂载并当做本地文件系统一样使用。<br/>
<br/>
如果遇到在服务器端无法正常启动nfs-kernel-server，多半是你的portmap没有正确配置，需要dpkg-reconfigure portmap，弹出的界面选No。<br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/93006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-10 21:17 <a href="http://www.blogjava.net/sean/archive/2007/01/10/93006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Debian Sarge(3.1r4)下编译和安装PostgreSQL 8.2.1</title><link>http://www.blogjava.net/sean/archive/2007/01/10/92796.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Tue, 09 Jan 2007 17:35:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/10/92796.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/92796.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/10/92796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/92796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/92796.html</trackback:ping><description><![CDATA[<br/>
[注]由于Debian相当保守的包管理和更新机制，本文提到的编译和安装过程可能要求你在/etc/apt/sources.list中开放testing级别的包。<br/>
<br/>
1- 首先是去PostgreSQL的官方网站[<a href="http://www.postgresql.org/" target="_blank">link</a>]下载最新8.2.1版本的源码，postgresql-8.2.1.tar.gz。<br/>
2- 拷贝并解压:<br/>
&nbsp;&nbsp;&nbsp;&nbsp; $ sudo -s<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # cp postgresql-8.2.1.tar.gz /opt<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # cd /opt<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # tar zxvf postgresql-8.2.1.tar.gz<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # cd postgresql-8.2.1<br/>
3- 在开始configure和make之前，先做一些准备工作，为了正常configure和make，需要:<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # apt-get install build-essential gcc-4.0 libreadline5 libreadline5-dev m4 flex bison zlib1g zlib1g-dev<br/>
4- 一切就绪，开工: <br/>
&nbsp;&nbsp;&nbsp;&nbsp; # ./configure --prefix=/opt/postgresql  ### 更多选项参考./configure --help ###<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # make<br/>
&nbsp;&nbsp;正常的话，可以看到最后一行输出为: "All of PostgreSQL successfully made. Ready to install."<br/>
5- 安装: <br/>
&nbsp;&nbsp;&nbsp;&nbsp; # make install<br/>
&nbsp;&nbsp;最后应该看到输出"PostgreSQL installation complete."。<br/>
6- 初始化数据库环境: <br/>
&nbsp;&nbsp;&nbsp;&nbsp; # mkdir /opt/postgresql/data<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # adduser postgres<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # chown postgres /opt/postgresql/data<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # sudo -u postgres /opt/postgresql/bin/initdb /opt/postgresql/data/<br/>
&nbsp;&nbsp;编辑/opt/postgresql/data目录下的pg_hba.conf，添加local all postgres ident sameuser和local all all md5两行；<br/>
&nbsp;&nbsp;编辑/opt/postgresql/data目录下的postgresql.conf，去掉listen_addresses的注释符，修改为listen_addresses = '*'。<br/>
7- 启动数据库: <br/>
&nbsp;&nbsp;&nbsp;&nbsp; # sudo -u postgres /opt/postgresql/bin/pg_ctl -D /opt/postgresql/data -l /opt/postgresql/data/serverlog start<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # sudo -u postgres /opt/postgresql/bin/createuser -P dbuser<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # sudo -u postgres /opt/postgresql/bin/createdb testdb<br/>
&nbsp;&nbsp;&nbsp;&nbsp; # /opt/postgresql/bin/psql -U dbuser testdb<br/>
&nbsp;&nbsp;若能正常进入PostgreSQL控制台并执行查询如select version();即表示安装成功。<br/>
<br/>
每次都这样去命令行启动数据库当然有点太笨了，下次再抽空和大家分享PostgreSQL自动化启动脚本的编写。<br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/92796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-10 01:35 <a href="http://www.blogjava.net/sean/archive/2007/01/10/92796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] 网络不是很流畅的情况下安装rails 1.1.6 (Ubuntu Dapper Drake)</title><link>http://www.blogjava.net/sean/archive/2007/01/08/92487.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Mon, 08 Jan 2007 15:32:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/08/92487.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/92487.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/08/92487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/92487.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/92487.html</trackback:ping><description><![CDATA[<br/>
由于最近国际互联网速率不是很稳定，而gem install自动默认到rubyforge下载gem安装包，由于rails依赖好几个其他的gem，而gem install需要遍历所有这些gem，所以gem install经常出出现超时的情况，怎么办呢？答案就是把相关的每个gem单独下载到本地，然后用--local选项安装。但是怎么确定你的需要哪些gem呢？<br/>
<br/>
简单说明一下rubyforge的目录结构，了解之后找起gem来就会方便很多：<br/>
&nbsp;&nbsp;&nbsp;&nbsp;http://rubyforge.org/projects/[project_name]/<br/>
# 把[project_name]替换为你要找的gem名称（不要加版本号）就能访问到该gem的主页，然后中间靠右即是跳转到下载页面的链接("Download")，排在最上面的就是最新版，注意文件扩展名，我们要找的是.gem。<br/>
<br/>
本文假定你已经apt-get install ruby1.8 ri rdoc irb，并且也已经去<a href="http://rubyforge.org/projects/rubygems/" target="_blank">http://rubyforge.org/projects/rubygems/</a>下载并安装好RubyGems。<br/>
<br/>
1- 首先下载rails gem，按照刚才提的方法，rails的gem主页在<a href="http://rubyforge.org/projects/rails/" target="_blank">http://rubyforge.org/projects/rails/</a>，目前的最新版本是1.1.6。<br/>
2- cd到下载到本地的目录，然后<br/>
&nbsp;&nbsp;&nbsp;&nbsp;$ sudo gem specification --local --version 1.1.6 rails | grep "^&nbsp;&nbsp; name:\|^&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version:" # (^后分别是2个空格和8个空格)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;可以看到如下结果：<br/>
----------------------------------------<br/>
&nbsp;&nbsp;name: rake<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 0.7.1<br/>
&nbsp;&nbsp;name: activesupport<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 1.3.1<br/>
&nbsp;&nbsp;name: activerecord<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 1.14.4<br/>
&nbsp;&nbsp;name: actionpack<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 1.12.5<br/>
&nbsp;&nbsp;name: actionmailer<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 1.2.5<br/>
&nbsp;&nbsp;name: actionwebservice<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version: 1.1.6<br/>
----------------------------------------<br/>
3- OK，接下来我们依次去rubyforge下载这些gem，注意actionwebservice的project name是"aws"，其余的project name和gem名称一样。<br/>
4- 依次sudo gem install --local [gem_name]，rails放在最后，即可完成安装，可以通过which rails或者rails [项目名]验证。<br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/92487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-08 23:32 <a href="http://www.blogjava.net/sean/archive/2007/01/08/92487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tips] Ubuntu下安装和配置PostgreSQL 8.1</title><link>http://www.blogjava.net/sean/archive/2007/01/04/91845.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Thu, 04 Jan 2007 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/04/91845.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/91845.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/04/91845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/91845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/91845.html</trackback:ping><description><![CDATA[<br/>
在Ubuntu下安装和配置PostgreSQL相对来说很简单，只是需要注意一些细节上的问题。在这里简单过一遍安装步骤，其中带[*]的地方需要特别留意。<br/>
<br/>
1- $ sudo apt-get install postgresql-8.1 #[*]apt-get install postgresql会安装7.4版的PostgreSQL。<br/>
2- $ sudo nano /etc/postgresql/8.1/main/postgresql.conf #如果不是单机使用，需要修改CONNECTION AND AUTHENTICATION段的"#listen_addresses = 'localhost'"为"listen_addresses = '*'"(去掉注释符"#"，允许网络访问而非仅限localhost)。<br/>
3- $ sudo -u postgres createuser -P #依次输入需要创建的用户名、密码、以及是否是超级用户、是否有权限创建数据库、是否有权限添加新的用户/角色 [*] 建议一定要用-P选项当场创建密码，避免以后的连接配置问题。<br/>
4- $ sudo -u postgres createdb [databasename] #创建数据库。<br/>
5- $ psql -U [username] [databasename] #正常的话已经可以进入PostgreSQL交互命令界面，并且看到PostgreSQL版本号，如8.1.4。[*]注意大小写<br/>
6- 安装自己喜欢的客户端，官方推荐pgadminIII，安装方法 $ apt-get install pgadmin3; 或者其他客户端，如Eclipse + QuantumDB (需要另外下载JDBC驱动)。<br/>
<br/>
大功告成，坐下来喝杯咖啡~~<br/>
<br/>
<br/>
<img src ="http://www.blogjava.net/sean/aggbug/91845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-04 21:39 <a href="http://www.blogjava.net/sean/archive/2007/01/04/91845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[阅读] Linux software installation to improve</title><link>http://www.blogjava.net/sean/archive/2007/01/03/91647.html</link><dc:creator>大胃</dc:creator><author>大胃</author><pubDate>Wed, 03 Jan 2007 14:23:00 GMT</pubDate><guid>http://www.blogjava.net/sean/archive/2007/01/03/91647.html</guid><wfw:comment>http://www.blogjava.net/sean/comments/91647.html</wfw:comment><comments>http://www.blogjava.net/sean/archive/2007/01/03/91647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sean/comments/commentRss/91647.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sean/services/trackbacks/91647.html</trackback:ping><description><![CDATA[
		<br />
		<a target="_blank" title="http://www.linux-watch.com/news/NS4586903228.html" href="http://www.linux-watch.com/news/NS4586903228.html">http://www.linux-watch.com/news/NS4586903228.html</a>
		<br />
		<br />由Debian创始人之一Ian Murdock担任主席的LSB(Linux Standard Base, Free Software Group的下属机构)近日做出计划，要提供一套通用的API整合不同的包管理工具/机制，如Debian的APT、RedHat和SuSE的RPM、YUM等等，使得在Linux平台安装软件变得更加标准化，以吸引更多的ISV为Linux平台开发软件。<br /><br /><br /><img src ="http://www.blogjava.net/sean/aggbug/91647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sean/" target="_blank">大胃</a> 2007-01-03 22:23 <a href="http://www.blogjava.net/sean/archive/2007/01/03/91647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>