许多 Linux 发行版运行着我们大多数人永远不会用到的守护进程。 这些守护进程大多由脚本加载。 这些脚本的位置和名称取决于你的 Linux 发行版。 Slackware 的设置脚本位于/etc/rc.d/rc.*.
在你继续之前,了解 Unix shell 脚本编程绝对是一项优势。 然而,如果你没有编写 Unix shell 脚本的经验,接下来可能是关于 shell 脚本编程的最快速入门。
看一下下面的 shell 脚本
#!/bin/sh echo "hello world" #echo "good bye cruel world" |
上面的代码将回显字符串 "hello world"。 Shell 脚本必须包含以下行
"#!/bin/sh" |
以 '#' 开头的行被认为是注释掉的,因为它们不会被 shell 执行。 大多数启动脚本在加载守护进程时看起来像
if somecondition do something fi |
你想要做的是注释掉以
if |
fi |
如果你想找到守护进程在哪里加载,请在启动脚本中搜索守护进程的名称。 如果我想找到 inetd 在 Slackware 中加载的位置,我会这样做:
$ cd /edt/rc/d $grep -n inetd rd.* |
inetd 允许人们执行诸如 telnet、ftp 和向你的机器发送 talk 请求之类的操作。 如果你从不将你的系统用作服务器或需要远程访问其任何服务,则可以移除 inetd。
lpd 用于使用 lpr 命令在你的打印机上打印文件。 如果你从不在你的 Linux 机器上打印,则可以移除 lpd。 但是,如果你拥有一台 HP Deskjet ™ 打印机并且想要打印,我强烈推荐我整理的名为 dj-printcap 的软件包,该软件包可在以下位置获得:
ftp://sunsite.unc.edu/pub/Linux/system/Printing/dj-printcap.tar.gz
这两个守护进程用于运行 NFS 服务器。 如果你从不将你的 Linux 系统用作 NFS 服务器,则可以安全地移除这两个守护进程。
portmap 守护进程用于处理 RPC 服务。 如果你不运行 NFS 服务器或任何其他 RPC 程序,则可以移除 portmap。
sendmail 是另一个需要相当多内存的守护进程。 如果你从不将你的 Linux 机器用作发送电子邮件的中继,或者你从不在你的 Linux 机器上接收邮件,你可能可以移除 sendmail。 如果你确实从你的 Linux 机器发送电子邮件,大多数电子邮件客户端都可以设置为从另一个邮件服务器发送电子邮件。
你的系统可能启动了其他你不需要的守护进程。 移除你觉得必须移除的。 你必须运行的两个守护进程是 syslogd 和 klogd。