<?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; Linux</title>
	<atom:link href="http://blog.thematice.com/html/ytag/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.thematice.com</link>
	<description>发现自己的脑袋不好使了，用blog来记录真的很好用。</description>
	<lastBuildDate>Wed, 01 Feb 2012 05:33:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux%25e8%25b6%2585%25e7%25ba%25a7%25e7%25bb%2588%25e7%25ab%25afminicom%25e8%25ae%25be%25e7%25bd%25ae</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 [...]]]></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>
		<item>
		<title>FUNC &#124; Fedora特性-Smolt 解决硬件兼容烦恼</title>
		<link>http://blog.thematice.com/html/y2010/01/27/987/fedora%e7%89%b9%e6%80%a7-smolt-%e8%a7%a3%e5%86%b3%e7%a1%ac%e4%bb%b6%e5%85%bc%e5%ae%b9%e7%83%a6%e6%81%bc.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fedora%25e7%2589%25b9%25e6%2580%25a7-smolt-%25e8%25a7%25a3%25e5%2586%25b3%25e7%25a1%25ac%25e4%25bb%25b6%25e5%2585%25bc%25e5%25ae%25b9%25e7%2583%25a6%25e6%2581%25bc</link>
		<comments>http://blog.thematice.com/html/y2010/01/27/987/fedora%e7%89%b9%e6%80%a7-smolt-%e8%a7%a3%e5%86%b3%e7%a1%ac%e4%bb%b6%e5%85%bc%e5%ae%b9%e7%83%a6%e6%81%bc.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 15:44:21 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[certmaster]]></category>
		<category><![CDATA[func]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[系统管理]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[python-ctypes]]></category>
		<category><![CDATA[python-paste]]></category>
		<category><![CDATA[python-simplejson]]></category>
		<category><![CDATA[smolt]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=987</guid>
		<description><![CDATA[许多Linux爱好者购买新电脑时首先考虑的就是硬件配置是否与Linux系统兼容，实际上更多的人只是购买自己喜欢的外形和配置的电脑硬件，当他们回家安装Linux发行版时却发现很多硬件不能被系统识别和正确支持。情理之中，这些人可能就会到论坛和别人抱怨Linux是一个如何土的系统，“怎么连xx都不支持？”。 如果有一个软件能够跟踪和记录所有硬件对Linux发行版的支持和兼容性，那对用户将是一个非常体贴和诱人的事。在Fedora里，你的需求就能够得到满足。 Fedora里面有个叫做Smolt的项目，他的详细描述可以在http://smolts.org/wiki/Main_Page 得到，已经收集超过7万9000个硬件配置信息。所有数据都可以在Smolt网站看到，这些配置信息将用于促进厂商合作，改进用户的硬件使用体验，评测系统和更好的报告工具，并为常用硬件提高开发和质量检测优先级。访问Smolt主页：http://smolt.fedoraproject.org/ Smolt and Func: Fedora Unified Network Controller Smolt是一款常用硬件剖析工具, 现在已经收集超过7万9000个硬件配置信息. 所有数据都可以在Smolt网站看到. 这些配置信息将用于促进厂商合作, 改进用户的硬件使用体验, 评测系统和更好的报告工具, 并为常用硬件提高开发和质量检测优先级 当前状态: http://smolt.fedoraproject.org/ 项目主页: https://hosted.fedoraproject.org/projects/smolt/ https://fedorahosted.org/func/wiki]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/27/987/fedora%e7%89%b9%e6%80%a7-smolt-%e8%a7%a3%e5%86%b3%e7%a1%ac%e4%bb%b6%e5%85%bc%e5%ae%b9%e7%83%a6%e6%81%bc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FUNC &#124; 终于找到问题了(about func)  [转载]</title>
		<link>http://blog.thematice.com/html/y2010/01/27/976/%e7%bb%88%e4%ba%8e%e6%89%be%e5%88%b0%e9%97%ae%e9%a2%98%e4%ba%86about-func-%e8%bd%ac%e8%bd%bd.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e7%25bb%2588%25e4%25ba%258e%25e6%2589%25be%25e5%2588%25b0%25e9%2597%25ae%25e9%25a2%2598%25e4%25ba%2586about-func-%25e8%25bd%25ac%25e8%25bd%25bd</link>
		<comments>http://blog.thematice.com/html/y2010/01/27/976/%e7%bb%88%e4%ba%8e%e6%89%be%e5%88%b0%e9%97%ae%e9%a2%98%e4%ba%86about-func-%e8%bd%ac%e8%bd%bd.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 15:37:17 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[certmaster]]></category>
		<category><![CDATA[func]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[系统管理]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[python-ctypes]]></category>
		<category><![CDATA[python-paste]]></category>
		<category><![CDATA[python-simplejson]]></category>
		<category><![CDATA[smolt]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=976</guid>
		<description><![CDATA[故障现象 1、在客户端安装好func及certmaster，配好certmaster参数。 2、service funcd start，端口及进程都起来了。 3、在certmaster server 运行certmaster-ca &#8211;list死活看不到客户端的主机名。 排查过程 1、将certmaster的主机名换成IP，无效。 2、更新客户端的func及certmaster版本，无效。 3、运行/usr/bin/certmaster-request，提示：socket.error: (111, &#8216;Connection refused&#8217;)，将certmaster修改成localhost就正常了。原因可以就在这里，因为certmaster是双向的，发现在/etc/hosts中有主机名指向127.0.0.1，此时连接不上certmaster server了。将/etc/hosts中的主机名删除，再用/usr/bin/certmaster-request来测试连接，成功！！在certmaster也能看到主机了，大功告成。 简单生活。简单运动]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/27/976/%e7%bb%88%e4%ba%8e%e6%89%be%e5%88%b0%e9%97%ae%e9%a2%98%e4%ba%86about-func-%e8%bd%ac%e8%bd%bd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用script记录Linux终端会话</title>
		<link>http://blog.thematice.com/html/y2010/01/27/968/%e4%bd%bf%e7%94%a8script%e8%ae%b0%e5%bd%95linux%e7%bb%88%e7%ab%af%e4%bc%9a%e8%af%9d.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e4%25bd%25bf%25e7%2594%25a8script%25e8%25ae%25b0%25e5%25bd%2595linux%25e7%25bb%2588%25e7%25ab%25af%25e4%25bc%259a%25e8%25af%259d</link>
		<comments>http://blog.thematice.com/html/y2010/01/27/968/%e4%bd%bf%e7%94%a8script%e8%ae%b0%e5%bd%95linux%e7%bb%88%e7%ab%af%e4%bc%9a%e8%af%9d.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 15:15:33 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2010/01/27/968/%e4%bd%bf%e7%94%a8script%e8%ae%b0%e5%bd%95linux%e7%bb%88%e7%ab%af%e4%bc%9a%e8%af%9d.html</guid>
		<description><![CDATA[许多系统管理员都知道保留一个包含各种任务、配置改变等活动日志的重要性。对一些组织而言，保留“我做了这件事”或“约翰做了那件事”的简单日志就已足够；但另一些组织则需要记录所有改变。 对终端输出进行复制粘贴可能非常乏味，我们使用一个叫做script的鲜为人知的程序来解决这个问题，它是大多数Linux产品util-linux软件包的一部分。 script记录会话的一切内容：你输入的内容和你看到的内容。它甚至记录颜色；因此如果你的命令提示符或程序输出中包含颜色，script将记录它。 要使用script，简单执行以下命令： $ script 默认情况下，它向当前目录的typescript文件中写入内容。然后，你输入的一切内容都被记录到那个文件中。要往另一个文件中记录日志，只需使用script/path/to/file命令。 完成记录后，输入exit退出。这个命令将关闭script会话并保存文件。现在你可以使用cat或其它任何程序来检查日志文件。 使用script的缺点在于，它记录所有特殊的字符；因此你输入的文件中将充满控制字符和ANSI转义序列。你可以在script中使用一个非常简单的shell来解决这个问题： $ SHELL=/bin/sh PS1=”$ ” script 使用script时，不要使用交互式程序或处理窗口的程序，如vior top。它们会破坏会话的输出结果。另外，日志文件会记录你使用的任何命令行程序和你完成一项任务所采取的步骤。如果你需要在脚本中编辑一个文件，考虑退出script会话，然后用script –a（它在旧会话后添加新会话）对文件进行编辑后再重新启动会话。 SCRIPT(1) BSD General Commands Manual SCRIPT(1) NAME script &#8211; make typescript of terminal session SYNOPSIS script [-a] [-c COMMAND] [-f] [-q] [-t] [file] DESCRIPTION Script makes a typescript of everything printed on your terminal. It is useful for [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/27/968/%e4%bd%bf%e7%94%a8script%e8%ae%b0%e5%bd%95linux%e7%bb%88%e7%ab%af%e4%bc%9a%e8%af%9d.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下如何安装 *.src.rpm 这样格式的软件包</title>
		<link>http://blog.thematice.com/html/y2010/01/22/960/linux%e4%b8%8b%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85-src-rpm-%e8%bf%99%e6%a0%b7%e6%a0%bc%e5%bc%8f%e7%9a%84%e8%bd%af%e4%bb%b6%e5%8c%85.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux%25e4%25b8%258b%25e5%25a6%2582%25e4%25bd%2595%25e5%25ae%2589%25e8%25a3%2585-src-rpm-%25e8%25bf%2599%25e6%25a0%25b7%25e6%25a0%25bc%25e5%25bc%258f%25e7%259a%2584%25e8%25bd%25af%25e4%25bb%25b6%25e5%258c%2585</link>
		<comments>http://blog.thematice.com/html/y2010/01/22/960/linux%e4%b8%8b%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85-src-rpm-%e8%bf%99%e6%a0%b7%e6%a0%bc%e5%bc%8f%e7%9a%84%e8%bd%af%e4%bb%b6%e5%8c%85.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 07:56:08 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[configure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[rpmbuild]]></category>
		<category><![CDATA[src.rpm]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=960</guid>
		<description><![CDATA[有些软件包是以.src.rpm结尾的, 这类软件包是包含了源代码的rpm包, 在安装时需要进行编译. 这类软件包有两种安装方法. 方法一: ?Download shell.sh1 2 3 4 5 6 7 1. 执行 rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一个和软件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一个和软件包同名的目录 5. ./configure 这一步和编译普通的源码软件一样, 可以加上参数, 也可以具体看该目录下的INSTALL文件, 按照指导进行安装 6. make 7. make install 方法二: ?Download shell.sh1 2 3 4 5 6 1. 执行 rpm -i you-package.src.rpm 2. [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/22/960/linux%e4%b8%8b%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85-src-rpm-%e8%bf%99%e6%a0%b7%e6%a0%bc%e5%bc%8f%e7%9a%84%e8%bd%af%e4%bb%b6%e5%8c%85.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>重燃你的PHP安全之火</title>
		<link>http://blog.thematice.com/html/y2010/01/11/939/%e9%87%8d%e7%87%83%e4%bd%a0%e7%9a%84php%e5%ae%89%e5%85%a8%e4%b9%8b%e7%81%ab.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e9%2587%258d%25e7%2587%2583%25e4%25bd%25a0%25e7%259a%2584php%25e5%25ae%2589%25e5%2585%25a8%25e4%25b9%258b%25e7%2581%25ab</link>
		<comments>http://blog.thematice.com/html/y2010/01/11/939/%e9%87%8d%e7%87%83%e4%bd%a0%e7%9a%84php%e5%ae%89%e5%85%a8%e4%b9%8b%e7%81%ab.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 09:24:24 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Linux  web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[安全]]></category>
		<category><![CDATA[提权]]></category>
		<category><![CDATA[漏洞]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=939</guid>
		<description><![CDATA[　　关于脚本安全这个话题好像永远没完没了，如果你经常到国外的各种各样的bugtraq上，你会发现有一半以上都和脚本相关，诸如SQL injection,XSS,Path Disclosure,Remote commands execution这样的字眼比比皆是，我们看了之后的用途难道仅仅是抓肉鸡？对于我们想做web安全的人来说，最好就是拿来学习，可是万物抓根源，我们要的不是鱼而是渔。在国内，各种各样的php程序1.0版,2.0版像雨后春笋一样的冒出来，可是，大家关注的都是一些著名的cms,论坛,blog程序，很少的人在对那些不出名的程序做安全检测，对于越来越多的php程序员和站长来说，除了依靠服务器的堡垒设置外，php程序本身的安全多少你总得懂点吧。 　　有人说你们做php安全无非就是搞搞注入和跨站什么什么的，大错特错，如果这样的话，一个magic_quotes_gpc或者服务器里的一些安全设置就让我们全没活路了。我今天要说的不是注入，不是跨站，而是存在于php程序中的一些安全细节问题。OK!切入正题。 　　注意一些函数的过滤 　　有些函数在程序中是经常使用的,像include(),require(),fopen(),fwrite(),readfile(),unlink(),eval()以及它们的变体函数等等。这些函数都很实用，实用并不代表让你多省心，你还得为它们多费点心。 　　1、include(),require()和fopen(),include_once(),require_once()这些都可以远程调用文件，对于它们的危害，google搜一下你就会很明了，对于所包含调用的变量没过滤好，就可以任意包含文件从而去执行。举个例子，看print.php 　　以下为引用的内容： 　　&#8230; 　　if (empty ($bn) ) { //检查是变量$bn是否为空 　　include (“$cfg_dir/site_$.php”); //把$cfg_dir这个路径里的site_$.php包含进来 　　&#8230; 　　不管存不存在$cfg_dir目录，$site这个变量你可以很自然的去使用，因为他根本没检查$site变量啊。可以把变量$site指定远程文件http://evil.com/cmd.gif去调用，也可以是本地的一个文件，你所指定的文件里写上php的语句，然后它就去包含执行这个含有php语句的文件了。 　　列出文件目录 　　甚至可以扩展到包含一些管理员文件，提升权限，典型的像以前phpwind,bo-blog的漏洞一样。除了依靠php.ini里的allow_url_fopen设为off禁止远程使用文件和open_base_dir禁止使用目录以外的文件外，你还得事先声明好只能包含哪些文件，这里就不多说废话了。 　　2、fopen(),file(),readfile(),openfile(),等也是该特别留意的地方。函数本身并没什么,它们的作用是去打开文件，可是如果对变量过滤不彻底的话，就会泄露源代码。这样的函数文本论坛里会有很多。 　　以下为引用的内容： 　　&#8230; 　　$articlearray=openfile(“$dbpath/$fid/$tid.php”); //打开$dbpath/$fid这个路径的$tid.php文件 　　$topic_detail=explode(“&#124;”,$articlearray[0]); //用分割符&#124;读出帖子的内容 　　&#8230; 　　很眼熟吧，这是ofstar以前版本的read.php,$fid和$tid没有任何过滤，$tid指定为某个文件提交，就发生了原代码泄露。 　　http://explame.com/ofstar/read.php?fid=123&#038;tid=../index 　　$tid会被加上php的后缀，所以直接写index。这仅仅是个例子，接着看吧。 　　3、fwrite()和它的变体函数这种漏洞想想都想得出，对于用户提交的字符没过滤的话，写入一段php后门又不是不可以。 　　4、unlink()函数，前段时间，phpwind里任意删除文件就是利用这个函数，对于判断是否删除的变量没过滤，变量可以指定为任意文件，当然就可以删除任意文件的变量。 　　5、eval(),preg_replace()函数，它们的作用是执行php代码，如果字符串没被经过任何过滤的话，会发生什么呢，我就常看见一些cms里面使用，想想，一句话的php木马不就是根据eval()原理制作的吗？ 　　6、对于system()这些系统函数，你会说在php.ini里禁止系统函数，对，这也是好办法，可是象一些程序里需要，那是不是就不用了呢？就像上次我看到的一套很漂亮的php相册一样。另外对于popen(),proc_open(),proc_close()函数你也得特别注意，尽管他们执行命令后并没有直接的输出，但你想这到底对黑客们有没有用呢。再这里php提供提供了两个函数，escapeshellarg(),escapeshellcmd(),这两个函数用来对抗系统函数的调用攻击，也就是过滤。 　　对于危害，来举个例子，我们来看某论坛prod.php 　　以下为引用的内容： 　　07 $doubleApp = isset($argv[1]); //初始化变量$doubleApp 　　&#8230; 　　14 if( $doubleApp ) //if语句 　　15 { 　　16 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/11/939/%e9%87%8d%e7%87%83%e4%bd%a0%e7%9a%84php%e5%ae%89%e5%85%a8%e4%b9%8b%e7%81%ab.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>linux大于2T的磁盘使用GPT分区方式</title>
		<link>http://blog.thematice.com/html/y2009/12/28/936/linux%e5%a4%a7%e4%ba%8e2t%e7%9a%84%e7%a3%81%e7%9b%98%e4%bd%bf%e7%94%a8gpt%e5%88%86%e5%8c%ba%e6%96%b9%e5%bc%8f.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux%25e5%25a4%25a7%25e4%25ba%258e2t%25e7%259a%2584%25e7%25a3%2581%25e7%259b%2598%25e4%25bd%25bf%25e7%2594%25a8gpt%25e5%2588%2586%25e5%258c%25ba%25e6%2596%25b9%25e5%25bc%258f</link>
		<comments>http://blog.thematice.com/html/y2009/12/28/936/linux%e5%a4%a7%e4%ba%8e2t%e7%9a%84%e7%a3%81%e7%9b%98%e4%bd%bf%e7%94%a8gpt%e5%88%86%e5%8c%ba%e6%96%b9%e5%bc%8f.html#comments</comments>
		<pubDate>Mon, 28 Dec 2009 13:02:29 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[databases]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[GPT]]></category>
		<category><![CDATA[MBR]]></category>
		<category><![CDATA[parted]]></category>
		<category><![CDATA[分区]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=936</guid>
		<description><![CDATA[GUID Partion Table 一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比，GPT 具有更多的优点，因为它允许每个磁盘有多达 128 个分区，支持高达 18 千兆兆字节的卷大小，允许将主磁盘分区表和备份磁盘分区表用于冗余，还支持唯一的磁盘和分区 ID (GUID)。 与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区（或 3 个主分区，1 个扩展分区和无限制的逻辑驱动器）的主启动记录 (MBR) 磁盘分区的样式相比，GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes) 并且每磁盘最多有 128 个分区。与 MBR 分区的磁盘不同，至关重要的平台操作数据位于分区，而不是位于非分区或隐藏扇区。另外，GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。 所以在超过2TB时,我不能使用交互很好的Fdisk命令,只能磁盘转化为GPT格式。由于GPT格式的磁盘相当于原来MBR磁盘中原来保留4个 partition table的4*16个字节只留第一个16个字节，其它的类似于扩展分区，真正的partition table在512字节之后，所以对GPT磁盘表来讲没有四个主分区的限制。 对GPT磁盘分区表进行操作，我们要使用parted命令。其实parted功能很强大，它可以象fdisk一样既可用命令行也可以用于交互式。 下面我们就来实际操作吧，在提示符下输入parted就会进入交互式模式 # parted /dev/sdb GNU Parted 1.8.1 Using /dev/sdb [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/28/936/linux%e5%a4%a7%e4%ba%8e2t%e7%9a%84%e7%a3%81%e7%9b%98%e4%bd%bf%e7%94%a8gpt%e5%88%86%e5%8c%ba%e6%96%b9%e5%bc%8f.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解 Linux 的处理器负载均值（翻译）</title>
		<link>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=understanding-of-the-processor-load-linux-average</link>
		<comments>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:30:17 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[load Average]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=923</guid>
		<description><![CDATA[原文链接： http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages 你可能对于 Linux 的负载均值（load averages）已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到，它们可能会显示成这个样子： ?Download shell.sh1 load average: 0.09, 0.05, 0.01 很多人会这样理解负载均值：三个数分别代表不同时间段的系统平均负载（一分钟、五 分钟、以及十五分钟），它们的数字当然是越小越好。数字越高，说明服务器的负载越 大，这也可能是服务器出现某种问题的信号。 而事实不完全如此，是什么因素构成了负载均值的大小，以及如何区分它们目前的状况是 “好”还是“糟糕”？什么时候应该注意哪些不正常的数值？ 回答这些问题之前，首先需要了解下这些数值背后的些知识。我们先用最简单的例子说明， 一台只配备一块单核处理器的服务器。 行车过桥 一只单核的处理器可以形象得比喻成一条单车道。设想下，你现在需要收取这条道路的过桥 费 &#8212; 忙于处理那些将要过桥的车辆。你首先当然需要了解些信息，例如车辆的载重、以及 还有多少车辆正在等待过桥。如果前面没有车辆在等待，那么你可以告诉后面的司机通过。 如果车辆众多，那么需要告知他们可能需要稍等一会。 因此，需要些特定的代号表示目前的车流情况，例如： 0.00 表示目前桥面上没有任何的车流。 实际上这种情况与 0.00 和 1.00 之间是相同的，总而言之很通畅，过往的车辆可以丝毫不用等待的通过。 1.00 表示刚好是在这座桥的承受范围内。 这种情况不算糟糕，只是车流会有些堵，不过这种情况可能会造成交通越来越慢。 超过 1.00，那么说明这座桥已经超出负荷，交通严重的拥堵。 那么情况有多糟糕？ 例如 2.00 的情况说明车流已经超出了桥所能承受的一倍，那么将有多余过桥一倍的车辆正在焦急的等待。3.00 的话情况就更不妙了，说明这座桥基本上已经快承受不了，还有超出桥负载两倍多的车辆正在等待。 上面的情况和处理器的负载情况非常相似。一辆汽车的过桥时间就好比是处理器处理某线程 的实际时间。Unix 系统定义的进程运行时长为所有处理器内核的处理时间加上线程 在队列中等待的时间。 和收过桥费的管理员一样，你当然希望你的汽车（操作）不会被焦急的等待。所以，理想状态 下，都希望负载平均值小于 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解Load Average做好压力测试</title>
		<link>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=load-average-good-understanding-of-stress-testing</link>
		<comments>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:27:08 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[configure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[load Average]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=919</guid>
		<description><![CDATA[最近刚接手的产品问题很多，主要是集中在产品设计和性能上，另外代码的可维护性也很差，这两周处理故障和问题的时间比较多，博客更新的也少了，下面的这篇文章是解释开发小组成员介绍并发编程的一些基本原理而收集到的一篇比较好的文章，作者以浅显易懂的方式介绍了比较复杂的概念。我觉得如果我们能够把一个复杂、抽象的概念如果能够通过生活中常见的场景来加以说明和描述出来，那么我们就真正理解了这个概念。 SIP的第四期结束了，因为控制策略的丰富，早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况，因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试，压力测试的报告也正式出炉，本来也就算是告一段落，但第二天测试人员说要修改报告，由于这次作压力测试的同学是第一次作，有一个指标没有注意，因此需要修改几个测试结果。那个没有注意的指标就是load average，他和我一样开始只是注意了CPU，内存的使用状况，而没有太注意这个指标，这个指标与他们通常的限制（10左右）有差别。重新测试的结果由于这个指标被要求压低，最后的报告显然不如原来的好看。自己也没有深入过压力测试，但是觉得不搞明白对将来机器配置和扩容都会有影响，因此去问了DBA和SA，得到的结果相差很大，看来不得不自己去找找问题的根本所在了。 通过下面的几个部分的了解，可以一步一步的找出Load Average在压力测试中真正的作用。 CPU时间片 为了提高程序执行效率，大家在很多应用中都采用了多线程模式，这样可以将原来的序列化执行变为并行执行，任务的分解以及并行执行能够极大地提高程序的运行效率。但这都是代码级别的表现，而硬件是如何支持的呢？那就要靠CPU的时间片模式来说明这一切。程序的任何指令的执行往往都会要竞争CPU这个最宝贵的资源，不论你的程序分成了多少个线程去执行不同的任务，他们都必须排队等待获取这个资源来计算和处理命令。先看看单CPU的情况。下面两图描述了时间片模式和非时间片模式下的线程执行的情况： 图 1 非时间片线程执行情况 图 2 非时间片线程执行情况 在图一中可以看到，任何线程如果都排队等待CPU资源的获取，那么所谓的多线程就没有任何实际意义。图二中的CPU Manager只是我虚拟的一个角色，由它来分配和管理CPU的使用状况，此时多线程将会在运行过程中都有机会得到CPU资源，也真正实现了在单CPU的情况下实现多线程并行处理。 多CPU的情况只是单CPU的扩展，当所有的CPU都满负荷运作的时候，就会对每一个CPU采用时间片的方式来提高效率。 在Linux的内核处理过程中，每一个进程默认会有一个固定的时间片来执行命令（默认为1/100秒），这段时间内进程被分配到CPU，然后独占使用。如果使用完，同时未到时间片的规定时间，那么就主动放弃CPU的占用，如果到时间片尚未完成工作，那么CPU的使用权也会被收回，进程将会被中断挂起等待下一个时间片。 CPU利用率和Load Average的区别 压力测试不仅需要对业务场景的并发用户等压力参数作模拟，同时也需要在压力测试过程中随时关注机器的性能情况，来确保压力测试的有效性。当服务器长期处于一种超负荷的情况下运行，所能接收的压力并不是我们所认为的可接受的压力。就好比项目经理在给一个人估工作量的时候，每天都让这个人工作12个小时，那么所制定的项目计划就不是一个合理的计划，那个人迟早会垮掉，而影响整体的项目进度。 CPU利用率在过去常常被我们这些外行认为是判断机器是否已经到了满负荷的一个标准，看到50%-60%的使用率就认为机器就已经压到了临界了。CPU利用率，顾名思义就是对于CPU的使用状况，这是对一个时间段内CPU使用状况的统计，通过这个指标可以看出在某一个时间段内CPU被占用的情况，如果被占用时间很高，那么就需要考虑CPU是否已经处于超负荷运作，长期超负荷运作对于机器本身来说是一种损害，因此必须将CPU的利用率控制在一定的比例下，以保证机器的正常运作。 Load Average是CPU的Load，它所包含的信息不是CPU的使用率状况，而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息，也就是CPU使用队列的长度的统计信息。为什么要统计这个信息，这个信息的对于压力测试的影响究竟是怎么样的，那就通过一个类比来解释CPU利用率和Load Average的区别以及对于压力测试的指导意义。 我们将CPU就类比为电话亭，每一个进程都是一个需要打电话的人。现在一共有4个电话亭（就好比我们的机器有4核），有10个人需要打电话。现在使用电话的规则是管理员会按照顺序给每一个人轮流分配1分钟的使用电话时间，如果使用者在1分钟内使用完毕，那么可以立刻将电话使用权返还给管理员，如果到了1分钟电话使用者还没有使用完毕，那么需要重新排队，等待再次分配使用。 图 3 电话使用场景 上图中对于使用电话的用户又作了一次分类，1min的代表这些使用者占用电话时间小于等于1min，2min表示使用者占用电话时间小于等于2min，以此类推。根据电话使用规则，1min的用户只需要得到一次分配即可完成通话，而其他两类用户需要排队两次到三次。 电话的利用率 = sum (active use cpu time)/period 每一个分配到电话的使用者使用电话时间的总和去除以统计的时间段。这里需要注意的是是使用电话的时间总和(sum(active use cpu time))，这与占用时间的总和(sum(occupy cpu time))是有区别的。（例如一个用户得到了一分钟的使用权，在10秒钟内打了电话，然后去查询号码本花了20秒钟，再用剩下的30秒打了另一个电话，那么占用了电话1分钟，实际只是使用了40秒） 电话的Average Load体现的是在某一统计时间段内，所有使用电话的人加上等待电话分配的人一个平均统计。 电话利用率的统计能够反映的是电话被使用的情况，当电话长期处于被使用而没有的到足够的时间休息间歇，那么对于电话硬件来说是一种超负荷的运作，需要调整使用频度。而电话Average Load却从另一个角度来展现对于电话使用状态的描述，Average Load越高说明对于电话资源的竞争越激烈，电话资源比较短缺。对于资源的申请和维护其实也是需要很大的成本，所以在这种高Average Load的情况下电话资源的长期“热竞争”也是对于硬件的一种损害。 低利用率的情况下是否会有高Load Average的情况产生呢？理解占有时间和使用时间就可以知道，当分配时间片以后，是否使用完全取决于使用者，因此完全可能出现低利用率高Load Average的情况。由此来看，仅仅从CPU的使用率来判断CPU是否处于一种超负荷的工作状态还是不够的，必须结合Load Average来全局的看CPU的使用情况和申请情况。 所以回过头来再看测试部对于Load Average的要求，在我们机器为8个CPU的情况下，控制在10 Load左右，也就是每一个CPU正在处理一个请求，同时还有2个在等待处理。看了看网上很多人的介绍一般来说Load简单的计算就是2* [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>touch &#8211;help</title>
		<link>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=touch-help</link>
		<comments>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 04:18:24 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/12/15/908_touch-help.html</guid>
		<description><![CDATA[?Download shell.sh1 2 3 4 5 touch --help Usage: touch [OPTION]... FILE... Update the access and modification times of each FILE to the current time. &#160; Mandatory arguments to long options are mandatory for short options too. ?Download shell.sh1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -a change [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux sort 命令详解</title>
		<link>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-sort-%25e5%2591%25bd%25e4%25bb%25a4%25e8%25af%25a6%25e8%25a7%25a3</link>
		<comments>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#comments</comments>
		<pubDate>Fri, 11 Dec 2009 16:06:31 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/12/12/907_linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html</guid>
		<description><![CDATA[&#160; &#160;sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项，这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上，sort命令可以被认为是一个非常强大的数据管理工具，用来管理内容类似数据库记录的文件。 　　Sort命令将逐行对文件中的内容进行排序，如果两行的首字符相同，该命令将继续比较这两行的下一字符，如果还相同，将继续进行比较。 　　语法： 　　sort ［选项］ 文件 　　说明：sort命令对指定文件中所有的行进行排序，并将结果显示在标准输出上。如不指定输入文件或使用”- “，则表示排序内容来自标准输入。 &#160;　　sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。 &#160;　　改变缺省设置的选项主要有： &#160;　　- m 若给定文件已排好序，合并文件。 &#160;　　- c 检查给定文件是否已排好序，如果它们没有都排好序，则打印一个出错信息，并以状态值1退出。 &#160;　　- u 对排序后认为相同的行只留其中一行。 &#160;　　- o 输出文件 将排序输出写到输出文件中而不是标准输出，如果输出文件是输入文件之一，sort先将该文件的内容写入一个临时文件，然后再排序和写输出结果。 &#160;　　改变缺省排序规则的选项主要有： &#160;　　- d 按字典顺序排序，比较时仅字母、数字、空格和制表符有意义。 &#160;　　- f 将小写字母与大写字母同等对待。 &#160;　　- I 忽略非打印字符。 &#160;　　- M 作为月份比较：”JAN”]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wget下载整个网站</title>
		<link>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wget-down-all-web-site</link>
		<comments>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html#comments</comments>
		<pubDate>Fri, 06 Nov 2009 04:14:32 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux net]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=861</guid>
		<description><![CDATA[可以使用下面的命令 wget -r -p -k -np http://blog.thematice.com , -r 表示递归下载,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,wget也会把别的网站的东西下载 下来,由于互联网的特性,很有可能你会把整个互联网给下载下来 &#8211;,所以要加上 -np这个参数,表示不下载别的站点的链接. -k表示将下载的网页里的链接修改为本地链接.-p获得所以显示网页所需的元素,比如图片什么的. 另外还有其他的一些参数可以使用: -c表示断点续传 -t 100表示重试100次,-t 0表示无穷次重试 另外可以将要下载的url写到一个文件中,每个url一行,使用这样的命令 wget -i download.txt. &#8211;reject=avi,rmvb 表示不下载avi,rmvb的文件,&#8211;accept=jpg,jpeg,表示只下载jpg,jpeg的文件. 可以在用户目录下建立一个.wgetrc的文件(windows里面好像不能直接建立这样的文件,windows会认为没有文件名&#8211;),里面写上 http-proxy = 123.456.78.9:80,然后在加上参数 &#8211;proxy=on,如果需要密码,再加上下面的参数 &#8211;proxy-user=username, &#8211;proxy-passwd=password]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINUX的du命令详解</title>
		<link>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux%25e7%259a%2584du%25e5%2591%25bd%25e4%25bb%25a4%25e8%25af%25a6%25e8%25a7%25a3</link>
		<comments>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#comments</comments>
		<pubDate>Sun, 01 Nov 2009 08:44:08 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[du]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=786</guid>
		<description><![CDATA[命令用途 du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时，它会测量当前工作目录与其所有子目录，分别显示各个目录所占的快数，最后才显示工作目录所占总快数。 命令格式 ?Download shell1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 du [OPTION]... [FILE]... -a, --all 包括了所有的文件，而不只是目录 --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux下dd命令详解</title>
		<link>http://blog.thematice.com/html/y2009/11/01/787/dd-command-under-linux-xiangjie.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dd-command-under-linux-xiangjie</link>
		<comments>http://blog.thematice.com/html/y2009/11/01/787/dd-command-under-linux-xiangjie.html#comments</comments>
		<pubDate>Sun, 01 Nov 2009 08:35:09 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[toos]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=787</guid>
		<description><![CDATA[使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试: dd &#8211;help 或是 info dd 如果你想要看看这个版本如何: dd &#8211;version 输入或输出 dd if=[STDIN] of=[STDOUT] 强迫输入或输出的Size为多少Bytes bs: dd -ibs=[BYTE] -obs=[SIZE] 强迫一次只做多少个 Bytes cbs=BYTES 跳过一段以后才输出 seek=BLOCKS 跳过一段以后才输入 skip=BLOCKS 当然你可以拿这个来方便的拷贝光碟(注意，你的光碟是标准的 iso9660格式才可以这么做唷！) ?Download shell.sh1 dd if=/dev/cdrom of=cdrom.iso 其中 if 后面以及 of 后面的内容依你的需求调整。 然后给系统这个指令就可以烧了: cdrecord -v [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/11/01/787/dd-command-under-linux-xiangjie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>screen命令在centos&#124;freebsd安装和使用,好爽的命令</title>
		<link>http://blog.thematice.com/html/y2009/10/28/788/screen-command-in-centos-freebsd-install-and-use-thrilled-the-command.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=screen-command-in-centos-freebsd-install-and-use-thrilled-the-command</link>
		<comments>http://blog.thematice.com/html/y2009/10/28/788/screen-command-in-centos-freebsd-install-and-use-thrilled-the-command.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 10:09:09 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[screen]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/10/28/788_screen%e5%91%bd%e4%bb%a4%e5%9c%a8centosfreebsd%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8%e5%a5%bd%e7%88%bd%e7%9a%84%e5%91%bd%e4%bb%a4.html</guid>
		<description><![CDATA[以前在freebsd下使用SSH远程登录linux时，如果连接非正常中断，重新连接时，系统将开一个新的session，无法恢复原来的 session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器，在本质上，这意味着你能够使用一个单一的终端窗口运行多终端的应用。 早点知道这命令就好了，在往时在ssh搞东西时，有时不能关掉终端，所以要开多一部电脑，麻烦，现在这样爽了。 安装 # cd /usr/ports/sysutils/screen # make install clean 安装 # yum install screen* -y 使用 # screen //以下^A表示同按“Ctrl + A”键 # ^A c //Create，开出新的 window # ^A n //Next，切换到下个 window # ^A p //Previous，前一个 window # ^A ^A //在两个 window 间切换 # ^A w //Windows，列出已开启的 windows 有那些 # ^A 0…9 //切换到第 0..9 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/10/28/788/screen-command-in-centos-freebsd-install-and-use-thrilled-the-command.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>erlang网络编程的几个性能调优和注意点</title>
		<link>http://blog.thematice.com/html/y2009/10/25/782/erlang%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e7%9a%84%e5%87%a0%e4%b8%aa%e6%80%a7%e8%83%bd%e8%b0%83%e4%bc%98%e5%92%8c%e6%b3%a8%e6%84%8f%e7%82%b9.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=erlang%25e7%25bd%2591%25e7%25bb%259c%25e7%25bc%2596%25e7%25a8%258b%25e7%259a%2584%25e5%2587%25a0%25e4%25b8%25aa%25e6%2580%25a7%25e8%2583%25bd%25e8%25b0%2583%25e4%25bc%2598%25e5%2592%258c%25e6%25b3%25a8%25e6%2584%258f%25e7%2582%25b9</link>
		<comments>http://blog.thematice.com/html/y2009/10/25/782/erlang%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e7%9a%84%e5%87%a0%e4%b8%aa%e6%80%a7%e8%83%bd%e8%b0%83%e4%bc%98%e5%92%8c%e6%b3%a8%e6%84%8f%e7%82%b9.html#comments</comments>
		<pubDate>Sun, 25 Oct 2009 01:28:45 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[erlang]]></category>
		<category><![CDATA[云计算]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=782</guid>
		<description><![CDATA[前些天给echo_server写了个非常简单的连接压力测试程序, 代码 ?Download echo_server.erl1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -module(stress_test). &#160; -export([start/0, tests/1]). &#160; start() -&#62; tests(12345). &#160; tests(Port) -&#62; io:format(&#34;starting~n&#34;), spawn(fun() -&#62; test(Port) end), spawn(fun() -&#62; test(Port) end), spawn(fun() -&#62; test(Port) end), spawn(fun() -&#62; test(Port) end). &#160; test(Port) -&#62; [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/10/25/782/erlang%e7%bd%91%e7%bb%9c%e7%bc%96%e7%a8%8b%e7%9a%84%e5%87%a0%e4%b8%aa%e6%80%a7%e8%83%bd%e8%b0%83%e4%bc%98%e5%92%8c%e6%b3%a8%e6%84%8f%e7%82%b9.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>awl 多线程SYN攻击工具0.2版,加了MAC伪装</title>
		<link>http://blog.thematice.com/html/y2009/10/25/780/awl-%e5%a4%9a%e7%ba%bf%e7%a8%8bsyn%e6%94%bb%e5%87%bb%e5%b7%a5%e5%85%b70-2%e7%89%88%e5%8a%a0%e4%ba%86mac%e4%bc%aa%e8%a3%85.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=awl-%25e5%25a4%259a%25e7%25ba%25bf%25e7%25a8%258bsyn%25e6%2594%25bb%25e5%2587%25bb%25e5%25b7%25a5%25e5%2585%25b70-2%25e7%2589%2588%25e5%258a%25a0%25e4%25ba%2586mac%25e4%25bc%25aa%25e8%25a3%2585</link>
		<comments>http://blog.thematice.com/html/y2009/10/25/780/awl-%e5%a4%9a%e7%ba%bf%e7%a8%8bsyn%e6%94%bb%e5%87%bb%e5%b7%a5%e5%85%b70-2%e7%89%88%e5%8a%a0%e4%ba%86mac%e4%bc%aa%e8%a3%85.html#comments</comments>
		<pubDate>Sat, 24 Oct 2009 17:20:21 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux  web]]></category>
		<category><![CDATA[Linux net]]></category>
		<category><![CDATA[攻击]]></category>
		<category><![CDATA[awl]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[max伪装]]></category>
		<category><![CDATA[syn]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=780</guid>
		<description><![CDATA[一,安装: tar -zxvf awl-0.2.tar.gz ./configure make make install awl的执行程序安装后在/usr/local/bin/目录下 二,说明: awl 的格式如下: ./awl -i eth0 -m aa:bb:cc:dd:ee:ff -d ip -p port 参数如下: -i 发送包的接口,如果省略默认是eth0 -m 被攻击机器的mac地址,程序不能根据被攻击IP得到MAC,需要手工指定.先ping 目标IP,再arp -a就可以看到.如果省略则为ff:ff:ff:ff:ff:ff -d 被攻击机器的IP -p 被攻击机器的端口. 三,测试, 服务器端:centOS 5.0 对方服务器:freebsd 6.2 运行apache 1,首先得知对方IP 运行nmap -v -A 192.168.0.1 查看对方开了啥服务 [root@localhost bin]# nmap -v -A 10.122.89.106 Starting Nmap 4.11 ( http://www.insecure.org/nmap/ [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/10/25/780/awl-%e5%a4%9a%e7%ba%bf%e7%a8%8bsyn%e6%94%bb%e5%87%bb%e5%b7%a5%e5%85%b70-2%e7%89%88%e5%8a%a0%e4%ba%86mac%e4%bc%aa%e8%a3%85.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>lighttpd+modcache实现对小图片的Cache</title>
		<link>http://blog.thematice.com/html/y2009/10/25/774/lighttpdmodcache%e5%ae%9e%e7%8e%b0%e5%af%b9%e5%b0%8f%e5%9b%be%e7%89%87%e7%9a%84cache.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lighttpdmodcache%25e5%25ae%259e%25e7%258e%25b0%25e5%25af%25b9%25e5%25b0%258f%25e5%259b%25be%25e7%2589%2587%25e7%259a%2584cache</link>
		<comments>http://blog.thematice.com/html/y2009/10/25/774/lighttpdmodcache%e5%ae%9e%e7%8e%b0%e5%af%b9%e5%b0%8f%e5%9b%be%e7%89%87%e7%9a%84cache.html#comments</comments>
		<pubDate>Sat, 24 Oct 2009 16:59:38 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[cache]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[modcache]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=774</guid>
		<description><![CDATA[安装环境 操作系统: CentOS release 5.2 (Final) Kernel: 2.6.18-92.el5PAE 软件列表 fam-latest.tar.gz gamin-0.1.10.tar.gz pcre-7.9.tar.gz lighttpd-1.4.23.modcache.v.1.8.0.tar.gz 软件存放位置 /data/software 安装过程 #cd /data/software/pkg 安装依赖插件pcre, fam, gamin 关于FAM http://oss.sgi.com/projects/fam/faq.html 关于gamin http://www.gnome.org/~veillard/gamin/overview.html See also: http://trac.lighttpd.net/trac/wiki/server.stat-cache-engineDetails #tar zxvf ../pcre-7.9.tar.gz #cd pcre-7.9 #./configure #make &#038;&#038; make install #cd .. #tar zxvf ../fam-latest.tar.gz #cd fam-2.7.0/ #./configure #make &#038;&#038; make install #cd .. #tar zxvf ../gamin-0.1.10.tar.gz [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/10/25/774/lighttpdmodcache%e5%ae%9e%e7%8e%b0%e5%af%b9%e5%b0%8f%e5%9b%be%e7%89%87%e7%9a%84cache.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>管理终端</title>
		<link>http://blog.thematice.com/html/y2009/10/19/762/management-terminal.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=management-terminal</link>
		<comments>http://blog.thematice.com/html/y2009/10/19/762/management-terminal.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 06:22:30 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/10/19/762_%e7%ae%a1%e7%90%86%e7%bb%88%e7%ab%af.html</guid>
		<description><![CDATA[通过bash shell终端显示的数据通常是通过ASCII编码的数据。用户也可以提交非ASCII编码的数据在终端中显示，终端程序会尽力执行。有时，终端会出现乱码，有时候会导致终端长时间的不响应。这时候，我们需要在终端中执行reset命令。执行reset命令的时候，我们可能看不到我们的输入字符。命令输入完成后，按回车键执行，终端就可以恢复正常操作。 Linux终端通过使用Ctrl键来发送特殊的信号。常用的组合键包括： 1、Ctrl+C——终止当前在bash中运行的进程，返回bash提示。 设备/dev/zero是一个伪设备，它的作用是在读取这个设备时，会返回无数个二进制零。 设备/dev/zero是一个伪设备，它的作用是将所有写入这个设备的信息全部丢弃。 2、Ctrl+D——向正在读取信息的进程发送信息传递完毕的信号。 wc命令在没有任何选项和参数的情况下，会对用户从键盘输入的行、词、和字符进行计数。 3、Ctrl+Z——用来挂起程序，挂起的程序可以使用fg命令来恢复。 fg命令是前台的缩写。 4、Ctrl+U——删除当前输入的行。 5、Ctrl+H——功能和Backspace（退格键）功能完全相同。 6、Ctrl+L——传统功能是停止打印当前页，并开始下一行。如果使用在线终端，可以用来刷新终端屏幕。在bash shell中，Ctrl+L组合键指示bash清屏，但是保持当前命令行。 所谓清屏只是将当前命令行显示到终端的第一行，并清除当前行的所有输入。之前执行的命令行都滚动到终端屏幕的上面。 7、Ctrl+S——将屏幕锁住。 8、Ctrl+Q——对锁住的屏幕进行解锁。 9、Ctrl+J——等同于“Enter”j建。 10、Ctrl+G——使终端发出一声振铃。 程序通过位于/dev目录的设备节点和终端在底层交流。大多数进程都会记录启动它们的终端，用户的登录会话通常与他们使用的终端相关。使用设备节点来辨识终端。 终端设备名称采用以下的方式标识： 1、 ttyn：虚拟控制台 2、 ttySn：串口终端设备 3、 pts/n：伪终端设备 4、 :0：X服务器 通过使用Tab键，可以实现命令和文件的补全功能。Tab键的补全功能不是终端的功能，而是bash shell的功能特征。 启动Unicode模式的命令是：unicode_start。停止Unicode模式的命令是：unicode_stop。 在使用Tab补全功能的时候，可能会出现以下两种情况：第一种情况是完整的将命令显示出来；第二种情况是显示一部分字符，然后系统提示一声振铃声。第一种情况下，Tab补全功能已经成功的完成了，第二种情况是系统存在多种选择，这时候你可以继续再按一下Tab键，终端会将可能的选项显示出来，供你选择。 Tab补全功能不仅可以帮助将命令补充完成，对于位于命令操作的文件也可以提供补全功能。和对命令的帮助是一样的，也可以通过按两次Tab键显示出可以选择的文件选项。 Linux系统帮助 在Linux下，为了获得系统的帮助，可以采用以下手段： 1、 通过在命令后面添加选项，我们可以获得命令使用方法的简短概要。常用的选项包括：-h、-?、—help。但是命令并不是支持所有的这些选项。有的命令不支持-?和-h选项。 2、 使用man page，可以获得大多数命令、文件格式、程序调用的文档。使用man命令浏览。man page分成8个标准章节。可以在man命令后面加上章节信息来说明你想浏览的是那一个章节。man命令中常用的两个参数是：（1）-k：用来进行关键词的搜索；（2）-a：可以用来浏览与指定参数相关的所有页的内容。 3、 使用Info page。只提供参考信息，而不提供一般的使用指导。记录了很多复杂命令的说明。在RedHat Linux系统下可以使用info和pinfo两个命令浏览info page。 4、 /usr/share/doc：包含一些未完善的文档。 5、 红帽文档指南。 6、 LDP——Linux文档项目，包括：FAQs、HOWTOs、GUIDEs。FAQs可以提供有关一个主题的常见问题；HOWTOs可以提供如何逐步设置或配置Linux的各个部分；GUIDEs可以更详细的介绍各个部分。 7、 yelp：GNOME帮助浏览器。可以在图形界面下使用的帮助工具。提供了许多GNOME图形应用程序的主要文档。 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/10/19/762/management-terminal.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转] memcache分析调试 &#8211; [php]</title>
		<link>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e8%25bd%25ac-memcache%25e5%2588%2586%25e6%259e%2590%25e8%25b0%2583%25e8%25af%2595-php</link>
		<comments>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:08:55 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[databases]]></category>
		<category><![CDATA[DBM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=709</guid>
		<description><![CDATA[1.关于本文档 本文档所有的分析都是在1.2版本之上,偶尔会提到比较1.1版本.其他版本没有阅读. 一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分布式的思路感到十分欣喜,因为在中间层以极小的代价实现简单分布式无疑成为一些要求不是很高的分布式应用的一个很好的设计思路,这个特性决定memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信.一个结点拒绝访问,如果没有相应的冗余策略,将导致该结点的数据丢失.同时,memcache的Server结点对数据的存储操作都是在内存中完成,而memcache对内存分配和回收采用了曾在SunOS实现的分页机制,预分配一个大内存(默认是 slabs_clsid; assert((it->it_flags &#038; ITEM_LINKED) == 0); assert(it != heads[it->slabs_clsid]); assert(it != tails[it->slabs_clsid]); assert(it->refcount == 0); it->slabs_clsid = 0; it->it_flags &#124;= ITEM_SLABBED; slabs_free(it, ntotal); } 做一个轮流存储的机制使用预分配的内存,这样的好处是其他地方不需要做任何修改就可以了,当然你可以在源代码中加入上面的代码,并将它们放在一个自定义的宏后面. 3. 加速比. 加速比,也即事件的处理效率.是否可以修改libevent的事件处理效率,需要研究.如果内存空间很大,可以将freeconn的数值调大,增加预分配的conn内存大小. 是否可以将memcache做成多线程处理,但在处理多线程数据同步是个问题. 如果有时间,愿意来试试这个策略. 4. 安全性能. memcache还存在一个比较显著的问题,那就是其安全性能.只要了解memcache监听的端口,对于能够使用分布式memcache进行数据通信的网络环境的机器,都可以通过memcache协议于memcache服务器进行通信,获取或种植数据.不能保证种植进内存里的数据不会被别有心意的人再利用.也不能保证服务器的内存不被漫天遍地的垃圾数据所堆积,造成命中极低. memcache的设计理念在一个轻字,如果对每次Client的通讯需要校验身份,那么恐怕memcache也就达不到其想要的效果了.存在解决办法缓解这个问题,一般而言,需要使用memcache服务的机器,可以在Server维持一张红色列表.这张表上的机器便可以获取服务.很显然,memcache并非任意Client都能访问,只有信任的机器访问,那么为什么不将这些信任的机器放在一个/etc/mem_passwd下呢. 还有,memcached走udp时,很大几率接受到upd时,都会使服务死掉,特别是set,add,replace时,这个问题需要去考究一下.不过没有时间了. 4.memcache测试分析 服务器端memcache在命令行运行的参数: 引用 # memcached –d –m 512 –l *.*.*.* -u ** -f 1.00001 –n 16 –c [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

