﻿<?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-ivaneeo's blog-随笔分类-debian－企鹅中最像牛</title><link>http://www.blogjava.net/ivanwan/category/2553.html</link><description>自由的力量，自由的生活。</description><language>zh-cn</language><lastBuildDate>Fri, 21 Feb 2014 10:44:09 GMT</lastBuildDate><pubDate>Fri, 21 Feb 2014 10:44:09 GMT</pubDate><ttl>60</ttl><item><title>如何杀死僵尸进程呢？</title><link>http://www.blogjava.net/ivanwan/archive/2014/02/20/410119.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 20 Feb 2014 11:49:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/02/20/410119.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/410119.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/02/20/410119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/410119.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/410119.html</trackback:ping><description><![CDATA[<h2>如何杀死僵尸进程呢？</h2> <p>一般僵尸进程很难直接kill掉，不过您可以kill僵尸爸爸。父进程死后，僵尸进程成为&#8221;孤儿进程&#8221;，过继给1号进程init，init始终会负责清理僵尸进程．它产生的所有僵尸进程也跟着消失。</p> <div> <p>ps&nbsp;-e&nbsp;-o&nbsp;ppid,stat&nbsp;|&nbsp;grep&nbsp;Z&nbsp;|&nbsp;cut&nbsp;-d&#8221;&nbsp;&#8221;&nbsp;-f2&nbsp;|&nbsp;xargs&nbsp;kill&nbsp;-9</p> <p>或</p> <p>kill&nbsp;-HUP&nbsp;`ps&nbsp;-A&nbsp;-ostat,ppid&nbsp;|&nbsp;grep&nbsp;-e&nbsp;&#8217;^[Zz]&#8216;&nbsp;|&nbsp;awk&nbsp;&#8217;{print&nbsp;$2}&#8217;`</p> <p>当然您可以自己编写更好的shell脚本，欢迎与大家分享。</p> </div> <p>另外子进程死后，会发送SIGCHLD信号给父进程，父进程收到此信号后，执行waitpid()函数为子进程收尸。就是基于这样的原理：就算父进 程没有调用wait，内核也会向它发送SIGCHLD消息，而此时，尽管对它的默认处理是忽略，如果想响应这个消息，可以设置一个处理函数。</p><img src ="http://www.blogjava.net/ivanwan/aggbug/410119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-02-20 19:49 <a href="http://www.blogjava.net/ivanwan/archive/2014/02/20/410119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下高并发socket最大连接数(转)</title><link>http://www.blogjava.net/ivanwan/archive/2013/11/15/406398.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 15 Nov 2013 12:00:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/11/15/406398.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/406398.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/11/15/406398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/406398.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/406398.html</trackback:ping><description><![CDATA[<p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　<a id="k530832709" href="http://www.chinabyte.com/keyword/Linux/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">Linux</a>下高并发socket最大连接数所受的限制问题</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　1、修改用户进程可打开文件数限制</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　在Linux平台上，无论编写客户端程序还是服务端程序，在进行高并发TCP连接处理时，最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄，每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　[speng@as4 ~]$ ulimit -n</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　1024</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这表示当前用户的每个进程最多允许同时打开1024个文件，这1024个文件中还得除去每个进程必然打开的标准输入，标准输出，标准错误，<a id="k530768927" href="http://server.chinabyte.com/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">服务器</a>监听 socket,进程间通讯的<a id="k530834966" href="http://www.chinabyte.com/keyword/unix/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">unix</a>域socket等文件，那么剩下的可用于客户端socket连接的文件数就只有大概1024-10=1014个左右。也就是说缺省情况下，基于Linux的通讯程序最多允许同时1014个TCP并发连接。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　对于想支持更高数量的TCP并发连接的通讯处理程序，就必须修改Linux对当前用户的进程同时打开的文件数量的软限制(soft limit)和硬限制(hardlimit)。其中软限制是指Linux在当前系统能够承受的范围内进一步限制用户同时打开的文件数;硬限制则是根据系统硬件资源状况(主要是系统内存)计算出来的系统最多可同时打开的文件数量。通常软限制小于或等于硬限制。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　修改上述限制的最简单的办法就是使用ulimit命令：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　[speng@as4 ~]$ ulimit -n</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　上述命令中，在中指定要设置的单一进程允许打开的最大文件数。如果系统回显类似于"Operation notpermitted"之类的话，说明上述限制修改失败，实际上是因为在中指定的数值超过了Linux系统对该用户打开文件数的软限制或硬限制。因此，就需要修改Linux系统对用户的关于打开文件数的软限制和硬限制。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第一步，修改/etc/security/limits.conf文件，在文件中添加如下行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　speng soft nofile 10240</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　speng hard nofile 10240</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　其中speng指定了要修改哪个用户的打开文件数限制，可用'*'号表示修改所有用户的限制;</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　soft或hard指定要修改软限制还是硬限制;10240则指定了想要修改的新的限制值，即最大打开文件数(请注意软限制值要小于或等于硬限制)。修改完后保存文件。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第二步，修改/etc/pam.d/login文件，在文件中添加如下行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　<a id="k531803120" href="http://www.chinabyte.com/keyword/session/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">session</a>&nbsp;required /lib/security/pam_limits.so 这是告诉Linux在用户完成系统登录后，应该调用pam_limits.so<a id="k530847329" href="http://www.chinabyte.com/keyword/%E6%A8%A1%E5%9D%97/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">模块</a>来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制)，而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完后保存此文件。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第三步，查看Linux系统级的最大打开文件数限制，使用如下命令：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　[speng@as4 ~]$ cat /proc/sys/<a id="k531802501" href="http://www.chinabyte.com/keyword/fs/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">fs</a>/file-max</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　12158</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)12158个文件，是Linux系统级硬限制，所有用户级的打开文件数限制都不应超过这个数值。通常这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制，如果没有特殊需要，不应该修改此限制，除非想为用户级打开文件数限制设置超过此限制的值。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　修改此硬限制的方法是修改/etc/rc.local脚本，在脚本中添加如下行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　echo 22158 &gt; /proc/sys/fs/file-max</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这是让Linux在启动完成后强行将系统级打开文件数硬限制设置为22158.修改完后保存此文件。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　完成上述步骤后重启系统，一般情况下就可以将Linux系统对指定用户的单一进程允许同时打开的最大文件数限制设为指定的数值。如果重启后用 ulimit-n命令查看用户可打开文件数限制仍然低于上述步骤中设置的最大值，这可能是因为在用户登录脚本/etc/profile中使用ulimit -n命令已经将用户可同时打开的文件数做了限制。由于通过ulimit-n修改系统对用户可同时打开文件的最大数限制时，新修改的值只能小于或等于上次 ulimit-n设置的值，因此想用此命令增大这个限制值是不可能的。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　所以，如果有上述问题存在，就只能去打开/etc/profile脚本文件，在文件中查找是否使用了ulimit-n限制了用户可同时打开的最大文件数量，如果找到，则删除这行命令，或者将其设置的值改为合适的值，然后保存文件，用户退出并重新登录系统即可。 通过上述步骤，就为支持高并发TCP连接处理的通讯处理程序解除关于打开文件数量方面的系统限制。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　2、修改网络内核对TCP连接的有关限制</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　在Linux上编写支持高并发TCP连接的客户端通讯处理程序时，有时会发现尽管已经解除了系统对用户同时打开文件数的限制，但仍会出现并发TCP连接数增加到一定数量时，再也无法成功建立新的TCP连接的现象。出现这种现在的原因有多种。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第一种原因可能是因为Linux网络内核对本地端口号范围有限制。此时，进一步分析为什么无法建立TCP连接，会发现问题出在connect()调用返回失败，查看系统错误提示消息是"Can't assign requestedaddress".同时，如果在此时用tcpdump工具监视网络，会发现根本没有TCP连接时客户端发SYN包的网络流量。这些情况说明问题在于本地Linux系统内核中有限制。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　其实，问题的根本原因在于Linux内核的<a id="k530840217" href="http://www.chinabyte.com/keyword/TCP/IP/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">TCP/IP</a>协议实现模块对系统中所有的客户端TCP连接对应的本地端口号的范围进行了限制(例如，内核限制本地端口号的范围为1024~32768之间)。当系统中某一时刻同时存在太多的TCP客户端连接时，由于每个TCP客户端连接都要占用一个唯一的本地端口号(此端口号在系统的本地端口号范围限制中)，如果现有的TCP客户端连接已将所有的本地端口号占满，则此时就无法为新的TCP客户端连接分配一个本地端口号了，因此系统会在这种情况下在connect()调用中返回失败，并将错误提示消息设为"Can't assignrequested<a id="k531804915" href="http://www.chinabyte.com/keyword/address/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">&nbsp;address</a>".</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　有关这些控制逻辑可以查看Linux内核源代码，以linux2.6内核为例，可以查看tcp_<a id="k530835814" href="http://www.chinabyte.com/keyword/IPv4/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">ipv4</a>.c文件中如下函数：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　static int tcp_v4_hash_connect(struct sock *sk)</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　请注意上述函数中对变量sysctl_local_port_range的访问控制。变量sysctl_local_port_range的初始化则是在tcp.c文件中的如下函数中设置：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　void __init tcp_init(void)</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　内核编译时默认设置的本地端口号范围可能太小，因此需要修改此本地端口范围限制。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第一步，修改/etc/sysctl.conf文件，在文件中添加如下行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.ip_local_port_range = 1024 65000</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这表明将系统对本地端口范围限制设置为1024~65000之间。请注意，本地端口范围的最小值必须大于或等于1024;而端口范围的最大值则应小于或等于65535.修改完后保存此文件。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第二步，执行sysctl命令：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　[speng@as4 ~]$ sysctl -p</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　如果系统没有错误提示，就表明新的本地端口范围设置成功。如果按上述端口范围进行设置，则理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第二种无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE<a id="k530831307" href="http://www.chinabyte.com/keyword/%E9%98%B2%E7%81%AB%E5%A2%99/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">防火墙</a>对最大跟踪的TCP连接数有限制。此时程序会表现为在 connect()调用中阻塞，如同死机，如果用tcpdump工具监视网络，也会发现根本没有TCP连接时客户端发SYN包的网络流量。由于 IP_TABLE防火墙在内核中会对每个TCP连接的状态进行跟踪，跟踪信息将会放在位于内核内存中的conntrackdatabase中，这个<a id="k530831516" href="http://soft.chinabyte.com/database/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">数据库</a>的大小有限，当系统中存在过多的TCP连接时，数据库容量不足，IP_TABLE无法为新的TCP连接建立跟踪信息，于是表现为在connect()调用中阻塞。此时就必须修改内核对最大跟踪的TCP连接数的限制，方法同修改内核对本地端口号范围的限制是类似的：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第一步，修改/etc/sysctl.conf文件，在文件中添加如下行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.ip_conntrack_max = 10240</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这表明将系统对最大跟踪的TCP连接数限制设置为10240.请注意，此限制值要尽量小，以节省对内核内存的占用。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　第二步，执行sysctl命令：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　[speng@as4 ~]$ sysctl -p</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　如果系统没有错误提示，就表明系统对新的最大跟踪的TCP连接数限制修改成功。如果按上述参数进行设置，则理论上单独一个进程最多可以同时建立10000多个TCP客户端连接。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　3、使用支持高并发网络I/O的编程技术在Linux上编写高并发TCP连接应用程序时，必须使用合适的网络I/O技术和I/O事件分派机制。可用的I/O技术有同步I/O,非阻塞式同步I/O(也称反应式I/O)，以及异步I/O.在高TCP并发的情形下，如果使用同步I/O,这会严重阻塞程序的运转，除非为每个TCP连接的I/O创建一个线程。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　但是，过多的线程又会因系统对线程的调度造成巨大开销。因此，在高TCP并发的情形下使用同步 I/O是不可取的，这时可以考虑使用非阻塞式同步I/O或异步I/O.非阻塞式同步I/O的技术包括使用select()，poll()，epoll等机制。异步I/O的技术就是使用AIO.</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　从I/O事件分派机制来看，使用select()是不合适的，因为它所支持的并发连接数有限(通常在1024个以内)。如果考虑性能，poll()也是不合适的，尽管它可以支持的较高的TCP并发数，但是由于其采用"轮询"机制，当并发数较高时，其运行效率相当低，并可能存在I/O事件分派不均，导致部分TCP连接上的I/O出现"饥饿"现象。而如果使用epoll或AIO,则没有上述问题(早期Linux内核的AIO技术实现是通过在内核中为每个 I/O请求创建一个线程来实现的，这种实现机制在高并发TCP连接的情形下使用其实也有严重的性能问题。但在最新的Linux内核中，AIO的实现已经得到改进)。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　综上所述，在开发支持高并发TCP连接的Linux应用程序时，应尽量使用epoll或AIO技术来实现并发的TCP连接上的I/O控制，这将为提升程序对高并发TCP连接的支持提供有效的I/O保证。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　内核参数sysctl.conf的优化</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　/etc/sysctl.conf 是用来控制linux网络的配置文件，对于依赖网络的程序(如<a id="k530844826" href="http://www.chinabyte.com/keyword/web%E6%9C%8D%E5%8A%A1%E5%99%A8/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">web服务器</a>和cache服务器)非常重要，RHEL默认提供的最好调整。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　推荐配置(把原/etc/sysctl.conf内容清掉，把下面内容复制进去)：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.ip_local_port_range = 1024 65536</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.core.rmem_max=16777216</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.core.wmem_max=16777216</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_rmem=4096 87380 16777216</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_wmem=4096 65536 16777216</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_fin_timeout = 10</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_tw_recycle = 1</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_timestamps = 0</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_window_scaling = 0</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_sack = 0</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.core.netdev_max_backlog = 30000</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_no_metrics_save=1</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.core.somaxconn = 262144</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_syncookies = 0</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_max_orphans = 262144</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_max_syn_backlog = 262144</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_synack_retries = 2</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　net.ipv4.tcp_syn_retries = 2</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　这个配置参考于cache服务器varnish的推荐配置和SunOne<a id="k531123022" href="http://www.chinabyte.com/keyword/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%B3%BB%E7%BB%9F/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">&nbsp;服务器系统</a>优化的推荐配置。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　varnish调优推荐配置的地址为：http://varnish.projects.linpro.no/wiki/Performance</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　不过varnish推荐的配置是有问题的，实际运行表明"net.ipv4.tcp_fin_timeout = 3"的配置会导致页面经常打不开;并且当网友使用的是IE6<a id="k530831780" href="http://www.chinabyte.com/keyword/%E6%B5%8F%E8%A7%88%E5%99%A8/" target="_blank" style="text-decoration: none; color: #333333; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #d30010;">浏览器</a>时，访问网站一段时间后，所有网页都会</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　打不开，重启浏览器后正常。可能是国外的网速快吧，我们国情决定需要调整"net.ipv4.tcp_fin_timeout = 10",在10s的情况下，一切正常(实际运行结论)。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　修改完毕后，执行：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　/sbin/sysctl -p /etc/sysctl.conf</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　/sbin/sysctl -w net.ipv4.route.flush=1</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　命令生效。为了保险起见，也可以reboot系统。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　调整文件数：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　linux系统优化完网络必须调高系统允许打开的文件数才能支持大的并发，默认1024是远远不够的。</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　执行命令：</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　Shell代码</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　echo ulimit -HSn 65536 》 /etc/rc.local</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　echo ulimit -HSn 65536 》/root/.bash_profile</p><p style="margin: 0px 0px 26px; padding: 0pt; border: 0px; font-size: 16px; line-height: 28px; font-family: Verdana, Arial, Helvetica, sans-serif, 'microsoft yahei'; color: #555555;">　　ulimit -HSn 65536</p><img src ="http://www.blogjava.net/ivanwan/aggbug/406398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-11-15 20:00 <a href="http://www.blogjava.net/ivanwan/archive/2013/11/15/406398.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 报too many open files错误解决方案(转)</title><link>http://www.blogjava.net/ivanwan/archive/2013/11/15/406397.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 15 Nov 2013 11:58:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/11/15/406397.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/406397.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/11/15/406397.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/406397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/406397.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">如何设置呢，官方是这样的：</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><strong><span style="font-size: 18px;">第一步：配置/etc/security/limits.conf</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><pre style="white-space: pre-wrap; word-wrap: break-word; color: #333333; background-color: #eeeeee; border: 1px dashed #666666; padding: 15px 20px; overflow: auto; line-height: 15px;"><span style="font-size: 18px;">sudo vim /etc/security/limits.conf 文件尾追加  * hard nofile 40960 * soft nofile 40960</span></pre><span style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="font-size: 18px;">4096可以自己设置，四列参数的设置见英文，简单讲一下：</span></span><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">第一列，可以是用户，也可以是组，要用@group这样的语法，也可以是通配符如*%</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">第二列，两个值：hard，硬限制，soft，软件限制，一般来说soft要比hard小，hard是底线，决对不能超过，超过soft报警，直到hard数</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">第三列，见列表，打开文件数是nofile</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">第四列，数量，这个也不能设置太大</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;"><br /></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><strong><span style="font-size: 18px;">第二步：/etc/pam.d/su(官方)或/etc/pam.d/common-session(网络)</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><pre style="white-space: pre-wrap; word-wrap: break-word; color: #333333; background-color: #eeeeee; border: 1px dashed #666666; padding: 15px 20px; overflow: auto; line-height: 15px;"><span style="font-size: 18px;">sudo vim /etc/pam.d/su 将 pam_limits.so 这一行注释去掉  重起系统</span></pre><pre style="white-space: pre-wrap; word-wrap: break-word; color: #333333; background-color: #eeeeee; border: 1px dashed #666666; padding: 15px 20px; overflow: auto; line-height: 15px;"><span style="font-size: 18px;">sudo vim /etc/pam.d/common-session 加上以下一行 session required pam_limits.so </span></pre><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="color: #ff0000;"><strong><span style="font-size: 18px;">打开/etc/pam.d/su，发现是包含/etc/pam.d/common-session这个文件的，所以修改哪个文件都应该是可以的</span></strong></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="color: #ff0000;"><strong><span style="font-size: 18px;">我的修改是在/etc/pam.d/common-session文件中进行的。</span></strong></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;"><br /></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">官方只到第二步，就重启系统了，没有第三步，好象不行，感觉是不是全是第三步的作用？！</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><strong><span style="font-size: 18px;">第三步：配置/etc/profile</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">最后一行加上</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><pre style="white-space: pre-wrap; word-wrap: break-word; color: #333333; background-color: #eeeeee; border: 1px dashed #666666; padding: 15px 20px; overflow: auto; line-height: 15px;"><span style="font-size: 18px;">ulimit -SHn 40960</span></pre><span style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; font-size: 18px;"><br /></span><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span style="font-size: 18px;">重启，ulimit -n 验证，显示40960就没问题了</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><br /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><strong><span style="font-size: 24px; color: #ff0000;">注意以上三步均是要使用root权限进行修改。</span></strong></p><img src ="http://www.blogjava.net/ivanwan/aggbug/406397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-11-15 19:58 <a href="http://www.blogjava.net/ivanwan/archive/2013/11/15/406397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>infinispan linux内核调优</title><link>http://www.blogjava.net/ivanwan/archive/2013/11/14/406344.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 14 Nov 2013 09:56:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/11/14/406344.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/406344.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/11/14/406344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/406344.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/406344.html</trackback:ping><description><![CDATA[<div>/etc/sysctl.conf<br /><br />net.core.rmem_default = 25696000</div><div>net.core.rmem_max = 25696000</div><div>net.core.wmem_default = 25696000</div><div>net.core.wmem_max = 25696000</div><div>net.ipv4.tcp_timestamps = 0</div><div>net.ipv4.tcp_sack =1</div><div>net.ipv4.tcp_window_scaling = 1<br /><br />hotrod方式：<br /><div>nohup ./bin/startServer.sh -r hotrod -l 172.20.21.1 -c ./etc/config-samples/distributed-udp.xml -p 11222 &amp;</div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/406344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-11-14 17:56 <a href="http://www.blogjava.net/ivanwan/archive/2013/11/14/406344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian6开机启动脚本的方法 </title><link>http://www.blogjava.net/ivanwan/archive/2013/09/29/404613.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sun, 29 Sep 2013 06:45:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/09/29/404613.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/404613.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/09/29/404613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/404613.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/404613.html</trackback:ping><description><![CDATA[<div><p>在debian6中，加入开机启动脚本的方法与debian5不同了，直接做符号链接到runlevel已经不起作用了，提示缺少LSB信息，并且用insserv来替代update-rc.d：</p> <p><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#111;&#111;&#116;&#64;&#114;&#52;&#49;&#48;&#58;&#47;&#101;&#116;&#99;&#47;&#114;&#99;&#50;&#46;&#100;">root@14:/etc/rc2.d</a># update-rc.d -n&nbsp; php_fastcgi.sh&nbsp; defaults&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> update-rc.d: using dependency based boot sequencing<br /> insserv: warning: script 'K02php_fastcgi' missing LSB tags and overrides<br /> insserv: warning: script 'K01php_fastcgi.sh' missing LSB tags and overrides<br /> insserv: warning: script 'php_fastcgi.sh' missing LSB tags and overrides<br /> insserv: warning: current start runlevel(s) (empty) of script `php_fastcgi.sh' overwrites defaults (2 3 4 5).<br /> insserv: warning: current stop runlevel(s) (0) of script `php_fastcgi.sh' overwrites defaults (0 1 6).<br /> insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop<br /> </p> <p># insserv /etc/init.d/php_fastcgi.sh <br /> insserv: warning: script 'K02php_fastcgi' missing LSB tags and overrides<br /> insserv: warning: script 'php_fastcgi.sh' missing LSB tags and overrides</p> <p>&nbsp;</p> <p>debian6中将脚本加入到开机启动的方法：</p> <p>在脚本中加入LSB描述信息。<br /> <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#111;&#111;&#116;&#64;&#49;&#52;">root@14</a>:~# more&nbsp; /etc/init.d/php_fastcgi.sh&nbsp;&nbsp;&nbsp; <br /> #!/bin/sh<br /> ### BEGIN INIT INFO<br /> # Provides:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; php_fastcgi.sh<br /> # Required-Start:&nbsp;&nbsp;&nbsp; $local_fs $remote_fs $network $syslog<br /> # Required-Stop:&nbsp;&nbsp;&nbsp;&nbsp; $local_fs $remote_fs $network $syslog<br /> # Default-Start:&nbsp;&nbsp;&nbsp;&nbsp; 2 3 4 5<br /> # Default-Stop:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 1 6<br /> # Short-Description: starts the php_fastcgi daemon<br /> # Description:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; starts php_fastcgi using start-stop-daemon<br /> ### END INIT INFO</p> <p>安装启动脚本到system init script。<br /> <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#111;&#111;&#116;&#64;&#49;&#52;">root@14</a>:~# insserv -v -d /etc/init.d/php_fastcgi.sh </p> <p>重启机器试试吧。</p></div><img src ="http://www.blogjava.net/ivanwan/aggbug/404613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-09-29 14:45 <a href="http://www.blogjava.net/ivanwan/archive/2013/09/29/404613.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Authenticate Windows to Unix Kerberos</title><link>http://www.blogjava.net/ivanwan/archive/2013/05/18/399447.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sat, 18 May 2013 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/05/18/399447.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/399447.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/05/18/399447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/399447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/399447.html</trackback:ping><description><![CDATA[<h2><a name="s2">Kerberos Server Configuration</a></h2><p class="info">These notes are for MIT Kerberos 1.3 or higher.</p><ul class="list"><li>
        <tt class="file">/etc/krb5.conf</tt>
      </li><p class="info">The <tt class="file">/etc/krb5.conf</tt> configuration file should include <tt class="code">rc4-hmac</tt> support under the <tt class="code">[libdefaults]</tt> section. Windows XP uses <tt class="code">rc4-hmac</tt>. However, do not include <tt class="code">rc4-hmac</tt> in the <tt class="code">default*</tt> encryption types, as older Unix clients may not support <tt class="code">rc4-hmac</tt>.</p><p class="data">[libdefaults]<br />  default_realm = EXAMPLE.ORG<br />  default_etypes = des3-hmac-sha1 des-cbc-crc<br />  default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc<br />  default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc<br />  permitted_enctypes = des3-hmac-sha1 des-cbc-crc rc4-hmac<br />  dns_lookup_realm = false<br />  dns_lookup_kdc = true</p><li>
        <tt class="file">kdc.conf</tt>
      </li><p class="info">The <tt class="file">kdc.conf</tt> configuration file on the Kerberos servers must support <tt class="code">rc4-hmac</tt> as an encryption type.</p><p class="data">[realms]<br />  EXAMPLE.ORG = {<br />    database_name = /var/kerberos/krb5kdc/principal<br />    key_stash_file = /var/kerberos/krb5kdc/.k5.EXAMPLE.ORG<br />    supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal <span class="rbr">?</span><br />rc4-hmac:normal<br />  }<br /></p></ul><h2><a name="s3">Windows Client Setup</a></h2><ul class="list"><li>Kerberos Configuration</li><p class="info">Use the <tt class="cmd">ksetup.exe</tt> command to add the site Kerberos servers.</p><p class="data-shell">$ <kbd>ksetup.exe /addkdc EXAMPLE.ORG kerberos-1.example.org</kbd><br />$ <kbd>ksetup.exe /addkdc EXAMPLE.ORG kerberos-2.example.org</kbd><br />$ <kbd>ksetup.exe /addkdc EXAMPLE.ORG kerberos.example.org</kbd><br />$ <kbd>ksetup.exe /addkpasswd EXAMPLE.ORG kerberos.example.org</kbd><br />$ <kbd>ksetup.exe /setrealm EXAMPLE.ORG</kbd></p><li>Host principals</li><p class="info">Create <tt class="code">host</tt>
 principals on each Windows client, then use the same password to create
 an equivalent principal in the MIT Kerberos database. If using an 
