Linux 版 (精华区)

发信人: howdoit (教练让我上场!!!), 信区: Linux
标  题: 精打细算用Linux
发信站: 哈工大紫丁香 (Tue May 18 08:54:42 1999), 转信

《Linux公报》……让Linux更富魅力!

  

                 精打细算用Linux

                       By Vivek Haldar         帆 译

本文第一次发表在PC Quest 1998年第九期上,该刊是印度主要的信息

技术杂志。 

                              目录

      序言 

      节省内存! 

            重新编译内核 

            停止某些服务(service) 

            如何从一个runlevel中删去一个service 

            哪些服务要留下,哪些要删去 

            你可能想保留的服务 

      节省磁盘空间 

            如何删去包(package) 

            我可以删去哪些包? 

      结尾 

序言

    所有的操作系统都要求“给我更多!”—— 它们要求更多的磁盘

空间,更多的内存,很高的cpu工作频率——令人欣慰的是拯救我们这

些没有最新硬件的人的救世主出现了,是的,我说的是Linux。 

    虽然Linux作为网络操作系统很出色,但实际上,作为单用户的操

作系统,工作在未连网的家庭PC上,它也是非常不错的。 

    考虑到这种情况,你有很多方法可以从你的系统中挤出更多的资

源,甚至在一台象仅有8M内存的486这样的老机器上也可以。 

    现在请记住你需要以 root 身份登录到系统来做下面的所有事

情,我们的目的将有两个分支:使内存的使用量最小,和节省磁盘空

间。 

节省内存!

重新编译内核

    内核在没有安装到你的机器里以前就已经被编译好了,但是它是

一个带有所有功能的内核,把每样东西都编译了进去。这就意味着它

比你要专用的大。如果你从内核源代码编译一个你自己的内核的话,

它会比缺省的vmlinuz的内核小100kB以上。此外,这还有助于你了解

如何编译内核。实际上,这十分简单。你要首先设置,就是说你的内

核里都需要什么功能。然后编译它就行了。 

  

    Linux已经发展到了一个很高的阶段,以至于它内核的设置可以是

图形化的。内核的源代码通常在这里:/usr/src/linux。要运行图形

界面的设置程序,执行这个命令 make 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。现在它会启动很多服

务在这个runlevel上,它们中的一些对未连网的家庭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你用的越多,尝试的越多,你

就会从你的系统中挤出更多的资源。 

  

  

  

  

                       版权所有 (C) 1999 NJLUG

           出版于第36期《Linux公报》1999年1月 中文版第三期

                            

  

  


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.804毫秒