荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: ykwch.bbs@bbs.cqupt.edu.cn (心蓝), 信区: Linux
标  题: 定制自己的Linux应用环境
发信站: 幽幽黄桷兰 (Fri Dec 13 16:05:00 2002)
转信站: SZU!news.tiaozhan.com!news.happynet.org!CQUPT

定制自己的Linux应用环境
  贴出者为 llc
作者:曹江华 本文选自:开放系统世界--赛迪网 2002年12月11日
http://developer.ccidnet.com/pub/disp/Article?columnID=302&articleID=33276&p
ageNO=1
基于开放源代码的Linux给用户提供了这样一个平台:可以根据自己的软、硬件环境,定
制自己的Linux应用环境。因此,根据每个用户不同的应用范围定制应用环境,可以将L
inux系统的性能提升到新的高度。
定制系统服务
Linux在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能
接口,直接面向应用程序和用户。但是,开启不必要或有漏洞的服务则会给操作系统带
来安全和性能上的影响。对于系统安全来说,如果操作系统中的任何一个漏洞,都可能
使整个系统受到攻击。所以,增加系统安全的最佳办法就是尽量监视系统的功能。至于
选择多少服务和功能,要根据工作需求和能力来决定。
下面以root身份运行:
#ntsysv
图1 将不需要的服务和进程前面的*去掉
打开如图1所示的窗口,在此可以开启/关闭每一项系统服务(以Red Flag 3.0为例)。将
不需要的服务和进程前面的*去掉(用空格键),然后重新启动系统,这样就可以使不需
要的服务和进程不再启动。用这种办法可以随时根据需求定制系统服务,不但安全有保
障,而且还能提高系统的性能,一举两得。要保障Linux正常工作,有些系统服务是必须
启动的,例如crond、syslog、keytable、nfs、 kudzu。
为了高效安全地定制系统服务,下面介绍一下各项系统服务的功能。
alsasound Alsa 声卡驱动程序支持。Alsa声卡驱动程序本来是为了一种声卡Gravis Ul
traSound(GUS)而写的,它和OSS/Free 及OSS/Linux兼容。
apmd 用来监视系统用电状态,并将相关信息通过syslogd 写入日志,也可以用来在电源
不足时关机。一般用于笔记本电脑,若是台式机建议关闭。
atd 用At命令调度的任务,也在系统负荷比较低时运行批处理任务。
autofs 需要时自动转载文件系统,不需要时自动卸载。
chargen 端口chargen字符产生的缩写,输出一个可打印字符的旋转序列,用于测试字符
终端设备。
chargen udp udp格式下端口chargen字符产生的缩写,输出一个可打印字符的旋转序列
,用于测试字符终端设备。
crond 根据用户要求周期地运行调度的任务。它比较安全,配置简单,类似Windows中的
计划任务。
dhcpd 提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。
echo 端口echo简单地回应所有为测试连接发送给它的数据。
echo udp udp格式下端口echo简单地回应所有为测试连接发送给它的数据。
gpm 为文本模式下的Linux程序,如MC(Midnight Commander)提供了鼠标的支持。它也支
持控制台下鼠标的拷贝、粘贴操作及弹出式菜单。
inetd 因特网操作服务程序。监控网络管理服务的需求,并在必要的时候启动相应的服
务程序。通常,inetd 管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就关闭了
这些由它管理的服务。
http 它是著名的WWW服务器,可用来提供HTML文件以及CGI动态内容服务。
isdn isdn的守护程序。
keytable 该程序的功能是转载/etc/sysconfig/keyboards里说明的键盘映射表。该表可
以通过kbdconfig工具进行选择,应该使该程序处于激活状态。
kudzu 它是一个硬件检测程序,和Windows中的添加新硬件差不多。如果系统核心支持该
硬件,并且有该驱动程序,就可自动装载。
linuxconf 它是Linux下一个有效的系统配置工具,该服务允许远程运行。
linuxconf web 在Web方式下使用linuxconf。
lpd 系统打印守护程序,负责将lpr等程序提交给打印作业。
medusa 支持Web的浏览器。
mysql 一个快速高效可靠的小型SQL数据库引擎。
ntalk 允许用户把自己的计算机和其它的计算机连接起来,然后向前或向后传送信息。

netfs 负责装载/卸载NFS、Samba、NCP(Netware)文件系统。
network 激活/关闭启动时的各个网络接口。
nfs 一个流行的、基于TCP/IP网络的文件共享协议。该服务提供了NFS文件共享服务,具
体的配置在/etc/ exports文件里。
nscd 该服务负责密码和组的查询,并且缓冲查询结果。如果系统有比较慢的服务(如NI
S和NIS+),则应该启动该服务。
pxe 用于远程无盘的Linux系统启动的服务程序。
pcmcia 主要用于支持笔记本电脑。
rexec 它是一个安全、分散式的远程执行系统,用于集群计算机的平行和连续运行。
random 保存和恢复系统的高质量随机数生成器。这些随机数是由系统一些随机行为提供
的。
routed 该守护程序支持RIP协议的自动IP路由表维护。RIP主要使用在小型网络上,大一
点的网络就需要复杂一点的协议。
rsync 叠加的Ftp Server,允许循环检查。
rsh 远程主机上启动一个shell,并执行用户命令。
rwhod 允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表,与finger
类似。
swat Samba的一个工具包,使用901号端口。
sendmail 邮件服务器。
smb 启动和关闭smbd和nmbd守护程序,以提供SMB网络服务。
snmpd 简单网络管理协议(SNMP)的守护程序。
syslog 是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系
统日志文件。通常应该启动该服务。
xfs X-Window系统的字体服务器。
xinetd 是inetd继承服务,监控网络对各种管理的服务的需求,并在必要的时候启动相
应的服务程序。
以上这些系统服务中,安全隐患比较大的是:rsh、rwhod、rexec、snmp、named、send
mail。对于确实需要的系统服务,应该尽量选用最新的版本程序,并增加其它安全防范

