Chinaunix首页 | 论坛 | 博客
  • 博客访问: 393808
  • 博文数量: 74
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-21 17:34
文章分类
文章存档

2011年(1)

2010年(1)

2009年(72)

我的朋友

分类: LINUX

2009-06-22 23:38:58


ubuntu 8.04 服务优化
2008年11月28日 星期五 12:34
在 linux server分类里面已经简略写过了linux服务器服务优化,这里从网上简单整理了一个服务优化说明,和大家分享:

参考:http://javasky.bloghome.cn/posts/183622.html

一、sysv-rc-conf简介
       sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconfig好用。
二、背景知识
1、Ubuntu运行级别
Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。

Ubuntu 的系统运行级别:
*0:关机级别 
*1:单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本 
*2:多用户,但系统不会启动NFS,字符模式,在有些linux系统中,级别2为默认模式,具有网络功能,如ubuntu.debian 
*3:多用户,字符模式,系统启动具有网络功能,redhat常用运行级别 
*4:用户自定义级别 
*5:图形界面模式,redhat常用运行级别 
*6:重启级别 
*S:单用户运行级别,只运行rc.sysinit文件

查看当前运行级别,执行命令:
runlevel
( runlevel 显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别。)

切换运行级别,执行命令:     
int [0123456Ss]
( 即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。)

Linux 系统主要启动步骤:
    1. 读取 MBR 的信息,启动 Boot Manager
            Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个
            版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。
            Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
    2. 加载系统内核,启动 init 进程
            init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
    3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,
       按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启
       动,并指向一个系统中的程序。
            通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是
            /etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动
            目录为 /etc/rc3.d/ 。
    4. 根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg
            Xwindow 为 Linux 下的图形用户界面系统。
    5. 启动登录管理器,等待用户登录
            Ubuntu 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中
            输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/
            文件夹中找到一个名为 S13gdm 的链接)

三、安装sysv-rc-conf
sudo apt-get install sysv-rc-conf

四、使用sysv-rc-conf
sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。

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


后记:
此次使用,提前对希望关闭的服务做了一下记录,由于许多服务并没有和我的笔记本上的ubuntu804完全吻合,所以用“-”临时关闭该服务进行测试。最终我只是关闭了显而易见的一些。个人感觉系统的优化主要体现在安全性能提升,至于运行速度,可能对于个人用户来说提升不大。
阅读(1505) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~