installation system such as <a href="http://unattended.sourceforge.net/">Unattended</a>, use a script to generate the random password and setup the host principal.</p><p class="data">#!/usr/bin/perl<br /><br />my $domain = 'example.org';<br /><br />my $password = '';<br />my @chars = grep { /[[:print:]]/ and /\S/ } map { chr } 1..128;<br />$password .= $chars[rand @chars] for 1..(int (rand 7)) + 8;<br /><br />system qw{ksetup.exe /setcomputerpassword}, $password;<br /><br />print "Principal: host/", lc( $ENV{COMPUTERNAME} ), ".$domain\n";<br />print "Password:  $password\n";</p><p class="info">Then, use <tt class="cmd">kdamin</tt> to add an equivalent principal to the Kerberos database, using the same password as above. Use the <tt class="cmd-arg">-e rc4-hmac:normal</tt> encryption option if adding a principal for a Windows XP system.</p><p class="data-shell">kadmin:  <kbd>ank -e rc4-hmac:normal host/client.example.org</kbd></p><li>User Mapping</li><p class="info">User mapping translates local accounts to the Kerberos domain. See <a href="http://www.novosial.org/cfengine/modules/users/index.html"><tt class="cmd">module:users</tt></a> for user account management under CFEngine.</p><p class="data-shell">$ <kbd>ksetup.exe /mapuser * *</kbd></p></ul><h2><a name="s4">Samba</a></h2><p class="info">Windows clients can authenticate to <a href="http://www.samba.org/">Samba</a> using Kerberos. Use Samba version 3.0.14a or higher on the server, and enable Kerberos support in the <tt class="file">smb.conf</tt> configuration file.</p><p class="data">[global]<br />  use kerberos keytab = yes<br />  realm = EXAMPLE.ORG<br />  security = ads</p><p class="info">Multiple <tt class="code">host</tt> and <tt class="code">cifs</tt>
 principals must be created for each Samba server, as principals are 
case sensitive, and Windows systems may randomly start using <tt class="host">Server.example.org</tt> or <tt class="host">SERVER.EXAMPLE.ORG</tt> when connecting. Extract these principals to the <tt class="file">/etc/krb5.keytab</tt> file on each Samba server.</p><p class="data-shell">kadmin:  <kbd>ank -randkey host/server.example.org</kbd><br />kadmin:  <kbd>ank -randkey host/Server.example.org</kbd><br />kadmin:  <kbd>ank -randkey host/SERVER.EXAMPLE.ORG</kbd><br />kadmin:  <kbd>ank -randkey cifs/server.example.org</kbd><br />kadmin:  <kbd>ank -randkey cifs/Server.example.org</kbd><br />kadmin:  <kbd>ank -randkey cifs/SERVER.EXAMPLE.ORG</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab host/server.example.org</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab host/Server.example.org</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab host/SERVER.EXAMPLE.ORG</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab cifs/server.example.org</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab cifs/Server.example.org</kbd><br />kadmin:  <kbd>ktadd -k /etc/krb5.keytab cifs/SERVER.EXAMPLE.ORG</kbd></p>
    

		<div class="footer"><a href="http://www.novosial.org/index.html"><img style="border: 0; float: right; margin-top: 1em; margin-right: 1em; margin-bottom: 5em" src="http://novosial.org/NovosialLogo.gif" alt="NovoSial Icon" height="64" width="64" /></a>
