Linux服务(Linux services)对于每个应用Linux的用户来说都很重要。关闭不需要的服务,可以让Linux运行的更高效,但并不是所有的Linux服务都可以关闭。今天安装了一次CentOs Linux,发现Linux启动的时候启动了好多服务,大部分都不知道是干什么的。因此着重了解了一下那些Linux服务(Linux services)可以关闭,那些Linux服务(Linux services)不能随意关闭。
在关闭Linux服务之前,需要了解一些概念:
- 什么是Linux服务/后台进程(Linux services/daemons)
- 什么是Linux服务运行级别(Linux runlevels)
- 以及各种用于管理Linux服务(Linux services)的工具。
Linux服务(Linux services)管理工具介绍:
- 可以在命令行下使用 chkonfig 或 ntsysv 命令来管理Linux服务(Linux services)
- 使用具有图形用户界面的 system-config-services 命令。
- GNOME 用户可以使用 系统->管理->服务器设置->Services来管理Linux服务(Linux services)
通常情况下下列Linux服务(Linux services)最好不要关闭,他们是一些系统级的服务,因为我是Linux入门级选手,所以我选择不去动他们。
- acpid, haldaemon, messagebus, klogd, network, syslogd
但笔者最常用的一个十分有用的Linux服务 是sshd,通过ssh连接到Linux上,这个是必不可少的。所以严重建议保留这个。还有,就是SendMail服务,笔者使用的是CentOs Linux 5.2,居然安装时候默认就安装了改服务,因为没有用,所以关闭之。这个服务启动的够慢的。
最后请确定修改的是运行级别 3 和 5。
Linux服务(Linux services):NetworkManager, NetworkManagerDispatcher
NetworkManager 是一个自动切换网络连接的后台进程。很多笔记本用户都需要启用该功能,它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。一些 DHCP 用户可能需要开启它。
Linux服务(Linux services):acpid
ACPI(全称 Advanced Configuration and Power
Interface)服务是电源管理接口。建议所有的笔记本用户开启它。一些服务器可能不需要
acpi。支持的通用操作有:“电源开关“,”电池监视“,”笔记本 Lid 开关“,“笔记本显示屏亮度“,“休眠”, “挂机”,等等。
Linux服务(Linux services):anacron, atd, cron
这几个调度程序有很小的差别。 建议开启
cron,如果你的电脑将长时间运行,那就更应该开启它。对于服务器,应该更深入了解以确定应该开启哪个调度程序。大多数情况下,笔记本/台式机应该关闭
atd 和 anacron。注意:一些任务的执行需要 anacron,比如:清理 /tmp 或 /var。
Linux服务(Linux services):apmd
一些笔记本和旧的硬件使用 apmd。如果你的电脑支持 acpi,就应该关闭 apmd。如果支持 acpi,那么 apmd 的工作将会由 acpi 来完成。
Linux服务(Linux services):autofs
该服务自动挂载可移动存储器(比如 USB 硬盘)。如果你使用移动介质(比如移动硬盘,U 盘),建议启用这个服务。
Linux服务(Linux services):avahi-daemon, avahi-dnsconfd
Avahi 是 zeroconf 协议的实现。它可以在没有 DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务。它跟 mDNS 一样。除非你有兼容的设备或使用 zeroconf 协议的服务,否则应该关闭它。
Linux服务(Linux services):bluetooth, hcid, hidd, sdpd, dund, pand
蓝牙(Bluetooth)是给无线便携设备使用的(非 wifi,
802.11)。很多笔记本提供蓝牙支持。有蓝牙鼠标,蓝牙耳机和支持蓝牙的手机。很多人都没有蓝牙设备或蓝牙相关的服务,所以应该关闭它。其他蓝牙相关
的服务有:hcid 管理所有可见的蓝牙设备,hidd 对输入设备(键盘,鼠标)提供支持, dund 支持通过蓝牙拨号连接网络,pand
允许你通过蓝牙连接以太网。
Linux服务(Linux services):capi
仅仅对使用 ISDN 设备的用户有用。大多数用户应该关闭它。
Linux服务(Linux services):cpuspeed
该服务可以在运行时动态调节 CPU 的频率来节约能源(省电)。许多笔记本的 CPU 支持该特性,现在,越来越多的台式机也支持这个特性了。如果你的
CPU 是:Petium-M,Centrino,AMD PowerNow, Transmetta,Intel
SpeedStep,Athlon-64,Athlon-X2,Intel Core 2 中的一款,就应该开启它。如果你想让你的 CPU
以固定频率运行的话就关闭它。
Linux服务(Linux services):cron
参见 anacron。
Linux服务(Linux services):cupsd, cups-config-daemon
打印机相关。如果你有能在 Fedora 中驱动的 CUPS 兼容的打印机,你应该开启它。
Linux服务(Linux services):dc_client, dc_server
磁盘缓存(Distcache)用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被 Apache 使用。大多数的台式机应该关闭它。
Linux服务(Linux services):dhcdbd
这是一个让 DBUS 系统控制 DHCP 的接口。可以保留默认的关闭状态。
Linux服务(Linux services):diskdump, netdump
磁盘转储(Diskdump)用来帮助调试内核崩溃。内核崩溃后它将保存一个 “dump“ 文件以供分析之用。网络转储(Netdump)的功能跟 Diskdump 差不多,只不过它可以通过网络来存储。除非你在诊断内核相关的问题,它们应该被关闭。
Linux服务(Linux services):dund
参见 bluetooth。
Linux服务(Linux services):firstboot
该服务是 Fedora 安装过程特有的。它执行在安装之后的第一次启动时仅仅需要执行一次的特定任务。它可以被关闭。
Linux服务(Linux services):gpm
终端鼠标指针支持(无图形界面)。如果你不使用文本终端(CTRL-ALT-F1, F2..),那就关闭它。不过,我在运行级别 3 开启它,在运行级别 5 关闭它。
Linux服务(Linux services):hidd
参见 bluetooth。
Linux服务(Linux services):hplip, hpiod, hpssd
HPLIP 服务在 Linux 系统上实现 HP 打印机支持,包括
Inkjet,DeskJet,OfficeJet,Photosmart,Business InkJet 和一部分 LaserJet 打印机。这是
HP 赞助的惠普 Linux 打印项目(HP Linux Printing Project)的产物。如果你有相兼容的打印机,那就启用它。
Linux服务(Linux services):iptables
它是 Linux 标准的防火墙(软件防火墙)。如果你直接连接到互联网(如,cable,DSL,T1),建议开启它。如果你使用硬件防火墙(比如:D-Link,Netgear,Linksys 等等),可以关闭它。强烈建议开启它。
Linux服务(Linux services):ip6tables
如果你不知道你是否在使用 IPv6,大部分情况下说明你没有使用。该服务是用于 IPv6 的软件防火墙。大多数用户都应该关闭它。阅读这里了解如何关闭 Fedora 的 IPv6 支持。
Linux服务(Linux services):irda, irattach
IrDA 提供红外线设备(笔记本,PDA’s,手机,计算器等等)间的通讯支持。大多数用户应该关闭它。
Linux服务(Linux services):irqbalance
在多处理器系统中,启用该服务可以提高系统性能。大多数人不使用多处理器系统,所以关闭它。但是我不知道它作用于多核 CPU’s 或 超线程 CPU’s 系统的效果。在单 CPU 系统中关闭它应该不会出现问题。
Linux服务(Linux services):isdn
这是一种互联网的接入方式。除非你使用 ISDN 猫来上网,否则你应该关闭它。
Linux服务(Linux services):kudzu
该服务进行硬件探测,并进行配置。如果更换硬件或需要探测硬件更动,开启它。但是绝大部分的台式机和服务器都可以关闭它,仅仅在需要时启动。
Linux服务(Linux services):lm_sensors
该服务可以探测主板感应器件的值或者特定硬件的状态(一般用于笔记本电脑)。你可以通过它来查看电脑的实时状态,了解电脑的健康状况。它在 GKrellM 用户中比较流行。查看 lm_sensors 的主页获得更多信息。如果没有特殊理由,建议关闭它。
Linux服务(Linux services):mctrans
如果你使用 SELinux 就开启它。默认情况下 CentOs和Fedora Core 开启 SELinux。
Linux服务(Linux services):mdmonitor
该服务用来监测 Software RAID 或 LVM 的信息。它不是一个关键性的服务,可以关闭它。
Linux服务(Linux services):mdmpd
该服务用来监测 Multi-Path 设备(该类型的存储设备能被一种以上的控制器或方法访问)。它应该被关闭。
Linux服务(Linux services):messagebus
这是 Linux 的 IPC(Interprocess Communication,进程间通讯)服务。确切地说,它与 DBUS 交互,是重要的系统服务。强烈建议开启它。
Linux服务(Linux services):netdump
参见 diskdump。
Linux服务(Linux services):netplugd
Netplugd 用于监测网络接口并在接口状态改变时执行指定命令。建议保留它的默认关闭状态。
Linux服务(Linux services):netfs
该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba 等等。如果你连接到局域网中的其它服务器并进行文件共享,就开启它。大多数台式机和笔记本用户应该关闭它。
Linux服务(Linux services):nfs, nfslock
这是用于 Unix/Linux/BSD 系列操作系统的标准文件共享方式。除非你需要以这种方式共享数据,否则关闭它。
Linux服务(Linux services):ntpd
该服务通过互联网自动更新系统时间。如果你能永久保持互联网连接,建议开启它,但不是必须的。
Linux服务(Linux services):pand
参见 bluetooth。
Linux服务(Linux services):pcscd
该服务提供智能卡(和嵌入在信用卡,识别卡里的小芯片一样大小)和智能卡读卡器支持。如果你没有读卡器设备,就关闭它。
Linux服务(Linux services):portmap
该服务是 NFS(文件共享)和 NIS(验证)的补充。除非你使用 NFS 或 NIS 服务,否则关闭它。
Linux服务(Linux services):readahead_early, readahead_later
该服务通过预先加载特定的应用程序到内存中以提供性能。如果你想程序启动更快,就开启它。
Linux服务(Linux services):restorecond
用于给 SELinux 监测和重新加载正确的文件上下文(file contexts)。它不是必须的,但如果你使用 SELinux 的话强烈建议开启它。
Linux服务(Linux services):rpcgssd, rpcidmapd, rpcsvcgssd
用于 NFS v4。除非你需要或使用 NFS v4,否则关闭它。
Linux服务(Linux services):sendmail
除非你管理一个邮件服务器或你想在局域网内传递或支持一个共享的 IMAP 或 POP3
服务。大多数人不需要一个邮件传输代理。如果你通过网页(hotmail/yahoo/gmail)或使用邮件收发程序(比
如:Thunderbird,Kmail,Evolution 等等)收发程序。你应该关闭它。(笔者在使用CentOs
5.2的时候,居然自动安装了这个服务,关闭之)
Linux服务(Linux services):smartd
SMART Disk Monitoring 服务用于监测并预测磁盘失败或磁盘问题(前提:磁盘必须支持 SMART)。大多数的桌面用户不需要该服务,但建议开启它,特别是服务器。
Linux服务(Linux services):smb
SAMBA 服务是在 Linux 和 Windows 之间共享文件必须的服务。如果有 Windows 用户需要访问 Linux 上的文件,就启用它。
Linux服务(Linux services):sshd
SSH 允许其他用户登录到你的系统并执行程序,该用户可以和你同一网络,也可以是远程用户。开启它存在潜在的安全隐患。如果你不需要从其它机器或不需要从远程登录,就应该关闭它。笔者强烈建议保留该服务,或者说如果说用Linux就不可能不用sshd 服务。
Linux服务(Linux services):xinetd
(该服务默认可能不被安装)它是一个特殊的服务。它可以根据特定端口收到的请求启动多个服务。比如:典型的 telnet 程序连接到 23
号端口。如果有 telent 请求在 23 号端口被 xinetd 探测到,那 xinetd 将启动 telnetd
服务来响应该请求。为了使用方便,可以开启它。运行 chkconfig –list, 通过检查 xinetd 相关的输出可以知道有哪些服务被
xinetd 管理。