<?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>jz&#039;s blog &#187; Linux</title>
	<atom:link href="http://www.imjz.org/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.imjz.org</link>
	<description>党说，这个可以访问！</description>
	<lastBuildDate>Thu, 15 Jul 2010 07:53:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VirtualBox安装64位系统</title>
		<link>http://www.imjz.org/archives/59</link>
		<comments>http://www.imjz.org/archives/59#comments</comments>
		<pubDate>Thu, 22 Oct 2009 10:06:16 +0000</pubDate>
		<dc:creator>老毛</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[AMD-v]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[i686]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[VT-x]]></category>
		<category><![CDATA[x86-64]]></category>
		<category><![CDATA[ＶirtualBox]]></category>

		<guid isPermaLink="false">http://www.imjz.org/archives/59</guid>
		<description><![CDATA[最近一直在研究gentoo，本想把我的工作用机的笨兔(ubuntu）赶跑，直接上贱兔，等安装包下好，一想这样会不会太鲁莽，万一出啥问题就影响工作了。但已经下载下来了，不装太浪费了。
纠结了一会，还是先装到VirtualBox上体验一下吧，本以为会很顺利，没想到刚进引导区就出问题了。第一次x-wind[......]<p class='read-more'><a href='http://www.imjz.org/archives/59'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>最近一直在研究gentoo，本想把我的工作用机的笨兔(ubuntu）赶跑，直接上贱兔，等安装包下好，一想这样会不会太鲁莽，万一出啥问题就影响工作了。但已经下载下来了，不装太浪费了。</p>
<p>纠结了一会，还是先装到VirtualBox上体验一下吧，本以为会很顺利，没想到刚进引导区就出问题了。第一次x-window重启(最近x-window偶尔就会重启，一没时间整，二懒得整）。</p>
<p>从头来过，到引导区报错：</p>
<blockquote><p>This kernel requires an X86-64  CPU,but only detected an i686 CPU.</p></blockquote>
<p>以我小学水平的英语理解起来就是：下载的系统内核需要 X86-64 bit的CPU,但是呢，只检测到i686系列的CPU。不对啊，我的笔记本就是x86-64bit的哈，而且现在装的笨兔也是x86-64bit的啊，怎么会不行呢。</p>
<p>求助无所不知的google大神：原来VirtualBox安装64bit的系统需要满足以下条件：</p>
<ol>
<li>64bit的cpu</li>
<li>64bit的操作系统</li>
<li>64bit的VirtualBox</li>
<li>必须允许硬件虚拟化</li>
</ol>
<p>前３个俺都满足。第４个俺就有点毛了，什么叫硬件虚拟化啊？</p>
<p>再次求助无所不知的google大神：硬件虚拟化其实就是CPU的虚拟化技术。intel的叫VT-x，amd的叫AMD-V。支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程，通过这些指令集，VMM(Virtual Machine Monitor，虚拟机监视器)会很容易提高性能，相比软件的虚拟实现方式会很大程度上提高性能。虚 拟化技术可提供基于芯片的功能，借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构，支持操作系统直接在上面运行，从而无需进行 二进制转换，减少了相关的性能开销，极大简化了VMM设计，进而使VMM能够按通用标准进行编写，性能更加强大。</p>
<p>如此好东东，我的CPU支持吗？三问google大神：</p>
<p>命令行输入：</p>
<blockquote><p>egrep &#8216;^flags.*(vmx|svm)&#8217; /proc/cpuinfo</p></blockquote>
<p>有输出就证明支持。一试，果然有输出。就当是真的吧，重启到BIOS里启用试试。</p>
<p>重启进BIOS，还真找到virtualization的一项，而且现为off状态，看字面意思应该就是它了，改为Enable，重启进入系统。配置虚拟机，启用“VT-x/AMD-V”。启动虚拟机，果然不再报错了。</p>
<p>感谢google大神！灰常感谢google大神</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imjz.org/archives/59/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>最简单的linux备份mysql数据库方法</title>
		<link>http://www.imjz.org/archives/51</link>
		<comments>http://www.imjz.org/archives/51#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:28:17 +0000</pubDate>
		<dc:creator>老毛</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[recover]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[定时]]></category>
		<category><![CDATA[脚本]]></category>

		<guid isPermaLink="false">http://www.imjz.org/archives/51</guid>
		<description><![CDATA[mysql备份说简单挺简单的，说难吧也挺难的。
何谓备份？当然要能恢复，备份才有意义。
用了很多备份方法貌似恢复时都比较容易失败，今天就介绍一个不仅能备份数据库（费话，不能备份数据库叫备份吗！），而且完完整整的保留了数据库状态，日志什么的一个都不少。恢复稳定、方便的备份方法。
其实就是直接打包数据库[......]<p class='read-more'><a href='http://www.imjz.org/archives/51'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>mysql备份说简单挺简单的，说难吧也挺难的。</p>
<p>何谓备份？当然要能恢复，备份才有意义。</p>
<p>用了很多备份方法貌似恢复时都比较容易失败，今天就介绍一个不仅能备份数据库（费话，不能备份数据库叫备份吗！），而且完完整整的保留了数据库状态，日志什么的一个都不少。恢复稳定、方便的备份方法。</p>
<p>其实就是直接打包数据库Data目录（MyISAM类型的数据库也可直接备份数据库名的目录）。</p>
<p>恢复时直接替换原来的Data目录就可以了。</p>
<p>哈哈，是不是很简单哈，是不是很失望哈，搞了半天就那么点东东。别急，下面就介绍一个备份数据库的脚本，虽然技术含量不是很高，但确实很方便。</p>
<p>编写这个脚本主要是为了实现在WEB页面简单备份、恢复Mysql数据库。当然也可以通过crontab 定时备份数据库。</p>
<blockquote><p>#!/bin/sh<br />
# 功能：<br />
#    备份数据库、恢复数据库、导出数据库备份列表、删除数据库备份文件<br />
#<br />
# 历史：<br />
#    2009-09-09    Lunas.JZ(http://imjz.org)     First release<br />
#<br />
# 调用方式 backup.sh [option1 option2]<br />
#     备份文件 backup.sh<br />
#        backup前缀为用户主动被份，recover前缀为恢复某一备份文件前程序自动备份。<br />
#     恢复备份文件 backup.sh &#8220;recover&#8221; &#8220;filename&#8221;<br />
#     导出备份文件列表 backup.sh &#8220;show&#8221; &#8220;search&#8221;<br />
#        search可为 &#8220;recover&#8221;、&#8221;backup&#8221;、或grep 正则表达式<br />
#     删除文件 backup.sh &#8220;delete&#8221; &#8220;filename1 filename2&#8243;</p>
<p>#数据库文件的存放目录<br />
SourcePath=&#8221;/usr/local/mysql&#8221;<br />
#数据库<br />
SourceDir=&#8221;data&#8221;<br />
#备份文件存放目录<br />
BackupPath=&#8221;/usr/local/mysql/backup_data&#8221;<br />
#备份日志地址<br />
LogFile=&#8221;/usr/local/mysql/backup_data/dbbackup.log&#8221;<br />
#导出备份文件列表地址<br />
ShowFile=&#8221;/usr/local/jboss/server/default/deploy/ROOT.war/WEB-INF/backuplist.properties&#8221;</p>
<p># &#8212;&#8212;&#8212;&#8212;&#8212;-备份&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
backup(){<br />
if [ "$1" ]<br />
then<br />
Prefix=&#8221;recover&#8221;<br />
else<br />
Prefix=&#8221;backup&#8221;<br />
fi</p>
<p>if [ -d "$BackupPath" ]<br />
then<br />
echo &#8220;[$BackupPath]The Backup Directory is exist!&#8221; &gt;&gt; $LogFile<br />
else<br />
mkdir &#8220;$BackupPath&#8221;<br />
echo &#8220;[$BackupPath]The Backup Directory Creating successful!&#8221; &gt;&gt; $LogFile<br />
fi</p>
<p>NewFile=&#8221;$BackupPath&#8221;/&#8221;$Prefix&#8221;\_$(date +%y%m%d%H%M).tar.gz<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo $(date +&#8221;%y-%m-%d %H:%M:%S&#8221;) &gt;&gt; $LogFile<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo &#8220;Backup Data.&#8221; &gt;&gt; $LogFile</p>
<p>if [ -f $NewFile ]<br />
then<br />
echo &#8220;[$NewFile]The Backup File is exists! Deleting&#8230;.&#8221; &gt;&gt; $LogFile<br />
rm -f $NewFile &gt;&gt; $LogFile 2&gt;&amp;1<br />
fi</p>
<p>tar czvf $NewFile -C $SourcePath $SourceDir &gt;&gt; $LogFile 2&gt;&amp;1</p>
<p>echo &#8220;[$NewFile]Backup Success!&#8221; &gt;&gt; $LogFile<br />
return 0<br />
}</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;恢复&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
recover(){<br />
BackupFileName=&#8221;$BackupPath&#8221;/&#8221;$1&#8243;<br />
SourceFileName=&#8221;$SourcePath&#8221;/&#8221;$SourceDir&#8221;</p>
<p>echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo $(date +&#8221;%y-%m-%d %H:%M:%S&#8221;) &gt;&gt; $LogFile<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo &#8220;Recover old data.&#8221; &gt;&gt; $LogFile</p>
<p>if [ -f "$BackupFileName" ]<br />
then<br />
echo &#8220;Backup existing data.&#8221; &gt;&gt; $LogFile<br />
backup &#8220;recover&#8221;</p>
<p>echo &#8220;[$SourceFileName]Deleting old Data&#8230;&#8221; &gt;&gt; $LogFile<br />
rm -rf $SourceFileName &gt;&gt; $LogFile 2&gt;&amp;1</p>
<p>echo &#8220;[$BackupFileName]Recovering data&#8230;&#8221; &gt;&gt; $LogFile<br />
tar xzvf $BackupFileName -C $SourcePath &gt;&gt; $LogFile 2&gt;&amp;1<br />
echo &#8220;[$BackupFileName]Recovering successful.&#8221; &gt;&gt;$LogFile<br />
else<br />
echo &#8220;[$BackupFileName]Recover files not found.&#8221; &gt;&gt;$LogFile<br />
echo &#8220;[ERROR]Recovering Failure.&#8221; &gt;&gt;$LogFile<br />
return 1<br />
fi<br />
return 0<br />
}</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;将备份文件输出到指定文件以便程序获取&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
showfile(){<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo $(date +&#8221;%y-%m-%d %H:%M:%S&#8221;) &gt;&gt; $LogFile<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo &#8220;View the backup files list.&#8221; &gt;&gt; $LogFile</p>
<p>if [ "$1" ]<br />
then<br />
ls -1B $BackupPath | grep &#8216;.tar.gz\&gt;&#8217; | grep $1 &gt; $ShowFile<br />
else<br />
ls -1B $BackupPath | grep &#8216;.tar.gz\&gt;&#8217; &gt; $ShowFile<br />
fi<br />
return 0<br />
}</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-删除备份文件&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
deletefile(){<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo $(date +&#8221;%y-%m-%d %H:%M:%S&#8221;) &gt;&gt; $LogFile<br />
echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221; &gt;&gt; $LogFile<br />
echo &#8220;Delete old backup files.&#8221;    &gt;&gt; $LogFile</p>
<p>if [ "$1" ]<br />
then<br />
echo &#8220;[$1]Deleting old backup files&#8230;&#8221; &gt;&gt; $LogFile<br />
cd &#8220;$BackupPath&#8221;<br />
rm -f $1 &gt;&gt; $LogFile 2&gt;&amp;1<br />
else<br />
echo &#8220;[ERROR]Missing Parameter!&#8221; &gt;&gt; $LogFile<br />
return 1<br />
fi<br />
return 0<br />
}</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-执行开始，根据参数选择调用方法&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
case &#8220;$1&#8243; in<br />
&#8220;show&#8221;)<br />
showfile &#8220;$2&#8243;<br />
exit &#8220;$?&#8221;<br />
;;<br />
&#8220;recover&#8221;)<br />
service mysqld stop &gt;/dev/null 2&gt;&amp;1<br />
recover &#8220;$2&#8243;<br />
temp=$?<br />
service mysqld start &gt;/dev/null 2&gt;&amp;1<br />
exit $temp<br />
;;<br />
&#8220;delete&#8221;)<br />
deletefile &#8220;$2&#8243;<br />
exit &#8220;$?&#8221;<br />
;;<br />
*)<br />
service mysqld stop &gt;/dev/null 2&gt;&amp;1<br />
backup<br />
temp=$?<br />
service mysqld start &gt;/dev/null 2&gt;&amp;1<br />
exit $temp<br />
;;<br />
esac</p></blockquote>
<p>下载地址：<a href="http://code.google.com/p/lunasjz/downloads/list" target="_blank">http://code.google.com/p/lunasjz/downloads/list</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.imjz.org/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>发现神器chroot</title>
		<link>http://www.imjz.org/archives/46</link>
		<comments>http://www.imjz.org/archives/46#comments</comments>
		<pubDate>Tue, 01 Sep 2009 15:16:41 +0000</pubDate>
		<dc:creator>老毛</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[linux多环境]]></category>

		<guid isPermaLink="false">http://www.imjz.org/?p=46</guid>
		<description><![CDATA[最近研究Gentoo发现了一个很好的命令 chroot
<strong>何谓 chroot?</strong>
chroot 就是Change Root，也就是改变程式执行时所参考的根目录位置。即可以进入一个虚拟根目录。
chroot 只有root身份才能执行，执行后会将根目录切换到参数指定的目录。
使用chroot之后，系统读取到[......]<p class='read-more'><a href='http://www.imjz.org/archives/46'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>最近研究Gentoo发现了一个很好的命令 chroot</p>
<p><strong>何谓 chroot?</strong></p>
<p>chroot 就是Change Root，也就是改变程式执行时所参考的根目录位置。即可以进入一个虚拟根目录。</p>
<p>chroot 只有root身份才能执行，执行后会将根目录切换到参数指定的目录。</p>
<p>使用chroot之后，系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件。以后就可以在多个Linux环境间切换了。</p>
<p>暂记一下，继续研究Gentoo,以后再回头研究研究chroot。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imjz.org/archives/46/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux学习指南</title>
		<link>http://www.imjz.org/archives/32</link>
		<comments>http://www.imjz.org/archives/32#comments</comments>
		<pubDate>Thu, 13 Aug 2009 03:26:25 +0000</pubDate>
		<dc:creator>老毛</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[入门]]></category>
		<category><![CDATA[初学者]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[建议]]></category>
		<category><![CDATA[指南]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.imjz.org/?p=32</guid>
		<description><![CDATA[今天在<a title="IXPUB" href="http://www.ixpub.net/" target="_blank">IXPUB</a>看到这个帖子，总结的很好就转了过来。很适合我这样的新手。
原文：<a href="http://www.ixpub.net/viewthread.php?tid=737976&#38;extra=&#38;page=1" target="_blank">http://www.ixpub.net/viewthread.php?tid=737976&#38;extra=&#38;page=1</a>
<strong>一.为什么要学linux? </strong>
当然最重要是爱好和兴趣！如果你这种必要学，或者根本不[......]<p class='read-more'><a href='http://www.imjz.org/archives/32'>继续阅读</a></p>]]></description>
			<content:encoded><![CDATA[<p>今天在<a title="IXPUB" href="http://www.ixpub.net/" target="_blank">IXPUB</a>看到这个帖子，总结的很好就转了过来。很适合我这样的新手。</p>
<p>原文：<a href="http://www.ixpub.net/viewthread.php?tid=737976&amp;extra=&amp;page=1" target="_blank">http://www.ixpub.net/viewthread.php?tid=737976&amp;extra=&amp;page=1</a></p>
<p><strong>一.为什么要学linux? </strong></p>
<p>当然最重要是爱好和兴趣！如果你这种必要学，或者根本不喜欢，请不要浪费时间，你学也学不好！</p>
<p><strong>二.起步 </strong></p>
<p>你应该为自己创造一个<span onclick="tagshow(event)">学习</span>linux的环境&#8211;在<span onclick="tagshow(event)">电脑</span>上装一个linux或unix<br />
问题1：版本的选择</p>
<p>北美用redhat,欧洲用SuSE,桌面mandrake较多，而debian是<span onclick="tagshow(event)">技术</span>最先进的linux<br />
<span onclick="tagshow(event)">开发</span>人员中用debian的最多，其次是redhat,从全球linux各<span onclick="tagshow(event)">应用</span>领域市场份额来看<br />
无疑redhat是最多的，此外还有很多出名的发行版本，不再列举。<br />
对于初学linux的人来说，我建议是使用redhat,原因如下：<br />
1）现在很多书都是以redhat为例讲的，为了与书本协调一致<br />
2）周围的人都用redhat,交流比较方便<br />
3）redhat应用范围广，有典型性和代表性<br />
4）它易于使用和安装，我们没有必要把时间浪费在“装<span onclick="tagshow(event)">系统</span>”上<br />
而应集中精力学习最有用的东西。</p>
<p>//注：现在觉得RH很死板，AS,ES等用在<span onclick="tagshow(event)">服务器</span>上或许不错，<br />
Personal desktop用mandrake,debian,suse都不错，笔者现在用Mandrake,因为她长得漂亮</p>
<p>如果你并不打算深入学习linux，而是有诸如适应北京市政府办公平台迁移到<br />
linux上这种需要，那么中软，红旗等<span onclick="tagshow(event)">中文</span>linux是不错的选择</p>
<p>我强烈建议：自己亲<span onclick="tagshow(event)">自动</span>手把linux装到你的<span onclick="tagshow(event)">硬盘</span>上，<br />
你必须学会独立安装linux系统的技能，对于现在的版本来说，其实跟装WinXP一样简单</p>
<p>从此现在开始，请不要以windows的工作方式来考虑问题，<br />
应该尝试挖掘linux身上的“天才unix”的气质。</p>
<p><strong>三.进阶 </strong><br />
掌握至少50个以上的常用<span onclick="tagshow(event)">命令</span><br />
理解shell管道&#8221;|&#8221;,<span onclick="tagshow(event)">文件</span>流重定向&#8221;&gt;&#8221;及追加&#8221;&gt;&gt;&#8221;等<br />
熟悉Gnome/KDE等X-windows桌面环境操作<br />
掌握.tgz.rpm.biz等<span onclick="tagshow(event)">软件</span>包的常用安装方法<br />
学习添加外设，安装<span onclick="tagshow(event)">设备</span>驱动<span onclick="tagshow(event)">程序</span>（比如modem)<br />
熟悉Grub/Lilo引导器及简单的修复操作<br />
熟悉系统固有目录的名称及公用<br />
学会用mount命令<span onclick="tagshow(event)">访问</span>其他文件系统<br />
了解vi,gcc,gdb等常用编辑器，编译器，调试器<br />
学习linux环境下的简单组网</p>
<p>建议：买一本不需要太厚的linux教材，大致可以满足要求<br />
//现在的书越来越多了，还带很多图，我当时可没这么多书：）</p>
<p><strong>四.高级应用 </strong></p>
<p>澄清一些概念：<br />
linux的普通操作与真正的系统<span onclick="tagshow(event)">管理</span>不能相提并论，后者需要很多知识</p>
<p>我个人认为比较重要几种linux语言<br />
1.英语<br />
即使你不学linux，我也强烈建议你学好英文[U.S.english]<br />
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装<br />
你必须能无障碍的阅读大量的英文技术<span onclick="tagshow(event)">文档</span><br />
在搜索引擎找到的英文网站和网页中熟练的检索<br />
最好能有用英文直接交流的能力，<br />
摆脱了这个障碍，你的学习和理解速度就能快很多，你就有机会拉开和别人的差距</p>
<p>2.shell[sed/awk]<br />
shell是命令解释器，是内核与<span onclick="tagshow(event)">用户</span>界面交流通道，shell写的小脚本有点类似于win下的.bat<br />
但shell比.bat强大的多，shell不只是解释命令，更是一种编程语言，有时候几百行的c用shell<br />
几十行就能代替完成工作，因为shell的工作方式建立在系统已有的众多应用程序之上<br />
这也是CS中的一个重要思想。<br />
此外，shell可以实现工作自动化，这个概念也比较重要<br />
sed,awk用来处理文本，历来很常用</p>
<p>3.Perl/<span onclick="tagshow(event)">PHP</span><br />
漂亮的脚本， CGI的首选，比ASP好，应用面很广</p>
<p>4.C\C++<br />
C、C++是linux/unix的核心语言，系统代码都是C写的</p>
<p>5.ASM<br />
系统底层及内核，硬件，设备驱动程序，嵌入式开发都需要<br />
//走核心路线的话，才c\c++,asm最重要</p>
<p>6.Java,Python,Tcl,XML</p>
<p><strong>*系统管理篇 </strong><br />
在熟悉linux的<span onclick="tagshow(event)">基础</span>上还需要掌握至少一种unix<br />
我首推<span onclick="tagshow(event)">Solaris</span>，其次是FreeBSD<br />
比如运营级系统一般是Solaris+<span onclick="tagshow(event)">Oracle</span>/DB2之类的<br />
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind</p>
<p>等各种应用<span onclick="tagshow(event)">服务</span>器的构架及电子商务的应用<br />
熟悉TCP/IP协议族，学习诸如apache+php+proftp+my<span onclick="tagshow(event)">sql</span>+quota的实现以及大型<span onclick="tagshow(event)">局域网</span>，分布式集群<br />
等各种<span onclick="tagshow(event)">企业</span>级应用<span onclick="tagshow(event)">解决</span><span onclick="tagshow(event)">方案</span><br />
熟悉多用户管理，<span onclick="tagshow(event)">数据库</span>管理，文件系统，逻辑存储管理，日志分析，备份与灾难<span onclick="tagshow(event)">数据</span>修复<br />
系统补丁，内核升级，以及在此基础上的<span onclick="tagshow(event)">防火墙</span>构架等以保障系统安全在内的各种系统管理技能</p>
<p>我觉得，如果在此基础上再掌握<span onclick="tagshow(event)">路由</span>/交换设备便是一个不错的系统管理员</p>
<p>各种基于linux的解决方案可参考相关书籍和文献，必要时用google或各大linux站点站内<br />
搜索引擎寻找最新文档，以避免错误和漏洞<br />
有几本技术<span onclick="tagshow(event)">大全</span>和技术内幕我认为都是这方面不错的书</p>
<p><strong>*深入学习linux </strong></p>
<p>我个人理解的读linux内核需要的基础：<br />
在此之前,希望先把应用层的东西学一下,那样会比较好理解<br />
1.C<br />
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种)，<br />
建议再看一下<br />
《The C Programming Language》Second Edition这本圣经<br />
/*如果想学缓冲区溢出，这点C的功力可能是不够的*/<br />
还有,,,<br />
反正<span onclick="tagshow(event)">经典</span>书看多了是没有坏处的</p>
<p>2.asm (AT&amp;T语法，保护模式)<br />
保护模式下的比较复杂，基本上每本讲内核的书都会有介绍<br />
有80&#215;86 Intel语法的基础就行，<br />
有兴趣可以看看Intel的官方****</p>
<p>3.数据结构（离散数学）<br />
计算机专业的核心课程，重要性我就不说了</p>
<p>4.操作系统原理<br />
看懂这个再去读linux吧</p>
<p>5.微机原理/组成原理（数字电路）<br />
底层直接和硬件打交道，所以这个也要</p>
<p>6.了解linux/unix<br />
我想至少你要会操作吧，了解unix的API</p>
<p>7.软件工程/编译原理</p>
<p>这方面的经典书去<a href="http://www.china-pub.com/" target="_blank">www.china-pub.com</a>可以搜到很多<br />
我觉得APUE这种书不适合初学者，还是先看看UPE之类的吧</p>
<p>APUE:<br />
《advanced　programming　in　the　unix　environment》<br />
《unix环境高级编程》<br />
作者：W.Richard.Stevens共有6本经典书，尊为“圣经”<br />
他的书为全世界<span onclick="tagshow(event)">黑客</span>所拜读！</p>
<p>UPE:《unix　programming　environment》<br />
《unix编程环境》比较适合初学者的，深入浅出，<br />
其中有一些比较重要的思想<br />
另外,介绍linux下应用层编程的书也有很多,比如<br />
,redhat,redflag出的书&#8230;&#8230;&#8230;..<br />
经典书还有很多很多&#8230;&#8230;<br />
操作系统：设计与实现　//交大的考研参考书目，讲Minix的<br />
unix操作系统设计<br />
4.4BSD操作系统设计与实现<br />
昂莱氏unix源代码分析<br />
ulk:understanding the linux kernel (2nd)深入理解linux内核<br />
linux设备驱动程序 (2nd)<br />
linux内核源代码情景分析<br />
保护方式下的80386及其编程</p>
]]></content:encoded>
			<wfw:commentRss>http://www.imjz.org/archives/32/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