<p>This document is released into the public domain. Version 1.3.1</p>
</div> <div id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd"></div><img src ="http://www.blogjava.net/ivanwan/aggbug/399447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-05-18 15:04 <a href="http://www.blogjava.net/ivanwan/archive/2013/05/18/399447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu中文的设置</title><link>http://www.blogjava.net/ivanwan/archive/2006/04/18/41742.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 18 Apr 2006 12:40:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2006/04/18/41742.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/41742.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2006/04/18/41742.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/41742.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/41742.html</trackback:ping><description><![CDATA[
		<p>终于弄好了！花了好几天时间。弄到现在还是有问题，比如终端<br />的字体还是没有我办公室Fedora中的好看；这里的终端字体比<br />较小，而fedora中的比较大，很圆滑圆满。</p>
		<p>下面是我在blog上写的笔记。同时帖几张图，大家看看，指点指点。</p>
		<p>
				<br />-----------------------------------------------------------------------------------------<br />以server安装的，再装desktop，</p>
		<p>Ubuntu安装笔记<br />再等等Dapper的Release版本。记下安装Breezy的过程。</p>
		<p>1）首先用Ubuntu 5.1的安装盘全新安装。采用缺省安装，不用server模式。<br />2）安装完成后，修改成城域中的源。sudo vi /etc/apt/source.list<br />3）设置locale: sudo dpkg-reconfigure locales选中zh_CN.UTF-8<br />4）安装中文语言支持：sudo apt-get install language-pack-gnome-zh language-pack-gnome-zh-base language-pack-zh language-pack-zh-base language-support-zh<br />5）安装中文字体：sudo apt-get install ttf-arphic-ukai ttf-arphic-uming<br />6）安装输入法scim:<br />$sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad</p>
		<p>$sudo sh -c " echo 'export <a href="mailto:XMODIFIERS=@im=SCIM">XMODIFIERS=@im=SCIM</a> ; export GTK_IM_MODULE="scim" ; scim -d ' &gt; /etc/X11/Xsession.d/95xinput "</p>
		<p>$sudo chmod +755 /etc/X11/Xsession.d/95xinput</p>
		<p>7）设置LC_ALL和其它属性：<br />sudo gedit /etc/environment<br />需要使用英文界面，将内容修改如下:</p>
		<p>LANGUAGE="en_US:en"<br />LC_CTYPE=zh_CN.UTF-8<br />LANG=en_GB.UTF-8<br />GST_ID3_TAG_ENCODING=GBK</p>
		<p>保存，关闭编辑器 好了，注销一下电脑。输入法 (按 Ctrl + 空格 键激活输入法) 都应该可以使用了。</p>
		<p>8）中文粗体美化：按照手工升级freetype&amp;ibXft在Ubuntu 5.10 下实现粗体<br />实现方法，详见：<a href="http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191">http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191</a></p>
		<p>9）安装必要的字体：<br />安装msttcorefonts: sudo apt-get install msttcorefonts<br />使用winxp下面的字体：cd /usr/share/fonts/truetype<br />sudo mkdir windows<br />cd windows<br />sudo cp /media/hda1/windows/Fonts/simsun.ttc .<br />(我的winxp盘挂在在/media/hda1/下面）<br />还把tahmo*，等字体copy过来。</p>
		<p>10）安装JAVA环境：<br />sudo apt-get install sun-j2re1.5<br />sudo ln -sf /usr/lib/j2re1.5-sun/bin/java /usr/bin/java</p>
		<p>11）安装QQ：<br />1.下载并安装</p>
		<p>wget -c <a href="http://download.ubuntu.org.cn/software/lumaqq_2005-linux_gtk2_x86_no_jre.tar.gz">http://download.ubuntu.org.cn/software/lumaqq_2005-linux_gtk2_x86_no_jre.tar.gz</a><br />sudo tar zxvf lumaqq_2005-linux_gtk2_x86_no_jre.tar.gz -C /opt/<br />wget -c <a href="http://download.ubuntu.org.cn/software/lumaqq_2005_patch_2006.01.30.02.00.zip">http://download.ubuntu.org.cn/software/lumaqq_2005_patch_2006.01.30.02.00.zip</a><br />sudo unzip -o lumaqq_2005_patch_2006.01.30.02.00.zip -d /opt/LumaQQ/lib<br />sudo chown -R root:root /opt/LumaQQ/<br />sudo chmod -R 755 /opt/LumaQQ/<br />sudo gedit /usr/share/applications/LumaQQ.desktop</p>
		<p>2.在新增的文件内加入下面这几行</p>
		<p>[Desktop Entry]<br />Name=LumaQQ<br />Comment=QQ Client<br />Exec=/opt/LumaQQ/lumaqq<br />Icon=/opt/LumaQQ/QQ.png<br />Terminal=false<br />Type=Application<br />Categories=Application;Network;</p>
		<p>3.保存编辑过的文件 安装完成后的快捷方式在(应用程序 -&gt; internat -&gt; LumaQQ)。</p>
		<p>12）安装acroread：sudo apt-get install acroread</p>
		<p>13）安装firefox 1.5.0.1:<br />a) 从官网上down下来，解压到/opt/下面<br />b)做个链接：sudo ln -sf /opt/firefox/firefox /usr/bin/</p>
		<p>
				<br />14）安装flash支持：<br />sudo apt-get install flashplayer-mozilla<br />似乎把插件安装在系统带的firefox目录中，把插件copy过来<br />sudo cp /usr/lib/mo*fox/plugins/*flash* /opt/firefox/plugins/</p>
		<p>15）安装多媒体：<br />sudo apt-get install beep-media-player totem-xine w32codecs gstreamer0.8-plugins<br />这里依赖关系有问题，要删除相关的东西</p>
		<p>16）安装编程环境：sudo apt-get install build-essential<br />17）安装gnuplot: sudo apt-get install gnuplot<br />18）安装窗口管理器小程序：sudo apt-get install nautilus-open-terminal<br />19）设置机群地址：sudo vi /etc/hosts 添加相关机器的地址<br />20）设置公寓网络登录脚本：<br />21）换个wallpaper：<br />22）安装matlab, mathematica, perl, mpi等等自己专业相关的库以及程序<br />22）上网，听歌，看电影，看代码，学习等等</p>
		<p>
				<br />参考链接：<br />1）快速设置指南<a href="http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97">http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97</a><br />2）手工升级freetype&amp;ibXft在Ubuntu 5.10 下实现粗体<br /><a href="http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191">http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191</a><br />3）forum.ubuntu.org.cn<br />4）smth.org<br />5）kyxk.net</p>
<img src ="http://www.blogjava.net/ivanwan/aggbug/41742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2006-04-18 20:40 <a href="http://www.blogjava.net/ivanwan/archive/2006/04/18/41742.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>播放字幕</title><link>http://www.blogjava.net/ivanwan/archive/2005/11/11/19274.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 11 Nov 2005 04:33:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/11/11/19274.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/19274.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/11/11/19274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/19274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/19274.html</trackback:ping><description><![CDATA[一：添加源代码源： <br>
&nbsp;sudo gedit /etc/apt/sources.list <br>
&nbsp;增加 <br>
&nbsp;deb-src http://archive.ubuntu.com/ubuntu/ breezy main restricted universe multiverse <br>
&nbsp;<br>
&nbsp;二：下载源代码，编译出 xine-fontconv ： <br>
&nbsp;sudo apt-get update <br>
&nbsp;sudo apt-get source libxine1c2 <br>
&nbsp;cd xine-lib-1.0.1/misc/ <br>
&nbsp;sudo gcc -o /usr/local/bin/xine-fontconv xine-fontconv.c `freetype-config --cflags --libs` <br>
&nbsp;<br>
&nbsp;三：生成中文字体 <br>
&nbsp;cd /usr/share/xine/libxine1/fonts <br>
&nbsp;sudo xine-fontconv /usr/share/fonts/zh_CN/TrueType/SIMSUN.TTF simsun gb18030 <br>
&nbsp;<br>
&nbsp;四：修改totem的配置： <br>
&nbsp;gedit ~/.gnome2/totem_config <br>
&nbsp;找到中间的项目修改为： <br>
&nbsp;subtitles.separate.font:simsun <br>
&nbsp;subtitles.separate.src_encoding:gb18030 <br>
&nbsp;<br>
&nbsp;五：播放： <br>
&nbsp;totem
file:///home/ubuntu/av/[地狱神探].Constantine.DVDRip.XviD.CD1-
DoNE.avi#subtitle:file:///home/ubuntu/av/[地狱神探].
Constantine.DVDRip.XviD.CD1-DoNE.chs.srt <br>
&nbsp;<br>
&nbsp;六：mplayer的解决办法： <br>
&nbsp;mplayer [地狱神探].Constantine.DVDRip.XviD.CD1-DoNE.avi -sub
[地狱神探].Constantine.DVDRip.XviD.CD1-DoNE.chs.srt -subcp cp936 -font
/usr/share/fonts/truetype/ttf-vera-yuan/VeraSansYuanTi-Regular.ttf<br>
<br>
mplayer 如果希望默认字体就支持中文 <br>
&nbsp;<br>
&nbsp;1、修改~/.mplayer/config文件中间的项目为： <br>
&nbsp;font=/usr/share/fonts/zh_CN/TrueType/SIMSUN.TTF <br>
&nbsp;subcp=cp936 <br>
&nbsp;<br>
&nbsp;2、修改`/.mplayer/gui.conf文件中间的项目为： <br>
&nbsp;sub_auto_load = "yes" <br>
&nbsp;sub_unicode = "yes" <br>
&nbsp;sub_pos = "99" <br>
&nbsp;sub_overlap = "no" <br>
&nbsp;sub_cp = "cp936" <br>
&nbsp;font_factor = "0.750000" <br>
&nbsp;font_name = "/usr/share/fonts/truetype/ttf-vera-yuan/VeraSansYuanTi-Regular.ttf" <br>
&nbsp;font_encoding = "unicode"<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/19274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-11-11 12:33 <a href="http://www.blogjava.net/ivanwan/archive/2005/11/11/19274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>amule的使用</title><link>http://www.blogjava.net/ivanwan/archive/2005/11/11/19273.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 11 Nov 2005 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/11/11/19273.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/19273.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/11/11/19273.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/19273.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/19273.html</trackback:ping><description><![CDATA[自己添加服务器，例如：<br>
&nbsp;&nbsp;&nbsp; BiG BanG 9 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; 80.239.200.108:3000<br>
&nbsp;&nbsp;&nbsp; WWW.SEXESEXOSEX.COM&nbsp; 66.135.34.198:8270<br>
&nbsp;&nbsp;&nbsp; WWW.UseNeXT.to&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 212.112.243.146:4661<br>
&nbsp;&nbsp;&nbsp; DonkeyServerNo5&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  62.241.53.4:4242<br>
<br>
在firefox里添加ed2k连接：<br>
&nbsp;1、在地址栏输入about:config，进入配置页面 <br>
&nbsp;<br>
&nbsp;2、在列表上单击右键，新建一个布尔值(Boolean)值，名字是network.protocol-handler.external.ed2k，值为true。 <br>
&nbsp;<br>
&nbsp;3、再新建一个字符串值(String)，名字是network.protocol-handler.app.ed2k，值为你的启动程序，我在Linux下用aMule，所以是“/usr/bin/ed2k.amule”。 <br>
&nbsp;<br>
&nbsp;这样，当点出ed2k://的链接里就会把地址加入相应软件了。 <br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/19273.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-11-11 12:31 <a href="http://www.blogjava.net/ivanwan/archive/2005/11/11/19273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使kpdf和gpdf正确显示中文</title><link>http://www.blogjava.net/ivanwan/archive/2005/11/08/18687.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 08 Nov 2005 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/11/08/18687.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/18687.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/11/08/18687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/18687.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/18687.html</trackback:ping><description><![CDATA[安装xpdf，并且安装xpdf-chinese-simplified和xpdf-chinese-traditional。<br>
把/etc/xpdf/xpdfrc文件，考到$HOME目录改名为.xpdfrc。<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/18687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-11-08 09:20 <a href="http://www.blogjava.net/ivanwan/archive/2005/11/08/18687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu设置字体为macOSX风格</title><link>http://www.blogjava.net/ivanwan/archive/2005/11/08/18686.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 08 Nov 2005 01:08:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/11/08/18686.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/18686.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/11/08/18686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/18686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/18686.html</trackback:ping><description><![CDATA[首先要安装yuanti字体。<br>
修改/etc/fonts/font.conf文件，改为：<br>
&lt;?xml version="1.0"?&gt;
<br>
&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
<br>
&lt;!-- /etc/fonts/fonts.conf file to configure system font access --&gt;
<br>
&lt;fontconfig&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp;&nbsp; DO NOT EDIT THIS FILE.
<br>
&nbsp;&nbsp; IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
<br>
&nbsp;&nbsp; LOCAL CHANGES BELONG IN 'local.conf'.
<br>
&nbsp;<br>
&nbsp;&nbsp; The intent of this standard configuration file is to be adequate for
<br>
&nbsp;&nbsp; most environments.&nbsp; If you have a reasonably normal environment and
<br>
&nbsp;&nbsp; have found problems with this configuration, they are probably
<br>
&nbsp;&nbsp; things that others will also want fixed.&nbsp; Please submit any
<br>
&nbsp;&nbsp; problems to the fontconfig bugzilla system located at fontconfig.org
<br>
&nbsp;<br>
&nbsp;&nbsp; Note that the normal 'make install' procedure for fontconfig is to
<br>
&nbsp;&nbsp; replace any existing fonts.conf file with the new version.&nbsp; Place
<br>
&nbsp;&nbsp; any local customizations in local.conf which this file references.
<br>
&nbsp;<br>
&nbsp;&nbsp; Keith Packard
<br>
--&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;dir&gt;/usr/share/fonts&lt;/dir&gt;
<br>
&nbsp;&nbsp; &lt;dir&gt;/usr/X11R6/lib/X11/fonts/Type1&lt;/dir&gt; &lt;dir&gt;/usr/local/share/fonts&lt;/dir&gt;
<br>
&nbsp;&nbsp; &lt;dir&gt;~/.fonts&lt;/dir&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Accept deprecated 'mono' alias, replacing it with 'monospace'
<br>
--&gt;
<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;mono&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="assign"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;monospace&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
<br>
--&gt;
<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="assign"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans-serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Accept deprecated 'sans' alias, replacing it with 'sans-serif'
<br>
--&gt;
<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="assign"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans-serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Mark common families with their generics so we'll get
<br>
&nbsp; something reasonable
<br>
--&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Serif faces
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera Sans
YuanTi&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Times&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Times New Roman&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Roman No9 L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Kochi Mincho&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL SungtiL GB&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL Mingti2L Big5&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Baekmuk Batang&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeSerif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;default&gt;&lt;family&gt;serif&lt;/family&gt;&lt;/default&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&lt;!--
<br>
&nbsp; Sans-serif faces
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Sans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera Sans
YuanTi&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Helvetica&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Arial&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Verdana&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Sans L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Sans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Kochi Gothic&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL KaitiM GB&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL KaitiM Big5&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Baekmuk Dotum&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;SimSun&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeSans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;default&gt;&lt;family&gt;sans-serif&lt;/family&gt;&lt;/default&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&lt;!--
<br>
&nbsp; Monospace faces
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Sans Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera Sans YuanTi
Mono&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Courier&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Courier New&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Andale Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Mono L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;SimSun&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeMono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;default&gt;&lt;family&gt;monospace&lt;/family&gt;&lt;/default&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&lt;!--
<br>
&nbsp; If the font still has no generic name, add sans-serif
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="all" name="family" compare="not_eq"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans-serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="all" name="family" compare="not_eq"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test qual="all" name="family" compare="not_eq"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;monospace&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="append_last"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;sans-serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&lt;!--
<br>
&nbsp; Some Asian fonts misadvertise themselves as monospaced when
<br>
&nbsp; in fact they are dual-spaced (half and full).&nbsp; This makes
<br>
&nbsp; FreeType very confused as it forces all widths to match.
<br>
&nbsp; Undo this magic by disabling the width forcing code --&gt;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;GulimChe&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;DotumChe&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;BatangChe&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;GungsuhChe&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp;&nbsp; The Bitstream Vera fonts have GASP entries suggesting that hinting be
<br>
&nbsp;&nbsp; disabled below 8 ppem, but FreeType ignores those, preferring to use
<br>
&nbsp;&nbsp; the data found in the instructed hints.&nbsp; The initial Vera release
<br>
&nbsp;&nbsp; didn't include the right instructions in the 'prep' table. Fix this
<br>
&nbsp;&nbsp; by disabling hinting manually at smaller sizes (&lt; 8ppem)
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;Bitstream Vera Sans&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="pixelsize" compare="less"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;double&gt;7.5&lt;/double&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="hinting"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bool&gt;false&lt;/bool&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;Bitstream Vera Serif&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="pixelsize" compare="less"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;double&gt;7.5&lt;/double&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="hinting"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bool&gt;false&lt;/bool&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;string&gt;Bitstream Vera Sans Mono&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="pixelsize" compare="less"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;double&gt;7.5&lt;/double&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="hinting"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bool&gt;false&lt;/bool&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;&nbsp;&nbsp;
<br>
&lt;!--
<br>
&nbsp; Load local system customization file
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;include ignore_missing="yes"&gt;local.conf&lt;/include&gt;
<br>
--&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Load per-user customization file
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;include ignore_missing="yes"&gt;~/.fonts.conf&lt;/include&gt;
<br>
--&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp; Alias well known font names to available TrueType fonts
<br>
--&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Times&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accept&gt;&lt;family&gt;Times New Roman&lt;/family&gt;&lt;/accept&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Helvetica&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accept&gt;&lt;family&gt;Verdana&lt;/family&gt;&lt;/accept&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Arial&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accept&gt;&lt;family&gt;Verdana&lt;/family&gt;&lt;/accept&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Courier&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;accept&gt;&lt;family&gt;Courier New&lt;/family&gt;&lt;/accept&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp;Check user preference to avoid bitmap fonts and replace
<br>
&nbsp;bitmap face names with equivalent scalable fonts
<br>
&nbsp;--&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="prefer_outline"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;bool&gt;true&lt;/bool&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;string&gt;Helvetica&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="prepend" binding="same"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;string&gt;Arial&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="prefer_outline"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;bool&gt;true&lt;/bool&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="family"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;string&gt;Times&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="family" mode="prepend" binding="same"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;string&gt;Times New Roman&lt;/string&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&lt;!--
<br>
&nbsp; Provide required aliases for standard names
<br>
--&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prefer&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera
Sans
YuanTi&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Times New Roman&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Roman No9 L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Times&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Frank Ruehl&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Kochi Mincho&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL SungtiL GB&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL Mingti2L Big5&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Baekmuk Batang&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeSerif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/prefer&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;sans-serif&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prefer&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Sans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera
Sans
YuanTi&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Verdana&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Sans L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Sans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Arial&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Helvetica&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nachlieli&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Kochi Gothic&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL KaitiM GB&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL KaitiM Big5&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Baekmuk Dotum&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;SimSun&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeSans&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/prefer&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;&nbsp; &lt;alias&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;monospace&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prefer&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Bitstream Vera Sans Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Vera
Sans YuanTi
Mono&lt;/family&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;!--&nbsp; added by lifesinger--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Andale Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Courier New&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Luxi Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Nimbus Mono L&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Miriam Mono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Kochi Gothic&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;AR PL KaitiM GB&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;Baekmuk Dotum&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;family&gt;FreeMono&lt;/family&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/prefer&gt;
<br>
&nbsp;&nbsp; &lt;/alias&gt;
<br>
&nbsp;<br>
&lt;!--
<br>
&nbsp;Artificial oblique for fonts without an italic or oblique version
<br>
&nbsp;--&gt;
<br>
&nbsp;
<br>
&nbsp;&nbsp; &lt;match target="font"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- check to see if the font is roman --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test name="slant"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;const&gt;roman&lt;/const&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- check to see if the pattern requested non-roman --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test target="pattern" name="slant" compare="not_eq"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;const&gt;roman&lt;/const&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- multiply the matrix to slant the font --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="matrix" mode="assign"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;times&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;matrix&lt;/name&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;matrix&gt;&lt;double&gt;1&lt;/double&gt;&lt;double&gt;0.2&lt;/double&gt;

<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;double&gt;0&lt;/double&gt;&lt;double&gt;1&lt;/double&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/matrix&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/times&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- pretend the font is oblique now --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;edit name="slant" mode="assign"&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;const&gt;oblique&lt;/const&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;/match&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;config&gt;
<br>
&lt;!--
<br>
&nbsp; These are the default Unicode chars that are expected to be blank
<br>
&nbsp; in fonts.&nbsp; All other blank chars are assumed to be broken and
<br>
&nbsp; won't appear in the resulting charsets
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;blank&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x0020&lt;/int&gt;&nbsp;&nbsp; &lt;!-- SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x00a0&lt;/int&gt;&nbsp;&nbsp; &lt;!-- NO-BREAK SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x00ad&lt;/int&gt;&nbsp;&nbsp; &lt;!-- SOFT HYPHEN --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x115f&lt;/int&gt;&nbsp;&nbsp; &lt;!-- HANGUL CHOSEONG
FILLER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x1160&lt;/int&gt;&nbsp;&nbsp; &lt;!-- HANGUL JUNGSEONG
FILLER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x1680&lt;/int&gt;&nbsp;&nbsp; &lt;!-- OGHAM SPACE MARK --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2000&lt;/int&gt;&nbsp;&nbsp; &lt;!-- EN QUAD --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2001&lt;/int&gt;&nbsp;&nbsp; &lt;!-- EM QUAD --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2002&lt;/int&gt;&nbsp;&nbsp; &lt;!-- EN SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2003&lt;/int&gt;&nbsp;&nbsp; &lt;!-- EM SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2004&lt;/int&gt;&nbsp;&nbsp; &lt;!-- THREE-PER-EM SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2005&lt;/int&gt;&nbsp;&nbsp; &lt;!-- FOUR-PER-EM SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2006&lt;/int&gt;&nbsp;&nbsp; &lt;!-- SIX-PER-EM SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2007&lt;/int&gt;&nbsp;&nbsp; &lt;!-- FIGURE SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2008&lt;/int&gt;&nbsp;&nbsp; &lt;!-- PUNCTUATION SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2009&lt;/int&gt;&nbsp;&nbsp; &lt;!-- THIN SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200a&lt;/int&gt;&nbsp;&nbsp; &lt;!-- HAIR SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200b&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ZERO WIDTH SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200c&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ZERO WIDTH NON-JOINER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200d&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ZERO WIDTH JOINER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200e&lt;/int&gt;&nbsp;&nbsp; &lt;!-- LEFT-TO-RIGHT MARK --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x200f&lt;/int&gt;&nbsp;&nbsp; &lt;!-- RIGHT-TO-LEFT MARK --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2028&lt;/int&gt;&nbsp;&nbsp; &lt;!-- LINE SEPARATOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2029&lt;/int&gt;&nbsp;&nbsp; &lt;!-- PARAGRAPH SEPARATOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x202a&lt;/int&gt;&nbsp;&nbsp; &lt;!-- LEFT-TO-RIGHT
EMBEDDING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x202b&lt;/int&gt;&nbsp;&nbsp; &lt;!-- RIGHT-TO-LEFT
EMBEDDING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x202c&lt;/int&gt;&nbsp;&nbsp; &lt;!-- POP DIRECTIONAL
FORMATTING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x202d&lt;/int&gt;&nbsp;&nbsp; &lt;!-- LEFT-TO-RIGHT
OVERRIDE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x202e&lt;/int&gt;&nbsp;&nbsp; &lt;!-- RIGHT-TO-LEFT
OVERRIDE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x202f&lt;/int&gt;&nbsp;&nbsp; &lt;!-- NARROW NO-BREAK SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x205f&lt;/int&gt;&nbsp;&nbsp; &lt;!-- MEDIUM MATHEMATICAL
SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2060&lt;/int&gt;&nbsp;&nbsp; &lt;!-- WORD JOINER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2061&lt;/int&gt;&nbsp;&nbsp; &lt;!-- FUNCTION APPLICATION --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2062&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INVISIBLE TIMES --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x2063&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INVISIBLE SEPARATOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x206A&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INHIBIT SYMMETRIC
SWAPPING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x206B&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ACTIVATE SYMMETRIC
SWAPPING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x206C&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INHIBIT ARABIC FORM
SHAPING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0x206D&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ACTIVATE ARABIC FORM
SHAPING --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x206E&lt;/int&gt;&nbsp;&nbsp; &lt;!-- NATIONAL DIGIT SHAPES --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x206F&lt;/int&gt;&nbsp;&nbsp; &lt;!-- NOMINAL DIGIT SHAPES --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x3000&lt;/int&gt;&nbsp;&nbsp; &lt;!-- IDEOGRAPHIC SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;0x3164&lt;/int&gt;&nbsp;&nbsp; &lt;!-- HANGUL FILLER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0xfeff&lt;/int&gt;&nbsp;&nbsp; &lt;!-- ZERO WIDTH NO-BREAK
SPACE --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0xffa0&lt;/int&gt;&nbsp;&nbsp; &lt;!-- HALFWIDTH HANGUL
FILLER --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0xfff9&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INTERLINEAR
ANNOTATION ANCHOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0xfffa&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INTERLINEAR
ANNOTATION SEPARATOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;int&gt;0xfffb&lt;/int&gt;&nbsp;&nbsp; &lt;!-- INTERLINEAR
ANNOTATION TERMINATOR --&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/blank&gt;
<br>
&lt;!--
<br>
&nbsp; Rescan configuration every 30 seconds when FcFontSetList is called
<br>
&nbsp;--&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rescan&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;int&gt;30&lt;/int&gt;
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/rescan&gt;
<br>
&nbsp;&nbsp; &lt;/config&gt;
<br>
&nbsp;<br>
&nbsp;<br>
&lt;!--&nbsp; 字体替代法 --&gt;
<br>
&nbsp;&nbsp; &lt;!-- 代替SimSun的粗体
<br>
&lt;match target="pattern"&gt;
<br>
&nbsp;&nbsp; &lt;test&nbsp; name="family"&gt;&lt;string&gt;SimSun&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;test name="weight" compare="more_eq"&gt;&lt;const&gt;bold&lt;/const&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="family" mode="assign"&gt;&lt;string&gt;VeraSansYuanTi-Bold&lt;/string&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
--&gt;
<br>
&nbsp;<br>
&lt;!-- 关闭SimSun的AA
<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;SimSun&lt;/string&gt; &lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
--&gt;
<br>
&nbsp;<br>
&lt;!-- 关闭SimSun粗体的AA
<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;VeraSansYuanTi-Bold&lt;/string&gt; &lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
--&gt;
<br>
&nbsp;<br>
&nbsp;<br>
&lt;!-- 修改ttf字体法 --&gt;
<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;!-- Mac OS X 效果 --&gt;
<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;Vera Sans YuanTi&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;Vera Sans YuanTi Mono&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hintstyle" mode="assign"&gt;&lt;const&gt;hintnone&lt;/const&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="rh_prefer_bitmaps" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp; &lt;!-- Win XP 效果
<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;Vera Sans YuanTi&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test name="family"&gt;&lt;string&gt;Vera Sans YuanTi Mono&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="globaladvance"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;Vera Sans YuanTi&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hintstyle" mode="assign"&gt;&lt;const&gt;hintnone&lt;/const&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="rh_prefer_bitmaps" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;Vera Sans YuanTi&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;test compare="more_eq" name="pixelsize" qual="any" &gt;&lt;double&gt;12&lt;/double&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;test compare="less_eq" name="pixelsize" qual="any" &gt;&lt;double&gt;16&lt;/double&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hintstyle" mode="assign"&gt;&lt;const&gt;hintfull&lt;/const&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="rh_prefer_bitmaps" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;Vera Sans YuanTi Mono&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hintstyle" mode="assign"&gt;&lt;const&gt;hintnone&lt;/const&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="rh_prefer_bitmaps" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
&lt;match target="font"&gt;
<br>
&nbsp;&nbsp; &lt;test qual="any" name="family"&gt;&lt;string&gt;Vera Sans YuanTi Mono&lt;/string&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;test compare="more_eq" name="pixelsize" qual="any" &gt;&lt;double&gt;12&lt;/double&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;test compare="less_eq" name="pixelsize" qual="any" &gt;&lt;double&gt;16&lt;/double&gt;&lt;/test&gt;
<br>
&nbsp;&nbsp; &lt;edit name="antialias" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hinting" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="autohint" mode="assign"&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="hintstyle" mode="assign"&gt;&lt;const&gt;hintfull&lt;/const&gt;&lt;/edit&gt;
<br>
&nbsp;&nbsp; &lt;edit name="rh_prefer_bitmaps" mode="assign"&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/edit&gt;
<br>
&lt;/match&gt;
<br>
&nbsp;<br>
--&gt;
<br>
&lt;/fontconfig&gt;
<br>
&nbsp;<br>
<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/18686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-11-08 09:08 <a href="http://www.blogjava.net/ivanwan/archive/2005/11/08/18686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怎么样编译xlib的程序</title><link>http://www.blogjava.net/ivanwan/archive/2005/11/05/18292.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sat, 05 Nov 2005 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/11/05/18292.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/18292.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/11/05/18292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/18292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/18292.html</trackback:ping><description><![CDATA[$gcc -o bifurcation bifurcation.c -L/usr/X11R6/lib -lX11<img src ="http://www.blogjava.net/ivanwan/aggbug/18292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-11-05 14:33 <a href="http://www.blogjava.net/ivanwan/archive/2005/11/05/18292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian APT HOWTO</title><link>http://www.blogjava.net/ivanwan/archive/2005/10/04/14765.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 04 Oct 2005 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/10/04/14765.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/14765.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/10/04/14765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/14765.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/14765.html</trackback:ping><description><![CDATA[<p>概要 
<br>本文档的写作目的是帮助用户了解Debian包管理工具——APT的工作原理，我们的目标是简化Debian新用户的生活以及为那些希望深入了解系统管理的人提供帮助。它也是为Debian项目组而作的，以帮助改善其为发行版提供技术支持的工作质量。 
</p>

<p>版权声明 <br>Copyright ? 2001, 2002 Gustavo Noronha Silva </p>

<p>This manual is licensed under the terms of the GNU FDL (Free Documentation 
License). It has been written in the hope that it will be useful to the 
community but it comes with no warranty; use it at your own risk. </p>

<p><br>目录 </p>

<p>1.导言 <br>2.基础设置 <br>2.1 /etc/apt/sources.list文件 <br>2.2 怎样在本地使用APT <br>2.3 
选择最佳镜像发布站点加入source.list文件：netselect，netselect-apt <br>2.4 将CD-ROM加入source.list文件 
<br>3.软件包管理 <br>3.1 更新可用软件包列表 <br>3.2 安装软件包 <br>3.3 移除软件包 <br>3.4 更新软件包 <br>3.5 
升级到新版本 <br>3.6 移除无用软件包文件：apt-get clean and autoclean <br>3.7 在dselect中操作APT 
<br>3.8 如何keep a mixed system <br>3.9 如何从Debian的专用版本下升级软件包 <br>3.10 
如何维护已安装软件包的多个版本（复杂） <br>4.非常有用的助手 <br>4.1 如何安装本地编译的软件包：equivs <br>4.2 
移除无用的locale files文件：localepurge <br>4.3 如何知晓哪些软件包可以升级 <br>5.获取软件包信息 <br>5.1 
获得软件包名称 <br>5.2 使用dpkg查找软件包名称 <br>5.3 如何“按需”安装软件包 <br>5.4 如何知道文件属于哪个软件包 <br>5.5 
如何掌握软件包的变化情况 <br>6.操作源码包 <br>6.1 下载源码包 <br>6.2 编译源码包所需的软件包 <br>7.如何处理错误 <br>7.1 
一般错误 <br>7.2 在哪儿获得帮助？ <br>8.哪些版本支持APT？ <br>9.感谢 <br>10.本使用指南的新版本 </p>

<p>Debian APT HOWTO 第一章 导言 <br>APT HOWTO <br>第一章 导言 </p>

<p>最初只有.tar.gz的打包文件，用户必须编译每个他想在GNU/Linux上运行的软件。用户们普遍认为系统很有必要提供一种方法来管理这些安
装在机器上的软件包，当Debian诞生时，这样一个管理工具也就应运而生，它被命名为dpkg。从而著名的“package”概念第一次出现在
GNU/Linux系统中，稍后RedHat才决定开发自己的“rpm”包管理系统。 </p>

<p>很快一个新的问题难倒了GNU/Linux制作者，他们需要一个快速、实用、高效的方法来安装软件包，当软件包更新时，这个工具应该能自动管理关联文件和维护已有配置文件，再次，Debian率先解决了这个难题，APT（Advanced 
Packaging Tool）诞生了。APT后来还被Conectiva改造用来管理rpm，并被其它Linux发行版本采用为它们的软件包管理工具。 </p>

<p>本文档不打算讲解apt-rpm相关知识，因为Conectiva port of APT已很有名了，不过提供有关这部分的补充文档还是欢迎的。 </p>

<p>本文档是基于Debian下一个发行版的，长官。 </p>

<p><br>Debian APT HOWTO 第二章 基础设置 <br>APT HOWTO <br>第二章 基础设置 </p>

<p>2.1 /etc/apt/sources.list文件 <br>============================= 
<br>作为操作的一部分，APT使用一个文件列出可获得软件包的镜像站点地址，这个文件就是/etc/apt/sources.list。 </p>

<p>文件中的各项信息通常按如下格式列出： </p>

<p>deb http://site.http.org/debian distribution section1 section2 section3 
<br>deb-src http://site.http.org/debian distribution section1 section2 section3 
</p>

<p>当然，上面所列的地址项都是假设的不可用的。每行的第一个单词deb或deb-src，描述了文件类型，目录中包含的是二进制软件包（deb），即
我们通常使用的已编译好的软件包；或包含的是源码包（deb-src），源码包包含源程序编码、Debian管理文件（.dsc）和“Debian化”该
程序所做更改的记录文件diff.gz。 </p>

<p>通常可以看出如下Debian默认的sources.list： </p>

<p># See sources.list(5) for more information, especialy <br># Remember that you 
can only use http, ftp or file URIs <br># CDROMs are managed through the 
apt-cdrom tool. <br>deb http://http.us.debian.org/debian stable main contrib 
non-free <br>deb http://non-us.debian.org/debian-non-US stable/non-US main 
contrib non-free <br>deb http://security.debian.org stable/updates main contrib 
non-free </p>

<p># Uncomment if you want the apt-get source function to work <br>#deb-src 
http://http.us.debian.org/debian stable main contrib non-free <br>#deb-src 
http://non-us.debian.org/debian-non-US stable non-US </p>

<p>这些是Debian基本安装所需的软件包来源地址，第一个deb行指向官方正式软件包来源，第二个deb行指向non-US软件包来源，第三deb行指向Debian安全补丁更新包来源。 
</p>

<p>最后两行被注释掉了（在句首加#），所以apt-get将忽略它们。这些是deb-src行指向Debian源码包来源，如果你常下载程序源码来测试或重编译，可取消对它们的注释。 
</p>

<p>/etc/apt/sources.list文件可包含多种类型的地址，APT知道如何处理这些不同的地址类型：http，ftp，file（本地文件，例如：一个加载了ISO9600文件系统的目录）和ssh。 
</p>

<p>别忘了在修改完/etc/apt/sources.list文件后运行apt-get使更改生效。你必须完成这个步骤，以便让APT从你指定的地方获得新的软件包列表。 
</p>


<p>2.2 如何在本地使用APT <br>===================== 
<br>有时你硬盘上有许多软件包，你会希望通过APT来安装它们，以便让它去处理软件包间复杂的依赖关系。 </p>

<p>想这么做，就建一个目录，将所有你想要安装的.deb文件放入其中。例如： </p>

<p>mkdir /root/debs </p>

<p>你可以使用一个重载文件（override 
file）直接去修改软件包中管理文件中的定义（definitions），使之符合你的软件储藏库管理规则，在这个重载文件中，你可能希望定义一些选项来重载那些软件包的定义，如下所示： 
</p>

<p>package priority section </p>

<p>package是软件包的名称，priority有三个级别low，medium或high，section是软件包所属的section，重载文
件可任意命名，文件名将在接下来的步骤中做为参数传递给dpkg-scanpackages。如果你不想写重载文件，只需在调用dpkg-
scanpackages时使用/dev/null就行了。 </p>

<p>仍是在/root目录下执行： </p>

<p>dpkg-scanpackages debs file | gzip &gt; debs/Packages.gz </p>

<p>在上述的命令行中，file为重载文件，命令生成一个Packages.gz文件，它包含了APT所需的各种软件包信息，要使用这些软件包，在sources.list中加上： 
</p>

<p>deb file:/root debs/ </p>

<p>完成了上面的工作，就可以通常那样使用APT命令操作这些软件包了。你可以使用同样的方法生成一个源码库，但请记住你需要将.
orig.tar.gz文件、.dsc文件和.diff.gz文件包含在目录中，要生成Source.gz文件而不是Packages.gz文件。所使用
的命令也不相同，要使用dpkg-scansources，命令如下所示： </p>

<p>dpkg-scansources debs | gzip &gt; debs/Sources.gz </p>

<p>注意dpkg-scansource不需要重载文件，在sources.list中的引用法是： </p>

<p>deb-src file:/root debs/ </p>


<p>2.3 选择最佳镜像发布站点加入source.list文件：netselect，netselect-apt 
<br>===================================================================== 
<br>一个新用户经常问到的问题：“该将哪个Debian镜像发布站点加入source.list文件？”。有很多方法来选择镜像发布站点，专家们可能会写一个脚本去测试不同站点的ping 
time，不过有一个现成的程序可以帮你：netselect。 </p>

<p>安装netselect </p>

<p>apt-get install netselect </p>

<p>不带参数运行它时会显示它的帮助信息。运行它时加上以空格分隔的镜像主机列表，它会返回一个分值和列表中的一个主机名。这个分值通过评估ping 
time和hops 
number（一个网络请求报文到达目标主机所经过的转发主机的个数）得出，它与镜像站点预计下载速度成反比（数值越小越好）。返回的主机名是主机列表中得分最低的那个（查看列表中所以主机的得分情况可使用-vv选项）。看出下的例子： 
</p>

<p>bash$ netselect ftp.debian.org http.us.debian.org ftp.at.debian.org 
download.unesp.br ftp.debian.org.br <br>365 ftp.debian.org.br <br>bash$ </p>

<p>它表示，在netselect后列出的所有主机中，ftp.debian.org.br是下载速度最快的主机，其得分为365。（注意！！这是在我电脑上的测试结果，不同的网络节点网速会大不相同，所以这个分值不一定适用于其它电脑） 
</p>

<p>现在将netselect找到的连接速度最快的镜像站点加入/etc/apt/sources.list文件（see The 
/etc/apt/sources.list file, Section 2.1）and follow the tips in Managing 
packages, Chapter 3. </p>

<p>注意：镜像站点列表通常包含在文件http://www.debian.org/mirror/mirrors_full。 </p>

<p>从0.3版开始，netselect软件包包含了netselect-apt脚本，它使上述操作自动完成。只需将发布目录树做为参数（默认为
stable）输入，sources.list文件就会生成速度最快的main和non-US镜像站点列表，并保存在当前目录下。下面的例子生成一个包含
stable发布镜像站点列表的sources.list </p>

<p>bash$ ls sources.list <br>ls: sources.list: File or directory not found 
<br>bash$ netselect-apt stable <br>(...) <br>bash$ ls -l sources.list 
<br>sources.list <br>bash$ </p>

<p>记住：sources.list生成在当前目录下，必须将其移至/etc/apt目录。 </p>

<p>Then, follow the tips in Managing packages, Chapter 3. </p>


<p>2.4 将CD-ROM加入source.list文件 <br>=============================== 
<br>如果你用APT从CD-ROM上安装及升级软件包，你可以将它加入到sources.list文件中。完成该操作，可使用apt-cdrom程序： </p>

<p>apt-cdrom add </p>

<p>将Debian光盘放入光驱，它将加载光盘目录，并在光盘上查找软件包信息。如果你的光驱需要额外设置，可使用以下选项： </p>

<p>-h - program help <br>-d directory - CD-ROM mount point <br>-r - Rename a 
recognized CD-ROM <br>-m - No mounting <br>-f - Fast mode, don't check package 
files <br>-a - Thorough scan mode </p>

<p>例如： </p>

<p>apt-cdrom -d /home/kov/mycdrom add </p>

<p>你还可以扫描一张光盘，但不将其加入列表： </p>

<p>apt-cdrom ident </p>

<p>注意，只有当你在系统的/etc/fstab中正确设置了光驱后，该程序才会工作。 </p>

<p><br>Debian APT HOWTO 第三章 软件包管理 <br>APT HOWTO <br>第三章 软件包管理 </p>

<p>3.1 更新可用软件包列表 <br>====================== 
<br>软件包管理系统使用一个私有数据库跟踪列表中软件包的当前状态：已安装、未安装或可安装。apt-get通过该数据库来确定如何安装用户想用的软件包以及正常运行软件包所必须的其它关联包。 
</p>

<p>你可以使用apt-get 
update来更新数据库列表。这个命令将扫描/etc/apt/sources.list文件中所指路径中的软件包列表文件。有关该列表文件的更多信息请查阅 第二章 
/etc/apt/source.list文件。 </p>

<p>定时运行这个程序是个好主意，它将使你和你的系统获得最新的软件包更新和安全更新等信息。 </p>


<p>3.2 安装软件包 <br>============== 
<br>现在，终于到了你一直期待的阶段！准备好了sources.list和最新版的的可用软件包，你所需做的就是运行apt-get来安装你渴望已久的软件了。例如，你可以这样： 
</p>

<p>apt-get install xchat </p>

<p>APT会扫描它的数据库找到最新的版本的软件包，并将它从sources.list中所指的地方下载到本地。如果该软件包需要其它软件包才能正常运行——如本例一样——APT会做关联性检查并自动安装所关联软件包。如下所示： 
</p>

<p>[root]@[/] # apt-get install nautilus <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following extra packages will be 
installed: <br>bonobo libmedusa0 libnautilus0 <br>The following NEW packages 
will be installed: <br>bonobo libmedusa0 libnautilus0 nautilus <br>0 packages 
upgraded, 4 newly installed, 0 to remove and 1 not upgraded. <br>Need to get 
8329kB of archives. After unpacking 17.2MB will be used. <br>Do you want to 
continue? [Y/n] </p>

<p>nautilus软件包需要引用共享函数库，因此APT会从镜像源处下载相关共享函数库，如果你在apt-get命令行中手动指定了这些共享函数库的名称，APT会默认为你要安装所有这些软件包。 
</p>

<p>也就是说APT只会在安装那些没有在命令行中指定的软件包时提示你进行确认。 </p>

<p>下列apt-get选项也许对你有用 </p>

<p>-h This help text. <br>-d Download only - do NOT install or unpack archives 
<br>-f Attempt to continue if the integrity check fails <br>-s No-act. Perform 
ordering simulation <br>-y Assume Yes to all queries and do not prompt <br>-u 
Show a list of upgraded packages as well </p>

<p>可以用一条命令安装多个软件包。包文件从网络上下载到本地/var/cache/apt/archives目录，稍后再安装。 </p>

<p>你可以用同样的命令行删除指定软件包，只需在软件包名称后紧跟一个“-”，如下所示： </p>

<p>[root]@[/] # apt-get install nautilus gnome-panel- <br>Reading Package 
Lists... Done <br>Building Dependency Tree... Done <br>The following extra 
packages will be installed: <br>bonobo libmedusa0 libnautilus0 <br>The following 
packages will be REMOVED: <br>gnome-applets gnome-panel gnome-panel-data 
gnome-session <br>The following NEW packages will be installed: <br>bonobo 
libmedusa0 libnautilus0 nautilus <br>0 packages upgraded, 4 newly installed, 4 
to remove and 1 not upgraded. <br>Need to get 8329kB of archives. After 
unpacking 2594kB will be used. <br>Do you want to continue? [Y/n] </p>

<p>有关删除软件包的更多详细信息，参阅 3.3 移除软件包。 </p>

<p>假如你不小心损坏了已安装的软件包而想修复它，或者仅仅想安装软件包中某些文件的最新版本，这是可以做到的，你可以用--reinstall选项： </p>

<p>[root]@[/] # apt-get --reinstall install gdm <br>Reading Package Lists... 
Done <br>Building Dependency Tree... Done <br>0 packages upgraded, 0 newly 
installed, 1 reinstalled, 0 to remove and 1 not upgraded. <br>Need to get 
0B/182kB of archives. After unpacking 0B will be used. <br>Do you want to 
continue? [Y/n] </p>

<p>本文档写作时所参考的APT版本为0.5.3，这个版本还属于“unstable”（sid）阶段。如是你安装了这个版本，你可以在系统配置中使用新增的功能：你可以用apt-get 
install package/distribution来安装指定发布版中的软件包，或者用apt-get install 
package=version，如下所示： </p>

<p>apt-get install nautilus/unstable </p>

<p>它将为你安装“unstable”发布版中的nautilus软件包，即使你当前运行的是“stable”版本。命令中“distribution”选项的可用参数值为：stable，testing，unstable。 
</p>

<p>在处理关联问题时，你可能更乐意使用-t开关来选择目标发布版，让apt-get帮你考虑使用哪个发布版。 </p>

<p>重要信息：最新版的Debian软件包首先会上传到“unstable”发布版中，这个发布版包含了软件包所有更改阶段，无论是小修小补还是影响到众多软件包乃至整个系统的重大修改。所以，新手和那些强调系统稳定性的用户不会使用这个发布版。 
</p>

<p>“testing”发布版比起“unstable”发布版，多注重了些系统稳定性，但正式运行的系统应当使用“stable”发布版。 </p>


<p>3.3 移除软件包 <br>============== 
<br>如果你不再使用某些软件包，你可以用APT将其从系统中删除。要删除软件包只需输入：apt-get remove package。如下所示： </p>

<p>[root]@[/] # apt-get remove gnome-panel <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following packages will be REMOVED: 
<br>gnome-applets gnome-panel gnome-panel-data gnome-session <br>0 packages 
upgraded, 0 newly installed, 4 to remove and 1 not upgraded. <br>Need to get 0B 
of archives. After unpacking 14.6MB will be freed. <br>Do you want to continue? 
[Y/n] </p>

<p>由上例可知，APT会关注那些与被删除的软件包有依赖关系的软件包。使用APT删除一个软件包将会连带删除那些与该软件包有依赖关系的软件包。 </p>

<p>上例中运行apt-get会删除指定软件包以及与之有依赖关系的软件包，但它们的配置文件，如果有的话，会完好无损地保留在系统里。如果想彻底删除这些包及其配置文件，运行： 
</p>

<p>[root]@[/] # apt-get --purge remove gnome-panel <br>Reading Package Lists... 
Done <br>Building Dependency Tree... Done <br>The following packages will be 
REMOVED: <br>gnome-applets* gnome-panel* gnome-panel-data* gnome-session* <br>0 
packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. <br>Need 
to get 0B of archives. After unpacking 14.6MB will be freed. <br>Do you want to 
continue? [Y/n] </p>

<p>注意：软件包名字后面的*表示该软件包所有的配置文件也将被删除。 </p>

<p>就象安装软件时一样，你可以在删除命令中用一个符号来指定安装某个软件包。在删除软件包时，如果你在软件包名字后面紧跟一个“+”，那么该软件包就会被安装而不是删除。 
</p>

<p>[root]@[/] # apt-get --purge remove gnome-panel nautilus+ <br>Reading Package 
Lists... Done <br>Building Dependency Tree... Done <br>The following extra 
packages will be installed: <br>bonobo libmedusa0 libnautilus0 nautilus <br>The 
following packages will be REMOVED: <br>gnome-applets* gnome-panel* 
gnome-panel-data* gnome-session* <br>The following NEW packages will be 
installed: <br>bonobo libmedusa0 libnautilus0 nautilus <br>0 packages upgraded, 
4 newly installed, 4 to remove and 1 not upgraded. <br>Need to get 8329kB of 
archives. After unpacking 2594kB will be used. <br>Do you want to continue? 
[Y/n] </p>

<p>注意，apt-get列出了那些将要被安装的关联软件包（即保证该软件包正常运行的其它软件包）和将要被删除关联软件包，然后，再次列出了将要被安装的软件包。 
</p>


<p>3.4 更新软件包 <br>============== <br>软件包更新是APT最成功的特点。只需一条命令即可完成更新：apt-get 
upgrade。你可以使用这条命令从相同版本号的发布版中更新软件包，也可以从新版本号的发布版中更新软件包，尽管实现后一种更新的首选命令为apt-get 
dist-upgrade；实情参阅 3.5升级到新版本。 </p>

<p>在运行该命令时加上-u选项很有用。这个选项让APT显示完整的可更新软件包列表。不加这个选项，你就只能盲目地更新。APT会下载每个软件包的最新更新版本，然后以合理的次序安装它们。注意在运行该命令前应先运行apt-get 
update更新数据库。有关详情参阅 3.1更新可用软件包列表。看看这个例子： </p>

<p>[root]@[/] # apt-get -u upgrade <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following packages have been kept 
back <br>cpp gcc lilo <br>The following packages will be upgraded <br>adduser ae 
apt autoconf debhelper dpkg-dev esound esound-common ftp indent <br>ipchains 
isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev <br>libgtk1.2 
libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 
<br>libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 
<br>29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 
<br>Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used. 
<br>Do you want to continue? [Y/n] </p>

<p>整个更新过程非常简单。注意在本例中头几行，apt-get报告有些软件包的更新被阻止（kept 
back），这表明这些软件包的更新版本因故无法安装，可能的原因有关联不同步（当前没有供下载的新版本关联包）或关联扩展（需要安装新的关联包以配合新版软件包）。 
</p>

<p>对于第一种原因没有很好的解决方法，对于第二次原因，运行apt-get 
intall安装所需的新关联包就可以。另一个更好的解决方法就是使用dist-upgrade。详情参阅 3.5升级到新版本。 </p>


<p>3.5 升级到新版本 <br>================ 
<br>APT的绝活就是让你一次就完成整个系统的更新，不论是通过Internet还是通过光盘文件（购买的碟片或下载的ISO镜像文件）。 </p>

<p>它也可以用来更新寻些改变了关联关系的软件包。即如前所述的那些使用apt-get upgrade时被阻止更新（kept back）的软件包。 </p>

<p>例如，假设你目前使用的Debian为stable revision 0（如woody 3.0 r0，译者注），而你购买了revision 
3的新版Debian（如woody 3.0 r3，译者注），你可以使用APT从新光盘上升级你的系统。使用apt-cdrom（参阅 
2.4将CD-ROM加入source.list文件）将光盘加载到/etc/apt/sources.list中，然后运行apt-get dist-upgrade。 
</p>

<p>请注意，APT总是搜索最新版本的软件包，因此，如果一个软件包在你的/etc/apt/sources.list中所列的版本比光盘上所列的版本要新，那么APT会按照sources.list文件所指的地址下载这个软件包而不是使用光盘上的软件包。 
</p>

<p>在 3.4更新软件包 中我们举了个例子，我们看到有些包被阻止更新（kept back），现在我们就用dist-upgrade方法来解决这个问题： </p>

<p>[root]@[/] # apt-get -u dist-upgrade <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>Calculating Upgrade... Done <br>The 
following NEW packages will be installed: <br>cpp-2.95 cron exim gcc-2.95 
libident libopenldap-runtime libopenldap1 <br>libpcre2 logrotate mailx <br>The 
following packages have been kept back <br>lilo <br>The following packages will 
be upgraded <br>adduser ae apt autoconf cpp debhelper dpkg-dev esound 
esound-common ftp gcc <br>indent ipchains isapnptools libaudiofile-dev 
libaudiofile0 libesd0 <br>libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 
libnewt0 liborbit-dev <br>liborbit0 libstdc++2.10-glibc2.2 libtiff3g 
libtiff3g-dev modconf orbit <br>procps psmisc <br>31 packages upgraded, 10 newly 
installed, 0 to remove and 1 not upgraded. <br>Need to get 0B/7098kB of 
archives. After unpacking 3118kB will be used. <br>Do you want to continue? 
[Y/n] </p>

<p>注意现在那些软件包将会被更新，那些新的关联软件包也会被安装。但是lilo仍被阻止更新，可能还存在一些比建立新关联更棘手的问题，我们通过如下方法确定问题所在： 
</p>

<p>[root]@[/] # apt-get -u install lilo <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following extra packages will be 
installed: <br>cron debconf exim libident libopenldap-runtime libopenldap1 
libpcre2 <br>logrotate mailx <br>The following packages will be REMOVED: 
<br>debconf-tiny <br>The following NEW packages will be installed: <br>cron 
debconf exim libident libopenldap-runtime libopenldap1 libpcre2 <br>logrotate 
mailx <br>The following packages will be upgraded <br>lilo <br>1 packages 
upgraded, 9 newly installed, 1 to remove and 31 not upgraded. <br>Need to get 
225kB/1179kB of archives. After unpacking 2659kB will be used. <br>Do you want 
to continue? [Y/n] </p>

<p>查看上述提示信息可知，lilo与debconf-tiny包产生了一个新冲突，这表明除非删除debconf-tiny，否则将无法更新lilo。 </p>

<p>想知道该保留或删除哪些软件包，你可以使用： </p>

<p># apt-get -o Debug::pkgProblemResolver=yes dist-upgrade <br>Reading Package 
Lists... Done <br>Building Dependency Tree... Done <br>Calculating Upgrade... 
Starting <br>Starting 2 <br>Investigating python1.5 <br>Package python1.5 has 
broken dep on python1.5-base <br>Considering python1.5-base 0 as a solution to 
python1.5 0 <br>Holding Back python1.5 rather than change python1.5-base 
<br>Investigating python1.5-dev <br>Package python1.5-dev has broken dep on 
python1.5 <br>Considering python1.5 0 as a solution to python1.5-dev 0 
<br>Holding Back python1.5-dev rather than change python1.5 <br>Try to 
Re-Instate python1.5-dev <br>Done <br>Done <br>The following packages have been 
kept back <br>gs python1.5-dev <br>0 packages upgraded, 0 newly installed, 0 to 
remove and 2 not upgraded. </p>

<p>现在，你很容易就知道不能安装python1.5-dev软件包是因为无法满足另一个软件包python1.5的关联要求。 </p>


<p>3.6 移除无用软件包文件：apt-get clean and autoclean 
<br>=================================================== 
<br>当你需要安装某个软件包时，APT从/etc/apt/sources.list中所列的主机下载所需的文件，将它们保存到本机软件库（/var/cache/apt/archives/），然后开始安装，参阅 
3.2 安装软件包。 </p>

<p>本地软件库会不断膨胀占用大量硬盘空间，幸运的是，APT提供了工具来管理本地软件库：apt-get的clean方法和autoclean方法。 </p>

<p>apt-get 
clean将删除/var/cache/apt/archives目录和/var/cache/apt/archives/partial目录下的所有文件，除了被锁定的文件。这样以来，当你需要再次安装某个软件包时，APT将重新下载它。 
</p>

<p>apt-get autoclean仅删除那些不需要再次下载的文件。 </p>

<p>下面这个例子显示了apt-get autoclean如何工作： </p>

<p># ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm* 
<br>logrotate_3.5.9-7_i386.deb <br>logrotate_3.5.9-8_i386.deb 
<br>gpm_1.19.6-11_i386.deb </p>

<p>在/var/cache/apt/archives目录下有两个不同版本的logrotate软件包文件以及一个gpm软件包文件。 </p>

<p># apt-show-versions -p logrotate <br>logrotate/stable uptodate 3.5.9-8 <br># 
apt-show-versions -p gpm <br>gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12 
</p>

<p>apt-show-versions显示logrotate_3.5.9-8_i386.deb提供了logrotate的升级版本，所以
logrotate_3.5.9-7_i386.deb没用了。同样gpm_1.19.6-11_i386.deb也没有用了，因为可以下载该软件包的更
新版本。 </p>

<p># apt-get autoclean <br>Reading Package Lists... Done <br>Building Dependency 
Tree... Done <br>Del gpm 1.19.6-11 [145kB] <br>Del logrotate 3.5.9-7 [26.5kB] 
</p>

<p>总之，apt-get autoclean仅删除那些过时的文件。参阅 3.9如何从Debian的专用版本下升级软件包 
获得更多apt-show-versions相关信息。 </p>


<p>3.7 在dselect中操作APT <br>====================== 
<br>dselect工具帮助用户选取想要安装的Debian软件包。它有点复杂甚至令人望而生厌，但经过实践你就能掌握它恐怖的终端界面。 </p>

<p>dselect高级功能之一就是它知道利用Debian软件包的“推荐”和“建议”能力。（Debian软件包有一种能力：推荐或建议系统在安装自
己的同时，安装别的软件包以配合自身的工作，当然这些推荐的软件包不一定是必须的；而dselect工具可以识别和利用这个能力，使用dselect时你
就能体会到。译者注）以root身份运行dselect，进入程序后选择apt作为连接方式（access）。该步骤不是必须的，但如果你没有光驱而且想
通过Internet下载安装软件包，这是使用dselect的最好方法。 </p>

<p>想深入学习dselect的用法，请到Debian网站查阅dselect文档页面 <br>http://www.debian.org/doc/ddp 
</p>

<p>在dselect中选好了软件包后，运行： </p>

<p>apt-get -u dselect-upgrade </p>

<p>如下例所示： </p>

<p>[root]@[/] # apt-get -u dselect-upgrade <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following packages will be REMOVED: 
<br>lbxproxy <br>The following NEW packages will be installed: <br>bonobo 
console-tools-libs cpp-3.0 enscript expat fingerd gcc-3.0 <br>gcc-3.0-base 
icepref klogd libdigest-md5-perl libfnlib0 libft-perl <br>libgc5-dev libgcc300 
libhtml-clean-perl libltdl0-dev libsasl-modules <br>libstdc++3.0 metamail 
nethack proftpd-doc psfontmgr python-newt talk tidy <br>util-linux-locales 
vacation xbill xplanet-images <br>The following packages will be upgraded 
<br>debian-policy <br>1 packages upgraded, 30 newly installed, 1 to remove and 0 
not upgraded. <br>Need to get 7140kB of archives. After unpacking 16.3MB will be 
used. <br>Do you want to continue? [Y/n] </p>

<p>比较一下我们在相同系统上运行apt-get dist-upgrade时的情形： </p>

<p>[root]@[/] # apt-get -u dist-upgrade <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>Calculating Upgrade... Done <br>The 
following packages will be upgraded <br>debian-policy <br>1 packages upgraded, 0 
newly installed, 0 to remove and 0 not upgraded. <br>Need to get 421kB of 
archives. After unpacking 25.6kB will be freed. <br>Do you want to continue? 
[Y/n] </p>

<p>我们看到在前例中许多软件包被安装是其它软件包“推荐”或“建议”的结果。另外一些软件包被安装或删除（例如lbxproxy软件包）是我们通过dselect工具作出的决定。由此可见dselect与APT结合起来将是一个功能强大的工具。 
</p>


<p>3.8 如何构建一个混合系统 <br>======================== 
<br>人们常使用testing发布版，因为它比unstable要稳定同时又比stable时髦。然而对于那些想运行某些软件包的最新版本，又不希望
将整个系统迁移到unstable发布版的还有一种选择：运行一个testing/unstable混合系统。对另一部分保守的用户而言，他们可能希望运
行stable/testing混合系统。 </p>

<p>要实现混合系统，请在/etc/apt/apt.conf中加入下面的语句： </p>

<p>APT::Default-Release "testing"; </p>

<p>以后，在从unstable发布版安装软件包时，使用-t开关： </p>

<p># apt-get -t unstable install packagename </p>

<p>别忘了，使用Debian的某个发布版的软件包时，要将镜像源加入到/etc/apt/sources.list文件中。在这个例子中，除了加入testing发布版镜像源处，我们还需要加入unstable发布版镜像源。 
</p>


<p>3.9 如何从Debian的专用版本下升级软件包 <br>====================================== 
<br>apt-show-versions提供了一个安全的途径，让那些使用混合系统的用户放心升级他们的系统，不必担心升级会将原来属于stable的包升级成了unstable包。例如，这条命令将只升级你的unstable软件包： 
</p>

<p># apt-get install `apt-show-versions -u -b | grep unstable` </p>


<p>3.10 如何维护已安装软件包的多个版本（复杂） <br>========================================== 
<br>你可能会遇到这种情况，更改了某个软件包中的一些文件，但你没有时间或根本就不想将这些更改引入到新版本中。或者，你将系统升级到3.0，但仍想继续使用Debian 
2.2下的某个软件包。你可以“钉住”（pin）这个版本，这样它就不会被更新了。 </p>

<p>操作起来十分简单，你只需编辑/etc/apt/preferences文件。 </p>

<p>文件格式很简单： </p>

<p>Package: &lt;package&gt; <br>Pin: &lt;pin definition&gt; <br>Priority: 
&lt;pin's priority&gt; </p>

<p>例如，我对sylpheed软件包做了某些修改，其版本为0.4.99，我想保留这些修改不被更新，可加上： </p>

<p>Package: sylpheed <br>Pin: version 0.4.99* </p>

<p>注意我用了一个
*（星号）。这是一个“通配符”；它表明我希望“钉住”所有以0.4.99打头的版本（以防它们被下载并安装到我机器上。pin控制的是服务器端的更新软
件包而非本地的已安装软件包。译者注）。因为Debian使用“Debian版本号”为其软件包定版本，我不想进行所有这些版本的升级，如果不用通配符，
那么0.4.99-1版或0.4.99-10版只要一出炉系统就会安装它们。如果你修改了软件包，你一定不希望这么做。 </p>

<p>Priority是可选域；如果没有特别指定，它的默认值为989。 </p>

<p>让我们来看看pin如何体现优先级（priorty）区别。一个低于0的优先级表示：该软件包被禁止安装；优先级在0到100之间表示：软件包没有
安装并且当前也没有可用版本，这些软件包不会出现在供选择版本列表中；优先级为100表示软件包已被安装——对于这个已安装的软件包，如果有一个不同的版
本要替换它，那么替换者的优先级必须大于100。 </p>

<p>优先级在100以上表示软件包应该被安装。典型的例子如，某个软件包的升级补丁包，任何处于100和1000（包括1000）之间的优先级都表示上
述情形。但是，一个软件包如果被定为这样的优先级，它并不会降级已安装的版本。例如，如果我安装了sylpheed 0.5.3并为sylpheed
0.4.99指定了一个优先级为999的pin，那么由于要满足pin的优先级，所以0.4.99软件包不会被安装。如果要实现软件包“降级”，则需要将
pin的优先级定为大于1000。（100&lt;优先级&lt;=1000时，如果存在升级包就对本机相关包升级，如果本机软件包比更新包还新就保持不
变；优先级&gt;1000时，服务器端软件包不论比本机的软件包新还是旧，均对本机相关软件包进行更新。译者注） </p>

<p>pin可以被用来控制软件包的修订版本（version）、发布版本（release）或版本来源（origin）。 </p>

<p>在前面我们已经看到，钉住修订版本时使用通配符来代替版本号数字，这样可一次指定多个版本。 </p>

<p>release选项是基于发布版文件（Release
file）的，这个文件在本地APT软件库中或安装光盘上。如果你从本地软件库安装软件包而软件库中又没有该文件，那么这个选项将失效。来看看
/var/lib/apt/lists/目录中发布版文件的内容，发布版包括这些参数：a（archive），c（components），v
（version），o（origin），l（lable）。 </p>

<p>来看一个例子： </p>

<p>Package: * <br>Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian 
<br>Priority: 1001 </p>

<p>在本例中，我们选择了version为2.2*的Debian（它可以是2.2r2，2.2r3——这些版本包含了“point
releases”即安全更新和其它非常生要的更新），stable软件库，main类软件包（非contrib或non-free），版本来源和标签均
为Debian。版本来源（o=）说明谁制作了这个发布版文件，标签（l=）说明该发布版的名称：Debian即是指Debian自己，Progeny即
是指后裔制作者，下面是一个发布版文件的样例： </p>

<p>$ cat 
/var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Release 
<br>Archive: stable <br>Version: 2.2r3 <br>Component: main <br>Origin: Debian 
<br>Label: Debian <br>Architecture: i386 </p>

<p><br>Debian APT HOWTO 第四章 几个非常有用的工具 <br>APT HOWTO <br>第四章 几个非常有用的工具 </p>

<p>4.1 如何安装本地编译的软件包：equivs <br>==================================== 
<br>有时，用户想使用某些软件的特殊版本，它们只以源代码的形式存在，没有现成的Debian软件包。软件包管理系统在处理这类事务时可能会出问题。
假设你想编译新版本的邮件服务器，编译、安装一切正常，然而，软件包管理系统并不知道你在系统中安装了自己编译的东西，在Debian中许多基于MTA
（Mail Transport Agent 邮件传输代理）的软件包也不知道这些。 </p>

<p>现在是equivs登台的时候了。用它来安装软件包，它所做的工作就是创建一个新的空软件包来实现关联，让软件包管理系统相信关联实现了。 </p>

<p>在我们开始以前，我必须提醒你，编译某个软件最安全的方法是对该软件现有的Debian软件包进行修改后重新编译，如果你并不知道你正在干什么，劝你不要使用equivs替换关联包。更多信息请参阅 
第六章 源码包操作。 </p>

<p>继续上面的例子，你安装好了新编译的postfix，接下来打算安装mutt，突然你发现mutt想与另一个MTA建立关联，而你想让它使用你刚安装的新MTA。 
</p>

<p>转到某个目录（例如/tmp）执行： </p>

<p># equivs-control name </p>

<p>将name替换为你创建的管理文件（control file），管理文件按如下格式创建： </p>

<p>Section: misc <br>Priority: optional <br>Standards-Version: 3.0.1 </p>

<p>Package: &lt;enter package name; defaults to equivs-dummy&gt; <br>Version: 
&lt;enter version here; defaults to 1.0&gt; <br>Maintainer: &lt;your name and 
email address; defaults to username&gt; <br>Pre-Depends: &lt;packages&gt; 
<br>Depends: &lt;packages&gt; <br>Recommends: &lt;packages&gt; <br>Suggests: 
&lt;package&gt; <br>Provides: &lt;(virtual)package&gt; <br>Architecture: all 
<br>Copyright: &lt;copyright file; defaults to GPL2&gt; <br>Changelog: 
&lt;changelog file; defaults to a generic changelog&gt; <br>Readme: 
&lt;README.Debian file; defaults to a generic one&gt; <br>Extra-Files: 
&lt;additional files for the doc directory, commaseperated&gt; <br>Description: 
&lt;short description; defaults to some wise words&gt; <br>long description and 
info <br>. <br>second paragraph </p>

<p>我们只需按自己的需要修改相关项目就行了。文件中每个项目都描述得很清楚，我们不必在此逐行解释它们。现在开始修改吧： </p>

<p>Section: misc <br>Priority: optional <br>Standards-Version: 3.0.1 </p>

<p>Package: mta-local <br>Provides: mail-transport-agent </p>

<p>行了，就是这样。mutt要与mail-transport-agent关联，这是所有MTA共用的一个虚拟包（virtual 
package），我可以简单地将这个软件包命名为mail-transport-agent，不过我更愿意使用系统的虚拟包方案，使用Provides选项。 </p>

<p>现在你可以开始创建软件包了： </p>

<p># equivs-build name <br>dh_testdir <br>touch build-stamp <br>dh_testdir 
<br>dh_testroot <br>dh_clean -k <br># Add here commands to install the package 
into debian/tmp. <br>touch install-stamp <br>dh_testdir <br>dh_testroot 
<br>dh_installdocs <br>dh_installchangelogs <br>dh_compress <br>dh_fixperms 
<br>dh_installdeb <br>dh_gencontrol <br>dh_md5sums <br>dh_builddeb <br>dpkg-deb: 
building package `name' in `../name_1.0_all.deb'. </p>

<p>The package has been created. <br>Attention, the package has been created in 
the current directory, </p>

<p>然后安装这个新创建的.deb。 </p>

<p>众所周知，equivs的用法很多，它甚至可以帮你为那些常用软件的底层关联包创建个性化版本。尽情发挥你的想像力吧，不过要小心。 </p>

<p>重要提示：管理文件（control files）的样例文件在/usr/share/doc/equivs/examples目录下。 </p>


<p>4.2 移除无用的locale files文件：localepurge 
<br>=========================================== 
<br>许多Debian用户仅在固定地区使用Debian。例如，在巴西的Debian用户，通常使用pt_BR地区配置文件（locale 
file）而不会关心es地区配置文件。 </p>

<p>对于这类用户而言localepurge是一个非常有用的工具，你可以仅保留你当前所用的地区配置文件，删除其它无用的文件，从而释放大量硬盘空间。运行apt-get 
install localepurge就行了。 </p>

<p>它配置起来非常容易，debconf的提问将引导用户一步一步完成设置。在回答第一个问题时请务必谨慎，如果回答错了，系统可能删掉所有的地区配置文件，包括你正在使用的这个。复原它们的唯一方法就是重装那些软件包。 
</p>


<p>4.3 如何知晓哪些软件包可以升级 <br>============================== 
<br>apt-show-versions工具可以告诉你系统中哪些包可以更新以及其它一些有用的信息。-u选项可以显示可更新软件包列表： </p>

<p>$ apt-show-versions -u <br>libeel0/unstable upgradeable from 1.0.2-5 to 
1.0.2-7 <br>libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7 </p>

<p>Debian APT HOWTO 第五章 获取软件包信息 <br>APT HOWTO <br>第五章 获取软件包信息 </p>

<p>有些基于APT系统的前端程序，能十分方便地获得系统软件包列表，列表包括可安装或已安装的软件包，还可以显示某软件包属于哪个域（section），它的优先级（priority）是多少，它的说明文档，等等。 
</p>

<p>但是...在此我们想的学习如何使用APT本身来完成。你如何找出你想要安装的软件包的名称？ </p>

<p>我们完成这个任务的方法有很多。我们从apt-cache开始，APT系统使用这个程序来维护它的数据库。下面我们通过一些实际操作来对它做个概览。 </p>


<p>5.1 获得软件包名称 <br>================== <br>假设你十分怀念玩Atari 
2600的好日子，你决定用APT安装一个Atari emulator，随后再下载几个游戏，你可以这样： </p>

<p>[root]@[/] # apt-cache search atari <br>atari-fdisk-cross - Partition editor 
for Atari (running on non-Atari) <br>circuslinux - The clowns are trying to pop 
balloons to score points! <br>madbomber - A Kaboom! clone <br>tcs - Character 
set translator. <br>atari800 - Atari emulator for svgalib/X/curses <br>stella - 
Atari 2600 Emulator for X windows <br>xmess-x - X binaries for Multi-Emulator 
Super System </p>

<p>我们找到了几个相关的软件包，以及有关的简单描述。想进一步获得某个软件包的详细信息，你可以运行： </p>

<p>[root]@[/] # apt-cache show stella <br>Package: stella <br>Priority: extra 
<br>Section: non-free/otherosfs <br>Installed-Size: 830 <br>Maintainer: Tom Lear 
&lt;tom@trap.mtview.ca.us&gt; <br>Architecture: i386 <br>Version: 1.1-2 
<br>Depends: libc6 (&gt;= 2.1), libstdc++2.10, xlib6g (&gt;= 3.3.5-1) 
<br>Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb 
<br>Size: 483430 <br>MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 <br>Description: 
Atari 2600 Emulator for X windows <br>Stella is a portable emulator of the old 
Atari 2600 video-game console <br>written in C++. You can play most Atari 2600 
games with it. The latest <br>news, code and binaries for Stella can be found 
at: <br>http://www4.ncsu.edu/~bwmott/2600 </p>

<p>屏幕上显示出这个软件包的详细信息及其用途的完整描述。如果你的系统中已安装了某个软件包而系统又搜索到它的新版本，系统会将它们的详细信息一并列出。如下例： 
</p>

<p>[root]@[/] # apt-cache show lilo <br>Package: lilo <br>Priority: important 
<br>Section: base <br>Installed-Size: 271 <br>Maintainer: Russell Coker 
&lt;russell@coker.com.au&gt; <br>Architecture: i386 <br>Version: 1:21.7-3 
<br>Depends: libc6 (&gt;= 2.2.1-2), debconf (&gt;=0.2.26), logrotate 
<br>Suggests: lilo-doc <br>Conflicts: manpages (&lt;&lt;1.29-3) <br>Filename: 
pool/main/l/lilo/lilo_21.7-3_i386.deb <br>Size: 143052 <br>MD5sum: 
63fe29b5317fe34ed8ec3ae955f8270e <br>Description: LInux LOader - The Classic OS 
loader can load Linux and others <br>This Package contains lilo (the installer) 
and boot-record-images to <br>install Linux, OS/2, DOS and generic Boot Sectors 
of other OSes. <br>. <br>You can use Lilo to manage your Master Boot Record 
(with a simple text screen) <br>or call Lilo from other Boot-Loaders to 
jump-start the Linux kernel. </p>

<p>Package: lilo <br>Status: install ok installed <br>Priority: important 
<br>Section: base <br>Installed-Size: 190 <br>Maintainer: Vincent Renardias 
&lt;vincent@debian.org&gt; <br>Version: 1:21.4.3-2 <br>Depends: libc6 (&gt;= 
2.1.2) <br>Recommends: mbr <br>Suggests: lilo-doc <br>Description: LInux LOader 
- The Classic OS loader can load Linux and others <br>This Package contains lilo 
(the installer) and boot-record-images to <br>install Linux, OS/2, DOS and 
generic Boot Sectors of other OSes. <br>. <br>You can use Lilo to manage your 
Master Boot Record (with a simple text screen) <br>or call Lilo from other 
Boot-Loaders to jump-start the Linux kernel. </p>

<p>注意，首先列出的是可用软件包，接着列出的是已安装软件包。获取某个软件包的常规信息可运行： </p>

<p>[root]@[/] # apt-cache showpkg penguin-command <br>Package: penguin-command 
<br>Versions: 
<br>1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) 
</p>

<p>Reverse Depends: <br>Dependencies: <br>1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 
(null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
<br>Provides: <br>1.4.5-1 - <br>Reverse Provides: </p>

<p>如果仅想了解某软件包的与哪些软件包关联，可运行： </p>

<p>[root]@[/] # apt-cache depends penguin-command <br>penguin-command 
<br>Depends: libc6 <br>Depends: libpng2 <br>Depends: libsdl-mixer1.1 
<br>Depends: libsdl1.1 <br>Depends: zlib1g </p>

<p>总之，有一系列工具可帮助我们找到我们想要的软件包。 </p>


<p>5.2 使用dpkg查找软件包名称 <br>========================== 
<br>另一个定位软件包的方法是知道软件包中某个关键文件的名称。例如，你编译时需要某个头文件，查找提供该文件的软件包，你可以运行： </p>

<p>[root]@[/] # dpkg -S stdio.h <br>libc6-dev: /usr/include/stdio.h 
<br>libc6-dev: /usr/include/bits/stdio.h <br>perl: 
/usr/lib/perl/5.6.0/CORE/nostdio.h </p>

<p>或者： </p>

<p>[root]@[/] # dpkg -S /usr/include/stdio.h <br>libc6-dev: /usr/include/stdio.h 
</p>

<p>在清理硬盘空间时，了解系统中已安装软件的软件包名称十分有用，你可以运行： </p>

<p>[root]@[/] # dpkg -l | grep mozilla <br>ii mozilla-browse 0.9.6-7 Mozilla Web 
Browser </p>

<p>这个命令的缺点是它会“截断”软件包的名字。在上例中，软件包的全称是mozilla-browser，解决这个问题可以使用COLUMNS环境变量： </p>

<p>[kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla <br>ii mozilla-browser 
0.9.6-7 Mozilla Web Browser - core and browser </p>

<p>或显示成这样： </p>

<p>[root]@[/] # apt-cache search "Mozilla Web Browser" <br>mozilla-browser - 
Mozilla Web Browser </p>


<p>5.3 如何“按需”安装软件包 <br>========================== 
<br>你正在编译某段程序，突然，停住了！一条错误信息报告说你没有它需要的头文件。让auto-apt来救你吧，它问你是否要安装需要的软件包，然后挂起编译进程，安装好软件包后再恢复编译进程。 
</p>

<p>你所要做的仅仅是： </p>

<p>auto-apt run command </p>

<p>这里“command”指在运行过程中可能出现“需求文件不存在”问题的命令。例如： </p>

<p>auto-apt run ./configure </p>

<p>一会儿，它就会告诉你要安装所需的软件包并自动转到apt-get处理。如果你正在运行X，就会一个图形界面提示窗口。 </p>

<p>为了提高效率auto-apt所用的数据库需要实时更新。可调用auto-apt update，auto-apt updatedb和auto-apt 
update-local来完成更新。 </p>


<p>5.4 如何知道文件属于哪个软件包 <br>============================== 
<br>如果你想安装某个软件包，但用apt-cache查不出它的名称，不过你知道这个程序的文件名，或这个软件包中某些文件的文件名，那么你可以用apt-file来查找软件包名称。 
</p>

<p>$ apt-file search filename </p>

<p>它用起来很象dpkg 
-S，不过它还会列出包含该文件的已删除软件包。它也可以用来查找哪个软件包包含编译时所缺的文件，当然，解决这类问题auto-apt可能是更好的方案，请参阅 
5.3如何“按需”安装软件包。 </p>

<p>用这个命令，你可以列出软件包的内容： </p>

<p>$ apt-file list packagename </p>

<p>apt-file用一个数据库来存放所有软件包的内容信息，和auto-apt一样，这个数据库也需要实时更新，完成更新可以运行： </p>

<p># apt-file update </p>

<p>默认情况下，apt-file和auto-apt使用同一个数据库，参阅 5.3如何“按需”安装软件包。 </p>


<p>5.5 如何掌握软件包的变化情况 <br>============================ 
<br>在每个软件包被安装以后，都会在文档目录（/usr/share/doc/packagename）生成一个
changelog.Debian.gz的文件，这个文件记录了该软件包最后一次更新对系统做了哪些修改，你可以用zless阅读这些信息。不过当你对整
个系统进行升级以后，逐个查看软件包的更新信息可不是件容易事。 </p>

<p>有一个工具能帮你完成这项任务，它就是apt-listchanges。首先你要装上apt-listchanges软件包。在安装的过程中，Debconf会问你一些问题，按你的要求回答它们就行了。 
</p>

<p>“Should apt-listchanges be automatically run by 
apt”（想让apt自动运行apt-listchanges吗？）这个选项非常有用，因为在你使用apt更新软件包时，它会告诉你此次软件包更新将会对原有系统做出了哪些修改，你分析了这些信息以后再决定是否执行此次更新。“Should 
apt-listchanges prompt for confirmation after displaying 
changes?”（显示更新信息后，需要apt-listchanges等待你的确认信息吗？）选项也非常有用，因为在你阅读完更新信息后，它会询问你是否继续安装进程，如果你不想继续，apt-listchanges会返回一条错误信息，告诉apt停止安装进程。 
</p>

<p>安装了apt-listchanges后，每当apt下载软件包时（不论来源是Internet、光盘或是硬盘）都会显示这些软件包的系统更新信息。 </p>

<p>Debian APT HOWTO 第六章 源码包操作 <br>APT HOWTO <br>第六章 源码包操作 </p>

<p>6.1 下载源码包 <br>============== 
<br>在自由软件的世界里，经常需要学习源码或为程序除错，所以你需要下载它们。APT提供了一套简便的方法帮你获得发布版中众多程序的源代码以及创建一个.debs所需的所有文件。 
</p>

<p>Debian源码的另一个普遍用途是将unstable发布版的新版程序进行改写以供别的发布版使用，例如，从stable发布版外引入新的软件包，需要重新生成.debs将它在原发布版中的关联关系迁移到新的发布版。 
</p>

<p>完成这些工作，/etc/apt/sources.list文件中deb-src所指引用镜像源应该是unstable，别忘了将行首的注释符去掉。详情参阅 
2.1/etc/apt/sources.list文件。 </p>

<p>用下面的命令下载源码包： </p>

<p>apt-get source packagename </p>

<p>通常会下载三个文件：a .orig.tar.gz, a .dsc and a 
.diff.gz。对于Debian专用的软件包，最后一个文件不会下载，第一个文件的文件名中没有“orig”项。 </p>

<p>dpkg-source读取.dsc文件信息，将源码包解包到packagename-version目录，下载下来的源码包中有一个debian/目录，里面是创建.deb包所需的文件。 
</p>

<p>想要下载的源码包自动编译成软件包，只需在命令行中加上-b，如下： </p>

<p>apt-get -b source packagename </p>

<p>如果你不打算立即创建.deb包，你可以运行如下命令，以后再创建它。 </p>

<p>dpkg-buildpackage -rfakeroot -uc -b </p>

<p>请在下载包所在的目录中运行上面的命令。 </p>

<p>apt-get的source命令与它的其它命令有所不同，普通用户权限就可以运行source命令，指定文件被下载到用户调用apt-source 
package命令时所处的目录中。 </p>


<p>6.2 编译源码包所需的软件包 <br>========================== 
<br>通常，编译源码包时要用到某些头文件和共享库，所有的源码包的管理文件（control 
file）中都有一个域“Build-Depends：”，域中指出了编译该源码包需要哪些附加包。 </p>

<p>APT提供了一个简单的方法下载这些附加包，你只需运行apt-get build-dep 
package，其中package就是你打算编译的源码包名称。见下例： </p>

<p>[root]@[/] # apt-get build-dep gmc <br>Reading Package Lists... Done 
<br>Building Dependency Tree... Done <br>The following NEW packages will be 
installed: <br>comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev 
libgnorba-dev <br>libgpmg1-dev <br>0 packages upgraded, 7 newly installed, 0 to 
remove and 1 not upgraded. <br>Need to get 1069kB of archives. After unpacking 
3514kB will be used. <br>Do you want to continue? [Y/n] </p>

<p>这些用于gmc正确编译指定源码包的附加包将会被安装。注意这个命令不能用来搜索某个软件的源码包，你得另外运行apt-get source下载源码包。 
</p>

<p><br>Debian APT HOWTO 第七章 如何处理错误 <br>APT HOWTO <br>第七章 如何处理错误 </p>

<p>7.1 一般错误 <br>============ <br>错误总是发生，大部分是因为用户的粗心，下面列举一些常见错误及处理方法。 </p>

<p>如果在运行apt-get install package...时，你的系统报告如下信息： </p>

<p>Reading Package Lists... Done <br>Building Dependency Tree... Done <br>W: 
Couldn't stat source package list 'http://people.debian.org unstable/ Packages' 
(/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) - stat 
(2 No such file or directory) <br>W: You may want to run apt-get update to 
correct these missing files <br>E: Couldn't find package penguineyes </p>

<p>上次你修改/etc/apt/sources.list后，忘了运行apt-get update更新。 </p>

<p>如果出现这样的信息： </p>

<p>E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
<br>E: Unable to lock the administration directory (/var/lib/dpkg/), are you 
root? </p>

<p>如果你没有root权限，当运行除source处的其它apt-get命令，如会出现上面的错误信息。 </p>

<p>当你同时运行两个apt-get进程，或者当你试图运行apt-get时已有一个的dpkg进程处于激活状态，系统也会报告与上面相似的错误信息。唯一能与其它命令同时运行的只有source命令。 
</p>

<p>如果在安装过程中出现中断，然后你发现该软件包既不能重装又不能删除，试试下面两个命令： </p>

<p># apt-get -f install <br># dpkg --configure -a </p>

<p>再试着安装那个软件包，如果不行再次运行上述命令后再试。这两个命令对于那些使用unstable的玩家非常有用。 </p>


<p>7.2 在哪儿获得帮助？ <br>=================== 
<br>如果你发现自己有太多疑问，没关系，有大量的Debian软件包管理系统文档供你参考。--help和帮助文档能为你提供巨大的帮助，这些文档位于/usr/share/doc目录中，如/usr/share/doc/apt。 
</p>

<p>如果本文档没法帮你排忧解难，可以去Debian邮件列表找找答案，相关栏目内你会获得更多信息。Debian的网址是：http://www.debian.org。 
</p>

<p>记住只有Debian用户才能这些邮件列表和资源，其它操作系统的用户请到相关系统发布者建立的社区中获取更多资源。 </p>

<p><br>Debian APT HOWTO 第八章 哪些发布版支持APT？ <br>APT HOWTO <br>第八章 哪些发布版支持APT？ </p>

<p>下面是部分使用APT系统的发布团体名称： </p>

<p>Debian GNU/Linux (http://www.debian.org) - APT的开发者 </p>

<p>Conectiva (http://www.conectiva.com.br) - 第一个将APT移植用于rpm的发布团体 </p>

<p>Mandrake (http://www.mandrake.com) </p>

<p>PLD (http://www.pld.org.pl) </p>

<p>Vine (http://www.vinelinux.org) </p>

<p>APT4RPM (http://apt4rpm.sf.net) </p>

<p>Alt Linux (http://www.altlinux.ru/) </p>

<p>Red Hat (http://www.redhat.com/) </p>

<p>Sun Solaris (http://www.sun.com/) </p>

<p>SuSE (http://www.suse.de/) </p>

<p>Yellow Dog Linux (http://www.yellowdoglinux.com/) </p>


<p><br>Debian APT HOWTO 第九章 致谢 <br>APT HOWTO <br>第九章 致谢 </p>

<p>非常感谢你们，我Debian-BR项目组的好朋友们！还有你Debian，始终在我身边帮助我，给我动力不停工作为全人类做出贡献，帮助我树立拯救世界的理想。：） 
</p>

<p>我还要感谢CIPSGA，他们给予我们项目组乃至整个自由软件项目巨大的帮助，是我们灵感的源泉。 </p>

<p>特别感谢： </p>

<p>Yooseong Yang &lt;yooseong@debian.org&gt; </p>

<p>Michael Bramer &lt;grisu@debian.org&gt; </p>

<p>Bryan Stillwell &lt;bryan@bokeoa.com&gt; </p>

<p>Pawel Tecza &lt;pawel.tecza@poczta.fm&gt; </p>

<p>Hugo Mora &lt;h.mora@melix.com.mx&gt; </p>

<p>Luca Monducci &lt;luca.mo@tiscali.it&gt; </p>

<p>Tomohiro KUBOTA &lt;kubota@debian.org&gt; </p>

<p>Pablo Lorenzzoni &lt;spectra@debian.org&gt; </p>

<p>Steve Langasek &lt;vorlon@netexpress.net&gt; </p>

<p>Arnaldo Carvalho de Melo &lt;acme@conectiva.com.br&gt; </p>

<p>Erik Rossen &lt;rossen@freesurf.ch&gt; </p>

<p>Ross Boylan &lt;RossBoylan@stanfordalumni.org&gt; </p>

<p>Matt Kraai &lt;kraai@debian.org&gt; </p>

<p>Aaron M. Ucko &lt;ucko@debian.org&gt; </p>

<p>Jon ?slund &lt;d98-jas@nada.kth.se&gt; </p>

<p><br>Debian APT HOWTO 第十章 本使用指南的新版本 <br>APT HOWTO <br>第十章 本使用指南的新版本 </p>

<p>本操作手册由Debian-BR项目组撰写，我们希望它能为Debian用户提供有效的帮助。 </p>

<p>你可以从Debian文档项目页面获得本文档的新版本：http://www.debian.org/doc/ddp </p>

<p>对本文档有任何意见或建议可直接发email给我：kov@debian.org </p>

<p><br>Debian APT HOWTO 译后记 <br>非常感谢版主能将本文收录到精华区，谢谢！ </p>

<p>学Debian走了不少弯路，得出的经验是Debian入门三板斧：dselect、APT、内核编译，掌握了这三者，就算入门了，再深入学习就容易多了。无怪乎有一种说法：Debian就是Packages。 
</p>

<p>想当初看着dselect头都大了，找了半天也没找到完整一些的中文文档，没办法只好硬着头皮读e文，花了不少时间，读后果然功力增加不少，现在居然觉得dselect是最顺手的包管理软件。 
</p>

<p>最近有一段闲暇时间，于是斗胆翻几篇文档，希望我一个人费点时间能为大家省点时间。本时受过不少汉化文档之苦，每每大骂译者不负责，轮到自己翻译时
才知道其中的艰苦，本着首先要自己搞懂然后再动笔的原则，只希望日后少被读者骂。不过由于专业技术水平、遣词造句能力都很有限，如果各位Debian高手
读完译文后，发现有错误或不通不懂之处，请发邮件给我，以免误人子弟，我也会升级该文档。 </p>

<p>在翻译过程中，我尽最大努力保持原文的风格，不过中文与英文表达方式有不小的差别，所以有一些地方译出来读起来怪怪的，不好懂，这些地方我均以（译
者注）方式进行了意译。整个文档中《导言》、《哪些发布版支持APT？》、《致谢》、《本使用指南的新版本》几个章节没有什么技术信息，不过考虑到文档的
完整性，还是都翻译了，希望版主一并收录进精华区。 </p>

<p>接下来嘛，打算译一下dselect的官文文档，希望它是你们所期待的。：）</p>
<img src ="http://www.blogjava.net/ivanwan/aggbug/14765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-10-04 16:39 <a href="http://www.blogjava.net/ivanwan/archive/2005/10/04/14765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian 中如何生成软件包的依赖关系图？</title><link>http://www.blogjava.net/ivanwan/archive/2005/10/04/14763.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 04 Oct 2005 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/10/04/14763.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/14763.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/10/04/14763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/14763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/14763.html</trackback:ping><description><![CDATA[<span style="font-family: arial;">Debian软件包管理系统会自动管理软件的依赖关系，使我们在安装软件时方便了
很多，不用理会复杂的软件依赖关系，这也是Debian发行版的一大特色。但了解软件包的依赖关系对你熟悉Linux和进行系统开发是很有好处的，所以
Debian也提供了工具帮我们生成软件包的依赖关系图。操作步骤如下，首先，安装相关的工具：<br><pre>apt-get install apt-rdepends springgraph</pre><br><br>用以下命令生成软件包的依赖关系图：<br><pre>apt-rdepends -d anjuta | springgraph &gt; anjuta.png</pre><br>这样就生成了anjuta软件包的依赖关系图anjuta.png。</span><img src ="http://www.blogjava.net/ivanwan/aggbug/14763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-10-04 16:30 <a href="http://www.blogjava.net/ivanwan/archive/2005/10/04/14763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UbuntuScientists</title><link>http://www.blogjava.net/ivanwan/archive/2005/09/26/14113.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 26 Sep 2005 07:34:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/09/26/14113.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/14113.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/09/26/14113.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/14113.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/14113.html</trackback:ping><description><![CDATA[<h2 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-7a5d584cfb426ec878e4d4635801e98699e38930">Ubuntu Scientists</h2>



<h2 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-5d440011ca7422c01a91b9f3eebc9102463ed20f">Science on Linux</h2>


<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">The aim of this page is to become a useful resource for scientist
and science students using Ubuntu (or any other) Linux. Please add
information or comments. </p>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-a14a4244a361e369b17af48532a46c3a4937718a">Introduction</h3>


<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">Linux is a great operating system for scientists, for many reasons: </p>

<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> It is stable, secure and runs on all sorts of hardware, from embedded systems to supercomputers. </p>
</li><li class="gap"><p> It is possible to create a highly customised setup to do what you want. </p>
</li><li class="gap"><p> Repetitive tasks can be automated. </p>
</li><li class="gap"><p> There are lots of useful free scientific programs and tools. </p>
</li>
</ul>

<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">Although some people say that linux is not user friendly enough for
the desktop yet, scientists are usually a bit more familier with
computers, and don't mind learning how to do things. </p>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-53cb2f26b3154346b7ec8bfa123a8c0a9af7e9b2">Applications</h3>


<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">Some applications that scientists use in Linux. Please add some more. </p>

<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">See also: SAL (Scientific Applications on Linux) is a collection of
information and links to software that will be of interest to
scientists and engineers. The broad coverage of Linux applications will
also benefit the whole Linux/Unix community. There are currently 3,017
entries in SAL. <a href="http://sal.iatp.by/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://sal.iatp.by/</a> </p>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-240f2f3cd5de6e14752ea38d8853e75494801bd7">Physics</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> Cernlib - A suite of data analysis tools and libraries created
for use in physics experiments, but also with applications to other
fields such as the chemical and biological sciences. <a class="external" href="http://wwwasd.web.cern.ch/wwwasd/cernlib/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Cernlib</a> </p>
</li><li class="gap"><p> Jaxo<strong></strong>Draw - A <a href="https://wiki.ubuntu.com/Java">Java</a> program for drawing Feynman diagrams <a class="external" href="http://jaxodraw.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> JaxoDraw</a> </p>
</li><li class="gap"><p> 
ROOT - An Object Oriented Data Analysis Framework <a class="external" href="http://root.cern.ch/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> ROOT</a> </p>
</li><li class="gap"><p> Geant4 - A toolkit for the simulation of the passage of particles through matter <a class="external" href="http://geant4.web.cern.ch/geant4/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Geant4</a> </p>
</li><li class="gap"><p> CLHEP - A Class Library for High Energy Physics <a class="external" href="http://wwwasd.web.cern.ch/wwwasd/lhc++/clhep/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> CLHEP</a> </p>
</li><li class="gap"><p> Pluto++ - A Monte Carlo simulation tool for hadronic physics <a class="external" href="http://www-hades.gsi.de/computing/pluto/html/PlutoIndex.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Pluto++</a> </p>
</li><li class="gap"><p> Data files from the Particle Data Group <a class="external" href="http://pdg.lbl.gov/2005/html/computer_read.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://pdg.lbl.gov/2005/html/computer_read.html</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-66b18f5cb1f11beb8a45b6b89d7cf7b5acff4bb7">Chemistry</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> G<strong></strong>Chem<strong></strong>Paint - A 2D chemical structures editor <a class="external" href="http://www.nongnu.org/gchempaint/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> GChemPaint</a> </p>
</li><li class="gap"><p> ghemical - A molecular modeling and computational chemistry package that provides molecular mechanics, semi-empirical (<em>via</em> MOPAC7), and <em>ab initio</em> (<em>via</em> MPQC) calculations <a class="external" href="http://www.uku.fi/%7Ethassine/ghemical/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> ghemical</a> </p>
</li><li class="gap"><p> gdis - A molecular display program that supports OpenGL and POVRay rendering. <a class="external" href="http://gdis.seul.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> gdis</a> </p>
</li><li class="gap"><p> Open<strong></strong>Babel - A chemical file format conversion program. <a class="external" href="http://openbabel.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> OpenBabel</a> </p>
</li><li class="gap"><p> Chemtool and Xdrawchem - 2D molecule drawing programs similar to Chem<strong></strong>Draw. <a class="external" href="http://ruby.chemie.uni-freiburg.de/%7Emartin/chemtool/chemtool.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Chemtool</a> and <a class="external" href="http://xdrawchem.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> xdrawchem</a> </p>
</li><li class="gap"><p> mpqc - The Massively Parallel Quantum Chemistry Program. <em>Ab initio</em> quantum chemical computational package. <a class="external" href="http://www.mpqc.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> mpqc</a> </p>
</li><li class="gap"><p> <a class="external" href="http://zeus.polsl.gliwice.pl/%7Enikodem/linux4chemistry.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Linux4Chemistry</a> - list of linux applications which may be useful for chemists </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-1f2e8dac574afa3ff0849b3d35f239536dca4b8d">Biology</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> Bioconductor - bioinformatics tools <a class="external" href="http://www.bioconductor.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Bioconductor</a> </p>
</li><li class="gap"><p> <a class="external" href="http://oakley.bioinformaticsonline.co.uk/?q=node/14"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Howto install  Bioinformatics Tools for Linux</a> </p>
</li><li class="gap"><p> Sci<strong></strong>Craft - Addon to Octave, clones
Simulink. Still in developement, blocks have to be written by the user.
It is supposed to specialize in bioinformatics functions <a class="external" href="http://www.scicraft.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciCraft</a> </p>
</li><li class="gap"><p> 
<a class="external" href="http://www.itk.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Insight Toolkit (ITK)</a> - an open-source software toolkit for performing registration and segmentation.   Created to support the <a class="external" href="http://www.nlm.nih.gov/research/visible/visible_human.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Visible Human Project </a>. </p>
<ul><li><p> <a class="external" href="http://www.cs.mu.oz.au/%7Egavinb/projects/itk.php"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> unofficial debian packages </a> </p>
</li></ul>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-c2311499a75a1e5716e403d9690b2ebba49c1e21">Mathematics</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a href="https://wiki.ubuntu.com/Octave">Octave</a> - GNU Octave is a high-level language, primarily intended for numerical computations. (Similar to MATLAB). <a class="external" href="http://www.octave.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Octave</a> </p>
</li><li class="gap"><p> Sci<strong></strong>Craft - Addon to Octave, clones
Simulink. Still in developement, blocks have to be written by the user.
It is supposed to specialize in bioinformatics functions <a class="external" href="http://www.scicraft.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciCraft</a> </p>
</li><li class="gap"><p> Scilab - Another MATLAB-like software. <a class="external" href="http://scilabsoft.inria.fr/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Scilab</a> </p>
</li><li class="gap"><p> Sci<strong></strong>Cos - A free Simulink-like addon to Scilab <a class="external" href="http://www.scicos.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciCos</a> </p>
</li><li class="gap"><p> Maxima - A computer algebra system (xmaxima is its X interface) </p>
<ul><li><p> <a class="external" href="http://wxmaxima.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> wxMaxima</a> is a nice front end for <a class="external" href="http://maxima.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Maxima</a> </p>
</li><li><p> Here is a <a class="external" href="http://arxiv.org/html/cs.SC/0504039"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> tutorial</a> about using <a href="https://wiki.ubuntu.com/TeXmacs">TeXmacs</a> as a Maxima frontend </p>
</li></ul>
</li><li><p> GNU MP - GNU Multiprecision arthmetic library. Useful if you need to use very big numbers in a C program. <a class="external" href="http://www.swox.com/gmp/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> GMP</a> </p>
</li><li class="gap"><p> 
GSL - the Gnu Scientific Library  <a class="external" href="http://www.gnu.org/software/gsl/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> GSL</a> </p>
</li><li class="gap"><p>  R - for statistical computing and graphics. <a class="external" href="http://www.r-project.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> R</a> </p>
</li><li class="gap"><p> OOStatistics - A statistics macro for openoffice calc. <a class="external" href="http://www.ooomacros.org/user.php#106652"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> OOStatistics</a> </p>
</li><li class="gap"><p> freefem - A PDE oriented language using Finite Element Method - 2D and 3D versions. <a class="external" href="http://www.freefem.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> freefem</a> </p>
</li><li class="gap"><p> Sci<strong></strong>Py - An open source library of scientific tools for Python. <a class="external" href="http://www.scipy.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciPy</a> </p>
<ul><li><p> <a class="external" href="http://www.scipy.org/documentation/tutorial.pdf"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciPy Tutorial</a> </p>
</li></ul>
</li><li class="gap"><p> F2PY - Fortran to Python interface generator  provides a connection between Python and Fortran languages. <a class="external" href="http://cens.ioc.ee/projects/f2py2e/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> F2PY</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-03a020fa701016aec0505175c6c6ec3437cf9167">Astronomy</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> KStars - A virtual planetarium. <a class="external" href="http://edu.kde.org/kstars/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> KStars</a> </p>
</li><li class="gap"><p> xephem - A very comprehensive ephemeris/planetarium. Old interface. <a class="external" href="http://www.clearskyinstitute.com/xephem/index.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> xephem</a> </p>
</li><li class="gap"><p> Nightfall -  An astronomy application for fun, education, and science. <a class="external" href="http://www.lsw.uni-heidelberg.de/users/rwichman/Nightfall.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://www.lsw.uni-heidelberg.de/users/rwichman/Nightfall.html</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-0624a8513a763958cc09ae7cd530ccbe0bdf85d8">Electronics</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> Eagle - A printed circuit board design tool. <a class="external" href="http://www.cadsoft.de/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Eagle</a> </p>
</li><li class="gap"><p> oregano - Schematic capture, netlists, and spice for simulations. <a class="external" href="http://arrakis.gforge.lug.fi.uba.ar/index.php"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> oregano</a> </p>
</li><li class="gap"><p> gEDA - GPL'd suite of Electronic Design Automation tools. <a class="external" href="http://www.geda.seul.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> gEDA</a> </p>
</li><li class="gap"><p> Qucs - An integrated circuit simulator <a class="external" href="http://qucs.sourceforge.net/index.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Qucs</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-c67a1c14504516bc6a664eb9f1dccf364d27ef40">Computer Science</h4>



<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-edde6622bd917bc3d16f76011810db9e399c9803">Geography</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a href="https://wiki.ubuntu.com/UbuntuGIS">UbuntuGIS</a> Geographical Information System </p>
</li><li class="gap"><p> ncview - A very fast program for viewing netCDF files (a standard widely used in meteorology, climate and oceanography) <a class="external" href="http://meteora.ucsd.edu/%7Epierce/ncview_home_page.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> ncview</a> </p>
</li><li class="gap"><p> Generic Mapping Tools (GMT) -  a mapping program that can also be used to make pretty graphs.  <a class="external" href="http://gmt.soest.hawaii.edu/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> GMT</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-ffec3e8d39c6d992b1103c3479a294aeacad7763">Distributed Computing</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> openmosix - Turns a network of ordinary computers into a supercomputer. <a class="external" href="http://openmosix.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> openmosix</a> </p>
</li><li class="gap"><p> boinc - A software platform for distributed computing using volunteered computer resources  <a class="external" href="http://boinc.berkeley.edu/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> boinc</a> </p>
<ul><li><p> projects include    Climateprediction.net,Einstein@home,LHC@home,Predictor@home,SETI@home </p>
</li></ul>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-11b574b802c0f5be08f6a94a7f7a27074d6c4802">Tools</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> Xfig - A diagram and figure creation tool. Can import GIF,
JPEG, and EPS figures and can export to Postscipt, LaTeX, and bitmap
files. <a class="external" href="http://www.xfig.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Xfig</a> </p>
</li><li class="gap"><p> Dia - A "Visio" like diagram tool. Especially useful for simple circuits and flowcharts. <a class="external" href="http://www.gnome.org/projects/dia/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Dia</a> </p>
</li><li class="gap"><p>  BIKA - A laboratory information management system (LIMS) built on top of Zope and Plone, and coded in Python <a class="external" href="http://sourceforge.net/projects/bika"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> BIKA</a> </p>
</li>
</ul>


<h5 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-dd371d9b9785b37df7c9a011fd3e52cc9eba6e64">Plotting Tools</h5>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> GNUPlot - A command-line driven 2D/3D plotting tool. Can
perform data fitting and exports to PNG, PS, Xfig, and Latex formats.
Has python bindings (python-gnuplot) for including in other programs or
scripts. <a class="external" href="http://www.gnuplot.info/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> gnuplot</a> </p>
</li><li class="gap"><p> grace - A 2D WYSIWYG plotting tool that exports to JPEG, PNG, EPS, PDF, and SVG. Also does  curve fitting. <a class="external" href="http://plasma-gate.weizmann.ac.il/Grace/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> grace</a> </p>
</li><li class="gap"><p> PGPLOT -  Fortran- or C-callable graphics subrutine package for making scientific graphs. <a class="external" href="http://www.astro.caltech.edu/%7Etjp/pgplot/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> PGPLOT</a> </p>
</li><li class="gap"><p> Sci<strong></strong>Graphica - A scientific application for data analysis and technical graphics. Attempts to be a <a class="external" href="http://www.originlab.com/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> "Microcal Origin"</a> clone <a class="external" href="http://scigraphica.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciGraphica</a> </p>
</li><li class="gap"><p> Qtiplot - A 2D/3D, Qt based plotting tool that attempts to be another "Origin" clone <a class="external" href="http://soft.proindependent.com/qtiplot.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Qtiplot </a> </p>
</li><li class="gap"><p> Lab<strong></strong>Plot - Another Qt based 2D/3D GUI plotting tool that also does curve fitting, supports many data formats, LaTeX labeling, <a href="https://wiki.ubuntu.com/UbuntuScientists#GSL">GSL</a> functions, and statistics. <a class="external" href="http://labplot.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> LabPlot</a> </p>
</li><li class="gap"><p> Veusz - A scientific plotting package written in Python. <a class="external" href="http://home.gna.org/veusz/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> veusz</a>. </p>
</li><li class="gap"><p> Gri - A scientific graphics language. <a class="external" href="http://gri.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Gri</a> </p>
</li>
</ul>


<h5 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-ea6d0ce3fc7448a28392691f09d5cc5f22768ce3">Word Processing Tools</h5>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a href="https://wiki.ubuntu.com/LaTeX">LaTeX</a> - WYGIWYW (What You Get Is What You Want) text mark up system. What real scientist write papers with. <a class="external" href="http://www.latex-project.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> LaTeX</a> </p>
</li><li class="gap"><p> <a href="https://wiki.ubuntu.com/Lyx">Lyx</a> - A WYSIWYG LaTeX frontend. <a class="external" href="http://www.lyx.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Lyx</a> </p>
</li><li class="gap"><p> 
Kile - A LaTeX-frontend for KDE, with support for syntax highlighting
and convenient palettes for all standard mathematical symbols and text
formatting. It also provides easy access to forward and inverse search
facilities. <a class="external" href="http://kile.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Kile</a> </p>
</li><li class="gap"><p> eqe -  Allows you write equations in Latex and drag and drop them into other apps     <a class="external" href="http://www.gnomefiles.org/app.php?soft_id=1040"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> eqe</a> </p>
</li><li class="gap"><p> Conglomerate - An XML editor, to create <a href="https://wiki.ubuntu.com/DocBook">DocBook</a> or similar formats. <a class="external" href="http://www.conglomerate.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Conglomerate</a> </p>
</li><li class="gap"><p> Jabref - A graphical bibtex bibliography manager which can be used in conjunction with lyx. It is java based. <a class="external" href="http://jabref.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Jabref</a> </p>
</li><li class="gap"><p> Texmaker - Like <a href="https://wiki.ubuntu.com/UbuntuScientists#Kile">Kile</a> but loads faster <img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/smile4.png" alt=";-)" height="15" width="15"> <a class="external" href="http://www.xm1math.net/texmaker/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Texmaker</a> </p>
</li><li class="gap"><p> <a href="https://wiki.ubuntu.com/TeXmacs">TeXmacs</a> - A wysiwyg scientific text editor <a class="external" href="http://www.texmacs.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> TeXmacs</a>  </p>
<ul><li><p> doubles as an interface for computer algebra systems like
[Maxima], maple, mupad, axiom, giac, GTybalt, Macaulay 2, pari, yacas </p>
</li><li><p> can also be used as a front end for [R], <a href="https://wiki.ubuntu.com/Octave">Octave</a>, [GNUplot], [Xfig], [Dr. Geo], [Eukleides],[Qcl] </p>
</li></ul>
</li><li class="gap"><p> preview-latex - (almost) turns emacs into a WYSIWYG-LaTeX-frontend <a class="external" href="http://www.gnu.org/software/auctex/preview-latex.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> preview-latex</a> </p>
</li><li class="gap"><p> <a class="external" href="http://www.latex2html.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> latex2html</a> , <a class="external" href="http://hutchinson.belmont.ma.us/tth/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> tth</a> and <a class="external" href="http://pauillac.inria.fr/%7Emaranget/hevea/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> hevea</a> for converting <a href="https://wiki.ubuntu.com/LaTeX">LaTeX</a> to html. </p>
</li><li class="gap"><p> gaim-latex - A small gaim (see <a href="https://wiki.ubuntu.com/GaimHowto">GaimHowto</a>) plugin which allow you to insert <a href="https://wiki.ubuntu.com/LaTeX">LaTeX</a>  formulae into im conversations. <a class="external" href="http://sourceforge.net/projects/gaim-latex"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> gaim-latex</a> </p>
</li>
</ul>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-2f7fcd37f10a0a3cc14b3bc8a9c63b722ca78c4f">Ubuntu Packages</h3>



<h6 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-9cd9c22a4d9ebd6f5140e4d8d8febd05e8670564">Science Section</h6>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li style="list-style-type: none;"><p><a class="external" href="http://packages.ubuntu.com/warty/science/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> warty (4.10)</a>,  <a class="external" href="http://packages.ubuntu.com/hoary/science/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> hoary (5.04)</a>, <a class="external" href="http://packages.ubuntu.com/breezy/science/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> breezy (5.10)</a>. </p>
</li>
</ul>


<h6 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-8a9cd868aa4b2ec7e09f6e2979f1447c04c3470e">Mathematics Section</h6>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li style="list-style-type: none;"><p><a class="external" href="http://packages.ubuntu.com/warty/math/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> warty (4.10)</a>,  <a class="external" href="http://packages.ubuntu.com/hoary/math/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> hoary (5.04)</a>, <a class="external" href="http://packages.ubuntu.com/breezy/math/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> breezy (5.10)</a>. </p>
</li>
</ul>


<h6 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-f1b5b36443b729aa317abdfc7f364d4645aec2a2">TeX Section</h6>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li style="list-style-type: none;"><p><a class="external" href="http://packages.ubuntu.com/warty/tex/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> warty (4.10)</a>,  <a class="external" href="http://packages.ubuntu.com/hoary/tex/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> hoary (5.04)</a>, <a class="external" href="http://packages.ubuntu.com/breezy/tex/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> breezy (5.10)</a>. </p>
</li>
</ul>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-b0e702d300b41904b3840ec7b377de4cc48f202c">Alternatives to Proprietry Scientific Software</h3>


<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">hopefully this list will get long enough to deserve its own page. </p>

<div style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<table>
<tbody><tr>
<td>
<p> Proprietary </p>
</td>
<td>
<p> Free alternative </p>
</td>
<td>
<p> Info </p>
</td>
<td>
<p>Link</p>
</td>
</tr>
<tr>
<td>
<p> Matlab </p>
</td>
<td>
<p> <a href="https://wiki.ubuntu.com/Octave">Octave</a> </p>
</td>
<td>
<p> Matrix based computing environment </p>
</td>
<td>
<p> <a class="external" href="http://www.octave.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Octave</a></p>
</td>
</tr>
<tr>
<td>
<p> Matlab </p>
</td>
<td>
<p> Scilab </p>
</td>
<td>
<p> see above </p>
</td>
<td>
<p> <a class="external" href="http://scilabsoft.inria.fr/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Scilab</a> </p>
</td>
</tr>
<tr>
<td>
<p> Simulink </p>
</td>
<td>
<p> Sci<strong></strong>Craft </p>
</td>
<td>
<p> Based on Octave (Available for Debian, I think) </p>
</td>
<td>
<p> <a class="external" href="http://www.scicraft.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciCraft</a></p>
</td>
</tr>
<tr>
<td>
<p> Simulink </p>
</td>
<td>
<p> Sci<strong></strong>Cos </p>
</td>
<td>
<p> Based on Scilab (Not found in Ubuntu Repos)</p>
</td>
<td>
<p>  <a class="external" href="http://www.scicos.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciCos</a> </p>
</td>
</tr>
<tr>
<td>
<p> Origin </p>
</td>
<td>
<p> Sci<strong></strong>Graphica &amp; Qtiplot </p>
</td>
<td>
<p> Data plotting and analysis </p>
</td>
<td>
<p><a class="external" href="http://scigraphica.sourceforge.net/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> SciGraphica</a> &amp; <a class="external" href="http://soft.proindependent.com/qtiplot.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Qtiplot </a> </p>
</td>
</tr>
</tbody></table>
</div>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-5059d2e48c6460a03236a91a73fffd92aa5ae88f">Hardware</h3>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> Labview for linux (non-free) <a class="external" href="http://sine.ni.com/nips/cds/view/p/lang/en/nid/2541"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://sine.ni.com/nips/cds/view/p/lang/en/nid/2541</a>  </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-dd84b5657b67cd15939f3d937826e10ebc17d592">Data acquisition</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> National Instruments GPIB drivers for linux. <a class="external" href="http://www.ni.com/linux/gpib.htm"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://www.ni.com/linux/gpib.htm</a> </p>
</li><li><p> Comedi - Open source drivers, tools and libraries. <a class="external" href="http://www.comedi.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> comedi</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-61adab16c7cfcf1173310fb91a1803bacab3d45f">Computer controlled systems</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> RTAI - Real-Time Application Interface is a hard real-time extension to the Linux kernel <a class="external" href="http://www.rtai.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://www.rtai.org/</a> </p>
</li>
</ul>


<h3 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-8b0cb54070f58a8f8346099f99f500633b1fc7ef">Other information</h3>



<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-ba01a6182acc90f74adad2e4b2c7ffce3fb67382">Other Linux Distributions for Scientists</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a class="external" href="http://dirk.eddelbuettel.com/quantian.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Quantian</a> A Knoppix / Debian variant tailored to numerical and quantitative analysis.  </p>
</li><li class="gap"><p> <a class="external" href="http://www.debian.org/devel/debian-med/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Debian-Med</a> Debian-Med is a "Custom Debian Distribution" for medical practice and research. </p>
<ul><li><p> debian-med metapackages are in Ubuntu(Universe): to list them type: <tt>&nbsp;apt-cache&nbsp;search&nbsp;debian-med&nbsp;</tt> </p>
</li></ul>
</li><li class="gap"><p> <a class="external" href="https://www.scientificlinux.org/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Scientific Linux</a>  Linux release put together by Fermilab and CERN based on RH </p>
</li><li class="gap"><p> <a class="external" href="http://groundstate.ca/mdk4chem"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Madrake4Chemistry</a> is about using Madrake Linux for chemistry </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-f4b16c4a16ef858fe3c0bad5e94d9d284c45fb57">Unofficial Ubuntu/Debian repositories with science software</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a class="external" href="http://mirror.phy.bnl.gov/debian-root/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> of <a href="https://wiki.ubuntu.com/UbuntuScientists#ROOT">ROOT</a> packages </p>
</li><li><p> <a class="external" href="http://lists.debian.org/debian-science/2005/08/msg00001.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Yaroslav Halchenko</a> <a class="external" href="http://www.onerussian.com/debian/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> </p>
</li><li><p> <a class="external" href="http://www.cs.mu.oz.au/%7Egavinb/projects/itk.php"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> of <a href="https://wiki.ubuntu.com/UbuntuScientists#ITK">ITK</a> Packages </p>
</li><li><p> <a class="external" href="http://lists.debian.org/debian-science/2005/08/msg00133.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Teemu Ikonen</a> <a class="external" href="http://mentors.debian.net/debian"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> </p>
</li><li class="gap"><p> Daniel Leidert <a class="external" href="http://debian.wgdd.de/debian/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> ( <a class="external" href="http://debian.wgdd.de/repository"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> read</a>) </p>
</li><li class="gap"><p> <a class="external" href="http://lists.debian.org/debian-science/2005/08/msg00008.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Carlo Segre</a> <a class="external" href="http://fermi.phys.iit.edu/debian/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> repository</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-5314a2c659bc38b4aa8955a220a9e9666cc12d53">Mailing Lists about Linux and Science</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a class="external" href="http://lists.debian.org/debian-science/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> debian-science mailing list </a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-9f6e874552012e34cbdf24f43ecd9f1667abdfac">Related Wiki Pages</h4>


<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"><a href="https://wiki.ubuntu.com/UbuntuSciencePackages">UbuntuSciencePackages</a> is a list of packages that are in the  official Ubuntu Repositories  that scientist use   </p>

<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"><a href="https://wiki.ubuntu.com/UbuntuScienceMetaPackages">UbuntuScienceMetaPackages</a> discusses possible science metapackages </p>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-04270be0c7a281177ae97adcdb28f016a81bc4e5">Forum Threads</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a class="external" href="http://www.ubuntuforums.org/showthread.php?t=29919"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Are there any scientists-biologists out there using Ubuntu?</a> </p>
</li><li class="gap"><p> <a class="external" href="http://ubuntuforums.org/showthread.php?p=329324"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Ubuntu Science Metapackage</a> </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-fe8a21dff7c408b965533262a932015a330cfd8b">Links</h4>


<ul style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">
<li><p> <a class="external" href="http://wiki.debian.net/?DebianScience"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> DebianScience</a> </p>
</li><li class="gap"><p> <a class="external" href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=97"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> sourceforge</a> - scientific software on sourceforge  </p>
</li><li class="gap"><p> <a class="external" href="http://debianlinux.net/science.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> DebianLinux.Net-Scientific Software</a> - links to science software </p>
</li><li class="gap"><p> <a class="external" href="http://freshmeat.net/browse/97/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> freshmeat</a> - scientific software on freshmeat </p>
</li><li class="gap"><p> <a class="external" href="http://www.linuxlinks.com/Software/Scientific/"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> http://www.linuxlinks.com/Software/Scientific/</a> - scientific linux software </p>
</li><li class="gap"><p> <a class="external" href="http://www.gnomefiles.org/category.php?cat_id=6"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> gnome-files - scientific software</a> - scientific apps for gnome </p>
</li><li class="gap"><p> <a class="external" href="http://www.kde-apps.org/index.php?xcontentmode=280&amp;PHPSESSID=24670ac4d0dfebdc067bdf158b01ac44"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> kde-apps.org- scientific software</a> - scientific apps for kde </p>
</li><li class="gap"><p> <a class="external" href="http://users.pandora.be/educypedia/education/educationopening.htm"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Educypedia</a> - collection of links about scientific and educational material. </p>
</li><li class="gap"><p> <a class="external" href="http://linuxshop.ru/linuxbegin/win-lin-soft-en/table.shtml#9"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Linux Equivalents of Windows scientific apps</a> </p>
</li><li class="gap"><p> <a class="external" href="http://www.openscience.org/blog/?page_id=44"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Openscience</a> project is dedicated to writing and releasing free and Open Source scientific software. </p>
</li>
</ul>


<h4 style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="head-b43014938f288959b353b11326dcde58aeaf79ae">Books</h4>





<p style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" id="pageinfo" class="info" dir="ltr" lang="zh">(2005-09-26 06:17:30由<span title="158.144.70.26">KevinGoldstein</span>编辑)</p>
<img src ="http://www.blogjava.net/ivanwan/aggbug/14113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-09-26 15:34 <a href="http://www.blogjava.net/ivanwan/archive/2005/09/26/14113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RootSudo</title><link>http://www.blogjava.net/ivanwan/archive/2005/09/26/14108.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 26 Sep 2005 06:48:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/09/26/14108.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/14108.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/09/26/14108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/14108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/14108.html</trackback:ping><description><![CDATA[<p style="color: rgb(0, 0, 0);">Ubuntu uses sudo to allow a normal user administrative privileges.
Thus the traditional UNIX 'root' account is disabled (i.e. it is not
possible to log in as root). All the graphical configuration utilities
use sudo by default. Thus when Synaptic or something similar asks you
for a password, it is asking for your password. </p>

<p style="color: rgb(0, 0, 0);">The first user created is part of the admin group, which can use
sudo. Any users created after that are not by default. It is
recommended that all users of Ubuntu use sudo, as it provides clear
benefits to security. </p>


<h3 style="color: rgb(0, 0, 0);" id="head-0c932eb3f1619126fc8307ee7690f462552d34ec">Notes</h3>


<ul style="color: rgb(0, 0, 0);">
<li><p> The password is stored by default for 15 minutes. After that time, you will need to enter your password again </p>
</li><li><p> To run the graphical configuration utilities with sudo, simply launch the application via the menu. </p>
</li><li><p> To run a program using sudo that normally is run as the user,
such as gedit, go to Applications --&gt; Run Application and enter
'gksudo gedit'. For users of Kubuntu, used 'kdesu' in replacement for
gksudo. Breezy users, go to Applications --&gt; System Tools --&gt; Run
as different user. </p>
</li><li><p> To use sudo on the command line, preface the command with sudo, as below. </p>
</li>
</ul>


<pre style="color: rgb(0, 0, 0);">sudo chown bob *<br></pre>

<p style="color: rgb(0, 0, 0);">To start a root shell (i.e. a command window where you can run root commands) use: 
</p>

<pre style="color: rgb(0, 0, 0);">sudo -s<br></pre>

<p style="color: rgb(0, 0, 0);"><em>Warning: <strong>sudo -s</strong> doesn't change the environment variables ($HOME, $PATH etc). It can have some bad side effects. You can use <strong>sudo -i</strong> to initialize a full root environment. </em> </p>


<h3 style="color: rgb(0, 0, 0);" id="head-b71d9486f6b811fbccf50fcb961d58929705208e">Adding users</h3>



<h4 style="color: rgb(0, 0, 0);" id="head-83496bee1a7c2ef392241cf82dddedb88e5c86b6">Warty</h4>


<p style="color: rgb(0, 0, 0);">In Warty, adding a new user involves editing the /etc/sudoers file.
To edit that file, you must use 'visudo' as it will error check the
file before exiting. To add a user with the same administration rights
as the first user, add the following lines to the file: '$newuser
ALL=(ALL) ALL'. Replace the $newuser with the username. </p>


<h4 style="color: rgb(0, 0, 0);" id="head-4cd202ef56ec94fcdf70515b48efe002e4121ff0">Hoary</h4>


<p style="color: rgb(0, 0, 0);">To add a new user to sudo, open the "Users and Groups" tool from
System --&gt; Adminitration menu. Then click on the user and then on
properties. Choose the "User Privileges" tab. In the tab, find
"Executing system administration tasks" and check that. </p>


<h3 style="color: rgb(0, 0, 0);" id="head-fd049d44e17a6328c89014909799d52e5fcd35d4">Benefits of sudo</h3>


<p style="color: rgb(0, 0, 0);">The benefits of leaving root disabled by default include the following. </p>

<ul style="color: rgb(0, 0, 0);">
<li><p> Initially the Ubuntu team wanted the easiest install possible.
By not enabling root, a couple of steps requiring user interaction
during install could be avoided. (Colin Watson) </p>
</li><li class="gap"><p> Even more significantly, if root were enabled
during install, the user would be required to forever remember the
password they chose--even though they would rarely use it. Root
passwords are often forgotten by users who are new to the Unix security
model. (Matt Zimmerman) </p>
</li><li class="gap"><p> It avoids the "I can do <em>anything</em>"
interactive login by default--you will be prompted for a password
before major changes can happen, which should make you think about the
consequences of what you are doing. If you were logged in as root, you
could just delete some of those "useless folders" and not realize you
were in the wrong directory until it's too late. It's been good Unix
practice for a long time to "su-command-^D" regularly instead of
staying in a root shell--unless you're doing serious system maintenance
(at which point you can still "sudo su"). (Jim Cheetham and Andrew
Sobala) </p>
</li><li class="gap"><p> Sudo adds a log entry of the command(s) run (In
/var/log/auth.log). If you mess up, you can always go back and see what
commands were run. (Andrew Zbikowski) </p>
</li><li class="gap"><p> Every cracker trying to brute-force their way into
your box will know it has an account named "root" and will try that
first. What they don't know is what the usernames of your other users
are. </p>
</li><li class="gap"><p> Allows easy transfer for admin rights, in a short
term or long term period, by added and removing users from groups,
while not compromising the root account. (Stuart Bishop) </p>
</li>
</ul>


<h3 style="color: rgb(0, 0, 0);" id="head-434429abf89c95d392482d471332a0ff0726ec20">Security</h3>


<p style="color: rgb(0, 0, 0);">While there are various advantages and disadvantages to this
approach, compared with the traditional superuser model. Neither is
clearly superior overall. </p>

<ul style="color: rgb(0, 0, 0);">
<li><p> By encouraging the execution of single commands with root privileges, rather than opening a shell, <tt>sudo</tt>: </p>
<ul><li><p> Reduces the amount of time spent with root privileges, and thus the risk of inadvertently executing a command as root </p>
</li><li><p> Provides a more useful audit trail </p>
</li></ul>
</li><li><p> Having a separate root password (the traditional model)
provides an extra layer of protection if an administrative user's
password is compromised </p>
</li><li><p> In either case, if the administrative user (who uses <tt>sudo</tt> or <tt>su</tt> to become root) is compromised, the attacker can generally gain root through an indirect attack </p>
</li>
</ul>


<h3 style="color: rgb(0, 0, 0);" id="head-2516cdd3d91c2704674383e1dd0c808c1efc34f4">Possible issues with the "sudo" model</h3>


<p style="color: rgb(0, 0, 0);">Although for desktops the benefits of using sudo are great, there are possible issues which need to be noted: </p>

<ul style="color: rgb(0, 0, 0);">
<li><p> Some packages from universe are effectively broken (e.g.
webmin) or become dangerous to use. A good workaround is to enable the
root account before dealing with the affected packages (sudo su-;
passwd &lt;password&gt;) and to lock it again afterwards (su -; passwd
-l). </p>
</li><li><p> Redirecting the output of commands run with sudo can catch new
users out (consider "sudo ls &gt; /root/somefile"). Workarounds for
this include using "sudo sh -c 'ls &gt; /root/somefile'" (but escaping
for this gets very ugly very quickly), using <a class="external" href="http://www.greenend.org.uk/rjk/2001/06/adverbio.html"><img src="https://wiki.ubuntu.com/htdocs/ubuntu/img/u-www.png" alt="[WWW]" height="16" width="16"> Adverbio</a>, or simply using sudo -s to get a root shell and going from there </p>
<ul><li><p> <em><a href="https://wiki.ubuntu.com/MattZimmerman">MattZimmerman</a>: A simple approach which works for most cases is to use dd(1): </em> <tt>ls&nbsp;|&nbsp;sudo&nbsp;dd&nbsp;of=/root/somefile</tt> </p>
</li></ul>
</li><li><p> In a lot of office environments the ONLY local user on a system
is root. All other users are imported using NSS techniques such as
nss-ldap. To setup a workstation, or fix it, in the case of a network
failure where nss-ldap is broken, root is required. This tends to leave
the system unusable unless cracked. </p>
<ul><li><p> <a href="https://wiki.ubuntu.com/JerryHaltom">JerryHaltom</a>: Perhaps in these cases it neccessitates the creation of a local account: "admin" with sudo to root privileges. </p>
</li></ul>
</li>
</ul>


<h3 style="color: rgb(0, 0, 0);" id="head-a76e0b38808fca380fa209babb080d60ffe0ec8e">Misconceptions</h3>


<ul style="color: rgb(0, 0, 0);">
<li><p> <em>Isn't sudo less secure than su?</em> </p>
<ul><li style="list-style-type: none;"><p>The basic security model is the same, and therefore these two systems share their primary weaknesses.  Any user who uses <tt>su</tt> <strong>or</strong> <tt>sudo</tt>
must be considered to be a privileged user. If that user's account is
compromised by an attacker, the attacker can also gain root privileges
the next time the user does so. The user account is the weak link in
this chain, and so must be protected with the same care as root. </p>
<p>On a more esoteric level, <tt>sudo</tt> provides some features which encourage different work habits, which can positively impact the security of the system.  <tt>sudo</tt> is commonly used to execute only a single command, while <tt>su</tt> is generally used to open a shell and execute multiple commands.  The <tt>sudo</tt>
approach reduces the likelihood of a root shell being left open
indefinitely, and encourages the user to minimize their use of root
privileges. </p>
</li></ul>
</li><li class="gap"><p> <em>I won't be able to enter single-user mode!</em> </p>
<ul><li style="list-style-type: none;"><p>The sulogin program in Ubuntu is patched to handle the default case of a locked root password. </p>
</li></ul>
</li>
</ul>


<h3 style="color: rgb(0, 0, 0);" id="head-6357ee1f3ec93078a7d7cbc2c627208117e9499d">Enabling the root account</h3>


<p style="color: rgb(0, 0, 0);">Note: This is not recommended! </p>

<p style="color: rgb(0, 0, 0);">To enable the root account (i.e. set a password) use:  
</p>

<pre style="color: rgb(0, 0, 0);">sudo passwd root<br></pre>

<p style="color: rgb(0, 0, 0);">Enter your existing password<br>
 Enter password for root<br>
 Confirm password for root </p>


<h3 style="color: rgb(0, 0, 0);" id="head-b06dbcd33c40480dcfd3aada1ca67bbd77f80594">Disabling the root account</h3>


<p style="color: rgb(0, 0, 0);">Note: This is if you have already enabled a root account and wish to
disable it again. To disable the root account after you have enabled it
use: </p>

<pre style="color: rgb(0, 0, 0);">sudo passwd -l root<br></pre>

<p style="color: rgb(0, 0, 0);">This locks the root account. </p>


<h3 style="color: rgb(0, 0, 0);" id="head-db0a40c061d5b7aadbcebc15801f269167e0efcb">Running GUI applications with Root permissions</h3>


<p style="color: rgb(0, 0, 0);">It is generally recommended that you do not run applications with
root privileges, but if you have to, it is recommended that you do not
run "sudo {GUIAPP}", as sudo may not set up the environment correctly,
and particularly on KDE this can be detrimental. Instead, always use
gksudo {GUIAPP} or kdesu {GUIAPP}. </p>
<img src ="http://www.blogjava.net/ivanwan/aggbug/14108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-09-26 14:48 <a href="http://www.blogjava.net/ivanwan/archive/2005/09/26/14108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 使用技巧</title><link>http://www.blogjava.net/ivanwan/archive/2005/09/23/13830.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 23 Sep 2005 05:58:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/09/23/13830.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/13830.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/09/23/13830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/13830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/13830.html</trackback:ping><description><![CDATA[<h3> 安装Adobe AcrobatReader 7.0中文版 </h3>

<ul>
<li> <b>RPM包安装</b>
</li>
</ul>

<p>1. 下RPM安装包
</p>

<pre>$ wget http://ardownload.adobe.com/pub/adobe/reader/unix/7x/7.0/chs/AdobeReader_chs-7.0.0-2.i386.rpm<br></pre>

<p>2. 转换RPM包为DEB包，并安装
</p>

<pre>$ sudo alien AdobeReader_chs-7.0.0-2.i386.rpm<br>$ sudo dpkg -i adobereader-chs_7.0.0-3_i386.deb<br></pre>

<p>3. 建立acroread执行脚本链接
</p>

<pre>$ sudo ln -sf /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread<br></pre>

<ul>
<li> <b>tar.gz包安装（推荐）</b>
</li>
</ul>

<p>1. 下载tar.gz安装包
</p>

<pre>$ wget http://ardownload.adobe.com/pub/adobe/reader/unix/7x/7.0/chs/AdbeRdr70_linux_chs.tar.gz<br></pre>

<p>2. 安装软件包
</p>

<pre>$ tar zxvf AdbeRdr70_linux_chs.tar.gz<br>$ sudo AdobeReader/INSTALL<br>$ sudo ln -sf /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread<br></pre>

<p>3. 设置程序菜单项
</p>

<pre>$ sudo vi /usr/share/applications/AcrobatReader.desktop<br><br>//输入如下内容<br>[Desktop Entry]<br>Name=Acrobat Reader 7<br>Comment=Acrobat Reader 7<br>Exec=/usr/local/Adobe/Acrobat7.0/bin/acroread<br>Icon=/usr/local/Adobe/Acrobat7.0/Resource/Icons/AdobeReader.png<br>Terminal=false<br>Type=Application<br>Categories=Application;Office;<br></pre>

<ul>
<li> 在Nautilus中建立PDF文件与Acrobat Reader的关联
</li>
</ul>

<ul>
<li> <b>在Firefox中安装Acrobat Reader插件</b>
</li>
</ul>

<pre>$ sudo /usr/local/Adobe/Acrobat7.0/Browser/install_browser_plugin<br>将安装浏览器的 acroread 增效工具。<br><br>请输入  Adobe Reader 7.0.0 的安装路径。 [/usr/local/Adobe/Acrobat7.0]<br><br>1. 执行全局安装<br>2. 执行用户指定的安装 (Mozilla/Firefox/Netscape)<br>请输入您的选择 [1/2] 1<br><br>请输入浏览器安装路径 - /usr/lib/mozilla-firefox<br>安装成功。添加文件 /usr/lib/mozilla-firefox/plugins/nppdf.so<br><br>您是否要安装另一个浏览器？ [y/n] n<br></pre>

<ul>
<li> <b>删除已安装的Acrobat Reader</b>
</li>
</ul>

<pre>$ sudo rm -rf /usr/local/Adobe/Acrobat7.0/<br>$ sudo rm /usr/share/applications/AdobeReader.desktop<br>$ sudo rm /usr/bin/acroread<br><br><br></pre>
<h3> 安装Yahoo Messenger (推荐使用gaim代替)</h3>

<p>1. 下载DEB包
</p>

$ wget http://download.yahoo.com/dl/unix/ymessenger_1.0.4_1_i386.deb

<p>2. 安装
</p>

$ sudo apt-get install libgdk-pixbuf2 libglib1.2 libgtk1.2 libssl0.9.6
$ sudo dpkg -i ymessenger_1.0.4_1_i386.deb

<p>3. 运行
</p>

$ /usr/bin/ymessenger &amp;<br>
<br>
<br>
<h3> 安装Prozilla GUI </h3>

<p>1. 安装
</p>

<pre>$ sudo apt-get install prozgui<br></pre>

<p>2. 设置
</p>

<pre>$ sudo vi /usr/share/applications/prozgui.desktop<br><br>//输入如下内容<br>[Desktop Entry]<br>Name=Prozilla GUI<br>Comment=Prozilla Downloader GUI<br>Exec=/usr/bin/prozgui<br>Icon=/usr/share/pixmaps/prozgui.xpm<br>Terminal=false<br>Type=Application<br>Categories=Application;Network;<br><br><br></pre>
<h3> 安装NeroLinux 2.0.0 </h3>

<p>1. 下载NeroLinux的deb包
</p>

$ wget ftp://ftp5.us.nero.com/nerolinux-2.0.0.2-x86.deb

<p>2. 安装NeroLinux依赖的包
</p>

$ sudo apt-get install libglib1.2 libgtk1.2

<p>3. 安装NeroLinux包
</p>

$ sudo dpkg -i nerolinux-2.0.0.2-x86.deb

<p>4. 启动NeroLinux程序
选择菜单“Applications”=&gt;“System Tools”=&gt;“NeroLINUX”启动程序。
</p>
<h3><br>
</h3>
<h3><br>
</h3>
<h3> 配置使用ADSL帐号拨号上网 </h3>

<p>1、安装pppoe软件包
</p>

<pre>$ sudo apt-get install pppoeconf</pre>

<p>2、配置adsl拨号的帐号信息
</p>

<pre>$ sudo pppoeconf</pre>

<p>3、进行adsl拨号建立网络连接
</p>

<pre>$ sudo pon dsl-provider</pre>

<p>4、断开adsl网络连接
</p>

<pre>$ sudo poff</pre>
<p>
</p>
<pre><br><br>$ killall gnome-panel<br></pre>

<p>3. 使用
选择“Applications”=&gt;“Internet”=&gt;“Prozilla GUI”。
</p>
<br>
<pre><br></pre>
<img src ="http://www.blogjava.net/ivanwan/aggbug/13830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-09-23 13:58 <a href="http://www.blogjava.net/ivanwan/archive/2005/09/23/13830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sudo的使用</title><link>http://www.blogjava.net/ivanwan/archive/2005/09/02/11836.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 02 Sep 2005 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/09/02/11836.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/11836.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/09/02/11836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/11836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/11836.html</trackback:ping><description><![CDATA[<P>在debian中使用sudo必须先添加用户到sudo中,才可以以root身份执行.<BR>修改sudo列表使用visudo命令.<BR><BR><STRONG>添加内容<BR><BR>任何程序不要用sudo执行不要密码<BR>你的用户名 ALL=NOPASSWD:ALL<BR><BR>要密码的<BR>你的用户名 ALL=PASSWD:ALL 密码为你的用户名密码非root的<BR><BR>如果限制程序用sudo把all换成相应的程序<BR>只有在普通用户下用gksu 运行程序时才用root密码<BR>因为gksu 默任时root用户</STRONG></P><img src ="http://www.blogjava.net/ivanwan/aggbug/11836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-09-02 14:07 <a href="http://www.blogjava.net/ivanwan/archive/2005/09/02/11836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在gaim中使用google talk im</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/28/11365.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sun, 28 Aug 2005 05:45:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/28/11365.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/11365.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/28/11365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/11365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/11365.html</trackback:ping><description><![CDATA[google talk使用了Jabber协议，因此我们这些linuxfans可以很happy地使用google的服务:)<br>
<br>
登入选项<br>
协议：Jabber<br>
用户名:gmail邮箱前缀<br>
服务器:gmail.com<br>
资源：google talk<br>
密码：gmail邮箱密码<br>
<br>
显示主要选项：<br>
Jabber选项<br>
选中“若可用则使用tls和允许在不加密流上的纯文本验证<br>
端口:5222<br>
连接服务器：64.233.167.125<br>
<br><img src ="http://www.blogjava.net/ivanwan/aggbug/11365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-28 13:45 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/28/11365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>fcitx对lumaQQ的支持</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/18/10412.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 18 Aug 2005 04:12:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/18/10412.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/10412.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/18/10412.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/10412.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/10412.html</trackback:ping><description><![CDATA[在$HOME/.fcitx下修改config文件的：<br>
LumaQQ支持=1<br>
<br>
上面改为1,重启X就好了。<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/10412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-18 12:12 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/18/10412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在debian下jdk1.4.2中文乱码的解决</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/11/9803.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 11 Aug 2005 05:38:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/11/9803.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9803.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/11/9803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9803.html</trackback:ping><description><![CDATA[1.首先,把windows的simsun.ttc文件考到指定目录,重命名为simsun.ttf.<br>
<br>
<br>
2.注册字体:到JAVA_HOME下的jre/lib/fonts下.编辑fonts.dir.具体如下:第一行的数字加一.在最后一行加入一句:
simsun.ttf -default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.<br>
可选字体的还有:
    simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; simsun.ttf
-misc-SimSun-medium-r-normal--*-%d-*-*-c-*-iso10646-1<br>
<br>
<br>
3.修改JAVA_HOME下的jre/lib/的font.properties文件(这里的font.properties文件最好做备份).<br><span style="font-weight: bold;">($cp -v font.properties.zh_CN.Sun font.properties)</span><br>
<br>
修改的地方有三处:<br>
A.类似如下的 serif.0=-b&amp;h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1<br>
serif.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0<br>
看到xxxx.1=后面的字体全部改成已经注册的字体.<br>
<br>
B.类似如下的 fontset.serif.plain=\<br>
-b&amp;h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\<br>
-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0<br>
fontset.serif.plain=\后的第二行字体全部改成注册的字体.<br>
<br>
C.最后一行:appendedfontpath=/usr/share/fonts/truetype.这里的/usr/share/fonts/truetype是simsun.ttf的考到的目录名.<br>
<br>
<span style="font-weight: bold;">具体文件如下：</span><br>
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># @(#)font.properties.zh_CN.Sun.linux&nbsp;&nbsp;&nbsp; 1.1 03/07/14</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># Copyright 2003 Sun Microsystems, Inc. All rights reserved.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># Component Font Mappings For Linux zh_CN</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.0=-b&amp;h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.italic.0=-b&amp;h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.italic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.bold.0=-b&amp;h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.bold.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.bolditalic.0=-b&amp;h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">serif.bolditalic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.0=-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.italic.0=-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.italic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.bold.0=-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.bold.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.bolditalic.0=-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">sansserif.bolditalic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.italic.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.italic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.bold.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.bold.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.bolditalic.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">monospaced.bolditalic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.0=-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.italic.0=-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.italic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.bold.0=-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.bold.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.bolditalic.0=-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialog.bolditalic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.italic.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.italic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.bold.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.bold.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.bolditalic.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">dialoginput.bolditalic.1=-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># Missing Glyph Character</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">default.char=274f</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># Component Font Character Encodings</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.serif.0=sun.io.CharToByteISO8859_1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.serif.1=sun.io.CharToByteGBK</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.sansserif.0=sun.io.CharToByteISO8859_1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.sansserif.1=sun.io.CharToByteGBK</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.monospaced.0=sun.io.CharToByteISO8859_1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.monospaced.1=sun.io.CharToByteGBK</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.dialog.0=sun.io.CharToByteISO8859_1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.dialog.1=sun.io.CharToByteGBK</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontcharset.dialoginput.1=sun.io.CharToByteGBK</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># Exclusion Ranges</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"># XFontSet Information</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">#</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.serif.plain=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.serif.italic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.serif.bold=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.serif.bolditalic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.sansserif.plain=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.sansserif.italic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.sansserif.bold=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.sansserif.bolditalic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.monospaced.plain=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.monospaced.italic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.monospaced.bold=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.monospaced.bolditalic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialog.italic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialog.bold=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialog.bolditalic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialog.plain=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialoginput.italic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialoginput.bold=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialoginput.bolditalic=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.dialoginput.plain=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">fontset.default=\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">filename.-default-simsun-medium-r-normal--*-100-*-*-c-*-gb2312.1980-0.=/usr/share/fonts/truetype/simsun.ttf</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">appendedfontpath=/usr/share/fonts/truetype</span><br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<br style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);">
<span style="color: rgb(0, 0, 0); background-color: rgb(211, 211, 211);"></span><br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-11 13:38 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/11/9803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在firefox里安装java插件</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/08/9573.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 08 Aug 2005 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/08/9573.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9573.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/08/9573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9573.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9573.html</trackback:ping><description><![CDATA[我的java是jre1.4.2的.<br>
首先是进入firefox的插件目录.我的是~/.mozilla/plugins.<br>
然后是确定jre的插件目录.我的是~/programs/j2sdk1.4.2_08/jre/plugin/i386/ns610-gcc32.这里是使用gcc32的系统.<br>
最后是做连接.具体如下:<br>
$cd ~/.mozilla/plugins<br>
$ln -s ~/programs/j2sdk1.4.2_08/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so<br>
重起firefox,确定插件是否安装成功.在firefox输入about:plugins.有就成功了.<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-08 14:54 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/08/9573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian下的新宋体</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/05/9398.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 05 Aug 2005 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/05/9398.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9398.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/05/9398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9398.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9398.html</trackback:ping><description><![CDATA[在sources.list中加入:<br>
deb http://archive.ubuntu.org.cn/ubuntu-cn ubuntu.org.cn main<br>
<br>
#apt-get update<br>
#apt-get install ttf-arphic-newsung<br>
<br>
这样就可以安装上新宋体.<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-05 15:29 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/05/9398.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debian 里用 FreeType 支援中文粗体显示了</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/05/9397.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 05 Aug 2005 07:23:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/05/9397.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9397.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/05/9397.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9397.html</trackback:ping><description><![CDATA[kanru 是我国台湾地区著名的 Debian 黑客<br>

<br>

<div style="margin: 5px 20px 20px;">
	<div class="smallfont" style="margin-bottom: 2px;">引用:</div>
	<table style="table-layout: fixed;" border="0" cellpadding="4" cellspacing="0" width="100%">
	<tbody><tr>
		<td class="alt2" style="border: 1px inset ;">
			
				<div>作者: <strong>kanru</strong></div>
				<div style="font-style: italic;">
有在注意 freetype 最新發展的人應該已經知道 <br>
 freetype2 已經內建粗體模擬支援(cvs 版本)，在 xft2 中相對應的程式碼也已經有了 <br>
 所以只要更新這兩個套件便可以有基本的粗體支援 眨眨眼 <br>
 <br>
 想要嘗鮮的人可以加入以下到 sources.list <br>
 <br>
<div style="margin: 5px 20px 20px;">
	<div class="smallfont" style="margin-bottom: 2px;">代码:</div>
	<table border="0" cellpadding="6" cellspacing="0">
	<tbody><tr>
		<td class="alt2" style="border: 1px inset ;">
	<pre class="alt2" style="margin: 0px; padding: 4px; width: auto; height: 66px; overflow: auto;">  deb http://people.debian.org.tw/~koster/debian/sid ./ <br> deb-src http://people.debian.org.tw/~koster/debian/sid ./</pre>
		</td>
	</tr>
	</tbody></table>
</div><br>
   <br>
 其中 freetype2 的部份是今天更新的 cvs 版本，有熱呼呼的的粗體支援 <br>
 xft2 是拿 debian 中的版本直接重新編譯，讓 configure 偵測到已經開啟模擬粗體 <br>
 更新 libfreetype6 與 libxft2 後重新啟動 X 便能體驗到久違的粗體 眨眨眼 <br>
 <br>
 NOTE: 此修正是以直接修改底層的方式，與其他之前的 patch 不同 <br>
 混用這些不同 patch 的套件將有不能預期的後果 <br>
 <br>
 相關網址： <br>
freetype maillist 討論串 <br>
<a href="http://lists.gnu.org/archive/html/freetype-devel/2005-05/msg00019.html" target="_blank">http://lists.gnu.org/archive/html/f...5/msg00019.html</a><br>
(Firefly) freetype已經接受粗体補丁？<br>
<a href="http://firefly.idv.tw/test/Forum.php?Board=1&amp;Article=338cf84b02bd7eb87be1cc73c7e425c2&amp;Func=view&amp;History=0" target="_blank">http://firefly.idv.tw/test/Forum.ph...=view&amp;History=0</a><br></div>
			
		</td>
	</tr>
	</tbody></table>
</div>
<br>

<br>

加了 apt 源后<br>

apt-get update<br>

apt-get install libfreetype6 libxft2<br>

<br>

然后重启 X ， 就可以看到效果了<br>

<br>


	
<div class="smallfont" style="margin-bottom: 2px;">引用:</div>

	
	
		
			
				
<div>作者: <strong>kanru</strong></div>

				
補充一下 <br>

 如果您有修改過 /etc/fonts/fonts.conf <br>

 請檢查有沒有這幾行 <br>

<div style="margin: 5px 20px 20px;">
	<div class="smallfont" style="margin-bottom: 2px;">PHP代码:</div>
	<table border="0" cellpadding="6" cellspacing="0">
	<tbody><tr>
		<td class="alt2" style="border: 1px inset ;">

	<div class="alt2" style="margin: 0px; padding: 4px; width: auto; height: 306px; overflow: auto;">
		<code style="white-space: nowrap;">
			<!-- php buffer start --><code><font color="#000000">
<font color="#0000bb"> </font><font color="#007700">&lt;!-- 
<br>&nbsp;&nbsp;</font><font color="#0000bb">Synthetic emboldening </font><font color="#007700">for </font><font color="#0000bb">fonts that </font><font color="#007700">do </font><font color="#0000bb">not have bold face available 
<br>&nbsp;&nbsp;</font><font color="#007700">--&gt; <br> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">match target</font><font color="#007700">=</font><font color="#dd0000">"font"</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font><font color="#0000bb">check to see </font><font color="#007700">if </font><font color="#0000bb">the font is just regular </font><font color="#007700">--&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">test name</font><font color="#007700">=</font><font color="#dd0000">"weight" </font><font color="#0000bb">compare</font><font color="#007700">=</font><font color="#dd0000">"less_eq"</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">int</font><font color="#007700">&gt;</font><font color="#0000bb">100</font><font color="#007700">&lt;/</font><font color="#0000bb">int</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#0000bb">test</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font><font color="#0000bb">check to see </font><font color="#007700">if </font><font color="#0000bb">the pattern requests bold </font><font color="#007700">--&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">test target</font><font color="#007700">=</font><font color="#dd0000">"pattern" </font><font color="#0000bb">name</font><font color="#007700">=</font><font color="#dd0000">"weight" </font><font color="#0000bb">compare</font><font color="#007700">=</font><font color="#dd0000">"more_eq"</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">int</font><font color="#007700">&gt;</font><font color="#0000bb">200</font><font color="#007700">&lt;/</font><font color="#0000bb">int</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#0000bb">test</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- </font><font color="#0000bb">set the embolden flag </font><font color="#007700">--&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">edit name</font><font color="#007700">=</font><font color="#dd0000">"embolden" </font><font color="#0000bb">mode</font><font color="#007700">=</font><font color="#dd0000">"assign"</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#0000bb">bool</font><font color="#007700">&gt;</font><font color="#0000bb">true</font><font color="#007700">&lt;/</font><font color="#0000bb">bool</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#0000bb">edit</font><font color="#007700">&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#0000bb">match</font><font color="#007700">&gt; <br></font>
</font>
</code><!-- php buffer end -->
		</code>
	</div>
</td></tr></tbody></table>

</div>
<br>

這些是用?碓O定啟用模擬粗體的，是 Debian 預設安裝，沒改過 fonts.conf 的人應該不用再改<img src ="http://www.blogjava.net/ivanwan/aggbug/9397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-05 15:23 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/05/9397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>debian下的sourcenav的使用说明</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/05/9366.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 05 Aug 2005 02:12:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/05/9366.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9366.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/05/9366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9366.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9366.html</trackback:ping><description><![CDATA[因为sourcenav不支持中文的locale,所以会报错误.<br>
只要输入:$export LANG=en_US<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $export LC_ALL=en_US<br>
<br>
$snavigator<br>
这样就能正确的起动. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-05 10:12 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/05/9366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过mount命令挂载samba</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/05/9361.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 05 Aug 2005 01:12:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/05/9361.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9361.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/05/9361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9361.html</trackback:ping><description><![CDATA[详细的命令如下:<br>
mount -t smbfs -o username=tridge,password=foobar //fjall/test /data/test<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-05 09:12 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/05/9361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ssh的基本安装</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/04/9303.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 04 Aug 2005 13:38:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/04/9303.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9303.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/04/9303.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9303.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9303.html</trackback:ping><description><![CDATA[1.必须有SSH.<br>
2.在HOME中＄ ssh-keygen -t rsa 
(用rsa加密产生一对公钥（id_rsa)和密钥(id_rsa.pub)).<br>
3.把公钥改一下名字然后拷到要登陆的机子上的HOME中的.ssh目录下.<br>
<font color="#dc143c">注意:本地的用户名和要登陆的用户名要相同!</font><img src ="http://www.blogjava.net/ivanwan/aggbug/9303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-04 21:38 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/04/9303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在DELL PowerEdge2850上安装Debian sarge3.0r2</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/04/9302.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 04 Aug 2005 13:37:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/04/9302.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9302.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/04/9302.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9302.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9302.html</trackback:ping><description><![CDATA[1.在安装Grub/Lilo之前,alt+F2获得一个控制台.<br>
2.# chroot 
/target<br>
3.在/etc/mkinitrd/modules文件中加入megaraid2.<br>
4.# mount -t proc name 
/proc<br>
5.# cp /boot/initrd.img-2.4.27-1-386 
/boot/initrd.img-2.24.27-1-386.ORIG<br>
6.# mkinitrd -o 
/boot/initrd.img-2.24.27-1-386<br>
7.# cd /<br>
&nbsp;&nbsp;# umount /proc<br>
&nbsp;&nbsp;# 
exit<br>
&nbsp;&nbsp;退出chroot<br>
8.alt+F1返回安装界面.<img src ="http://www.blogjava.net/ivanwan/aggbug/9302.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-04 21:37 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/04/9302.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cvsd的基本配置</title><link>http://www.blogjava.net/ivanwan/archive/2005/08/04/9301.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 04 Aug 2005 13:37:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2005/08/04/9301.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/9301.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2005/08/04/9301.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/9301.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/9301.html</trackback:ping><description><![CDATA[1.打开2401端口:在/etc/inetd.conf加入<br>
&nbsp;&nbsp;cvspserver stream tcp nowait.400 root 
/usr/sbin/tcpd /usr/sbin/cvs-pserver<br>
2.设置cvsd:<br>
&nbsp;&nbsp;命令# cvsd-buildroot 
/data/cvs 建立/data/cvs根目录.<br>
&nbsp;&nbsp;命令# mkdir /data/cvs/myrepos和# cvs -d 
/data/cvs/myrepos init初始化资源库.<br>
&nbsp;&nbsp;命令# chown cvsd:cvsd -R 
/data/cvs<br>
&nbsp;&nbsp;在/etc/cvsd/cvsd.conf中RootJail后改为/data/cvs,最后加入Repos 
/myrepos<br>
&nbsp;&nbsp;命令# cvsd-passwd /data/cvs/myrepos +cvs:cvsd加入用户.<br>
&nbsp;&nbsp;命令# 
/etc/init.d/cvsd cvsd restart 重启cvsd.<br>
&nbsp;&nbsp;在home中建立 .cvspass文件.<br>
&nbsp;&nbsp;命令＄ export 
CVSROOT=:pserver:cvs@localhost:2401/myrepos加入环境变量.<br>
&nbsp;&nbsp;命令＄ cvs login登陆.<br>
<img src ="http://www.blogjava.net/ivanwan/aggbug/9301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2005-08-04 21:37 <a href="http://www.blogjava.net/ivanwan/archive/2005/08/04/9301.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>