另外,许多Linux产品在系统初始化后缺省地启动X-Window 管理器。如果只编译程序或
编辑配置文件,那么启动X-Window管理器将会消耗大量系统资源。禁用X-Window管理器
的方法是:编辑 /etc/inittab 文件,找到内容为id:5:initdefault的那一行,把它改
为 id:3:initdefault,系统重新启动后将提供命令行登录。当需要运行X-Window管理器
的时候,只要输入startx 就可以了。
根据硬件进行优化
1.CPU
CPU是Linux主机的核心硬件,根据CPU型号在编译时优化以获得最佳性能。在/etc/prof
ile文件中,含有系统环境和启动程序的配置信息,采用-O9 来编译程序时,运行速度也
是最快的。编译时使用-fomit-frame-poinetr选项,程序运行时访问变量会使用堆栈。
使用-mcpu=cpu-type和 -march= cpu-type时,gcc会对针对CPU型号进行优化。
如果CPU是Pentium Pro、PentiumⅡ、PentiumⅢ、AMD K6-2、K6-3、Althon,那么在"/
etc/profile"加入:
CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
-march=pentiumpro -fomit-
frame-pointer -fno-exceptions'
如果CPU是Pentium 、Pentium MMX、AMD K5 、IDT、Cyrix,那么在"/etc/profile"加入

export CFLAGS=-O3 -march=pentium -mcpu=pentium -
ffast-math -funroll-loops -fomit-frame-pointer -
fforce-mem -fforce-addr -malign-double -fno-exceptions
2.硬盘
采用UDMA/33、66、100、133技术的硬盘,其最高传输速率是33MB/s、66MB/s、100MB/s
、100MB/s。从理论上来说,它是IDE硬盘(这里是指PIO MODE4模式,其传输率是16.6M
B/s)传输速率的3~6倍,但是在Linux缺省设置中,DMA却是被禁用的,所以必须将它打
开。我们可以使用/sbin/hdparm程序打开它。hdparm 的一些常用选项如下:
/sbin/hdparm -c1 /dev/hda或hdb或hdc等启用 PCI 总线上的 32 位 I/O模式传输数据

/sbin/hdparm -d1 /dev/hda启用 DMA模式传输数据。
/sbin/hdparm -d1 -X66/dev/hda启用UltraDMA模式传输数据。
获取系统中当前硬盘驱动器的设置列表的方法是(作为root)输入:
$/sbin/hdparm /dev/hda
接着再输入命令:
$/sbin/hdparm -kl /dev/hda
使硬盘在Reset之后仍然保持上述的设置。把一切优化到最佳状态后,请把各种命令添加
到 /etc/rc.d/rc.local 文件中去,使这些命令在每次系统引导时自动运行。
3.内存
在Linux下使用free可以观察内存的使用情况。如果发现Linux只能使用其中的一部分,则
在/etc/lilo.conf 加入append="mem=XXX"就可以,其中XXX是物理内存容量。这样可以
告诉Linux使用全部内存。
如果对计算速度要求很高,可以通过增加内存来实现,使用ramdisk技术。 一个A RamD
isk就是把内存假设为一个硬盘驱动器,并且在它的上面存储文件。假设有几个文件要频
繁的使用,如果将它们加到内存当中,程序运行速度会大幅度提高,因为内存的读写速
度远高于硬盘。划出部分内存提高整体性能,不亚于更换新的CPU。像Web服务器这样的
计算机,需要大量读取和交换特定的文件。因此,在Web服务器上建立RamDisk会大大提
高网络读取速度。
$mkdir /tmp/ramdisk0
$mke2fs /dev/ram0
$mount /dev/ram0 /tmp/ramdisk0
上面这三个命令将会为RamDisk创建一个目录、格式化RamDisk(创建件系统),并把Ra
mDisk装载到目录"/tmp/ramdisk0"中。现在,就可以把它作为一个磁盘分区使用了。
把下面这一行加到你的lilo.conf 文件中去:
ramdisk_size=20000
这样,当键入LILO命令并重新启动后,RamDisk的大小将为20MB。
如果你有512MB以上的内存,划出256MB作为暂存区/tmp,当很多程序用到/tmp,如Web服
务,那么系统性能会大大提高。重新启动后,/tmp 中将被清空。注意:一定要记住保存
RamDisk中有用的东西。
以上介绍了如何根据工作要求定制Linux系统应用环境,最后要强调的是一定要进行系统
备份。

--



我爱蓝水晶
※ 来源:·幽幽黄桷兰 bbs.cqupt.edu.cn·[FROM: BelovedGirl]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店