精打细算用Linux

发表于:2007-07-01来源:作者:点击数: 标签:
序言 所有的操作系统都要求"给我更多!"-- 它们要求更多的磁盘空间,更多的内存,很 高的cpu工作频率--令人欣慰的是拯救我们这些没有最新硬件的人的救世主出现了,是的 ,我说的是 Linux 。 虽然Linux作为 网络 操作系统很出色,但实际上,作为单用户的操作系
序言
所有的操作系统都要求"给我更多!"-- 它们要求更多的磁盘空间,更多的内存,很
高的cpu工作频率--令人欣慰的是拯救我们这些没有最新硬件的人的救世主出现了,是的
,我说的是Linux
虽然Linux作为网络操作系统很出色,但实际上,作为单用户的操作系统,工作在未
连网的家庭PC上,它也是非常不错的。
考虑到这种情况,你有很多方法可以从你的系统中挤出更多的资源,甚至在一台象
仅有8M内存的486这样的老机器上也可以。
现在请记住你需要以 root 身份登录到系统来做下面的所有事情,我们的目的将有
两个分支:使内存的使用量最小,和节省磁盘空间。
节省内存!
重新编译内核
内核在没有安装到你的机器里以前就已经被编译好了,但是它是一个带有所有功能
的内核,把每样东西都编译了进去。这就意味着它比你要专用的大。如果你从内核源代
码编译一个你自己的内核的话,它会比缺省的vmlinuz的内核小100kB以上。此外,这还
有助于你了解如何编译内核。实际上,这十分简单。你要首先设置,就是说你的内核里
都需要什么功能。然后编译它就行了。
Linux已经发展到了一个很高的阶段,以至于它内核的设置可以是图形化的。内核的
源代码通常在这里:/usr/src/linux。要运行图形界面的设置程序,执行这个命令 mak
e menuconfig (这个是基于文本菜单的),或者执行 make xconfig (这个是在X中的
图形界面),你将会看到一个很长的设置选项列表,在做选择以前,建议你仔细看看每
一项所带的帮助提示。这些提示总是会给出合理的建议,你应该遵循它。如此,你将会
确切的得到那些你需要编译进你的内核的东西,而不包含其他。我也建议你读一读源码
路径下的README文件。一旦你设置好了,退出X(如果你运行了它),在文本模式下编译
它,这样做没有笨重的X运行可以有更多的内存可用,编译起来快一些。
执行 make dep ; make zImage ,然后去喝杯咖啡,做完这些,README文件会很通
俗的解释你应如何使用这个新内核,我不再赘述。
停止某些服务!
Linux系统运行的时候,通常会有很多后台作业在运行,这些作业都是有特殊功能
的,它们叫做deamon。例如 sendmail,是邮件的daemon,它处理所有邮件的发送和邮件
递送安排。有许多这样的daemon在系统启动的时候开始运行,系统中有几个runlevel,
它们是一些启动和停止的服务的组合。例如,在通常的Linux系统的runlevel 1上,(这
是单用户模式),就会明显地比多用户模式的runlevel 3需要较少的服务。
缺省情况下,Linux 启动进入 runlevel 3。现在它会启动很多服务在这个runleve
l上,它们中的一些对未连网的家庭PC来说没用。例如,你显然不想运行sendmail来浪费
宝贵的内存。是的,它可以把邮件在root@localhost和someuser@localhost两个本地用
户间发来发去,但是这会消耗系统资源,而且没有丝毫用处。
如何从一个runlevel里删去一项服务
在RedHat里,这非常简单。系统管理是RedHat比其他发布强的地方。在以root登录
以后,启动X,然后在一个 xterm 里启动 tksysv ,这是一个图形界面的runlevel编辑
器。
你可以看到六个列,每个runlevel占一个。现在我们仅注意runlevel3就可以了,就
是系统通常启动进入的那个runlevel。每个列都有两部分,上面的是系统启动时开始执
行的服务,下面的是在系统shutdown时停止的服务。你要做的就是选择你想删去的项,
然后按del,就是这样,另外记得在你退出以前保存你的修改。
哪些服务要留下,哪些要删去
事实上,告诉你留哪些很简单。记住,所有的这些办法都是在runlevel 3上有效。
这是几条要点:
kerneld - 如果没有它的话,那什么都工作不起来了!
syslog - 必须保留,来记录log信息。这些log在万一系统出现错误的时候,可以帮助你
看看系统哪里出错了(实际上,在Linux系统里什么错误都不会出现)
keytable - 如果你还想使用键盘的话就得留下这个!
rc.local - 这是那些日常的工作启动的地方,在所有其他的服务都启动以后执行
你仅仅需要上面的4项服务,没有它们,就象有人说的," 一切都歇菜了"
你可能想保留的服务
下面是一些要不要两可的服务,一些你可能想要保留的无关紧要的服务。你可能需
要它们,或者喜欢它们。
crond - 它周期性的运行一些日常的作业,最重要的事情就是确保你的log文件不会太大
。你可以在你需要的时候来运行它。
atd - 如果你想要使用 at ,你就需要这个deamon,也就是说,作业按你指定的时间来
执行,在一个多用户的24小时都不停机的大系统中,人们通常使用它来指定在晚上运行
一些非常繁重的计算任务。但是在简单的家用机器上,一般不怎么使用,毕竟你是使用
它的唯一的人。
gpm - 它可以让你在文本模式下使用鼠标,它仅在你工作在文本模式下的时候才有用,
而当你工作在X下的时候就是一种浪费。
节省磁盘空间
事实上,这里你没有什么可做的,除了删掉一些你不想要的包。RedHat有一个极好
的,很容易使用的包管理系统,它会记录你硬盘上的几乎所有的非用户文件。每个安装
到你的系统里的文件都是这些包的一部分,这些包能够被反安装。
如何删除一个包
在x中以命令行来运行 " glint ",这是一个图形界面的RedHat包管理系统,你会得
到一个图形界面显示你的系统中安装的所有的包。这些包被分类,并以目录列表的形式
显示出来。要删掉一个包,选择它,然后按一下右面的"uninstall"按钮就可以了。
我应该删掉哪些包?
请注意,有一些要紧的包是不应该被删除的。在glint里,通常比较可取的做法是不
要动 base 和 library 的包,除非你确切的知道你到底在做什么。
其他的,看看它们的描述(点 query 按钮)。如果你很久都没有使用一个包的话,
或者预计以后也不会用它,那么删掉它通常是安全的。万一删掉一个包会影响其他的包
的话,glint会告诉你。它很安全。如果你误删了一个一个包,你总能从光盘上重新安装
它的。
结尾
这些仅是你可以试试的建议。Linux你用的越多,尝试的越多,你就会从你的系统中
挤出更多的资源。

原文转自:http://www.ltesting.net