<?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>pzg&#039;s blog &#187; linux</title>
	<atom:link href="http://pzg.me/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://pzg.me</link>
	<description>今天你做了别人不愿做的事，明天你会做别人做不了的事。</description>
	<lastBuildDate>Sat, 11 Feb 2012 01:28:58 +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 命令行提示符</title>
		<link>http://pzg.me/skill/1608/linux-command-line-prompt-changes/</link>
		<comments>http://pzg.me/skill/1608/linux-command-line-prompt-changes/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 01:58:22 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1608</guid>
		<description><![CDATA[编辑/etc/bashrc 此文件 修改下面这一行中 PS1="[\u@\h \W]\\$ " 这一段  [ "$PS1" = "\\s-\\v\\\$ " ] &#38;&#38; PS1="[\u@\h \W]\\$ " 具体解释如下： \u - 当前用户名（ =$LOGNAME) \h - 运行shell的计算机名（hostname) \H - ... ]]></description>
			<content:encoded><![CDATA[<p>编辑/etc/bashrc 此文件<br />
修改下面这一行中 PS1="[\u@\h \W]\\$ " 这一段</p>
<p> [ "$PS1" = "<a href="file://s-//v///$">\\s-\\v\\\$</a> " ] &amp;&amp; PS1="[\u@\h \W]\\$ "</p>
<p>具体解释如下：</p>
<p>\u - 当前用户名（ =$LOGNAME)<br />
\h - 运行shell的计算机名（hostname)<br />
\H - 完整的计算机名<br />
\W - 当前的工作目录名<br />
\w - 当前工作目录全路径名<br />
\$ - 对于普通用户显示$，对于超级用户显示#<br />
\! - 当前命令的历史编号<br />
\# - 当前命令编号（在当前的shell下运行的命令）<br />
\d - 当前日期<br />
\t - 当前时间（24小时制）<br />
\T - 当前时间（12小时制 ，bash 2.0有效<br />
\@ - 当前时间（AM/PM格式），bash 2.0 有效<br />
\s - shell的类型<br />
\a - 告警的声音<br />
\j - 用户的任务数<br />
\n - 新行<br />
\\ - 反斜杠<br />
\[ - 不可打印字符开始标志<br />
\] - 不可打印字符结束标志<br />
\nnn - ASCII字符对应八进制数值<br />
$(date) - date命令（输出当前日期）或者其它的命令输出</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1608/linux-command-line-prompt-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux sed命令详解</title>
		<link>http://pzg.me/skill/1601/detailed-linux-sed-command/</link>
		<comments>http://pzg.me/skill/1601/detailed-linux-sed-command/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 02:56:36 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1601</guid>
		<description><![CDATA[1. Sed简介 sed 是一种在线编辑器，它一次处理一行内容。处理时，把当前处理的行存储在临时缓冲区中，称为“模式空间”（pattern space），接着用sed命令处理缓冲区中的内容，处理完成后，把... ]]></description>
			<content:encoded><![CDATA[<p>1. Sed简介<br />
sed 是一种在线编辑器，它一次处理一行内容。处理时，把当前处理的行存储在临时缓冲区中，称为“模式空间”（pattern space），接着用sed命令处理缓冲区中的内容，处理完成后，把缓冲区的内容送往屏幕。接着处理下一行，这样不断重复，直到文件末尾。文件内容并没有 改变，除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件；简化对文件的反复操作；编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。<br />
2. 定址<br />
可以通过定址来定位你所希望编辑的行，该地址用数字构成，用逗号分隔的两个行数表示以这两行为起止的行的范围（包括行数表示的那两行）。如1，3表示1，2，3行，美元符号($)表示最后一行。范围可以通过数据，正则表达式或者二者结合的方式确定 。</p>
<p>3. Sed命令<br />
调用sed命令有两种形式：<br />
*<br />
sed [options] 'command' file(s)<br />
*<br />
sed [options] -f scriptfile file(s)<br />
a\<br />
在当前行后面加入一行文本。<br />
b lable<br />
分支到脚本中带有标记的地方，如果分支不存在则分支到脚本的末尾。<br />
c\<br />
用新的文本改变本行的文本。<br />
d<br />
从模板块（Pattern space）位置删除行。<br />
D<br />
删除模板块的第一行。<br />
i\<br />
在当前行上面插入文本。<br />
h<br />
拷贝模板块的内容到内存中的缓冲区。<br />
H<br />
追加模板块的内容到内存中的缓冲区<br />
g<br />
获得内存缓冲区的内容，并替代当前模板块中的文本。<br />
G<br />
获得内存缓冲区的内容，并追加到当前模板块文本的后面。<br />
l<br />
列表不能打印字符的清单。<br />
n<br />
读取下一个输入行，用下一个命令处理新的行而不是用第一个命令。<br />
N<br />
追加下一个输入行到模板块后面并在二者间嵌入一个新行，改变当前行号码。<br />
p<br />
打印模板块的行。<br />
P（大写）<br />
打印模板块的第一行。<br />
q<br />
退出Sed。<br />
r file<br />
从file中读行。<br />
t label<br />
if分支，从最后一行开始，条件一旦满足或者T，t命令，将导致分支到带有标号的命令处，或者到脚本的末尾。<br />
T label<br />
错误分支，从最后一行开始，一旦发生错误或者T，t命令，将导致分支到带有标号的命令处，或者到脚本的末尾。<br />
w file<br />
写并追加模板块到file末尾。<br />
W file<br />
写并追加模板块的第一行到file末尾。<br />
!<br />
表示后面的命令对所有没有被选定的行发生作用。<br />
s/re/string<br />
用string替换正则表达式re。<br />
=<br />
打印当前行号码。<br />
#<br />
把注释扩展到下一个换行符以前。<br />
以下的是替换标记<br />
*<br />
g表示行内全面替换。<br />
*<br />
p表示打印行。<br />
*<br />
w表示把行写入一个文件。<br />
*<br />
x表示互换模板块中的文本和缓冲区中的文本。<br />
*<br />
y表示把一个字符翻译为另外的字符（但是不用于正则表达式）</p>
<p>4. 选项<br />
-e command, --expression=command<br />
允许多台编辑。<br />
-h, --help<br />
打印帮助，并显示bug列表的地址。<br />
-n, --quiet, --silent</p>
<p>取消默认输出。<br />
-f, --filer=script-file<br />
引导sed脚本文件名。<br />
-V, --version<br />
打印版本和版权信息。<span id="more-1601"></span></p>
<p>5. 元字符集^<br />
锚定行的开始 如：/^sed/匹配所有以sed开头的行。<br />
$<br />
锚定行的结束 如：/sed$/匹配所有以sed结尾的行。<br />
.<br />
匹配一个非换行符的字符 如：/s.d/匹配s后接一个任意字符，然后是d。<br />
*<br />
匹配零或多个字符 如：/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。<br />
[]<br />
匹配一个指定范围内的字符，如/[Ss]ed/匹配sed和Sed。<br />
[^]<br />
匹配一个不在指定范围内的字符，如：/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头，紧跟ed的行。<br />
\(..\)<br />
保存匹配的字符，如s/\(love\)able/\1rs，loveable被替换成lovers。<br />
&amp;<br />
保存搜索字符用来替换其他字符，如s/love/**&amp;**/，love这成**love**。<br />
\&lt;<br />
锚定单词的开始，如:/\&lt;love/匹配包含以love开头的单词的行。<br />
\&gt;<br />
锚定单词的结束，如/love\&gt;/匹配包含以love结尾的单词的行。<br />
x\{m\}<br />
重复字符x，m次，如：/0\{5\}/匹配包含5个o的行。<br />
x\{m,\}<br />
重复字符x,至少m次，如：/o\{5,\}/匹配至少有5个o的行。<br />
x\{m,n\}<br />
重复字符x，至少m次，不多于n次，如：/o\{5,10\}/匹配5--10个o的行。<br />
6. 实例<br />
删除：d命令<br />
*<br />
$ sed '2d' example-----删除example文件的第二行。<br />
*<br />
$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。<br />
*<br />
$ sed '$d' example-----删除example文件的最后一行。<br />
*<br />
$ sed '/test/'d example-----删除example文件所有包含test的行。<br />
替换：s命令<br />
*<br />
$ sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记，则只有每行第一个匹配的test被替换成mytest。<br />
*<br />
$ sed -n 's/^test/mytest/p' example-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说，如果某一行开头的test被替换成mytest，就打印它。<br />
*<br />
$ sed 's/^192.168.0.1/&amp;localhost/' example-----&amp;符号表示替换换字符串中被找到的部份。所有以192.168.0.1开头的行都会被替换成它自已加 localhost，变成192.168.0.1localhost。<br />
*<br />
$ sed -n 's/\(love\)able/\1rs/p' example-----love被标记为1，所有loveable会被替换成lovers，而且替换的行会被打印出来。<br />
*<br />
$ sed 's#10#100#g' example-----不论什么字符，紧跟着s命令的都被认为是新的分隔符，所以，“#”在这里是分隔符，代替了默认的“/”分隔符。表示把所有10替换成100。<br />
选定行的范围：逗号<br />
*<br />
$ sed -n '/test/,/check/p' example-----所有在模板test和check所确定的范围内的行都被打印。<br />
*<br />
$ sed -n '5,/^test/p' example-----打印从第五行开始到第一个包含以test开始的行之间的所有行。<br />
*<br />
$ sed '/test/,/check/s/$/sed test/' example-----对于模板test和west之间的行，每行的末尾用字符串sed test替换。<br />
多点编辑：e命令<br />
*<br />
$ sed -e '1,5d' -e 's/test/check/' example-----(-e)选项允许在同一行里执行多条命令。如例子所示，第一条命令删除1至5行，第二条命令用check替换test。命令的执 行顺序对结果有影响。如果两个命令都是替换命令，那么第一个替换命令将影响第二个替换命令的结果。<br />
*<br />
$ sed --expression='s/test/check/' --expression='/love/d' example-----一个比-e更好的命令是--expression。它能给sed表达式赋值。<br />
从文件读入：r命令<br />
*<br />
$ sed '/test/r file' example-----file里的内容被读进来，显示在与test匹配的行后面，如果匹配多行，则file的内容将显示在所有匹配行的下面。<br />
写入文件：w命令<br />
*<br />
$ sed -n '/test/w file' example-----在example中所有包含test的行都被写入file里。<br />
追加命令：a命令<br />
*<br />
$ sed '/^test/a\\---&gt;this is a example' example&lt;-----'this is a example'被追加到以test开头的行后面，sed要求命令a后面有一个反斜杠。<br />
插入：i命令<br />
$ sed '/test/i\\<br />
new line<br />
-------------------------' example<br />
如果test被匹配，则把反斜杠后面的文本插入到匹配行的前面。<br />
下一个：n命令<br />
*<br />
$ sed '/test/{ n; s/aa/bb/; }' example-----如果test被匹配，则移动到匹配行的下一行，替换这一行的aa，变为bb，并打印该行，然后继续。<br />
变形：y命令<br />
*<br />
$ sed '1,10y/abcde/ABCDE/' example-----把1--10行内所有abcde转变为大写，注意，正则表达式元字符不能使用这个命令。<br />
退出：q命令<br />
*<br />
$ sed '10q' example-----打印完第10行后，退出sed。<br />
保持和获取：h命令和G命令<br />
*<br />
$ sed -e '/test/h' -e '$G example-----在sed处理文件的时候，每一行都被保存在一个叫模式空间的临时缓冲区中，除非行被删除或者输出被取消，否则所有被处理的行都将 打印在屏幕上。接着模式空间被清空，并存入新的一行等待处理。在这个例子里，匹配test的行被找到后，将存入模式空间，h命令将其复制并存入一个称为保 持缓存区的特殊缓冲区内。第二条语句的意思是，当到达最后一行后，G命令取出保持缓冲区的行，然后把它放回模式空间中，且追加到现在已经存在于模式空间中 的行的末尾。在这个例子中就是追加到最后一行。简单来说，任何包含test的行都被复制并追加到该文件的末尾。<br />
保持和互换：h命令和x命令<br />
*<br />
$ sed -e '/test/h' -e '/check/x' example -----互换模式空间和保持缓冲区的内容。也就是把包含test与check的行互换。<br />
7. 脚本<br />
Sed脚本是一个sed的命令清单，启动Sed时以-f选项引导脚本文件名。Sed对于脚本中输入的命令非常挑剔，在命令的末尾不能有任何空白或文本，如果在一行中有多个命令，要用分号分隔。以#开头的行为注释行，且不能跨行。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1601/detailed-linux-sed-command/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux VPS一键安装包集合</title>
		<link>http://pzg.me/skill/1595/linux-vps-package-a-set-of-keys/</link>
		<comments>http://pzg.me/skill/1595/linux-vps-package-a-set-of-keys/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 16:48:53 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1595</guid>
		<description><![CDATA[LNMP一键安装包 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。 支持系统：CentOS/Debian/Ubuntu 安装方... ]]></description>
			<content:encoded><![CDATA[<p><strong>LNMP一键安装包</strong><br />
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。<br />
支持系统：CentOS/Debian/Ubuntu<br />
安装方法：<a href="http://lnmp.org/install.html">猛击这里</a></p>
<p><strong>LNAMP一键安装包</strong><br />
LNAMP 是指由 Linux(CentOS),Nginx,Apache,Mysql,Php 为主,其他诸如Pure-ftpd,Jailkit为辅的一套生产环境安装包.所有操作均集成在一个Linux Shell脚本文件中,管理员可方便的进行安装,卸载,增设用户虚拟主机(子域),删除用户虚拟主机(子域)等操作.最大限度方便系统管理员,同时不会影 响后续其他软件的安装兼容(有限)。<br />
支持系统：Linux CentOS 5 (32bit/64bit)<br />
安装方法：<a href="http://lnamp.net/lnamp/">猛击这里</a><br />
<strong><br />
PPTP VPN一键安装包</strong><br />
PPTP是最常用的VPN软件<br />
支持系统：CentOS 5 32bit/64bit<br />
OpenVZ VPS要启用TUN/TAP<br />
安装方法：<a href="http://blog.diahosting.com/linux-tutorial/pptpd/">猛击这里</a></p>
<p><strong>CentOS OpenVPN一键安装包</strong><br />
OpenVPN是更安全的开源VPN软件<br />
支持系统：CentOS<br />
安装方法：<a href="http://wty.name/centos-install-openvpn-with-a-key-package/">猛击这里</a></p>
<p><strong>LLsMP一键安装包</strong><br />
LLsMP 是 Linux + Litespeed + MySQL + PHP 的一鍵安裝包<br />
支持系统：CentOS/Debian<br />
安装方法：<a href="http://w0w.me/llsmp">猛击这里</a></p>
<p><strong>Kloxo一键安装包</strong><br />
Kloxo是一个优秀的Web控制面板，有商业版本和免费版本。免费版本的Kloxo允许绑定40个域名，对普通客户来讲40个域名也足够用了。<br />
支持系统：CentOS 5<br />
安装方法：<a href="http://www.ctohome.com/FuWuQi/a5/161.html">猛击这里</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1595/linux-vps-package-a-set-of-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux iptables 如何封单个IP 以及 IP段</title>
		<link>http://pzg.me/skill/1590/linux-iptables-how-to-seal-a-single-ip-and-ip-section/</link>
		<comments>http://pzg.me/skill/1590/linux-iptables-how-to-seal-a-single-ip-and-ip-section/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 09:28:40 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1590</guid>
		<description><![CDATA[【封禁】 封单个IP的命令是： iptables -I INPUT -s 211.1.0.0 -j DROP 封IP段的命令是： iptables -I INPUT -s 211.1.0.0/16 -j DROP iptables -I INPUT -s 211.2.0.0/16 -j DROP iptables -I INPUT -s 211.3.0.0/16 -j DROP 封整个段的命令是... ]]></description>
			<content:encoded><![CDATA[<p>【封禁】</p>
<p>封单个IP的命令是：<br />
iptables -I INPUT -s 211.1.0.0 -j DROP<br />
封IP段的命令是：<br />
iptables -I INPUT -s 211.1.0.0/16 -j DROP<br />
iptables -I INPUT -s 211.2.0.0/16 -j DROP<br />
iptables -I INPUT -s 211.3.0.0/16 -j DROP<br />
封整个段的命令是：<br />
iptables -I INPUT -s 211.0.0.0/8 -j DROP<br />
封几个段的命令是：<br />
iptables -I INPUT -s 61.37.80.0/24 -j DROP<br />
iptables -I INPUT -s 61.37.81.0/24 -j DROP<br />
【解封】<br />
iptables -D INPUT -s IP地址 -j REJECT</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1590/linux-iptables-how-to-seal-a-single-ip-and-ip-section/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>linux下MySQL配置文件讲解</title>
		<link>http://pzg.me/skill/1490/mysql-configuration-file-under-linux-to-explain/</link>
		<comments>http://pzg.me/skill/1490/mysql-configuration-file-under-linux-to-explain/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 03:16:57 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1490</guid>
		<description><![CDATA[配置MySQL服务器是一个丰富而复杂的工作。在本文中，我只能肤浅的说一下各种选项。可以使用的MySQL配置文件共有５个。 ·/etc/my.cnf是默认的MySQL配置文件。应该对这个文件配置修改。它是为学... ]]></description>
			<content:encoded><![CDATA[<p>配置MySQL服务器是一个丰富而复杂的工作。在本文中，我只能肤浅的说一下各种选项。可以使用的MySQL配置文件共有５个。</p>
<p>·/etc/my.cnf是默认的MySQL配置文件。应该对这个文件配置修改。它是为学习目的而设计的。</p>
<p>·my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。</p>
<p>·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见，如果有那么多RAM内存可以使用，自然可以在同一台机器上运行其它服务。</p>
<p>·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存，所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。</p>
<p>·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。</p>
<p>这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加，数据库的性能可能会发生变化。</p>
<p>我将逐个的说明这些配置文件。如果用户决定使用my-*.cnf文件之一，将首先需要把这个文件复制到/etc/my.cnf文件上。</p>
<p>由于这些原因，用户应该仔细观察数据库系统的性能。如果发现问题，可能需要增加更多的RAM，或者把数据库迁移到一个含有附加资源(比如多个CPU)的系统上。</p>
<p>提示：数据库变得非常大。把一个SQL数据库目录配置在一个专用分区上可能更有道理。虽然一个不断增长的数据库可能会占满整个分区，但它至少不会吞掉RHEL运行所必需的磁盘空间。</p>
<p>/etc/my.cnf文件</p>
<p>默认是/etc/my.cnf文件。它包含6条命令，并且这6条命令被组织在3个配置段中。这些配置段与Samba配置文件中的配置段相似，并且含有功能组名称和相关的命令。本文将逐行的说明这个文件的默认版本。如果用户进行了任何修改，将需要确保MySQL启动脚本(即/etc/rc.d /init.d/mysqld)中的命令一致。</p>
<p>[mysqld]</p>
<p>在这个配置段之内，将会看到与MySQL守护进程相关的命令。</p>
<p>datadir=/var/lib/mysql</p>
<p>MySQL服务器把数据库存储在由datadir变量所定义的目录中。</p>
<p>Socket=/var/lib/mysql/mysql.sock</p>
<p>MySQL套接字把数据库程序局部的或通过网络连接到MySQL客户。</p>
<p>提示：MySQL被配置成使用InnoDB存储器引擎。如果用户在自己的系统上还没有一个InnoDB数据库，将需要给[mysqld]配置段添加skip-innodb语句。</p>
<p>[mysql.server]</p>
<p>在这个配置段之内，将会看到MySQL服务器守护进程有关的命令。这个配置段的较早期版本被命名为[mysql_server]。如果使用 MySQL4.X或MySQL4.X以上版本，将必须把这个配置段标题改成[mysql_server]。当启动MySQL服务时，它使用这个配置段中的选项。</p>
<p>user=mysql</p>
<p>与MySQL服务相关联的标准用户名是mysql。它应该是/etc/passwd文件的一部分；如果在这个文件中没有发现它，用户可能还没有安装Red Hat Enterprise Linux mysql-server RPM程序包。</p>
<p>basedir=/var/lib</p>
<p>这表示MySQL数据库的顶级目录。它充当MySQL系统上的一个根目录；这个数据库中的其它目录都是相对于这个目录。</p>
<p>[safe_mysqld]</p>
<p>这个配置段包含MySQL启动脚本所引用的命令。如果使用MySQL4.X或4.X以上版本，必须把这个配置段改成[mysqld_safe]。</p>
<p>err-log=/var/log/mysqld.log</p>
<p>这是MySQL所关联的错误被发送到的这个文件。如果使用MySQL4.X或4.X以上版本，必须使用log-error指令替换这条命令。</p>
<p>pid-file=/var/run/mysqld/mysqld.pid</p>
<p>最后，pid-file指令定义MySQL服务器在运作期间的进程标识符(PID)。如果MySQL服务器当前没有运行，这个文件应该不存在。</p>
<p>提示：用户可以配置与用户特定相关的MySQL配置文件；为此，只需给指定用户主目录中的.my.cnf隐含文件添加所选的配置命令即可。</p>
<p>my-samll-cnf</p>
<p>在本文中，将说明my-small-cnf配置文本中的所有命令。当回顾其它MySQL样本配置文件时，将参考本文所解释的各条命令和指令的含义。先从下面这个配置段开始分析该文件中的有效命令和指令：</p>
<p>[client]</p>
<p>这个配置把指令传递给与MySQL服务器相关的客户。</p>
<p>port＝3306</p>
<p>MySQL所相关的标准TCP/IP端口是3306。如果需要修改这个端口号(可以增强安全)，必须确保用于MySQL客户与服务器的所有相应配置文件中均修改这个号。</p>
<p>socket=/var/lib/mysql/mysql.sock</p>
<p>正像默认的/etc/my.cnf文件中所定义的那样，这是控制MySQL客户与服务器间通信的标准套接字文件。</p>
<p>[mysqld]</p>
<p>当启动MySQL服务器时，它由[mysqld]配置段中所定义的命令来控制。</p>
<p>port=3306</p>
<p>socket=/var/lib/mysql/mysql.sock</p>
<p>当然，与同一个MySQL数据库相关的客户与服务器需要使用相同的TCP/IP端口和套接字。</p>
<p>skip-locking</p>
<p>多个客户可能会访问同一个数据库，因此这防止外部客户锁定MySQL服务器。这个skip-locking命令是MySQL4.X或4.X以上版本中的skip-external-locking命令。</p>
<p>一般来说，如果正在使用MySQL4.X或4.X上以版本，这个set-variable指令没有必要带有这个列表中的这些命令。</p>
<p>set-variable=key_buffer=16k</p>
<p>这个缓冲区确实很小；如果一个数据库在一个文本文件中包含不止几百行数据，它将会超载这个缓冲区的容量。这个数据库可能不会超载一个文本文件地址簿的容量。如果这不只是一个供个人使用的数据库，这个限额很快就会被达到。假使那样的话，可能需要考虑与其它配置文件之一相关的那些限额。</p>
<p>set-variable=max_allowed_packet=1M</p>
<p>当然，与一个数据库相关的信息会增加到超出实际数据。在默认的情况下，如果该信息在一个服务器上超过1MB以上，MySQL将会产生一条错误信息。</p>
<p>set-variable=thread_stack=64k</p>
<p>这条指令限定用于每个数据库线程的栈大小。默认设置足以满足大多数应用。</p>
<p>set-variable=table_cache=4</p>
<p>用户可以限定一个数据库中打开表的数量；越小的限额(默认值是64)适合越小规模的数据库。</p>
<p>set-variable=sort_buffer=64k</p>
<p>在处理一个数据库时，用户可能需要内存中附加的缓冲区空间。</p>
<p>set-variable=net_buffer_length=2k</p>
<p>正如net_buffer_length指令所定义的，MySQL服务器还给传入的请求保留了空间。</p>
<p>server-id=1</p>
<p>一般来说，如果有一个MySQL主服务器，应该把它的server-id设置成１；应该把MySQL从属服务器的server-id设置成２；</p>
<p>[mysqldump]</p>
<p>用户可以在不同类型的SQL数据库之间传输数据，这由[mysqldump]配置段中的命令来控制。</p>
<p>quick</p>
<p>quick选项支持较大数据库的转储。</p>
<p>set-variable=max_allowed_packet=16M</p>
<p>当然，用来传输数据库表到其它数据库的max_allowed_packet大于客户与服务器之间的简单通信所使用的信息包。</p>
<p>[mysql]</p>
<p>no-auto-rehash</p>
<p>这个配置段设置启动MySQL服务的条件；在这种情况下，no-auto-rehash确保这个服务启动得比较快。</p>
<p>[isamchk]</p>
<p>[myisamchk]</p>
<p>像SQL这样的关系数据库用所谓的Indexed Sequential Access Method(索引顺序存取方法，简称ISAM)来处理。这两个配置段中的命令是相同的；这些命令与检查并修复数据库表的同名命令有关。</p>
<p>set-variable=key_buffer=8M</p>
<p>set-variable=sort_buffer=8M</p>
<p>在前面谈及MySQL服务器时，用户己经见过这些变量。它们在这里都比较大，以便支持数据库的较快速检查与修复。</p>
<p>[mysqlhotcopy]</p>
<p>interactive-timeout</p>
<p>正如[mysqlhotcopy]配置段所指定的，在一个数据库复制操作期间，连接会挂起。在默认情况下，interactive-timeout变量把一个数据传输的最大时间量设置为28800秒(8个小时)。</p>
<p>my-medium.cnf文件</p>
<p>与中等数据库相关的MySQL配置文件含有和my-small-cnf配置文件中一样的有效配置段。在[mysqld]配置段中，下面这些命令支持较大规模的服务器数据库：</p>
<p>set-variable=key_buffer=16M</p>
<p>set-variable=table_cache=64</p>
<p>set-variable=sort_buffer=512K</p>
<p>set-variable=net_buffer_length=8K</p>
<p>log-bin</p>
<p>一般来说，这个配置段中的命令支持服务器上的较大高速缓存与缓冲区长度。应该看到两条新命令。</p>
<p>set-variable=myisam_sort_buffer_size=8M</p>
<p>log-bin</p>
<p>myisam_sort_buffer_size命令允许MySQL索引数据库，第二条命令支持二进制日志记录方法。</p>
<p>[isamchk]</p>
<p>[myisamchk]</p>
<p>当然，这两个配置段中的缓冲区比用于数据库传输的缓冲区大，这个文件包含下面这些命令；它们发送消息到服务器和接收来自服务器的消息。</p>
<p>set-variable=read_buffer=2M</p>
<p>set-variable=write_buffer=2M</p>
<p>my-large.cnf文件</p>
<p>与较大型数据库相关的MySQL配置文件含有和my-samll-cnf配置文件中一样的有效配置段。在本文中，将比较my-large-cnf与my-medium-cnf样本文件中的各条命令。在[mysqld]配置段中，下面这些命令支持较大型的服务器数据库：</p>
<p>set-variable=key_buffer=256M</p>
<p>set-variable=table_cache=256</p>
<p>set-variable=sort_buffer=1M</p>
<p>set-variable=myisam_sort_buffer_size=64M</p>
<p>set-variable=net_buffer_length=8K</p>
<p>这个配置段中有３条附加的命令。record_buffer命令保存对一个数据库中不同表的扫描结果。thread_cache命令对多请求有用；空闲线程被高速缓存起来，进而允许新的搜索操作采用己有的线程。只要这防止搜索操作启动新的服务器进程，这就能减轻系统上的负荷。</p>
<p>set-variable=record_buffer=1M</p>
<p>set-variable=thread_cache=8</p>
<p>set-variable=thread_concurrency=8</p>
<p>thread_concurrency变量限定同时运行的线程数量。my-large.cnf样本文件建议用户应该把这个数量限定于本计算机上CPU数量的两倍；这个特定设置相当于４个CPU。</p>
<p>my-huge.cnf文件</p>
<p>my-huge.cnf文件含有和my-large.cnf配置文件中一样的命令。当然，分配给大多数指令的值比较大并适合较大型的数据库。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1490/mysql-configuration-file-under-linux-to-explain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>tar命令范例</title>
		<link>http://pzg.me/skill/1487/tar-command-example/</link>
		<comments>http://pzg.me/skill/1487/tar-command-example/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 01:54:04 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1487</guid>
		<description><![CDATA[　　Linux压缩打包方法有很多种，以下讲了tar命令的概念，同时文列举了多种范例供大家查看，希望对大家有所帮助.... 　　tar命令 　　[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 　　参数： 　... ]]></description>
			<content:encoded><![CDATA[<p>　　Linux压缩打包方法有很多种，以下讲了tar命令的概念，同时文列举了多种范例供大家查看，希望对大家有所帮助....</p>
<p>　　tar命令</p>
<p>　　[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....</p>
<p>　　参数：</p>
<p>　　-c ：建立一个压缩文件的参数指令(create 的意思);</p>
<p>　　-x ：解开一个压缩文件的参数指令!</p>
<p>　　-t ：查看 tarfile 里面的文件!</p>
<p>　　特别注意，在参数的下达中， c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。</p>
<p>　　-z ：是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?</p>
<p>　　-j ：是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?</p>
<p>　　-v ：压缩的过程中显示文件!这个常用，但不建议用在背景执行过程!</p>
<p>　　-f ：使用档名，请留意，在 f 之后要立即接档名喔!不要再加参数!</p>
<p>　　例如使用『 tar -zcvfP tfile sfile』就是错误的写法，要写成『 tar -zcvPf tfile sfile』才对喔!</p>
<p>　　-p ：使用原文件的原来属性(属性不会依据使用者而变)</p>
<p>　　-P ：可以使用绝对路径来压缩!</p>
<p>　　-N ：比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!</p>
<p>　　--exclude FILE：在压缩的过程中，不要将 FILE 打包!</p>
<p>　　范例一：</p>
<p>　　将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar</p>
<p>　　[root@linux ~]# tar -cvf /tmp/etc.tar /etc &lt;==仅打包，不压缩!</p>
<p>　　[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc &lt;==打包后，以 gzip 压缩</p>
<p>　　[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc &lt;==打包后，以 bzip2 压缩</p>
<p>　　◆ 特别注意，在参数 f 之后的文件档名是自己取的，我们习惯上都用 .tar 来作为辨识。</p>
<p>　　◆如果加 z 参数，则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ～</p>
<p>　　◆如果加 j 参数，则以 .tar.bz2 来作为附档名啊～</p>
<p>　　◆上述指令在执行的时候，会显示一个警告讯息：</p>
<p>　　◆『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定。</p>
<p>　　范例二：</p>
<p>　　查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?</p>
<p>　　[root@linux ~]# tar -ztvf /tmp/etc.tar.gz</p>
<p>　　◆ 由於我们使用 gzip 压缩，所以要查阅该 tar file 内的文件时，</p>
<p>　　◆就得要加上 z 这个参数了!这很重要的!</p>
<p>　　范例三：</p>
<p>　　将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下</p>
<p>　　[root@linux ~]# cd /usr/local/src</p>
<p>　　[root@linux src]# tar -zxvf /tmp/etc.tar.gz</p>
<p>　　◆ 在预设的情况下，我们可以将压缩档在任何地方解开的!以这个范例来说，</p>
<p>　　◆我先将工作目录变换到 /usr/local/src 底下，并且解开 /tmp/etc.tar.gz ，</p>
<p>　　◆则解开的目录会在 /usr/local/src/etc 呢!另外，如果您进入 /usr/local/src/etc</p>
<p>　　◆则会发现，该目录下的文件属性与 /etc/ 可能会有所不同喔!</p>
<p>　　范例四：</p>
<p>　　在 /tmp 底下，我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已</p>
<p>　　[root@linux ~]# cd /tmp</p>
<p>　　[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd</p>
<p>　　◆我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称，如果单只要一个文件，</p>
<p>　　◆就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!</p>
<p>　　范例五：</p>
<p>　　将 /etc/ 内的所有文件备份下来，并且保存其权限!</p>
<p>　　[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc</p>
<p>　　◆这个 -p 的属性是很重要的，尤其是当您要保留原本文件的属性时!</p>
<p>　　范例六：</p>
<p>　　在 /home 当中，比 2005/06/01 新的文件才备份</p>
<p>　　[root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home</p>
<p>　　范例七：</p>
<p>　　我要备份 /home, /etc ，但不要 /home/dmtsai</p>
<p>　　[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc</p>
<p>　　范例八：</p>
<p>　　将 /etc/ 打包后直接解开在 /tmp 底下，而不产生文件!</p>
<p>　　[root@linux ~]# cd /tmp</p>
<p>　　[root@linux tmp]# tar -cvf - /etc | tar -xvf -</p>
<p>　　◆ 这个动作有点像是 cp -r /etc /tmp 啦～依旧是有其有用途的!</p>
<p>　　◆要注意的地方在於输出档变成 - 而输入档也变成 - ，又有一个 | 存在～</p>
<p>　　◆ 这分别代表 standard output, standard input 与管线命令啦!</p>
<p>　　◆这部分我们会在 Bash shell 时，再次提到这个指令跟大家再解释啰!</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1487/tar-command-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux系统主机名(hostname)</title>
		<link>http://pzg.me/skill/1464/linux-system-host-name-hostname/</link>
		<comments>http://pzg.me/skill/1464/linux-system-host-name-hostname/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 02:45:53 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[电脑技巧]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=1464</guid>
		<description><![CDATA[1、 什么是主机名； 无论在局域网还是INTERNET上，每台主机都有一个IP地址，是为了区分此台主机和彼台主机，也就是说IP地址就是主机的门牌号。但IP地址不方便记忆，所以又有了域名。域名只... ]]></description>
			<content:encoded><![CDATA[<p>1、 什么是主机名；<br />
无论在局域网还是INTERNET上，每台主机都有一个IP地址，是为了区分此台主机和彼台主机，也就是说IP地址就是主机的门牌号。但IP地址不方便记忆，所以又有了域名。域名只是在公网（INtERNET)中存在(以实验为目的的局域网域网实验性除外），每个域名都对应一个IP地址，但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的；<br />
主机名是用于什么的呢？在一个局域网中，每台机器都有一个主机名，用于主机与主机之间的便于区分，就可以为每台机器设置主机名，以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。<br />
主机名相关的配置文件：/etc/hosts;<br />
2. 主机名配置文件；<br />
主机名的配置文件大多是/etc/hosts ；<br />
hosts - The static table lookup for host name（主机名查询静态表）；<br />
由于 Linux 发行版本众多，与主机名相关的配置文件有时也有所不同。现在我们说说常见版本的主机名配置文件；<br />
2.1 主机名配置文件 /etc/hosts解说；<br />
Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版，主机名配置文件是 /etc/hosts<br />
Debian或以Debian为基础打包的发行版，主机名配置文件是 /etc/hostname 和/etc/hosts<br />
Slackware的主机名配置文件是 /etc/hosts<br />
那我们来读读 /etc/hosts的内容，看这个文件是用来做什么的。hosts 配置文件是用来把主机名字映射到IP地址的方法，这种方法比较简单。但这种映射只是本地机的映射，也就是说每台机器都是独立的，所有的计算机都不能相互通过hostname来访问。<br />
注：在debian 中还有一个/etc/hostname的文件，这个文件就是直接把本地主机名写进去就行了，但要和 /etc/hosts中的本地主机名保持一致。<br />
/etc/hosts 的内容一般有如下类似内容：<br />
127.0.0.1 localhost.localdomain localhost<br />
192.168.1.195 debian.localdomain debian<br />
注：<br />
一般情况下hosts的内容关于主机名(hostname)的定义，每行为一个主机，每行由三部份组成，每个部份由空格隔开。其中#号开头的行做说明，不被系统解释。<br />
第一部份：网络IP地址；<br />
第二部份：主机名.域名，注意主机名和域名之间有个半角的点，比如 localhost.localdomain<br />
第二部份：主机名(主机名别名） ，其实就是主机名；<br />
当然每行也可以是两部份，就是主机IP地址和主机名；比如 192.168.1.195 debian<br />
127.0.0.1 是回环地址，比如我们不想让局域网的其它机器看到我们测试的网络程序，就可以用回环地址来测试。<br />
为什么需要定义域名呢？其实理解也简单，比如我们有三台主机，每台做不同的事，一台做MAIL服务器，一台做FTP服务器，一台做SMB服务器，所以我们就可以这样来设计hostname；<br />
127.0.0.1 localhost.localdomain localhost<br />
192.168.1.2 ftp.localdomain ftp<br />
192.168.1.3 mail.localdomain mail<br />
192.168.1.4 smb.localdomin smb<br />
把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中，这样这三台局域网的机器就可以通过hostname来访问了。<br />
2.2 主机名(hostname)和域名(Domain）的区别；<br />
主机名就机器本身的名字，域名是用来解析到IP的。但值得一说的是在局域网中，主机名也是可以解析到IP上的；比如我们前面所说举的例子；<br />
2.3 局域网的机器，不能通过主机名互访的原因；<br />
有的弟兄可能会说，我的hostname彼此不能互访，其实这也问题也简单，我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的，并且包含所有主机的/etc/hosts文件；<br />
另一个是做解决办法是做局域网DNS服务器，如果您的主机特别少，就用前面所说的简单方法就行；如何做DNS服务器，我将在以后的文档中专题介绍；不过我值得一提的是做任何服务器都是以效率优先的原则为基础。比如我们在局域网中两台机器，我们还有必要做DNS服务器吗？无论怎么解决，最终的都是用最有效率的办法解决问题；我们不能说明DNS多高级。如果DNS是为外网服务的，那就另说了，不做也得做。对不对？<br />
3、主机名修改工具 hostname;<br />
其实主机名的修改也有专用工具，就是hostname ；我认为如果用这个工具来修改主机名，不如直接修改 /etc/hosts 来的方便；您可以查看 hosname --help或 man hostname的帮助 。在这里我们只说简单的用法；<br />
hostname 工具是用来显示和设置系统主机名，看下面的洋文；<br />
hostname - show or set the system’s host name<br />
举例解说：<br />
＊ 显示主机名：<br />
[host]# hostname<br />
host<br />
此主机的主机名是host，不加参数是用来显示当前操作的主机的主机名；<br />
＊ 临时设置主机名：<br />
我们可以用 hostname 后接主机名，这样就可以设置当前操作的主机的主机名，比如我们想把主机名设置为linuxsir02；<br />
[host]# hostname linuxsir02<br />
[host]# hostname 注：显示主机名<br />
linuxsir02<br />
通过hostname 工具来设置主机名只是临时的，下次重启系统时，此主机名将不会存在；所以您想修改主机名，想一直有效的，还是用前面所说修改主机名配置文件 /etc/hosts；<br />
＊ 显示主机IP：<br />
显示当前主机名的IP，可以用-i参数；<br />
[host]# hostname -i<br />
192.168.1.3</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/skill/1464/linux-system-host-name-hostname/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Debian GNU/Linux 5.0 Lenny 正式发布</title>
		<link>http://pzg.me/soft/324/debian-gnu-linux-50-lenny-release/</link>
		<comments>http://pzg.me/soft/324/debian-gnu-linux-50-lenny-release/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 09:21:02 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[软件收藏]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Lenny]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=324</guid>
		<description><![CDATA[Debian GNU/Linux 5.0 发布 2009年02月14日 Debian 计划高兴地宣布在经历了 22 个月坚持不懈地开发之后，Debian GNU/Linux 5.0 版(代号Lenny)正式发布了。Debian GNU/Linux 是一个 自由的操作系统，它支持 12 种处理... ]]></description>
			<content:encoded><![CDATA[<p>Debian GNU/Linux 5.0 发布<br />
<strong>2009年02月14日</strong><br />
Debian 计划高兴地宣布在经历了 22 个月坚持不懈地开发之后，Debian GNU/Linux 5.0 版(代号Lenny)正式发布了。Debian GNU/Linux 是一个 自由的操作系统，它支持 12 种处理器架构并带有KDE、Gnome、Xfce 和 LXDE 桌 面环境。同时它和 FHS v2.3 兼容，其软件针对 LSB 3.2 版开发。</p>
<p>官方地址：<a href="http://www.debian.org/">http://www.debian.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/soft/324/debian-gnu-linux-50-lenny-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>假如我使用ubuntu</title>
		<link>http://pzg.me/i/53/if-i-use-ubuntu/</link>
		<comments>http://pzg.me/i/53/if-i-use-ubuntu/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 04:34:17 +0000</pubDate>
		<dc:creator>countmeon</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://pzg.me/?p=53</guid>
		<description><![CDATA[  windows一晃也用了10来年了，太多太多的东西已经让我非常的熟悉的。最近想换台电脑连带的就想整点有的没的，ubuntu是一个非常理想的选择，linux现在的程序也多了起来，我觉得应该可以满足... ]]></description>
			<content:encoded><![CDATA[<p>  windows一晃也用了10来年了，太多太多的东西已经让我非常的熟悉的。最近想换台电脑连带的就想整点有的没的，ubuntu是一个非常理想的选择，linux现在的程序也多了起来，我觉得应该可以满足需求。现在这台用着的电脑就不卖了，用着吧。这台还是用windows，呵呵 这样应该没什么问题了，只是一些游戏还是想玩的，linux或许虚拟可以但是会稳定嘛。呵呵 以后在说吧 等买了新电脑，就试试吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://pzg.me/i/53/if-i-use-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

