<?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://dagai.net/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://dagai.net</link>
	<description>每天进步一点点</description>
	<lastBuildDate>Sat, 31 Jul 2010 04:55:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://dagai.net/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>做一个BT下载专用机器</title>
		<link>http://dagai.net/archives/712</link>
		<comments>http://dagai.net/archives/712#comments</comments>
		<pubDate>Tue, 27 Apr 2010 10:06:31 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=712</guid>
		<description><![CDATA[本来老夫是懒得研究这个的，下bt嘛，windows下用比特精灵就行了，那种子市场很爽了，地球人都知道。
阿昌那小子偏偏跑来让老夫给他弄个rTorrentWeb，大概就是一个通过web界面来控制bt下载的东... ]]></description>
			<content:encoded><![CDATA[<p>本来老夫是懒得研究这个的，下bt嘛，windows下用比特精灵就行了，那种子市场很爽了，地球人都知道。<br />
阿昌那小子偏偏跑来让老夫给他弄个rTorrentWeb，大概就是一个通过web界面来控制bt下载的东东，折腾了老夫将近一天时间才搞定，安装是很简单，问题在使用上，既然弄了，就写下来吧。<br />
他有一个ubuntu，所以老夫就先在debian上试了一下，没问题，就给他安装了，安装过程很简单，首先安装最重要的screen，想咱以前很苦恼的是当用putty连到远程操作，一会有事走开了，回来断了，如果正在vi编辑什么文件，那就非常郁闷，还好vi提供了备份文件功能，但如果用axel下载呢？调都调不出来，screen就是这样个好东西，相当于一个平台吧，把其他程序运行在它之上，如果断开了，再回来的时候，叫出它，其他运行在它之上的程序都回来了。screen的功能键是ctrl+a，干啥都要先按ctrl+a，可以先运行screen再运行其他软件，也可以直接以screen运行其他软件，按ctrl+a再按d键，可以把程序丢进后台运行，可以用screen -ls查看screen在后台运行的程序，查看的时候每个程序都有个ID号，可以通过screen -r id号 把该程序调回前台来。说多了，咱不是来讲screen的，sudo aptitude install screen安装screen就行了。<br />
<span id="more-712"></span><br />
接着安装主力rtorrent，照样sudo aptitude install rtorrent，不大，很快完成，然后把rtorrent的配置文件拷一个过来到当前用户目录，cp /usr/share/doc/rtorrent/examples/rtorrent.rc ~/.rtorrent.rc，vi编辑一下，rtorrent.rc里主要是加两行参数，scgi_port = localhost:5000和umask = 0002，其他的一些参数配置文件里都有说明，根据需求去掉前面的#启用就行了，这两行的意思就是先打开一个5000端口来给web服务用，umask嘛，让rtorrent创建的文件的权限是正确的，别搞得自己都没法操作了或者别人也可以操作。<br />
然后运行screen rtorrent运行rtorrent，这里要简单说明一下rtorrent的用法，回车可以添加种子，ctrl+o设置新的下载目录，按上下键可以选择任务，再按ctrl+s开始下载，ctrl+d删除任务，ctrl+q退出rtorrent，主要就是这个ctrl+d了，折腾了老夫绝大部分时间，主要就是因为没搞清楚rtorrent的用法。<br />
因为是screen运行的，按ctrl+a，再按d，把rtorrent丢入后台。<br />
既然是通过web来控制，那肯定要web服务了，rTorrentWeb是php程序，所以也要php支持，所以一大串相关的软件，一次性安装，对apache熟悉一些，那就安装apache了<br />
sudo aptitude install apache2 php5-cli libapache2-mod-php5 php5-xmlrpc php5-sqlite libapache2-mod-scgi<br />
几分钟就搞定了，先在rtorrent配置的时候不是打开了个5000端口了么，现在就要用上了，建立一个文件，sudo vi /etc/apache2/mods-available/scgi.conf，输入SCGIMount /RPC2 127.0.0.1:5000，保存退出，然后激活apache的php5和scgi支持，运行sudo a2enmod php5和sudo a2enmod scgi激活两个模块，激活了模块，那就重启一下apache的服务，sudo /etc/init.d/apache2 restart，再到/var/www文件夹里建立一个php文件试试看咯，phpinfo()就不用说了吧。<br />
web服务搞定了，接下来就安装rTorrentWeb了。<br />
先下载文件，貌似就这个版本，没有新的也没有旧的，wget http://rtorrentweb.com/downloads/rTorrentWeb_1.0.tar.gz<br />
解压包，tar zxvf rTorrentWeb_1.0.tar.gz<br />
进入目录，cd rTorrentWeb_1.0<br />
运行安装 sudo ./install.php<br />
安装过程中会询问一些参数，比如web安装在哪里啊，种子文件存放在哪里啊，下载的文件存放在哪里啊，等等一堆，根据情况，直接默认了，到最后会告诉你web登录地址和admin的密码，就完成了哈，貌似还有点点问题，添加种子的时候不能选择下载的文件，在几台机上弄都会出现，不知道问题在哪里。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/712/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>终于闹剧收场-谷歌宣布谷歌中国业务恢复正常运转</title>
		<link>http://dagai.net/archives/586</link>
		<comments>http://dagai.net/archives/586#comments</comments>
		<pubDate>Tue, 19 Jan 2010 07:02:13 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=586</guid>
		<description><![CDATA[嗯，跟老夫想象的一样，Google也就闹的玩玩，咱泱泱大国是不甩他的。
据法新社消息，当地时间18日下午，在宣布退出中国市场、员工停止工作一周后，美国网络巨头谷歌再次表示在中国的业... ]]></description>
			<content:encoded><![CDATA[<p>嗯，跟老夫想象的一样，Google也就闹的玩玩，咱泱泱大国是不甩他的。<br />
据法新社消息，当地时间18日下午，在宣布退出中国市场、员工停止工作一周后，美国网络巨头谷歌再次表示在中国的业务恢复正常运转。<br />
“在发表声明之后，我们给公司职员放了一段长假，以便运行测试和扫描，保证网络的安全可靠” ，谷歌在回复法新社的询问中说，“谷歌中国的职员现在都已经回到工作岗位，一切业务正常运行。”</p>
<p>上周，新京报报道称谷歌中国的工程师不再能进入公司的全球数据库，不能正常工作。</p>
<p>美国国务院发言人克劳利15日宣布，最早可能在下周初将就谷歌事件向中国发出外交照会。这位发言人说，“它将表达我们对这一事件的关注，并要求中国提供信息，解释这一事件是如何发生的，以及他们准备怎么处理这一问题。”</p>
<p>对此，中国表示谷歌事件不会影响中美关系，但是谷歌必须遵守中国的法律。商务部发言人上周五说，外国公司应该“尊重东道国的法律、公共利益、文化和传统，并为此承担社会责任”。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/586/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>重磅新闻，Google或全面退出中国</title>
		<link>http://dagai.net/archives/581</link>
		<comments>http://dagai.net/archives/581#comments</comments>
		<pubDate>Wed, 13 Jan 2010 01:32:38 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=581</guid>
		<description><![CDATA[呵呵，早上来就看到这么个大新闻，以下是google blog部分内容

Official Google Blog：In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the t... ]]></description>
			<content:encoded><![CDATA[<p>呵呵，早上来就看到这么个大新闻，以下是google blog部分内容</p>
<blockquote><p>
Official Google Blog：In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the theft of intellectual property from Google. However, it soon became clear that what at first appeared to be solely a security incident&#8211;albeit a significant one&#8211;was something quite different &#8230; &#8230; we have evidence to suggest that a primary goal of the attackers was accessing the Gmail accounts of Chinese human rights activists &#8230; &#8230; We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the “gov。cn河蟹掉” the basis on which we could operate an unfiltered search engine within the law, if at all.
</p></blockquote>
<p>同时网易也发布了新闻《<a href="http://news.163.com/10/0113/08/5ST6UBK3000120GU.html" target=_blank>谷歌考虑全面退出中国市场 或关闭中国网站</a>》，还有这篇<a href="http://tech.163.com/10/0113/07/5ST3OP5P000915BF.html" target=_blank>http://tech.163.com/10/0113/07/5ST3OP5P000915BF.html</a><br />
呃，从google单方面退出与文著协的谈判新闻，到该篇博文的内容，再到往日CCTV报道种种，google终于扛不住了，准备撤退了。<br />
懒得评论那么多，最近呢，对google的看法也越来越没那么美好了，天天顶着开源，做的事呢？用大家的话说就是不赚钱的一律开源吸引人气、博得美名，赚钱的就不鸟那些开源的呼声。<br />
最近看到说Google Android 2.1源码开发无限期延后，google自己砸个手机出来，自己玩得可爽了，可让人家摩托骡拉干瞪眼了。让老夫想到以前微软跟赛门铁壳都基于MFC框架来做开发工具，开始大家都挺爽的，结果没爽几天，微软推出基于MFC 2.0的开发工具，赛门铁壳只能拿着1.0的MFC干瞪眼。<br />
总之，国外的公司都不是什么好鸟，当然，国内的公司更不是什么好鸟，虽然某些方面没那么美好，但google还是要一直用下去哋。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/581/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>出国咯</title>
		<link>http://dagai.net/archives/578</link>
		<comments>http://dagai.net/archives/578#comments</comments>
		<pubDate>Tue, 12 Jan 2010 03:15:41 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=578</guid>
		<description><![CDATA[盘算了好几天，还是决定搬家，终于搞定了，在主机分享组织弄了个Hostgator的主机，这速度，ftp杠杠的慢，wp插件升级蹭蹭的快，hostgator还是够稳定。... ]]></description>
			<content:encoded><![CDATA[<p>盘算了好几天，还是决定搬家，终于搞定了，在<a href="http://www.hostshare.cn" target="_blank">主机分享组织</a>弄了个Hostgator的主机，这速度，ftp杠杠的慢，wp插件升级蹭蹭的快，hostgator还是够稳定。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/578/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash-completion，自动补全并不是ubuntu的专利</title>
		<link>http://dagai.net/archives/575</link>
		<comments>http://dagai.net/archives/575#comments</comments>
		<pubDate>Sat, 26 Dec 2009 07:48:53 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=575</guid>
		<description><![CDATA[老夫以前发现在ubuntu下用apt-get安装软件的时候输入完apt-get install 和部分软件名后按tab键，可以把软件名补全，后来在centos下用yum却没这个功能，以为这是debian系特有的，结果最近在安装过debian... ]]></description>
			<content:encoded><![CDATA[<p>老夫以前发现在ubuntu下用apt-get安装软件的时候输入完apt-get install 和部分软件名后按tab键，可以把软件名补全，后来在centos下用yum却没这个功能，以为这是debian系特有的，结果最近在安装过debian后才发现，debian也没有这个补全功能，今天在CU逛得时候看有人提到这么个功能，这才发现，原来是bash-completion这东东在作怪。<br />
呃，freebsd默认使用的shell连自动补全功能都没，还是bash比较爽，还能自动补全，但也仅限于命令和路径，bash-completion呢，是对bash补全功能的一个增强，增加了对参数和包名的补全，很爽哦，下面就来看一下。<br />
<span id="more-575"></span><br />
默认debian是没有安装bash-completion，例如在/root目录下，输入apt-g，按tab，apt-get补全了吧，再按tab呢，会显示/root目录下的所有文件名，接下来aptitude install bash-completion安装bash-completion，安装完/etc目录会出现一个bash_completion文件，再vi /etc/bash.bashrc，大概32行内容如下<br />
<code><br />
#if [ -f /etc/bash_completion ]; then<br />
#    . /etc/bash_completion<br />
#fi<br />
</code><br />
把这三行的#删除，登出再登录试试看，输入apt-get 后按tab，现在按tab显示的是参数而不是文件名了，apt-get install axe再按tab，下面就把axe开头的包都显示出来了，爽。<br />
呃，也可以改用户目录的.bashrc，添加一行source /etc/bash_completion就OK了。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/575/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian的运行级别</title>
		<link>http://dagai.net/archives/569</link>
		<comments>http://dagai.net/archives/569#comments</comments>
		<pubDate>Fri, 25 Dec 2009 09:01:19 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=569</guid>
		<description><![CDATA[最近在看王旭的《debian标准教程》，讲的真的是很广，但很浅，就运行级别这一小段，让老夫琢磨了好几天，也就明白debian的运行级别与redhat系的那些不一样，在centos中，runlevel 5就是图形界面... ]]></description>
			<content:encoded><![CDATA[<p>最近在看王旭的《debian标准教程》，讲的真的是很广，但很浅，就运行级别这一小段，让老夫琢磨了好几天，也就明白debian的运行级别与redhat系的那些不一样，在centos中，runlevel 5就是图形界面，3是文本界面，而在debian中，runlevel 2-5都是多用户状态，这几个级别一样的，怎么设置这些服务的状态呢，centos有ntsysv和chkconfig啊，王旭在书中也就提到了rcconf这个命令，弄了半天弄得莫名其妙，到处搜啊搜的，终于发现，原来debian下还有个比chkconfig更好用的sysv-rc-conf。<br />
先说说debian的系统运行级别<br />
<span id="more-569"></span><br />
可以运行runlevel查看系统的运行级别，runlevel命令显示上次的运行级别和当前的运行级别，第一个为“N”的时候表示没有上次的运行级别。<br />
0 系统停机状态<br />
1 单用户或系统维护状态<br />
2-5 多用户状态<br />
6 重新启动<br />
至于S和s是给单用户模式来用的。<br />
可以用init 加数字来切换系统的运行级别，默认系统下2-5这几个运行级别状态是一样的，切换运行级别根本不会有什么变动。<br />
这时候可以运行rcconf来关闭服务，这个rcconf居然还没有，用aptitude install rcconf安装它，这个rcconf与centos下的ntsysv差不多，这里取消或选取某个服务，将同时改变2-5级别的状态。<br />
那老夫想把这个debian的运行级别改成跟centos差不多咋搞？这时候就要请上sysv-rc-conf了，sysv-rc-conf默认也没装，装上它，运行sysv-rc-conf，界面很简单，横着列出了所有的级别，纵向列出了所有的服务，不是有那么多中括号嘛，用方向键移到相应服务的相应级别，按空间选中或取消，这样，老夫就移到gdm上，234级别都取消掉，只保留5的，然后改一下inittab文件，把默认运行级别由2改为3，这样就跟centos一样3是文本界面5是图形界面了。<br />
sysv-r-conf可以按ctrl+n和ctrl+p下翻和上翻，也可以按-来停止某个服务或按=/+来启动某个服务，设置完按q退出即可。<br />
至于怎么把程序加入到服务，update-rc.d。</p>
<p>下面是一些常见的系统服务：<br />
acpi-support 高级电源管理支持<br />
acpid acpi 守护程序.这两个用于电源管理,非常重要<br />
alsa 声音子系统<br />
alsa-utils<br />
anacron cron 的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。<br />
apmd acpi 的扩展<br />
atd 类似于 cron 的任务调度系统。建议关闭<br />
binfmt-support 核心支持其他二进制的文件格式。建议开启<br />
bluez-utiles 蓝牙设备支持，关掉没啥<br />
bootlogd 启动日志。开启它<br />
cron 任务调度系统,建议开启<br />
cupsys 打印机子系统。<br />
dbus 消息总线系统(message bus system)。非常重要<br />
dns-clean 使用拨号连接时,清除 dns 信息。<br />
evms 企业卷管理系统(Enterprise Volumn Management system)<br />
fetchmail 邮件用户代理守护进程,用于收取邮件<br />
gdm gnome 登录和桌面管理器。<br />
gdomap<br />
gpm 终端中的鼠标支持。<br />
halt 不要乱搞哦，这个只有0级别才需要，关闭系统的。<br />
hdparm 调整硬盘的脚本,配置文件为 /etc/hdparm.conf。<br />
hibernate 系统休眠<br />
hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony,Dell, 和 IBM。<br />
hotplug and hotplug-net 即插即用支持,比较复杂,建议不要动它。<br />
hplip HP 打印机和图形子系统<br />
ifrename 网络接口重命名脚本。如果您有十块网卡,您应该开启它<br />
inetd 在文件 /etc/inetd.conf 中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。<br />
klogd 重要。<br />
linux-restricted-modules-common 受限模块支持。<br />
/lib/linux-restricted-modules/ 文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。<br />
lvm 逻辑卷管理系统支持。<br />
makedev 创建设备文件,非常重要。<br />
mdamd 磁盘阵列<br />
module-init-tools 从/etc/modules 加载扩展模块,建议开启。<br />
networking 网络支持。按 /etc/network/interfaces 文件预设激活网络,非常重要。<br />
ntpdate 时间同步服务,建议关闭。<br />
pcmcia pcmcia 设备支持。<br />
powernowd 移动 CPU 节能支持<br />
ppp and ppp-dns 拨号连接<br />
readahead 预加载库文件。<br />
reboot 别动它。<br />
resolvconf 自动配置 DNS<br />
rmnologin 清除 nologin<br />
rsync rsync 守护程序<br />
sendsigs 在重启和关机期间发送信号<br />
single 激活单用户模式<br />
ssh ssh 守护程序。建议开启<br />
stop-bootlogd 在 2,3,4,5 运行级别中停止 bootlogd 服务<br />
sudo 检查 sudo 状态。重要<br />
sysklogd 系统日志<br />
udev &#038; udev-mab 用户空间 dev 文件系统(userspace dev filesystem)。重要<br />
umountfs 卸载文件系统<br />
urandom 随机数生成器<br />
usplash 开机画面支持<br />
vbesave 显卡 BIOS 配置工具。保存显卡的状态<br />
xorg-common 设置 X 服务 ICE socket。<br />
adjtimex 调整核心时钟的工具<br />
dirmngr 证书列表管理工具,和 gnupg 一起工作。<br />
hwtools irqs 优化工具<br />
libpam-devperm 系统崩溃之后,用于修理设备文件许可的守护程序。<br />
lm-sensors 板载传感器支持<br />
mdadm-raid 磁盘陈列管理器<br />
screen-cleanup 清除开机屏幕的脚本<br />
xinetd 管理其他守护进程的一个 inetd 超级守护程序</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/569/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转]关于Debian的aptitude与apt-get</title>
		<link>http://dagai.net/archives/564</link>
		<comments>http://dagai.net/archives/564#comments</comments>
		<pubDate>Thu, 24 Dec 2009 00:36:24 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[My Favorites]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=564</guid>
		<description><![CDATA[起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现之後，人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为... ]]></description>
			<content:encoded><![CDATA[<p>起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现之後，人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为dpkg。至此着名的‘package’首次在GNU/Linux上出现。不久之後红帽子也开始着 手建立自己的包管理系统 ‘rpm’。</p>
<p>GNU/Linux的创造者们很快又陷入了新的窘境。他们希望通过一种快捷、实用而且高效的方式来安装软件包。这些软件包可以自动处理相互之间 的依赖关系，并且在升级过程中维护他们的配置文件 。Debian又一次充当了开路先锋的角色。她首创了APT（Advanced Packaging Tool）。这一工具後来被Conectiva 移植到红帽子系统中用于对rpm包的管理。在其他一些发行版中我们也能看到她的身影。<br />
<span id="more-564"></span><br />
&#8220;同时，apt是一个很完整和先进的软件包管理程序，使用它可以让你，又简单，又准确的找到你要的的软件包， 并且安装或卸载都很简洁。 它还可以让你的所有软件都更新到最新状态，而且也可以用来对ubuntu 进行升级。&#8221;</p>
<p>&#8220;apt是需要用命令 来操作的软件，不过现在也出现了很多有图形的软件，比如Synaptic, Kynaptic 和 Adept。&#8221;</p>
<p>命令</p>
<p>下面将要介绍的所有命令都需要sudo！使用时请将“packagename”和“string”替换成您想要安装或者查找的程序。</p>
<p>     * apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。<br />
     * apt-get install packagename——安装一个新软件包（参见下文的aptitude ）<br />
     * apt-get remove packagename——卸载一个已安装的软件包（保留配置文件）<br />
     * apt-get &#8211;purge remove packagename——卸载一个已安装的软件包（删除配置文件）<br />
     * dpkg &#8211;force-all &#8211;purge packagename 有些软件很难卸载，而且还阻止了别的软件的应用 ，就可以用这个，不过有点冒险。<br />
     * apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上，所以如果需要空间 的话，可以让这个命令来删除你已经删掉的软件<br />
     * apt-get clean 这个命令会把安装的软件的备份也删除，不过这样不会影响软件的使用的。<br />
     * apt-get upgrade——更新所有已安装的软件包<br />
     * apt-get dist-upgrade——将系统升级到新版本<br />
     * apt-cache search string——在软件包列表中搜索字符串<br />
     * dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名，您可以使用“*package-name-pattern*”。<br />
     * aptitude——详细查看已安装或可用的软件包。与apt-get类似，aptitude可以通过命令行方式调用，但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息，可以说它更适合用来进行安装和卸载。<br />
     * apt-cache showpkg pkgs——显示软件包信息。<br />
     * apt-cache dumpavail——打印可用软件包列表。<br />
     * apt-cache show pkgs——显示软件包记录，类似于dpkg –print-avail。<br />
     * apt-cache pkgnames——打印软件包列表中所有软件包的名称。<br />
     * dpkg -S file——这个文件属于哪个已安装软件包。<br />
     * dpkg -L package——列出软件包中的所有文件。<br />
     * apt-file search filename——查找包含特定文件的软件包（不一定是已安装的），这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须先使用apt-get install来安装它，然後运行apt-file update。如果apt-file search filename输出的内容太多，您可以尝试使用apt-file search filename | grep -w filename（只显示指定字符串作为完整的单词出现在其中的那些文件名）或者类似方法，例如：apt-file search filename | grep /bin/（只显示位于诸如/bin或/usr/bin这些文件夹中的文件，如果您要查找的是某个特定的执行文件的话，这样做是有帮助的）。</p>
<p>＊ apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式，您可以释放大量的磁盘空间。如果您的需求十分迫切，可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件，因此如果您为磁盘空间不足而感到焦头烂额，这个办法也许值得一试。</p>
<p>典型应用</p>
<p>我是个赛车发烧友，想装个赛车类游戏玩玩。有哪些赛车类游戏可供选择呢？</p>
<p>apt-cache search racing game</p>
<p>出来了一大堆结果。看看有没有更多关于torcs这个游戏的信息。</p>
<p>apt-cache show torcs</p>
<p>看上去不错。这个游戏是不是已经安装了？最新版本是多少？它属于哪一类软件，universe还是main?</p>
<p>apt-cache policy torcs</p>
<p>好吧，现在我要来安装它！</p>
<p>apt-get install torcs</p>
<p>在控制台下我应该调用什么命令来运行这个游戏呢？在这个例子中，直接用torcs就行了，但并不是每次都这么简单。我们可一通过查找哪些文件被安 装到了 “/usr/bin”文件夹下来确定二进制文件名。对于游戏软件，这些二进制文件将被安装到“/usr/games”下面。对于系统管理工具相应的文件夹是“/usr/sbin”。</p>
<p>dpkg -L torcs|grep /usr/games/</p>
<p>这个命令的前面一部分显示软件包“torcs”安装的所有文件（您自己试试看）。通过命令的第二部分，我们告诉系统只显示前一部分的输出结果中含有“/usr/games”的那些行。</p>
<p>这个游戏很酷哦。说不定还有其他赛道可玩的？</p>
<p>apt-cache search torcs</p>
<p>我的磁盘空间不够用了。我得把apt的缓存空间清空才行。</p>
<p>apt-get clean</p>
<p>哦不，老妈叫我把机器上的所有游戏都删掉。但是我想把配置文件保留下来，这样待会我只要重装一下就可以继续玩了。</p>
<p>apt-get remove torcs</p>
<p>如果我想连配置文件一块删除：</p>
<p>apt-get remove &#8211;purge torcs</p>
<p>额外的软件包</p>
<p>deborphan和debfoster工具可以找出已经安装在系统上的不会被用到的软件包。</p>
<p>提高命令行方式下的工作效率</p>
<p>您可以通过定义别名（alias）来提高这些命令的输入速度。例如，您可以在您的*~/.bashrc*文件中添加下列内容</p>
<p>alias acs=&#8217;apt-cache search&#8217;<br />
alias agu=&#8217;sudo apt-get update&#8217;<br />
alias agg=&#8217;sudo apt-get upgrade&#8217;<br />
alias agd=&#8217;sudo apt-get dist-upgrade&#8217;<br />
alias agi=&#8217;sudo apt-get install&#8217;<br />
alias agr=&#8217;sudo apt-get remove&#8217;</p>
<p>或者使用前面介绍的aptitude命令，如“alias agi=&#8217;sudo aptitude install&#8217;”。</p>
<p>&#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;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>aptitude 与 apt-get 一样，是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是，aptitude 在处理依赖问题上更佳一些。举例来说，aptitude 在删除一个包时，会同时删除本身所依赖的包。这样，系统中不会残留无用的包，整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令，仅供参考。<br />
命令 作用<br />
aptitude update 更新可用的包列表<br />
aptitude upgrade 升级可用的包<br />
aptitude dist-upgrade 将系统升级到新的发行版<br />
aptitude install pkgname 安装包<br />
aptitude remove pkgname 删除包<br />
aptitude purge pkgname 删除包及其配置文件<br />
aptitude search string 搜索包<br />
aptitude show pkgname 显示包的详细信息<br />
aptitude clean 删除下载的包文件<br />
aptitude autoclean 仅删除过期的包文件</p>
<p>当然，你也可以在文本界面模式中使用 aptitude。</p>
<p>aptitude 与 apt-get 一样，是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是，aptitude 在处理依赖问题上更佳一些。举例来说，aptitude 在删除一个包时，会同时删除本身所依赖的包。这样，系统中不会残留无用的包，整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令，仅供参考。<br />
命令 作用<br />
aptitude update 更新可用的包列表<br />
aptitude upgrade 升级可用的包<br />
aptitude dist-upgrade 将系统升级到新的发行版<br />
aptitude install pkgname 安装包<br />
aptitude remove pkgname 删除包<br />
aptitude purge pkgname 删除包及其配置文件<br />
aptitude search string 搜索包<br />
aptitude show pkgname 显示包的详细信息<br />
aptitude clean 删除下载的包文件<br />
aptitude autoclean 仅删除过期的包文件</p>
<p>当然，你也可以在文本界面模式中使用 aptitude。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/564/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个值得注意的shell脚本错误</title>
		<link>http://dagai.net/archives/386</link>
		<comments>http://dagai.net/archives/386#comments</comments>
		<pubDate>Thu, 03 Sep 2009 03:51:23 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://lostcity.cn/?p=386</guid>
		<description><![CDATA[昨天在弄人家一个脚本的时候，一直出现错误，没法继续，提示syntax error: unexpected end of file，一段段排查，没有发现任何问题，但就是出错，后来用手机搜了一下，发现有人提到windows下的回车... ]]></description>
			<content:encoded><![CDATA[<p>昨天在弄人家一个脚本的时候，一直出现错误，没法继续，提示syntax error: unexpected end of file，一段段排查，没有发现任何问题，但就是出错，后来用手机搜了一下，发现有人提到windows下的回车问题，这才想起来，在windows下的换行与在unix下的不一样，windows文件传输到unix系统时,会在每行的结尾多一个^M，所以就出问题了，这表现在用vi打开文件的时候，在vi底部会显示&#8221;shell.sh&#8221; [dos] xxL, xxxC，如果是unix下的文件就不会显示[]和里面的内容，知道原因就简单了，在vi下输入:fileformat=unix，保存文件就行了</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/386/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS5.3重编译内核中出现的一些问题</title>
		<link>http://dagai.net/archives/382</link>
		<comments>http://dagai.net/archives/382#comments</comments>
		<pubDate>Sat, 29 Aug 2009 08:37:52 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://lostcity.cn/?p=382</guid>
		<description><![CDATA[最近待业在家，正好有空，就把买了一两年的《鸟哥的Linux私房菜》基础版看完了，终于看完了，虽然很快就忘了很多，总归是有些收益，看到重编译内核那段，于是决定把笔记本上的Centos5.3的... ]]></description>
			<content:encoded><![CDATA[<p>最近待业在家，正好有空，就把买了一两年的《鸟哥的Linux私房菜》基础版看完了，终于看完了，虽然很快就忘了很多，总归是有些收益，看到重编译内核那段，于是决定把笔记本上的Centos5.3的内核重编译一下，虽然以前也编译过一些，但都是在虚拟机上照着教程编译的，有很多地方跟现实环境是有不同的。笔记本是BenQ S53E106，CPU是CM，带PCIMCIA槽，带1394，带ATHEROS 5006XS无线网卡(无线网卡我已经换了)，带红外接口，带三合一读卡器，系统以前装windows留下一个NTFS的D盘和两个FAT32的E盘和F盘，centos是装在第一个分区的，只分了个EXT3的/和SWAP，内核版本是2.6.18-128.10。<span id="more-382"></span><br />
没有网络，只好在网吧下个内核了，第一次下错了，下了个2.6.27.30版本的，回去才发现不是2.6.30，首先是把原先内核的.config文件拖了出来，然后加载，改了一些选项就编译了，编译完改了一下fstab和menu.lst，重启，很快就出现问题了，出现Kernel panic: VFS: unable to mount root fs on unknown-block (0,0)，没明白咋回事，再仔细瞧了一下grub的参数，发现有个root=LABEL=/，改成root=/dev/hda3后能启动了，但一半就自动重启了，反复多次都一样，最终编译和几次内核都有问题，刚开始也因为把ext3编译成了模块的缘故，不过多次改选项编译也发现了有些有用的东西，比如，我记得第一次设置参数的时候，明明有看到对ATH 5XXX无线网卡的支持，后来找了好半天都没找到，搜索又能搜索到，但在搜索中显示的位置又没有该选项，改了多次之后才明白，Prompt for development and/or incomplete code/drivers没有选择，记得以前看金步国的内核编译配置选项的时候他说最好别选的，看到鸟哥也说不选，当然，不太成熟的东西最好是不选，但有些有用的选项还是要靠它来打开呢，时间很晚了，只好放弃了。<br />
第二天到网吧找了一下资料，看看出现Kernel panic的原因，看有人提到initrd，对linux的启动流程还是不太熟悉，再加上以前照着手册编译Gentoo内核发现就没有要initrd，不明白为什么，大致了解了一下initrd的作用，下了个2.6.30.5的内核就回去了，不管了，删掉2.6.27的一些东东，重新编译2.6.30，昨天发现的问题今天都特别注意，编译完内核，顺便生成个initrd，当mkinitrd的时候出现No module dm-mem-cache found for kernel，只好用手机搜了一下，说是加上&#8211;without-dmraid参数就可以了，生成initrd完成，再改一下menu.lst，重启，终于可以启动了，不过出现了三个问题，一个是iptables说是在加载iptables-store失败，一个是kdump启动失败，还有一个启动到DKMS_autoinstaller的时候失败，很快的刷了几行提示出来就过去了。<br />
启动系统后看了一下iptables，发现没有nat表，明白是漏掉了某些选项，kdump那估计也是没有编译进去，但那个DKMS_autoinstaller是什么呢，搜了一下说是Dell搞的个项目，全称叫Dynamic Kernel Module Support，目的是让依赖内核的模块源码独立出来以便升级内核时候可以容易地重新建立，大概就是自动搞定自己在老版本安装的驱动。这个找了一下启动日志里，有个DKMS的日志，发现每次的启动都有一次记录，查了一下最后的，跟之前的一对比，发现原来是madwifi没有启动，原来是因为我在内核里加载了对ATH芯片的支持，madwifi就有冲突了，当时就琢磨啊，怎么停止呢？后来发现在/usr/src的madwifi模块的目录里有个dkms.conf，把一个参数YES改为NO就行了，到这里，问题基本就解决了，重新编译一下内核，加入iptables对nat的支持跟kdump的支持，启动系统，一切OK，内核自动的atheros的驱动比madwifi带的好多了，以前我启动无线后再关闭会死机，现在随开随关都没事了。<br />
这两天的内核编译实在受益匪浅啊，操作也熟练多了，最后附上网上对mkinitrd时出现No module dm-mem-cache found for kernel的解决方法<br />
[quote]<br />
解决方法：<br />
1、<br />
#mkinitrd &#8211;without-dmraid /usr/local/src/initrd-2.6.18-92.1.22.el5.img 2.6.18-92.1.22.el5<br />
#mkinitrd &#8211;without-dmraid /usr/local/src/initrd-2.6.18-92.el5.img 2.6.18-92.el5<br />
2、<br />
#echo &#8220;DMRAID=no&#8221; >  /etc/sysconfig/mkinitrd/noraid<br />
#chmod 755 /etc/sysconfig/mkinitrd/noraid<br />
[/quote]</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/382/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>gentoo初装记</title>
		<link>http://dagai.net/archives/367</link>
		<comments>http://dagai.net/archives/367#comments</comments>
		<pubDate>Thu, 06 Aug 2009 10:39:16 +0000</pubDate>
		<dc:creator>Dagai</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dagai.net/?p=367</guid>
		<description><![CDATA[已经提交了辞职申请单，闲得蛋疼，心血来潮，想装个gentoo试试，记得以前曾经装过一下，到编译内核那里就半途而废了，现在对linux的了解又稍微多了点，英文似乎也进步了一点，所以准备再... ]]></description>
			<content:encoded><![CDATA[<p>已经提交了辞职申请单，闲得蛋疼，心血来潮，想装个gentoo试试，记得以前曾经装过一下，到编译内核那里就半途而废了，现在对linux的了解又稍微多了点，英文似乎也进步了一点，所以准备再来试试。<br />
环境：windows 2003 R2 SP2，virtual server 2005 R2，分了256M内存和8G硬盘。<br />
先在windows下下载了mini启动盘，准备网络安装，再下了stage3-i686-2008.0.tar.bz2和portage-lastest.tar.bz2，照着<a href="http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml?style=printable&#038;full=1" target="_blank">手册</a>来开始安装。<br />
把启动盘加载到虚拟机的光驱里，从光盘启动，先用passwd给root设置密码，再用/etc/init.d/sshd start启动ssh服务，以便待会上传stage3和portage两个包，然后用net-setup eth0设置网络，ping了一下qq.com，咳咳，谁叫它离我近呢，ping它比较爽，确定网络通了，然后开始分区。<span id="more-367"></span><br />
fdisk /dev/hda，分了三个区，hda1给了100M，给/boot，hda2分了512M，给swap，其他的都给hda3做根分区，给hda1添加启动标志，把hda2的分区类型改为swap，保存，分区完毕，接着创建文件系统，mkfs.ext2 /dev/hda1给hda1创建为ext2（以前不知道从哪里看的说/boot分区最好为ext2，不知道对不对，反正为ext2没错），mkswap /dev/hda2创建hda2为swap，swapon /dev/hda2启用swap分区，hda3就直接mkfs.ext3 /dev/hda3，文件系统创建完毕。创建完文件系统当然就是将它们挂载上去，mount /dev/sda3 /mnt/gentoo，mkdir /mnt/gentoo/boot，mount /dev/sda1 /mnt/gentoo/boot，如果当时只分了两个区就不用挂载/boot了。<br />
对一下时间，刚创建的虚拟机当然时间是正确的了，接下来用winscp开始把先前下好的stage3跟portage两个包传到虚拟机，tar xvjpf stage3-i686-2008.0.tar.bz2 -C /mnt/gentoo把stage3解开来，时间有点长，再tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr把portage解开，再编辑make.conf文件，学着用nano来编辑吧，gentoo默认的编辑器就是它，待会可没有vi可用，nano -w /mnt/gentoo/etc/make.conf，主要是添加一行MAKEOPTS=&#8221;-j2&#8243;，让它待会make的时候两路并发，这样速度快一些，没办法，咱只有P4。<br />
然后添加镜像站点和rsync站点，mirrorselect -i -o >> /mnt/gentoo/etc/make.conf，在跳出来的站点里随便选一个，待会还要改的，mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf，这里选asia的那个吧，然后再打开make.conf，发现里面多了两行，一行是GENTOO_MIRRORS=“http://&#8230;.”，后面的地址改掉，改成http://mirrors.163.com/gentoo，网易的镜像速度比较快，嘿嘿，下面那行SYNC=&#8221;rsync://&#8230;&#8221;就别改了。<br />
下面把DNS的配置复制过来cp -L /etc/resolv.conf /mnt/gentoo/etc/，然后挂载两个文件系统，mount -t proc none /mnt/gentoo/proc和mount -o bind /dev /mnt/gentoo/dev，老夫是不太明白这两个东东是干啥的，以前看的基础都忘了，按照手册上说是“将/proc文件系统挂载到/mnt/gentoo/proc，这样chroot后的环境里安装时也可以获取内核提供的相关信息，然后以bind方式挂载/dev文件系统”，挂载完文件系统，下面开始切换到新的系统环境咯。<br />
chroot /mnt/gentoo /bin/bash，把根从/切换到/mnt/gentoo，再使用env-update来建立新的环境，就是建新的环境变量，然后用source /etc/profile加载这些变量，为了便于识别，运行一条命令export PS1=&#8221;(chroot) $PS1&#8243;，这样在命令提示符前多了个(chroot)，这样就知道是在新的环境下了。<br />
再用emerge &#8211; -sync[两个-连着为啥发布后只有一个-了呢？只好分开了]更新portage树，谁知道你下的那个portage-lastest是不是真的lastest啊，更新一下好，更新完portage树，再设置一下时区，说是让系统知道自己在哪里，⊙﹏⊙b汗，有很大关系么？不知道以后再设置行不行，照着做吧，cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime，接着就该安装内核源码了，emerge gentoo-sources，其他的源码不鸟它，安装完手册上说是用ls -l /usr/src/linux查看一下内核源码的符号链接，啦啦，老夫弄了好几遍都没错，估计不看也没事，不过老夫还是看了，它指向linux-2.6.30-gentoo-r4，下面开始配置内核咯。<br />
进入到/usr/src/linux下，运行make menuconfig开始配置，哦，老夫先运行了个make defconfig生成了个针对i386的默认配置，这样好修改嘛，默认配置主要有几个要修改的地方，一个是处理器，老夫改成P4了，再个是文件系统，老夫前面hda1分区时ext2啊，默认可没有选择ext2的支持，加上，顺便加上了NTFS的支持，手册上提醒的伪文件系统默认倒是选上了，咱不用拨号，就不要ppp的支持了，用的P4 2.4G，不支持超线程， 也不需要SMP多处理器支持了，内存才512，也不需要大内存支持了，什么PCMCIA、无线网卡、万兆网卡千兆网卡，shit，用不起，都去掉，老夫就留下了dec 21140的支持，配置完，保存，开始编译内核。<br />
输入make &#038;&#038; make modules_install，make的过程有点长，老夫都等了将近一个小时，出去放放水、到处逛逛再回来，内核和模块已经编译完成了，然后就把内核复制到启动分区去，cp arch/i386/boot/bzImage /boot/kernel-2.6.30-gentoo-r4，名字随便给一个，弄长了待会输入还麻烦，接下来编辑fstab，把里面的内容修改一下，老夫就改了个</p>
<blockquote><p>
/dev/hda1                /boot                ext2                noauto,noatime        1 2<br />
/dev/hda3                /                ext3                noatime                0 1<br />
/dev/hda2                none                swap                sw                0 0<br />
/dev/cdrom                /mnt/cdrom        auto                noauto,ro        0 0<br />
shm                        /dev/shm        tmpfs                nodev,nosuid,noexec        0 0<br />
proc                        /proc                proc                defaults        0 0
</p></blockquote>
<p>上面的配置有问题，后来才知道，所以改的时候一定要注意，后面再说。<br />
接下来设置主机名，nano -w /etc/conf.d/hostname，随便来个gentoo算了，再编辑/etc/conf.d/net设置域名，也随便来个localhost了事，添加dns_domain_lo=&#8221;localhost&#8221;，还是在net里面设置网卡参数，添加两行<br />
config_eth0=( &#8220;192.168.1.20 netmask 255.255.255.0 brd 192.168.1.255&#8243; )<br />
routes_eth0=( &#8220;default via 192.168.1.1&#8243; )<br />
然后保存，把网卡用rc-update add net.eth0 default命令添加到自动启动里。<br />
再编辑/etc/hosts文件，把gentoo gentoo.localhost添加进去就行了，passwd设置一下root密码，手册上说什么编辑一下rc.conf跟keymaps，其实也没什么设置的，默认就够了，就是clock里面把CLOCK改为local就行了。<br />
下面要安装两个必要的软件syslog-ng和vixie-cron，用emerge syslog-ng vixie-cron安装就行了，再用rc-update也把他们添加进自启动里，现在基本都安装完了，就剩下系统引导的问题了，开始安装grub<br />
也用emerge安装grub，装完就开始编辑grub.conf，默认的稍微改一下，老夫设置的如下</p>
<blockquote><p>
default 0</p>
<p>timeout 5</p>
<p>title Gentoo Linux 2.6.30-r4<br />
root (hd0,0)<br />
kernel /boot/linux-2.6.30-gentoo-r4 root=/dev/hda3</p>
<p>title Gentoo Linux 2.6.30-r4 (rescue)<br />
root (hd0,0)<br />
kernel /boot/kernel-2.6.30-gentoo-r5 root=/dev/hda3 init=/bin/bb
</p></blockquote>
<p>配置完了当然是安装grub到引导里，执行grub-install &#8211;no-floppy /dev/sda即可。<br />
当当当当。。。。<br />
安装完毕，exit退出新的环境，卸载先前挂载的那些分区和文件系统，<br />
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo<br />
卸载记得不要在/mnt/gentoo目录下的任何地方来操作哦。<br />
reboot，好高兴哦，终于装完了。<br />
推出光盘，系统开始启动，嘿，kernel panic了，提示大概就是说不能找到root=hda3，下面还提示了一些sda1，sda2，sda3的，当时没搞清楚，后来才明白这里提示已经很清楚了，然后老夫就到处问，未果，重新删了虚拟机重来，还是这样的问题，重编译几次内核，问题依旧，最后突然试着在grub引导的时候把root=/dev/hda3改为了sda3，启动了，⊙﹏⊙b汗，hda怎么变成sda了，虽然启动了，但系统还有问题，一堆问题，到最后提示输入root密码继续，进去一看，什么都动不了，说文件只读，再经别人提示，才想起来，用光盘启动，把fstab里面跟gurb.conf里面的hda全改为了sda，终于进系统了。<br />
马上又发现了另一个问题，/boot分区不自动挂载，手动可以挂上去，咋回事呢，再折腾了一边内核，确定ext2支持编译进去了，弄完才发现，fstab里/boot分区后面本应该是defaults的，结果老夫改的系统里默认的，居然是noauto，白白花了老夫一个小时来编译内核，到此，系统终于装完了。<br />
关于那个hda变成了sda的问题，老夫在论坛上咨询了一下，有大佬回复说是因为加载的是sata驱动，兼容pata驱动，那能不能不加载sata驱动呢？说取消 Serial ATA (prod) and Parallel ATA (experimental) drivers，选择 ATA/ATAPI/MFM/RLL support即可，新的kernel使用的pata/sata驱动都是基于libata(driver/ata/)的，而libata又相当于是一个scsi low level driver。所以在新的kernel里，无论是pata/sata device都被当作是scsi device (/dev/sdX)。可以使用旧的ide subsystem来驱动ide device (driver/ide)，这样会在/dev目录下显示hdX设备了，终于明白是咋回事了。<br />
其他软件什么的再慢慢研究咯，老夫也快离开了，估计有段时间没法再继续研究咯，回去好好看书找工作咯。</p>
]]></content:encoded>
			<wfw:commentRss>http://dagai.net/archives/367/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
