<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>稀饭的国度 &#187; 稀饭</title>
	<atom:link href="http://blog.thematice.com/html/yauthor/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.thematice.com</link>
	<description>发现自己的脑袋不好使了，用blog来记录真的很好用。</description>
	<lastBuildDate>Sun, 18 Jul 2010 15:56:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mysql编译安装参数优化</title>
		<link>http://blog.thematice.com/html/y2010/06/18/1076/mysql%e7%bc%96%e8%af%91%e5%ae%89%e8%a3%85%e5%8f%82%e6%95%b0%e4%bc%98%e5%8c%96.html</link>
		<comments>http://blog.thematice.com/html/y2010/06/18/1076/mysql%e7%bc%96%e8%af%91%e5%ae%89%e8%a3%85%e5%8f%82%e6%95%b0%e4%bc%98%e5%8c%96.html#comments</comments>
		<pubDate>Fri, 18 Jun 2010 15:45:16 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[configure]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1076</guid>
		<description><![CDATA[关键字: mysql compile
1. -static 13%
&#8211;with-client-ldflags=-all-static
&#8211;with-mysqld-ldflags=-all-static
静态链接提高13%性能
2. -pgcc 1%
CFLAGS=&#8221;-O3 -mpentiumpro -mstack-align-double&#8221; CXX=gcc \
CXXFLAGS=&#8221;-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti&#8221;
如果是Inter处理器，使用pgcc提高1%性能
3. Unix Socket 7.5%
&#8211;with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能，所以在windows下mysql性能肯定不如unix下面
4. &#8211;enable-assembler
允许使用汇编模式(优化性能)

下面是总体的编译文件
编译代码
CFLAGS=&#8221;-O3&#8243; CXX=gcc CXXFLAGS=&#8221;-O3 -felide-constructors \
-fno-exceptions -fno-rtti -fomit-frame-pointer -ffixed-ebp&#8221;
./configure \
&#8211;prefix=/usr/local/mysql &#8211;enable-assembler \
&#8211;with-mysqld-ldflags=-all-static
&#8211;with-client-ldflags=-all-static
&#8211;with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
&#8211;with-charset=utf8
&#8211;with-collation=utf8_general_ci
&#8211;with-extra-charsets=all
鞋衫各式名品专卖 
]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/06/18/1076/mysql%e7%bc%96%e8%af%91%e5%ae%89%e8%a3%85%e5%8f%82%e6%95%b0%e4%bc%98%e5%8c%96.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>开启开启eaccelerator后的磁盘性能问题后的磁盘性能问题</title>
		<link>http://blog.thematice.com/html/y2010/06/08/1089/%e5%bc%80%e5%90%af%e5%bc%80%e5%90%afeaccelerator%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html</link>
		<comments>http://blog.thematice.com/html/y2010/06/08/1089/%e5%bc%80%e5%90%af%e5%bc%80%e5%90%afeaccelerator%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 08:19:23 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[开启eaccelerator后的磁盘性能问题]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2010/06/08/1089/%e5%bc%80%e5%90%af%e5%bc%80%e5%90%afeaccelerator%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html</guid>
		<description><![CDATA[ 本篇只是个人猜测.仅供参考,注意辩读.
我的linode主机,前两天一度出现硬盘IO狂飙的事情.被警告和死机几次,很头疼.仔细检查很多地方,最终将目标锁定在eaccelerator,只有开启它之后,程序才会频繁的进行数据交换.将所有键值指向shm,即内存作为缓存容器,IO读写立刻下降.
参数如下:
zend_extension = &#8220;/usr/local/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so&#8221;
eaccelerator.shm_size = 128
eaccelerator.enable = 1
eaccelerator.optimizer = 1
eaccelerator.debug = 0
eaccelerator.name_space = &#8220;&#8221;
eaccelerator.check_mtime = 1
eaccelerator.filter = &#8220;&#8221;
eaccelerator.shm_max = 0
eaccelerator.shm_ttl = 3600
eaccelerator.shm_prune_period = 3600
eaccelerator.shm_only = 1
eaccelerator.compress = 0
eaccelerator.compress_level = 6
eaccelerator.keys = shm
eaccelerator.sessions = shm
eaccelerator.content = shm
eaccelerator.compress = 0 这个选项在php-fpm启动的fcgi中建议关闭.压缩并不会带来性能的突破,如果使用磁盘作为缓存容器,读写更频繁.而且会不稳定.会出现进程死掉的事情.

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/06/08/1089/%e5%bc%80%e5%90%af%e5%bc%80%e5%90%afeaccelerator%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98%e5%90%8e%e7%9a%84%e7%a3%81%e7%9b%98%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>linux下用源代码编译mysql（完整步骤）</title>
		<link>http://blog.thematice.com/html/y2010/05/18/1092/linux%e4%b8%8b%e7%94%a8%e6%ba%90%e4%bb%a3%e7%a0%81%e7%bc%96%e8%af%91mysql%ef%bc%88%e5%ae%8c%e6%95%b4%e6%ad%a5%e9%aa%a4%ef%bc%89.html</link>
		<comments>http://blog.thematice.com/html/y2010/05/18/1092/linux%e4%b8%8b%e7%94%a8%e6%ba%90%e4%bb%a3%e7%a0%81%e7%bc%96%e8%af%91mysql%ef%bc%88%e5%ae%8c%e6%95%b4%e6%ad%a5%e9%aa%a4%ef%bc%89.html#comments</comments>
		<pubDate>Tue, 18 May 2010 15:47:03 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[configure]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1092</guid>
		<description><![CDATA[




linux下用源代码编译apache+mysql+php应用环境linux下用源代码编译mysql（基本步骤）
linux下用源代码编译apache
linux下用源代码编译php
mysql部分。mysql源代码的版本是：mysql-5.1.29-rc.tar.gz
建立mysql运行的用户和组：为了安全起见，myslq需要以特定的用户身份去运行。
首先，我们需要查看系统中现有的用户及用户组：
注意：本文中所有的命令均以root身份运行（既shell提示符为#），如果对linux系统不熟悉，在回车前一定要仔细核对。本文不对命令进行过多的讨论，除非有必要，仅给出需要的命令及参数解释。
grep -in mysql /etc/passwd /etc/group
 执行上述命令，-i参数不区分大小写，如果你没有看到包含mysql的信息，则说明你的系统当前 可能 没有配置mysql，下面我们需要为mysql运行创建用户及组。如果你看到结果返回 mysql 的字样，说明mysql运行的帐户信息己建立好了，那么可以跳过下面这一步。
&#60;!&#8211;more&#8211;&#62;
groupadd -r -p mysql5 mysql
useradd -c &#8220;mysql daemon&#8221; -r -s /bin/false -d /var/lib/mysql -g mysql -p mysql5 mysql
上述参数解释如下（两个命令参数意义类似）：
-c &#8220;mysql daemon&#8221; mysql用户的描述，如果描述包含多个字符，可以使用引号
-r 将 用户/组 设置为 系统用户/组
-s /bin/false 指定登录外壳，/bin/false为禁止用户从 终端/图形界面 登录
-d /var/lib/mysql，设置用户的主目录，/var/lib/mysql是默认设置，你也可以指定其他位置。
-g mysql 将用户加入到指定的组中。指定的组名必须是存在的。
-p mysql5 设置密码。本文仅是举例，你可以为用户和组各指定不同的密码。
我们是先创建组，然后再创建用户，并把用户加入到组中。如果是先创建用户，在没有指定 -n 参数的情况下，系统将自动创建与用户名同名的组，并且 组ID 与 用户ID 相同，这可能不是我们需要的结果，特别是个别系统有可能更改这一默认设置（如，新用户有默认组），从而带来一些问题，因此，为了避免不必要的麻烦，上述两个命令的顺序不要颠倒。

按下来我们开始对myslq进行编译，过程如下：
cd /local/localsoft/websrv/mysql/
tar xvf mysql-5.1.29-rc.tar.gz
cd mysql-5.1.29-rc/
./configure –help
首先查看一下configure 的参数，根据你的需要进行设置（编译时间约需10分钟）。
本例将mysql安装到默认的/usr/local目录下。优化编译的参数如下：
CFLAGS=&#8221;-O3 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/05/18/1092/linux%e4%b8%8b%e7%94%a8%e6%ba%90%e4%bb%a3%e7%a0%81%e7%bc%96%e8%af%91mysql%ef%bc%88%e5%ae%8c%e6%95%b4%e6%ad%a5%e9%aa%a4%ef%bc%89.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL也有潜规则 &#8211; Select 语句不加 Order By 如何排序？</title>
		<link>http://blog.thematice.com/html/y2010/04/26/1085/mysql%e4%b9%9f%e6%9c%89%e6%bd%9c%e8%a7%84%e5%88%99-select-%e8%af%ad%e5%8f%a5%e4%b8%8d%e5%8a%a0-order-by-%e5%a6%82%e4%bd%95%e6%8e%92%e5%ba%8f%ef%bc%9f.html</link>
		<comments>http://blog.thematice.com/html/y2010/04/26/1085/mysql%e4%b9%9f%e6%9c%89%e6%bd%9c%e8%a7%84%e5%88%99-select-%e8%af%ad%e5%8f%a5%e4%b8%8d%e5%8a%a0-order-by-%e5%a6%82%e4%bd%95%e6%8e%92%e5%ba%8f%ef%bc%9f.html#comments</comments>
		<pubDate>Mon, 26 Apr 2010 07:00:41 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1085</guid>
		<description><![CDATA[今天遇到一个问题，有一个 Select 语句没有加 &#8220;Order By&#8221;，返回的数据是不确定的。
这种问题碰到不止几次了。追根寻底， Select 语句如果不加 “Order By”， MySQL会怎么排序呢？
在网上搜了一下，在MySQL论坛发现了这篇文章。
http://forums.mysql.com/read.php?21,239471,239688#msg-239688
简单翻译一下
* 不能依赖 MySQL 的默认排序
* 如果你想排序，总是加上 Order By
* GROUP BY 强加了 Order By （这与标准语法冲突，如果要避免，请使用 ORDER BY NULL）这里我有疑问，
到底强加了何种 Order by
对于 MyISAM 表
MySQL Select 默认排序是按照物理存储顺序显示的。（不进行额外排序）.
也就是说
SELECT * FROM tbl &#8211; 会产生“表扫描”。如果表没有删除、替换、更新操作，记录会显示为插入的顺序。
InnoDB 表
同样的情况，会按主键的顺序排列。再次强调，这只是潜规则（artifact of the underlying implementation：怎么翻译？），
不靠谱的。
我的理解与推测：
“Select” 不加 “Order by”时， MySQL 会尝试以尽可能快的方法（MySQL 实际的方法不见得快）返回数据。
由于访问主键、索引大多数情况会快一些（在Cache里）所以返回的数据有可能以主键、索引的顺序输出，
这里并不会真的进行排序，主要是由于主键、索引本身就是排序放到内存的，所以连续输出时可能是某种序列。
在一些情况下消耗硬盘寻道时间最短的数据会先返回。
如果只查询单个表，在特殊的情况下是有规律的。
最后总结
“Order By 是要加的”
如果谁想更深一步了解，需要看看 MySQL 的源代码了。

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/04/26/1085/mysql%e4%b9%9f%e6%9c%89%e6%bd%9c%e8%a7%84%e5%88%99-select-%e8%af%ad%e5%8f%a5%e4%b8%8d%e5%8a%a0-order-by-%e5%a6%82%e4%bd%95%e6%8e%92%e5%ba%8f%ef%bc%9f.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 cURL 度量 Web 站点的响应时间</title>
		<link>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html</link>
		<comments>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html#comments</comments>
		<pubDate>Wed, 21 Apr 2010 09:56:28 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux  web]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[liinux]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1077</guid>
		<description><![CDATA[[root@web-little-opt-146 NginxSoftware]# time curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://image.kaluli.net/index/images/index/20100416/127141246304.gif
1.259:1.281:1.392
real    0m1.394s
user    0m0.002s
sys     0m0.003s
　　清单 1 给出对一个流行的新闻站点执行 curl 命令的情况。输出通常是 HTML 代码，通过 -o 参数发送到 /dev/null。-s 参数去掉所有状态信息。-w 参数让 curl 写出表 1 列出的计时器的状态信息：

表 1. curl 使用的计时器



计时器
描述


time_connect
建立到服务器的 TCP 连接所用的时间


time_starttransfer
在发出请求之后，Web 服务器返回数据的第一个字节所用的时间


time_total
完成请求所用的时间



　　这些计时器都相对于事务的起始时间，甚至要先于 Domain Name Service（DNS）查询。因此，在发出请求之后，
        Web 服务器处理请求并开始发回数据所用的时间是 1.281- 1.259= 0.022 秒。
        客户机从服务器下载数据所用的时间是 1.392 - 1.281 = 0.111 秒。
　　通过观察 curl 数据及其随时间变化的趋势，可以很好地了解站点对用户的响应性。
　　当然，Web 站点不仅仅由页面组成。它还有图像、JavaScript 代码、CSS 和 cookie 要处理。curl [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转] 如何利用国外空间 SSH 翻墙</title>
		<link>http://blog.thematice.com/html/y2010/04/15/1071/%e8%bd%ac-%e5%a6%82%e4%bd%95%e5%88%a9%e7%94%a8%e5%9b%bd%e5%a4%96%e7%a9%ba%e9%97%b4-ssh-%e7%bf%bb%e5%a2%99.html</link>
		<comments>http://blog.thematice.com/html/y2010/04/15/1071/%e8%bd%ac-%e5%a6%82%e4%bd%95%e5%88%a9%e7%94%a8%e5%9b%bd%e5%a4%96%e7%a9%ba%e9%97%b4-ssh-%e7%bf%bb%e5%a2%99.html#comments</comments>
		<pubDate>Thu, 15 Apr 2010 02:36:48 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux net]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[gwf]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[墙]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1071</guid>
		<description><![CDATA[　　Note: This article is for theoretical purpose only. Using an SSH server as a bounce point to other servers/networks will violate the Resource Usage Policies of most hosting service providers. Use it at your own risk!
　　注意：本文仅限于理论研究。将 SSH 服务器作为连接其它服务器或网络的跳板将违反大多数主机服务提供商的资源使用政策。风险自负！

　　由于国内的一些原因，访问国外网站时限制颇多，但facebook总是要上的嘛，我等小辈能用的方法就只有翻墙咯，翻墙的手段很多，有方便的fg和u（目前已经被XX），也有web 代理（比如 PhpProxy），而速度与方便性成为衡量这些手段的两个重要方面。本文所介绍的翻墙手段利用了国外空间的SSH功能，速度主要取决于您与该 SSH 服务器的之间速度。这样一来代理的IP就独一无二了，申请免费空间就更容易了，不过空间需具有SSH功能，并且主机提供商允许你这样的行为。SSH功能免费空间是很少提供的。
所需条件：SecureCRT 或 Putty，一个国外 SSH 帐号
推荐：Firefox + Firefox 扩展 FoxyProxy （或其他浏览器）+ SecureCRT
SecureCRT 是共享软件，有汉化版，点击进入下载列表
SSH 帐号的来源可以有多种，最常见的来源是国外的虚拟主机帐号，如 Dreamhost、MediaTemple、Bluehost [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/04/15/1071/%e8%bd%ac-%e5%a6%82%e4%bd%95%e5%88%a9%e7%94%a8%e5%9b%bd%e5%a4%96%e7%a9%ba%e9%97%b4-ssh-%e7%bf%bb%e5%a2%99.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UCenter Home 数据表结构</title>
		<link>http://blog.thematice.com/html/y2010/03/30/1070/ucenter-home-%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%bb%93%e6%9e%84.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/30/1070/ucenter-home-%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%bb%93%e6%9e%84.html#comments</comments>
		<pubDate>Tue, 30 Mar 2010 10:53:37 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2010/03/30/1070/ucenter-home-%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%bb%93%e6%9e%84.html</guid>
		<description><![CDATA[UCenter Home 数据表结构
2008-08-23 11:53
&#8211;
&#8211; ucenter home 数据库
&#8211;
&#8211; 数据库: uchome
&#8211;
&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
&#8211;
&#8211; “广告”表
&#8211; 序号,是否激活,标题,位置,代码,类型
uchome_ad
adid smallint(6) unsigned NOT NULL auto_increment,
available tinyint(1) NOT NULL default &#8216;1&#8242;,
title varchar(50) NOT NULL default &#8221;,
pagetype varchar(20) NOT NULL default &#8221;,
adcode text NOT NULL,
system tinyint(1) NOT NULL default &#8216;0&#8242;,
PRIMARY KEY (adid)
&#60;!&#8211;more&#8211;&#62;
&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
&#8211;
&#8211; “管理员session记录”表
&#8211; 序号,ip,创建日期,错误数量
uchome_adminsession
uid mediumint(8) unsigned NOT NULL default &#8216;0&#8242;,
ip char(15) NOT NULL default [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/30/1070/ucenter-home-%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%bb%93%e6%9e%84.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>构建postfix邮件服务器（五）extmail和extman的安装，实现web使用和管理邮件系统</title>
		<link>http://blog.thematice.com/html/y2010/03/17/1067/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89extmail%e5%92%8cextman%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0web%e4%bd%bf%e7%94%a8.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/17/1067/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89extmail%e5%92%8cextman%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0web%e4%bd%bf%e7%94%a8.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:32:55 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[extmail]]></category>
		<category><![CDATA[extman]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1067</guid>
		<description><![CDATA[一、准备
1.在www.extmail.org 中下载extmail-1.2.tar.gz 和extman1.1
Extmail 用于从浏览器中登入、使用邮件系统
Extman 用于从浏览器中管邮件系统
2.由于安装extmail要用到以下三个包（到http://search.cpan.org 中搜索）
1）Unix-Syslog http://search.cpan.org/~mharnisch/Unix-Syslog-1.1/Syslog.pm

2）DBI http://search.cpan.org/~timb/DBI-1.609/
3）DBD-mysql http://search.cpan.org/~capttofu/DBD-mysql-4.013/lib/DBD/mysql.pm
3.安装Extman web管理要用到以下四个软件包
1）GD http://search.cpan.org/~lds/GD-2.44/ 解决验证码
2）File-Tail http://search.cpan.org/~mgrabnar/File-Tail-0.99.3/ 支持图形日志
3）rrdtool-1.2.23-3..el5.i386.rpm 支持图形日志
4）rrdtool-perl-1.2.23-3.el5.i386.rpm 支持图形日志

二、按先后顺序安装以下软件
1.安装Unix-Syslog
1）解压 tar zxvf Unix-Syslog-1.1.tar.gz
2）进入目录 cd Unix-syslog-1.1
3）预配置 perl Makefile.PL
4）编译，安装 make ; make install

2.安装DBI
1）解压 tar zxvf DBI-1.609.tar.gz
2）进入目录cd DBI-1.609
3）预配置perl Makefile.PL
4）编译，安装 make ; make install

3.安装DBI
1）export PATH=$PATH:/usr/local/mysql/bin/ （这一步必须）
2）解压 tar DBD-mysql-4.013.tar.gz
3）进入目录cd DBD-mysql-4.013.tar.gz
4）预配置perl Makefile.PL
5）编译，安装 make ; make install

4.安装GD
1）解压 tar zxvf GD-2.44.tar.gz
2）进入目录cd DBI-1.609
3）预配置perl Makefile.PL
4）编译，安装 make ; make install

5.安装File-Tail
1）解压 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/17/1067/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%ba%94%ef%bc%89extmail%e5%92%8cextman%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0web%e4%bd%bf%e7%94%a8.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>构建postfix邮件服务器（四）配置postfix支持虚拟用户</title>
		<link>http://blog.thematice.com/html/y2010/03/17/1065/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89%e9%85%8d%e7%bd%aepostfix%e6%94%af%e6%8c%81%e8%99%9a%e6%8b%9f%e7%94%a8%e6%88%b7.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/17/1065/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89%e9%85%8d%e7%bd%aepostfix%e6%94%af%e6%8c%81%e8%99%9a%e6%8b%9f%e7%94%a8%e6%88%b7.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:31:56 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1065</guid>
		<description><![CDATA[一、准备
1.从www.extmail.org 中下载extman-1.1.tar.gz
2.从http://sourceforge.net/projects/courier/files/ 下载courier-authlib
使用Courier-authlib软件的目的是因为saslauthd程序不支持数据库认证，而Courier-authlib支持多种数据库认证
3.检查postfix是否支持虚拟用户 postconf – m &#124; grep msyql 如果出现mysql表示支持
二、建立虚拟用户数据库

1启动mysql
service mysqld restart
(要想使用此方法启动，必须将mysqld添加为系统服务，见构建postfix邮件服务器（一）)


2.解压 extman
tar zxvf extman-1.1.tar.gz

3.导入extman软件包中的数据库脚本
cd extman-1.1/docs
mysql -u root -p123456 &#60; extmail.sql
mysql -u root -p123456 &#60; init.sql
-p后面接的是mysql的密码
（要想直接使用mysql就要输入export PATH=$PATH:/usr/local/mysql/bin）
extmail.sql 脚本进行的操作：主要针对邮件域localhost进行初始化
创建 extmail 库，及该库中的一些表
创建用户 extmail@localhost，密码为 extmail 对数据库extmail中的表拥有“SELECT”、“UPDATE”的权限
创建用户 webman@localhost，密码为 extman 对数据库extmail中的表拥有“SELECT”、“INSERT”、“DELETE”、“UPDATE”权限
init.sql脚本进行的操作：主要是建立了一个新的测试邮件域
添加虚拟邮件域 extmail.org 的记录，作为该邮件域的管理帐户
创建用户 root@extmail.org，密码为 extmail*123*
创建用户 postmaster@extmail.org，密码为 extmail
作为该邮件域内的基本邮件用户

三、配置虚拟用户支持postfix
1、修改main.cf文件
Vi /etc/ostfix/main.cf
#mydestination = $mydomain, $myhostname //注释这一行
添加下面的内容
virtual_mailbox_base = /mailbox
\\指定虚拟邮箱存储目录的路径起点
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
\\指定虚拟邮件用户对应的别名文件位置
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
\\指定记录虚拟邮件地址与存储位置对应关系的映射文件的位置
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
\\设置postfix服务器可以接收的虚拟邮件域的域名，作用类似于配置参数“mydestination”
virtual_uid_maps [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/17/1065/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e5%9b%9b%ef%bc%89%e9%85%8d%e7%bd%aepostfix%e6%94%af%e6%8c%81%e8%99%9a%e6%8b%9f%e7%94%a8%e6%88%b7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>构建postfix邮件服务器(二)postfix和dovecot的安装，实现简单的收发邮件</title>
		<link>http://blog.thematice.com/html/y2010/03/17/1063/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%ba%8cpostfix%e5%92%8cdovecot%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0%e7%ae%80%e5%8d%95%e7%9a%84%e6%94%b6.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/17/1063/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%ba%8cpostfix%e5%92%8cdovecot%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0%e7%ae%80%e5%8d%95%e7%9a%84%e6%94%b6.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:30:57 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1063</guid>
		<description><![CDATA[一、准备
1.在 http://mirror.postfixchina.org/ 下载好postfix-2.6.5.tar.gz
2.在http://www.dovecot.org 中下载好dovecot-1.1.16.tar.gz
Dovecot是一个安全性较好的POP3/IMAP服务器软件，响应速度快而且扩展性好
注意：所有源码包都放在 /postfix-an 目录下，解压也是在此目录下
3.停止sendmail
①Service sendmail stop

②chkconfig &#8211;level 35 sendmail off

4.修改主机名
①hostname mail.hongyi.com 把系统的主机名修改为你的域名
②vi /etc/sysconfig/network 把HOSTNAME= 修改为 mail.hongyi.com
③vi /etc/hosts 添加你主机的IP和对应的主机名
192.168.18.138 mail.hongyi.com


二、安装postfix
（一）、创建运行postfix服务的用户postfix ，组帐号 postfix、postdrop
①groupadd -g 1200 postdrop -g 1200表示gid为1200 这个数字随便只要不重复就行
②groupadd -g 1000 postfix -g 1000表示gid为1000 这个数字随便 只要不重复就行
③useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix
-M 表示不建立宿主目录 –u 1000 uid为1000
-g postfix 主要的组为 postfix -G postdrop辅助组为gostdrop
-s [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/17/1063/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%ba%8cpostfix%e5%92%8cdovecot%e7%9a%84%e5%ae%89%e8%a3%85%ef%bc%8c%e5%ae%9e%e7%8e%b0%e7%ae%80%e5%8d%95%e7%9a%84%e6%94%b6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>构建postfix邮件服务器(一)lamp平台的安装</title>
		<link>http://blog.thematice.com/html/y2010/03/17/1060/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%80lamp%e5%b9%b3%e5%8f%b0%e7%9a%84%e5%ae%89%e8%a3%85.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/17/1060/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%80lamp%e5%b9%b3%e5%8f%b0%e7%9a%84%e5%ae%89%e8%a3%85.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:28:47 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[lamp]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1060</guid>
		<description><![CDATA[在安装postfix前我们要用源码编译的方式搭建出LAMP平台。
L：表示linux系统
A：apache，web服务器，后面我们要用webmail来收发邮件
M：mysql数据库，在postfix的虚拟用户时，要用到mysql来存储虚拟用户
P：php和perl，webmail来收发邮件，和extmail邮件管理
一、linux
1.linux：RHEL5.3,安装了一些基本的软件包
二、apache的安装
1.去官网下载httpd- 2.2.14.tar.gz （http://httpd.apache.org/download.cgi）
2.解压
tar zxvf httpd-2.2.14.tar.gz

3.进入解压目录
4.配置选项（//及其后面是注释） 
./configure &#8211;prefix=/usr/local/apache2   //指定apache的安装位置
&#8211;enable-so      // 使用动态加载模块功能
&#8211;enable-rewrite   //有rewrite网络地址重写功能
&#8211;enable-ssl     //有ssl功能
&#8211;with-ssl=/usr/lib   //指定 //ssl位置
&#8211;enable-auth-digest   //Apache可以使用摘要认证（Digest）
&#8211;enable-cgi   //cgi支持
&#8211;enable-suexec   //suEXEC支持
&#8211;with-suexec-caller=daemon   //Apache运行时所用的UID。这是唯一允许执行程序的用户
&#8211;with-suexec-docroot=/usr/local/apache2/htdocs  //suEXEC处理器的文档根目录
4.编译make
5.安装make install
三、mysql
1.http://dev.mysql.com/downloads/mysql/5.1.html 在这个页面下载源码包（Source ）mysql5.1.43
记住是源码包，不是安装好了的包
2. 创建允许mysql数据库的用户
useradd -M -s /sbin/nologin mysql
3.tar zxvf mysql.5.1.43
4. ./configure &#8211;prefix=/usr/local/mysql    //指定安装位置
5.make
6.make install
7.建立配置文件
在解压的目录中有个support-files的目录，里面有配置文件样例，用于不同负载的数据库服务器，一般选择my-medium.cnf ,中等负载可以满足大多数企业
cp support-files/my-medium.cnf /etc/my.cnf
8.初始化数据库：用mysql用户身份执行mysql_install_db脚本，
/usr/local/mysql/bin/mysql_install_db &#8211;user=mysql
9.修改初始化后相关目录的权限，使mysql可读写
chown -R root:mysql /usr/local/mysql/
chown -R mysql /usr/local/mysql/var/
10.调整lib库路径:由于安装到了非标准路径，要将mysql的库文件路径“/usr/local/mysql/lib/mysql”加入系统的库文件搜索路径中去，通过修改“/etc/ld.so.conf”
实现
1）echo &#8220;/usr/local/mysql/lib/mysql&#8221; &#62;&#62; /etc/ld.so.conf
2）ldconfig       //刷新库文件搜索路径，是修改生效
11.启动
1）用mysyld_safe脚本安全启动服务 后台运行
/usr/local/mysql/bin/mysqld_safe &#8211;user=mysql &#38;
2）将mysqld添加为系统服务①将mysql源码包中support-files文件夹下“mysql.server”作为mysqld服务的启动脚本，将其复制到 “/etc/init.d”目录中去
cp support-files/mysql.server /etc/init.d/mysqld
②添加执行权，否则执行”service mysqld sttart”报错“mysqld:unrecognized [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/17/1060/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%80lamp%e5%b9%b3%e5%8f%b0%e7%9a%84%e5%ae%89%e8%a3%85.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>构建postfix邮件服务器（三）启用SMTP用户认证</title>
		<link>http://blog.thematice.com/html/y2010/03/17/1056/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89%e5%90%af%e7%94%a8smtp%e7%94%a8%e6%88%b7%e8%ae%a4%e8%af%81.html</link>
		<comments>http://blog.thematice.com/html/y2010/03/17/1056/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89%e5%90%af%e7%94%a8smtp%e7%94%a8%e6%88%b7%e8%ae%a4%e8%af%81.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 13:25:46 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[SMTP]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1056</guid>
		<description><![CDATA[一、使用smtp用户认证
1.发信时无需认证的邮件服务器，很容易造成大量垃圾邮件的产生，也给服务器带来了不必要的负担
2.SMTP发信认证的常见形式如下：当用户通过SMTP协议向外部邮件域发送邮件时，服务器会要求用户提供用户帐号和口令进行身份认证，只有成功通过身份认证的用户才被允许向外部发送邮件，否则将拒绝发信请求。
3.Cyrus SASL（Cyrus Simple Authentication and Security Layer，Cyrus简单认证安全层）在RHEL5系统中已默认安装
4.saslauthd 是Cyrus SASL软件中的一个程序

二、准备
1.查看系统是否按照cyrus-sasl
Rpm -qa &#124;grep cyrus
cyrus-sasl-2.1.22-4
cyrus-sasl-lib-2.1.22-4
cyrus-sasl-plain-2.1.22-4

cyrus-sasl-devel-2.1.22-4

三、设置
（一）设置Cyrus sasl函数库
cp Sendmail.conf smtpd.conf
vi /usr/lib/sasl2/smtpd.conf
输入 pwcheck_method: saslauthd

（二）启动saslautthd服务
service saslauthd start
chkconfig &#8211; –level 35 saslauthd on

(三)修改main.cf配置文件，添加SMTP认证相关的配置参数
Vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes \\启用SMTP认证
smtpd_sasl_security_options = noanonymous \\禁止匿名登录
mynetworks = 127.0.0.1 \\控制可以通过本服务器外发邮件的网络地址或IP地址，设为127.0.0.1是为了确保Webmail系统可正常发送邮件
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,rejct_unauth_destion
\\设置收件人地址过滤规则，其匹配策略是：“从上至下逐条检测，有匹配即停止”。其中：
permit_mynetworks：允许IP为mynetworks的客户使用本邮件系统寄出邮件
permit_sasl_authenticated：允许通过SMTP认证的用户向外发送邮件
reject_unauth_destination：当收件人地址不包括在Postfix的授权网络内时，将拒绝发送该邮件。Postfix的授权网络包括由以下配置参数指定的域及其子域：mydestination、inet_interfaces、virtual_alias_maps、virtual_mailbox_maps、relay_domian

（四）重新加载postfix配置文件
Postfix reload
四、测试
telnet 邮件服务器的25好端口，并且用EHLO宣告客户机的地址，如果出现“250-AUTH PLAIN LOGIN”表明支持认证 (记住这里是EHLO而不是“HELO”)

用telnet进行发信测试
1）由于采用了认证，则要输入加了密的用户名和密码，加密字符串的编码格式为base64
2）用printf “用户名” &#124; openssl base64 获得用户名的加密字符串
用printf “密码” &#124; openssl base64 获得密码的加密字符串
如获得xiao的用户名及其密码123的加密字符串
printf &#8220;xiao&#8221; &#124;openssl base64 得到加密字符串eGlhbw==
printf &#8220;123&#8243; [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/03/17/1056/%e6%9e%84%e5%bb%bapostfix%e9%82%ae%e4%bb%b6%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%88%e4%b8%89%ef%bc%89%e5%90%af%e7%94%a8smtp%e7%94%a8%e6%88%b7%e8%ae%a4%e8%af%81.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XtraDB storage engine release 1.0.6-9</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1040/xtradb-storage-engine-release-1-0-6-9.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1040/xtradb-storage-engine-release-1-0-6-9.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:21:36 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[DataBase]]></category>
		<category><![CDATA[XtraDB]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1040</guid>
		<description><![CDATA[// ";
            jQuery('#votePlaceholder').html('Vote on ' + thumb_up + '');
        });
// ]]&#62;
Dear Community,
As of today Release 9 of XtraDB storage engine is available.
The release includes following new features:

The release is base on 1.0.6 version of InnoDB plugin.
MySQL 5.1.42 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1040/xtradb-storage-engine-release-1-0-6-9.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sed1line_zh-CN</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:13:11 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[sed&swk&shell]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1035</guid>
		<description><![CDATA[
?Download shell.sh1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
-------------------------------------------------------------------------
SED单行脚本快速参考（Unix 流编辑器）                       2005年12月29日
&#160;
英文标题：USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)
原标题：HANDY ONE-LINERS FOR SED (Unix stream editor)
&#160;
整理：Eric Pement  - 电邮：pemente[at]northpark[dot]edu         版本5.5
译者：Joe Hong   [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MyISAM和InnoDB的插入性能测试</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1032/myisam%e5%92%8cinnodb%e7%9a%84%e6%8f%92%e5%85%a5%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1032/myisam%e5%92%8cinnodb%e7%9a%84%e6%8f%92%e5%85%a5%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:09:16 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[压力]]></category>
		<category><![CDATA[测试]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1032</guid>
		<description><![CDATA[测试表结构： 
CREATE TABLE `test` ( 
  `ID` bigint(20) NOT NULL auto_increment, 
  `INT_A` int(11) default NULL, 
  `INT_B` int(11) default NULL, 
  `INT_C` int(11) default NULL, 
  `STRING_A` varchar(50) default NULL, 
  `STRING_B` varchar(250) default NULL, 
  `STRING_C` varchar(700) default NULL, 
  PRIMARY KEY  (`ID`), 
 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1032/myisam%e5%92%8cinnodb%e7%9a%84%e6%8f%92%e5%85%a5%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>端口扫描程序nmap使用手册</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:03:37 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[linx]]></category>
		<category><![CDATA[nmap]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1030</guid>
		<description><![CDATA[其实还是建议看英文的man，对以后学习其他东西很有帮助的：）
摘要
　　nmap是一个网络探测和安全扫描程序，系统管理者和个人可以使用这个软件扫描大型的网络，获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术，例如：UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征，例如：通过TCP/IP协议栈特征探测操作系统类型，秘密扫描，动态延时和重传计算，并行扫描，通过并行ping扫描探测关闭的主机，诱饵扫描，避开端口过滤检测，直接RPC扫描(无须端口影射)，碎片扫描，以及灵活的目标和端口设定.

&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
1.名称
nmap-网络探测和安全扫描工具
2.语法
nmap [Scan Type(s)] [Options]
3.描述
　　nmap是一个网络探测和安全扫描程序，系统管理者和个人可以使用这个软件扫描大型的网络，获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术，例如：UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征，例如：通过TCP/IP协议栈特征探测操作系统类型，秘密扫描，动态延时和重传计算，并行扫描，通过并行ping扫描探测关闭的主机，诱饵扫描，避开端口过滤检测，直接RPC扫描(无须端口影射)，碎片扫描，以及灵活的目标和端口设定。
　　为了提高nmap在non-root状态下的性能，软件的设计者付出了很大的努力。很不幸，一些内核界面(例如raw socket)需要在root状态下使用。所以应该尽可能在root使用nmap。
　　nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有：open、filtered、unfiltered。open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。filtered状态表示：防火墙、包过滤和其它的网络安全软件掩盖了这个端口，禁止 nmap探测其是否打开。unfiltered表示：这个端口关闭，并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下，端口的状态基本都是unfiltered状态，只有在大多数被扫描的端口处于filtered状态下，才会显示处于unfiltered状态的端口。
　　根据使用的功能选项，nmap也可以报告远程主机的下列特征：使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。
4.功能选项
　　功能选项可以组合使用。一些功能选项只能够在某种扫描模式下使用。nmap会自动识别无效或者不支持的功能选项组合，并向用户发出警告信息。
　　如果你是有经验的用户，可以略过结尾的示例一节。可以使用nmap -h快速列出功能选项的列表。
4.1 扫描类型
　　-sT
　　TCP connect()扫描：这是最基本的TCP扫描方式。connect()是一种系统调用，由操作系统提供，用来打开一个连接。如果目标端口有程序监听， connect()就会成功返回，否则这个端口是不可达的。这项技术最大的优点是，你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到，在目标主机的日志中会记录大批的连接请求以及错误信息。
　　-sS
　　TCP同步扫描(TCP SYN)：因为不必全部打开一个TCP连接，所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN)，然后等待回应。如果对方返回SYN&#124;ACK(响应)包就表示目标端口正在监听；如果返回RST数据包，就表示目标端口没有监听程序；如果收到一个SYN&#124;ACK包，源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接，这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是，很少有系统能够把这记入系统日志。不过，你需要root权限来定制SYN数据包。
　　-sF -sF -sN
　　秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式：即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视，而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。这些扫描方式的理论依据是：关闭的端口需要对你的探测包回应RST包，而打开的端口必需忽略有问题的包(参考RFC 793第64页)。FIN扫描使用暴露的FIN数据包来探测，而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是，微软决定完全忽略这个标准，另起炉灶。所以这种扫描方式对Windows95/NT无效。不过，从另外的角度讲，可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口，你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的，而使用SYN扫描显示有打开的端口，你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处，因为nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式，包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时，以上这些系统都会从打开的端口发出复位数据包。
　　-sP
　　ping扫描：有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地址发送ICMP echo请求数据包，nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是，一些站点例如：microsoft.com阻塞ICMP echo请求数据包。然而，在默认的情况下nmap也能够向80端口发送TCP ack包，如果你收到一个RST包，就表示主机正在运行。nmap使用的第三种技术是：发送一个SYN包，然后等待一个RST或者SYN/ACK包。对于非root用户，nmap使用connect()方法。
　　在默认的情况下(root用户)，nmap并行使用ICMP和ACK技术。
　　注意，nmap在任何情况下都会进行ping扫描，只有目标主机处于运行状态，才会进行后续的扫描。如果你只是想知道目标主机是否运行，而不想进行其它扫描，才会用到这个选项。
　　-sU
　　UDP扫描：如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务，可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包，如果我们收到端口不可达的ICMP消息，端口就是关闭的，否则我们就假设它是打开的。
　　有些人可能会想UDP扫描是没有什么意思的。但是，我经常会想到最近出现的solaris rpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上，这个端口号大于32770。所以即使端口111(portmap的众所周知端口号) 被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能！cDc Back Orifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷，一些服务例如:snmp、tftp、NFS 使用UDP协议。不幸的是，UDP扫描有时非常缓慢，因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如，在Linux内核中 (在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息，如果超过这个比例，就会给1/4秒钟的处罚。 solaris的限制更加严格，每秒钟只允许出现大约2条ICMP不可达消息，这样，使扫描更加缓慢。nmap会检测这个限制的比例，减缓发送速度，而不是发送大量的将被目标主机丢弃的无用数据包。
　　不过Micro$oft忽略了RFC1812的这个建议，不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
　　-sA
　　ACK扫描：这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下，这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序，只是阻塞进入的SYN包。
　　这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包，这个端口就标记为unfiltered状态。如果什么都没有返回，或者返回一个不可达ICMP消息，这个端口就归入filtered类。注意，nmap通常不输出unfiltered的端口，所以在输出中通常不显示所有被探测的端口。显然，这种扫描方式不能找出处于打开状态的端口。
　　-sW
　　对滑动窗口的扫描：这项高级扫描技术非常类似于ACK扫描，除了它有时可以检测到处于打开状态的端口，因为滑动窗口的大小是不规则的，有些操作系统可以报告其大小。这些系统至少包括：某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。
　　-sR
　　RPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令，以确定它们是否是RPC端口，如果是，就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。
　　-b
　　FTP反弹攻击(bounce attack):FTP协议(RFC 959)有一个很有意思的特征，它支持代理FTP连接。也就是说，我能够从evil.com连接到FTP服务器target.com，并且可以要求这台 FTP服务器为自己发送Internet上任何地方的文件！1985年，RFC959完成时，这个特征就能很好地工作了。然而，在今天的Internet 中，我们不能让人们劫持FTP服务器，让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的，这个协议&#8221;能够用来做投递虚拟的不可达邮件和新闻，进入各种站点的服务器,填满硬盘，跳过防火墙，以及其它的骚扰活动，而且很难进行追踪&#8221;。我们可以使用这个特征，在一台代理FTP服务器扫描TCP端口。因此，你需要连接到防火墙后面的一台FTP服务器，接着进行端口扫描。如果在这台FTP服务器中有可读写的目录，你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。
　　传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为：
　　-b username:password@server:port。
　　除了server以外，其余都是可选的。如果你想知道什么服务器有这种缺陷，可以参考我在Phrack 51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。
4.2 通用选项
　　这些内容不是必需的，但是很有用。
　　-P0
　　在扫描之前，不必ping主机。有些网络的防火墙不允许ICMP echo请求穿过，使用这个选项可以对这些网络进行扫描。microsoft.com就是一个例子，因此在扫描这个站点时，你应该一直使用-P0或者-PT 80选项。
　　-PT
　　扫描之前，使用TCP ping确定哪些主机正在运行。nmap不是通过发送ICMP echo请求包然后等待响应来实现这种功能，而是向目标网络(或者单一主机)发出TCP ACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包，而仍旧允许你对其进行扫描时，这个选项才有效。对于非 root用户，我们使用connect()系统调用来实现这项功能。使用-PT 来设定目标端口。默认的端口号是80，因为这个端口通常不会被过滤。
　　-PS
　　对于root用户，这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。
　　-PI
　　设置这个选项，让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时，nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址，把外部的包转换为一个内向的IP广播包，向一个计算机子网发送。这些IP广播包应该删除，因为会造成拒绝服务攻击(例如 smurf)。
　　-PB
　　这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包，使用这种方法，你就能够穿过防火墙。
　　-O
　　这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描，获得远程主机的标志。换句话说，nmap使用一些技术检测目标主机操作系统网络协议栈的特征。nmap使用这些信息建立远程主机的指纹特征，把它和已知的操作系统指纹特征数据库做比较，就可以知道目标主机操作系统的类型。
　　-I
　　这个选项打开nmap的反向标志扫描功能。Dave Goldsmith 1996年向bugtap发出的邮件注意到这个协议，ident协议(rfc 1413)允许使用TCP连接给出任何进程拥有者的用户名，即使这个进程并没有初始化连接。例如，你可以连接到HTTP端口，接着使用identd确定这个服务器是否由root用户运行。这种扫描只能在同目标端口建立完全的TCP连接时(例如：-sT扫描选项)才能成功。使用-I选项是，远程主机的 identd精灵进程就会查询在每个打开的端口上监听的进程的拥有者。显然，如果远程主机没有运行identd程序，这种扫描方法无效。
　　-f
　　这个选项使nmap使用碎片IP数据包发送SYN、FIN、XMAS、NULL。使用碎片数据包增加包过滤、入侵检测系统的难度，使其无法知道你的企图。不过，要慎重使用这个选项！有些程序在处理这些碎片包时会有麻烦，我最喜欢的嗅探器在接受到碎片包的头36个字节时，就会发生 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6款 Twitter 的 WordPress插件</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1026/6%e6%ac%be-twitter-%e7%9a%84-wordpress%e6%8f%92%e4%bb%b6.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1026/6%e6%ac%be-twitter-%e7%9a%84-wordpress%e6%8f%92%e4%bb%b6.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 01:57:52 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[碎碎念]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1026</guid>
		<description><![CDATA[6款 Twitter 的 WordPress插件
Twitter 作为一款微博客的网络社会化服务，正受到越来越多人的追捧，不管是美国大选时奥巴马通过Twitter开展网络宣传方式还是在最近的印度恐怖袭击中，Twitter 全球 600 万用户散发了大量目击资料和最新消息，都说明Twitter作为一种网络新宠正在渐渐进入主流视线。而Twitter也一直是WPer的常用服务，因为可能大多数的blogger会把自己成熟的想法或观点发表在自己的博客，而把一些零碎的思索和思绪张贴在Twitter上。所以今天介绍的6款插件对喜欢Twitter的WPer一定很实用。


Twitter for WordPress
在博客上显示你最新的 Twitter 更新，如果你有使用 WordPress 的 Widget 功能的话，可直接在后台添加此插件的 Widget 到你博客的侧边栏，当然你也可以使用下载代码来显示你的 Twitter 消息:
下载 Twitter for WordPress
twitterRSS WordPress plugin
此款插件通过获取 Twitter 的 Rss 地址来更新你的 Twitter 消息，而且把他显示在你的博客上。
下载 twitterRSS WordPress plugin
Twitter Tools
此插件能让你的 Twitter 和 WordPress 完全连在一起，你可选择当在 WordPress 发布新文章时，同时向 Twitter 发布一条关于你文章的消息。或者是当你在 Twitter 发布一条新的消息，同时在你的博客创建一篇新的文章，同时可指定文章的分类和标签。当然也能在博客侧边栏上显示你最新的 Twitter 消息。
下载 Twitter Tools
Twitpress
向你的好友或是 followers 发送一条通知消息，当你的博客发表新的文章或是有所编辑时。
下载 Twitpress
Twitter Widget Pro
一款侧边栏的 Wiget [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1026/6%e6%ac%be-twitter-%e7%9a%84-wordpress%e6%8f%92%e4%bb%b6.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows netstat 查看端口 进程占用</title>
		<link>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html#comments</comments>
		<pubDate>Mon, 08 Feb 2010 07:30:20 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[win]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1004</guid>
		<description><![CDATA[目标：在Windows环境下，用netstat命令查看某个端口号是否占用，为哪个进程所占用.
操作：操作分为两步：（1）查看该端口被那个PID所占用;方法一：有针对性的查看端口，使用命令
Netstat –ano&#124;findstr “&#60;端口号&#62;”,如图，最后一列为PID。图中的端口号为1068，所对应的PID为3840。

                     (a)图
方法二：查看所有的，然后找到对应的端口和PID。

(b)图
第一幅图中的5列就是上面(a)图对应的5列
（2）查看该PID对应的进程名称。
方法一：一直用命令查找，tasklist&#124;findstr “&#60;PID号&#62;”

 (c)图
从 (c)图 可以看出，PID为3840所对应的进程名字为msnmsgr.exe。
方法二：用任务管理器查看。
调出任务管理器，选择列，如d图。
    
             (d)图
       查看PID对应的进程名称。如(e)图中的msnmsgr.exe
 

   [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>图片服务器的linux文件系统选型[转]</title>
		<link>http://blog.thematice.com/html/y2010/01/28/611/%e5%9b%be%e7%89%87%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84linux%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e9%80%89%e5%9e%8b%e8%bd%ac.html</link>
		<comments>http://blog.thematice.com/html/y2010/01/28/611/%e5%9b%be%e7%89%87%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84linux%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e9%80%89%e5%9e%8b%e8%bd%ac.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 16:01:09 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[文件系统]]></category>
		<category><![CDATA[系统管理]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=611</guid>
		<description><![CDATA[  近来工作中要构建一个能够存储10T级左右别图片文件的图片存储系统，日增长6G左右的图片。面对这个系统，我又碰到了那个老问题，就是文件系统的选型。早在两年前，我就针对linux系统中几种流行的文件系统进行过考察和测试工作。当时的reiserfs 3.x 是让我非常满意的文件系统，reiserfs文件系统没有inode的局限，使用B+tree的索引形势来查找文件，效率是非常德高，特别是在小文件的存储效率上明显超出ext3很多（iozone测试佐证）。格式化效率和支持最大8T的文件系统容量上也都非常的不错，只是mount reiserfs的时候稍微显得有些缓慢。当时的reiserfs 3.x版本是对于linux 图片文件系统非常理想的选择。

     然而，就在我们期盼着reiser4的成熟之时，namesys的灵魂，reiser之父 Hans Reiser 因为感情问题翻了错误。（程序员还是应该多关心人家啊！）谋杀罪名成立，被判入狱。在我这次选型的时候，还是首先选择了reiser4，但是由于reiser4没有被众多的linux kernel引入，虽然据说官方网站有介绍用reiserfs 3.x的内核模块修改后来支持reiser4的文章，但是在我想做测试的时候官方网站也挂掉了，目前reiser4的小组仍然保持开发，但是有评价代码效率和质量都不够理想。个人能力有限，在AS5 64bit系统上尝试编译reiserfs 3.19的progs的时候也碰到了问题，没有人维护的代码我最终还是放弃了选型候选。
     那么让我们来看看现在我们还有什么可以选择吧。ext3 ext4 jfs xfs这四种文件系统中ext4现在还只有beta版本，所以暂时放弃列入候选，不过目前从口碑上来看ext4并没有什么让大家眼前一亮的性能提升。下面再来看xfs，这个文件系统诞生于sgi图形工作站上，被移植到linux上依赖表现还是比较稳定的，特别是在500M以上大文件的IO性能上非常突出，然而，我们今天要选型的是图片文件系统，我们常用的网络图片尺寸在16K~256K之间。而且xfs的大量删除效率非常差，所以在这个系统的选择中，我也放弃了xfs，备份系统上针对大文件的存储到是非常不错的选择。
     剩下就是ext3和jfs了，ext3大家再熟悉不过了，一个中庸的文件系统，但是广为流传。jfs是来自于IBM的手笔，早在5，6年前在AIX上面使用它的时候，我就对他的动态伸缩扩展能力表示钦佩，下面我们用测试数据来说明我们的选择吧。在展示结果之前，我先介绍一下两个文件系统，ext3最大支持8T的linux文件系统，是一个基于预分配inode的文件系统，由于linux文件系统最大的block为4K，所以他在linux最大支持8T，另外也是由于它的inode是预分配死的。所以如果你大量存储小于4K的文件，你文件系统的空间利用率会非常的低。从实践中大家也都有所了解吧？用df -h看看你们的大文件系统吧，你们就清楚了。另外在创建6.9T的测试ext3文件系统的时候，我实在无法忍受创建inode table的速度，6.9T文件系统，要创建5万多个inode table 在一台双志强，4G内存的 HP DL 360G5 RedHat AS5 64的服务器上，花去了足足15分钟以上去做inode table的创建，这一点实在是难以忍受。相反的同样的环境条件下jfs的创建速度不超过5S，这和他的动态文件系统，动态inode创建的设计优势不无关系。另外jfs是64bit unix上面移植而来，真正的64bit文件系统，可以支持最大512T的文件系统，动态扩展收缩文件系统。这些优势都是ext3所不能媲美的。
测试命令/usr/local/bin/iozone -g 256k -n 16k -a  针对16K致256K的文件测试。
Using maximum file size [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/28/611/%e5%9b%be%e7%89%87%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84linux%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e9%80%89%e5%9e%8b%e8%bd%ac.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux超级终端minicom设置</title>
		<link>http://blog.thematice.com/html/y2010/01/27/635/linux%e8%b6%85%e7%ba%a7%e7%bb%88%e7%ab%afminicom%e8%ae%be%e7%bd%ae.html</link>
		<comments>http://blog.thematice.com/html/y2010/01/27/635/linux%e8%b6%85%e7%ba%a7%e7%bb%88%e7%ab%afminicom%e8%ae%be%e7%bd%ae.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 15:59:07 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[minicom]]></category>
		<category><![CDATA[超级终端]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=635</guid>
		<description><![CDATA[linux minicom 是linux 下串口调试工具，类似于windows下的超级终端。
一、安装minicom：
确认一下系统是否已经安装minicom，如果没有请自行安装。
[root@web Server]# rpm -q minicom
minicom-2.1-3

二、配置（需要root用户）
执行minicom –s后出现配置界面
       ==========================
[configuration]
Filename and paths
File transfer and protocols
Serial port setup
Modem and dialing
Screen and keyboard
Save setup as df1
Save setup as……
Exit
Exit from minicom
       ==========================
使用向下键选择serial port setup（串口设置），按回车出现设置界面
==========================
   A — Serial Device: /dev/ttyS0
   B — lockfile [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/27/635/linux%e8%b6%85%e7%ba%a7%e7%bb%88%e7%ab%afminicom%e8%ae%be%e7%bd%ae.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
