胜利社区

搜索

[咨询求助] 有好心人给传一个Linux的教程吗?

[复制链接]
分享到:
发表于 2010-5-26 10:40 | 显示全部楼层 |阅读模式 来自:LAN
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
 楼主| 发表于 2010-5-26 10:51 | 显示全部楼层 来自:LAN
正好我安装了一个SUSE 11,但是SUSE的操作手册不全面,想找一份详细的关于命令行的参考参考
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

旧房翻新
 楼主| 发表于 2010-5-26 14:59 | 显示全部楼层 来自:LAN
这个LINUX难道大家不感兴趣吗?
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

发表于 2010-5-26 17:43 | 显示全部楼层 来自:LAN
这个版本,没用过啊一直用red企业板了
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-26 22:44 | 显示全部楼层 来自:LAN
这个版本,没用过啊一直用red企业板了
飞呀飞 发表于 2010-5-26 09:43 [url=https://www.slit.cn/redirect.php?goto=findpost&pid=13844989&ptid=757692]



    这个版本的LINUX是最华丽的版本之一,安装完成后会自动给大部分的硬件安装驱动。别的不说,单说GRUB引导界面就已经比其他版本的要华丽不少了~~~~~~~
我也是看上了他的易用性才用的。据说可以安装完就直接实现桌面3d特效~~~~~(但是本人一直没成功,反而把系统给弄坏了,又重装了一次)
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-29 08:22 | 显示全部楼层 来自:LAN
又沉了~~~~~~~~~~~~~~~~
悲剧了
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

发表于 2010-5-29 15:04 | 显示全部楼层 来自:山东省
Linux必学的60个命令
Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。

不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。

◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。

login

1.作用

login的作用是登录系统,它的使用权限是所有用户。

2.格式

login [name][-p ][-h 主机名称]


3.主要参数

-p:通知login保持现在的环境参数。

-h:用来向远程登录的之间传输用户名。

如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。

一般界面是这样的:

Manddrake Linux release 9.1(Bamboo) for i586
renrel 2.4.21-0.13mdk on i686 / tty1
localhost login:root
password:


上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。

登录后会看到下面这个界面(以超级用户为例):

[root@localhost root]#
last login:Tue ,Nov 18 10:00:55 on vc/1


上面显示的是登录星期、月、日、时间和使用的虚拟控制台。

4.应用技巧

Linux是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。

例如,用户登录后,按一下“Alt+F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+F1”键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。

shutdown

1.作用

shutdown命令的作用是关闭计算机,它的使用权限是超级用户。

2.格式

shutdown [-h][-i][-k][-m][-t]


3.重要参数

-t:在改变到其它运行级别之前,告诉init程序多久以后关机。

-k:并不真正关机,只是送警告信号给每位登录者。

-h:关机后关闭电源。

-c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。

-F:在重启计算机时强迫fsck。

-time:设定关机前的时间。

-m: 将系统改为单用户模式。

-i:关机时显示系统信息。

4.命令说明

shutdown命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。

halt

1.作用

halt命令的作用是关闭系统,它的使用权限是超级用户。

2.格式

halt [-n] [-w] [-d] [-f] [-i] [-p]


3.主要参数说明

-n:防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。

-w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。

-f:没有调用shutdown,而强制关机或重启。

-i:关机(或重启)前,关掉所有的网络接口。

-f:强迫关机,不呼叫shutdown这个指令。

-p: 当关机的时候顺便做关闭电源的动作。

-d:关闭系统,但不留下纪录。 

4.命令说明

halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。 

reboot

1.作用

reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。

2.格式

reboot [-n] [-w] [-d] [-f] [-i]


3.主要参数

-n: 在重开机前不做将记忆体资料写回硬盘的动作。

-w: 并不会真的重开机,只是把记录写到/var/log/wtmp文件里。

-d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。

-i: 在重开机之前先把所有与网络相关的装置停止。

install

1.作用

install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。

2.格式

(1)install [选项]... 来源 目的地

(2)install [选项]... 来源... 目录

(3)install -d [选项]... 目录...

在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。

3.主要参数

--backup[=CONTROL]:为每个已存在的目的地文件进行备份。

-b:类似 --backup,但不接受任何参数。

-c:(此选项不作处理)。

-d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。

-D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中有用。

-g,--group=组:自行设定所属组,而不是进程目前的所属组。

-m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。

-o,--owner=所有者:自行设定所有者 (只适用于超级用户)。

-p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。

-s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。

-S,--suffix=后缀:自行指定备份文件的<后缀>。

-v,--verbose:处理每个文件/目录时印出名称。

--help:显示此帮助信息并离开。

--version:显示版本信息并离开。

mount

1.作用

mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。

2.格式

mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir


3.主要参数

-h:显示辅助信息。

-v:显示信息,通常和-f用来除错。

-a:将/etc/fstab中定义的所有文件系统挂上。

-F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。

-f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。

-t vfstype:显示被加载文件系统的类型。

-n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。

4.应用技巧

在Linux和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备 ,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。 在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。

(1)Linux可以识别的文件系统

◆ Windows 95/98常用的FAT 32文件系统:vfat ;

◆ Win NT/2000 的文件系统:ntfs ;

◆ OS/2用的文件系统:hpfs;

◆ Linux用的文件系统:ext2、ext3;

◆ CD-ROM光盘用的文件系统:iso9660。

虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。

(2)确定设备的名称

在Linux中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个IDE设备,hd是Hard Disk(硬盘)的,sd是SCSI Device,fd是Floppy Device(或是Floppy Disk?)。a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、hdd。hda1中的“1”代表hda的第一个硬盘分区 (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。 此外,可以直接检查/var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。

(3)查找挂接点

在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat):

软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom
SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom
SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr


不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。

umount

1.作用

umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。

2.格式

unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir


3.使用说明

umount命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD-ROM,这样就不能用CD-ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户正在使用光盘时,该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。

chsh

1.作用

chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。

2.格式

chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ]


3.主要参数

-l:显示系统所有Shell类型。

-v:显示Shell版本号。

4.应用技巧

前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下:

Changing fihanging shell for cao
Password:
New shell [/bin/bash]: /bin/tcsh


上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。



图1 系统可以使用的Shell类型



从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。

exit

1.作用

exit命令的作用是退出系统,它的使用权限是所有用户。

2.格式

exit

3.参数

exit命令没有参数,运行后退出系统进入登录界面。

last

1.作用

last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。

2.格式

1ast[-n][-f file][-t tty] [-h 节点][-I -IP][-1][-y][1D]


3.主要参数

-n:指定输出记录的条数。

-f file:指定用文件file作为查询用的log文件。

-t tty:只显示指定的虚拟控制台上登录情况。

-h 节点:只显示指定的节点上的登录情况。

-i IP:只显示指定的IP上登录的情况。

-1:用IP来显示远端地址。

-y:显示记录的年、月、日。

-ID:知道查询的用户名。

-x:显示系统关闭、用户登录和退出的历史。

动手练习

上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。

1.一次运行多个命令

在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如:

#last -x;halt


上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。

2.利用mount挂装文件系统访问Windows系统

许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而Red Hat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。

mount可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。因此,只要访问这个文件夹就相当于访问该分区了。首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令:

#mount -t vfat /dev/hda1 /mnt/winc


即表示将Windows的C分区挂到Liunx的/mnt/winc目录下。这时,在/mnt/winc目录下就可以看到Windows中C盘的内容了。使用类似的方法可以访问Windows系统的D、E盘。在Linux系统显示Windows的分区一般顺序这样的:hda1为C盘、hda5为D盘、hda6为E盘……以此类推。上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号“?”,而英文却可以正常显示。我们可以通过加入一些参数让它显示中文。还以上面的操作为例,此时输入命令:

#mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc


现在它就可以正常显示中文了。

3.使用mount加挂闪盘上的文件系统

在Linux下使用闪盘非常简单。Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令:

# mount /dev/sda1 /usb


就能够加挂闪盘上的文件系统。

小知识

Linux命令与Shell

所谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。学习Shell对于Linux初学者理解Linux系统是非常重要的。Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和Linux内核之间的接口程序。如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。当从Shell或其它程序向Linux传递命令时,内核会做出相应的反应。Shell在Linux系统的作用和MS DOS下的COMMAND.COM和Windows 95/98 的 explorer.exe相似。Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。因此,可以说Shell是Unux/Linux最重要的实用程序。

Linux中的Shell有多种类型,其中最常用的是Bourne Shell(sh)、C Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本缺省的Shell是Bourne Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。Linux系统中200多个命令中有40个是bash的内部命令,主要包括exit、less、lp、kill、 cd、pwd、fc、fg等。
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

发表于 2010-5-29 15:08 | 显示全部楼层 来自:山东省
1. 文件系统
1.1. 管理文件系统
1.2. 文件和目录的权限
1.3. 文件属性
1.4. 文件访问控制列表(Access Control Lists,ACL)
2. 软件包管理工具
2.1. apt-get
2.2. apt-cache
2.3. 建立一个混合系统
2.4. 升级指定版本的软件包
2.5. 保持指定软件包的版本
3. Nautilus
3.1. 使用Nautilus脚本扩展文件管理功能
3.2. 性能调整
4. GConf配置系统
5. 国际化(Internationalization,简写为I18N)
6. XFree86中的字体
6.1. 两个字体系统
6.1.1. Xft
6.1.2. X11核心字体系统
6.2. 参考资料
7. Debian桌面系统
7.1. Debian base系统安装
7.2. 安装2.6.10内核,并支持图形化启动界面。
7.3. 安装GNOME中文桌面环境
7.4. 配置“Debian菜单”
7.5. 安装xfce4桌面环境
7.6. 安装NVIDIA显卡驱动程序
7.7. 配置有滑轮的串口鼠标
7.8. 中文字体模糊不清的解决方法
7.9. Firefox
7.9.1. Firefox的常用配置
7.9.2. firefox Extension
7.10. 安装Adobe Reader 7.0 for Linux
7.11. 安装rxvt中文终端
7.12. 安装KDE中文桌面环境
7.13. 安装ALSA多媒体系统
7.14. 使用minicom调试串口设备
7.15. 设置Modem拔号网络
7.16. 用pptp client连接远程VPN服务器
7.17. 使挂载的fat32和ntfs分区正常显示中文名
7.18. 配置Java环境
7.18.1. 安装
7.18.2. 设置JAVA的中文显示
7.19. 在Gnome下安装Fcitx并设置开机自启动
7.20. 在KDE环境下设置fcit开机自启动
7.21. 使用update-alternatives工具配置可选系统
7.22. 安装星际译王
7.23. 播放rmvb、rm格式文件
7.23.1. RealPlayer
7.23.2. totem
7.24. 用xCHM看.chm格式文件
7.25. 安装GDM
7.26. 安装splash主题
7.27. 安装QEMU模拟器
7.28. 生成Debian软件包依赖关系图
7.29. 使用rdesktop连接Windows远程桌面
7.30. 保存GNOME桌面环境中声卡的音量设置
7.31. 屏幕截图
7.32. 访问WebDAV服务
7.33. 安装OpenOffice
7.34. 用gaim登录google talk
7.35. 安装Freemind
7.36. 安装Emacs
8. Debian服务器篇
8.1. 在IBM X335服务器上安装Debian woody 3.0
8.2. 系统性能管理工具
8.3. 安装Zope
8.4. 安装Zope 3.1.0b1
8.5. 安装MySQL数据库
8.6. 安装Samba服务器
8.7. 设置磁盘配额
8.8. 安装OpenLDAP目录服务器
8.9. 安装HylaFAX传真服务器
8.10. 安装Jabberd服务器
8.11. 安装Jabberd2服务器
8.12. 安装MoinMoin服务器
8.13. 安装Trac服务器
8.14. 安装Subversion服务器
9. 系统安全
9.1. 安全等级
9.2. 安全策略
10. Debian系统配置文件说明
10.1. .bash_profile、.bashrc、.bash_history和.bash_logout
10.2. /etc/passwd、/etc/shadow和/etc/group
10.3. /etc/login.defs
10.4. /etc/securetty
10.5. ~/.gnomerc
10.6. ~/.gtkrc.zh_CN
10.7. ~/.gtkrc-2.0
10.8. /etc/modules
10.9. /etc/gdm.conf
10.10. /etc/kde3/kdm/kdmrc
10.11. /etc/services
10.12. /etc/protocols
10.13. /etc/network/interfaces
10.14. /etc/resolv.conf
10.15. /etc/host.conf
10.16. /etc/hosts
10.17. /etc/hostname
10.18. /etc/hosts.allow和/etc/hosts.deny
10.19. /etc/hdparm.conf
11. 名词解释
11.1. inode节点
11.2. ELF(Executable Linking Format)
11.3. 动态链接和静态链接
11.4. 虚拟内存/交换空间
12. 小技巧
List of Tables

1.1. Linux文件系统类型
7.1.
8.1. 访问协议
12.1. 一般设备的设定值
Chapter 1. 文件系统
Table of Contents

1.1. 管理文件系统
1.2. 文件和目录的权限
1.3. 文件属性
1.4. 文件访问控制列表(Access Control Lists,ACL)
文件系统是一个操作系统的重要组成部分,Linux支持各种常用的文件系统。

Table 1.1. Linux文件系统类型

文件系统 类型名称 用途
Second Extended filesystem ext2 最常用的Linux文件系统
Three Extended filesystem ext3 ext2的升级版,带日志功能
Minix filesystem minix Minix文件系统,很少用
RAM filesystem ramfs 内存文件系统,速度超快
Network File System(NFS) NFS 网络文件系统,由SUN发明,主要用于远程文件共享
DOS-FAT filesystem msdos ms-dos文件系统
VFAT filesystem vfat Windows95/98采用的文件系统
NT filesystem ntfs Windows NT采用的文件系统
HPFS filesystem hpfs OS/2采用的文件系统
/proc filesystem proc 虚拟的进程文件系统
ISO 9660 filesystem iso9660 大部份光盘所用的文件系统
UFS filesystem ufs Sun OS所用的文件系统
Apple Mac filesystem hfs Macintosh机采用的文件系统
Novell filesystem ncpfs Novell服务器所采用的文件系统
SMB filesystem smbfs Samba的共享文件系统
XFS filesystem xfs 由SGI开发的先进的日志文件系统,支持超大容量文件
JFS filesystem jfs IBM的AIX使用的日志文件系统
ReiserFS filesystem reiserfs 基于平衡树结构的文件系统

1.1. 管理文件系统
使用mount命令就可在Linux中挂载各种文件系统,如:

debian:~# mount -t vfat /dev/hda1 /mnt/hda1

上面这条命令就把/dev/hda1这个fat分区挂载到了/mnt/hda1目录下。“-t”参数指定文件系统类型,常见的文件类型见上面“Linux文件系统类型”一表的内容。在挂载硬盘时,还有一个“-o”参数,它可指定挂载文件系统时的一些选项,如:

codepage=xxx,指定代码页,如936(简体中文)、437(英文)等。

iocharset=xxx,指定字符集,如utf8、gb2312等。

ro,以只读方式挂载。

rw,以读写方式挂载。

mount命令的参数选项是很丰富的,以上介绍的只是常用一些功能,详细介绍请参考man手册。

使用mkfs命令可以创建文件系统,如:

debian:~# mkfs -t ext2 /dev/fd0 1400

这条命令在软盘上创建一个容量为1.44M的ext2文件系统。

使用fsck命令可以检查文件系统,如:

debian:~# fsck -t ext2 /dev/hda3

使用mkswap命令可以创建swap空间,如:

debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4      #启用新创建的swap空间,停用可使用swapoff命令

设备文件是Linux中一种特殊的文件,它对应每种硬件设备,如硬盘、软驱等。它可以像文件一样对它进行读写操作。设备文件位于/dev目录下,/dev/hda代表第一个IDE硬盘,/dev/fd0代表第一个软驱。/dev/null是一个虚设的设备,它就像一个无底的黑洞,任何对/dev/null的写入都会成功,但数据会消失得无影无踪,没有任何反馈。所以我们经常把不想在屏幕显示的信息全部送到/dev/null中。下面是一个设备文件的信息:

brw-rw----  1 root disk 3, 0 2005-07-07 05:29 /dev/hda

大家注意文件的size列,它是由逗号分隔的两个数字(3,0),第一个值代表主设备号(major device number),第二个值代表次设备号(minor device number)。主设备号对应内核相应的功能,而次设备号对应由驱动程序管理的特定设备。所以同一类设备的主设备号都是相同的,次设备号则不同。内核根据主设备号将I/O的要求导向到适当的驱动程序上,而该驱动程序以次要编号来判断出指定要使用的设备。系统安装同,默认已安装了大部份的设备文件,在/dev目录下可查询到很多的设备文件。但有时我们也需新增一设备文件,这时我们可使用mknod命令,命令格式如下:

mknod -m permissions name type major minor
-m permissions参数可有可无,主要用于设置设备文件的权限
name是所要创建的设备名,要有完整的路径,如/dev/rhda
type是设备文件的类型,c代表字符设备,b代表块设备
major指定设备的主编号
minor指定设备的次编号

使用dumpe2fs device | more可显示文件系统的详细信息。如:

debian:/var/log# dumpe2fs /dev/hdb1 |more
dumpe2fs 1.37 (21-Mar-2005)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          ef214b73-810a-4098-bf01-ab9a85d9c651
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      filetype sparse_super
Default mount options:    (none)
Filesystem state:         not clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              3662848
Block count:              7323624
Reserved block count:     366181
Free blocks:              428630
Free inodes:              3470727
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768       #文件系统中每个块组的大小
Fragments per group:      32768
Inodes per group:         16352
Inode blocks per group:   511
Last mount time:          Thu Jul  7 20:09:57 2005
Last write time:          Thu Jul  7 23:42:51 2005
Mount count:              15
Maximum mount count:      30
Last checked:             Fri Jun 17 05:31:36 2005
Check interval:           2592000 (1 month)
Next check after:         Sun Jul 17 05:31:36 2005
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128

superblock是每个分区中最重要的信息,如果分区的superblock信息被破坏,则分区就不能使用。所以每个分区的superblock都被备份了。如果ext2文件系统的块组大小是32768,则superblock备份就存放在以32769开始的块组中。使用e2fsck -f -b 32769 /dev/hdb1就可用superblock备份信息修复文件系统的superblock

1.2. 文件和目录的权限
Linux系统以安全性高著称,它有完善的文件和目录权限控制机制。使用ls -l命令可查看系统中文件和目录的权限。如:

debian:~# ls -l
drwxr-xr-x   3 root     root       4096 2005-05-05 02:01 SAPGUI
-rw-r--r--   1 root     root      66842 2005-03-27 17:20 Screenshot.png
-rw-r--r--   1 root     root         72 2005-03-03 20:24 setup.log
-rwxr-xr-x   1 root     root        268 2005-03-13 15:44 test
...

最左边的一串字符是文件和目录的权限控制字符串,权限字符串的第一个字母代表文件类型,不同字符代表不同的意思:

-,一般文件

d,目录

l,符号连接

b,块特殊文件

c,字符特殊文件

s,socket套接字

p,命名管道

后面9个字符分成三组,分别代表user(用户),group(组)和other(其它)的许可权限。每组有三个权限位,代表具体的权限:

r,表示文件可读或目录可读,位于三位权限组的第一位置。

w,表示文件可修改或目录可修改,位于三位权限组的第二位置。

x,表示文件可执行或目录中的文件可执行,位于三位权限组的第三位置。

s,表示set UID或set GID。位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序。如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。s权限位是一个敏感的权限位,容易造成系统的安全问题。请在设置时小心,并注意系统中已有的SUID或SGID文件和目录。

t,表示粘着位(sticky)。位于other权限组的第三位置。具有该位的文件和目录只有创建者才能删除。

-,表示没有权限。该字符可出现在任何位置,表示没有许可权限。

当我们在linux中创建一个文件或目录时,系统通过umask环境变量来控制默认的权限位设置。umask的值多为022,在profile文件里设置。设置格式如下:

...
umask 022
...

1.3. 文件属性
使用lsattr和chattr命令可以显示和改变文件属性。

s(secure deletion),当文件被删除时,分配在该文件中的所有块都会清零,并写入磁盘,保证文件的数据被彻底清除,不能被访问。

u(undelete),该属性可保存被删除的文件内容。

c(compress),当文件保存在磁盘时,内核会自动压缩该文件。

S(synchronous),当修改具有该属性的文件时,所有更改将同步写入磁盘。

i(immutable),设置了该属性的文件不允许更改。

a(append only),文件只能以追加模式打开,只有root才能设置或删除主该属性。

d(no dump),具有该属性的文件不能被dump工具备份。

A(no atime),不更新atime值,atime是文件文件的访问时间戳。

1.4. 文件访问控制列表(Access Control Lists,ACL)
传统的Linux文件系统的权限控制是通过user、group、other与r(读)、w(写)、x(执行)的不同组合来实现的。随着应用的发展,这些权限组合已不能适应现时复杂的文件系统权限控制要求。例如,我们可能需把一个文件的读权限和写权限分别赋予两个不同的用户或一个用户和一个组这样的组合。传统的权限管理设置起来就力不从心了。为了解决这些问题,Linux开发出了一套新的文件系统权限管理方法,叫文件访问控制列表(Access Control Lists,ACL)。

要启用ACL,需内核提供ACL支持和安装ACL管理工具。现在的2.6内核都提供ACL支持,在编译内核时只要在file systems分支下,把Ext2 POSIX Access Control Lists或Ext3 POSIX Access Control Lists选中就可以了。用以下命令挂接硬盘启用文件系统ACL。

debian:~# mount -t ext2 -o acl /dev/hda1 /mnt/hda1

我们也可把选项写到/etc/fstab文件中,在需启用acl的分区选项包含acl参数。

ACL有两种,一种是存取ACL(access ACLs),针对文件和目录设置访问控制列表。一种是默认ACL(default ACLs),只能针对目录设置。如果目录中的文件没有设置ACL,它就会使用该目录的默认ACL。要设置ACL,首先要安装管理工具,它们分别是getfacl和setfacl,在debian中只要安装acl软件包即可。

debian:~# apt-get install acl

setfacl工具可为文件和目录ACL,命令格式如下:

setfacl -m <rules> <files>

rules的格式如下,多条规则间可用逗号分隔。

u:uid:perms   #为用户设置ACL,perms为r、w、x的组合
g:gid:perms   #为组设置ACL
o:perms      #为其它组设置ACL
m:perms      #设置有效权限屏蔽

下面是setfacl的实例:

debian:~# setfacl -m u:jims:rw testfile.txt   
#-m选项表示添加或修改文件或目录的权限访问列表

debian:~# setfacl -x u:jims:rw testfile.txt
#-x选项表示删除文件或目录的访问列表

要设置默认的ACL,只在rules前加一个d:,以表示指定一个目录,如:

debian:~# setfacl -m d:o:rx /data

getfacl用以显示文件或目录的ACL,如:

debian:getfacl debian.xml
# file: debian.xml
# owner: jims
# group: jims
user::rwx
group::r--
other::r--

  
tar和dump工具不能备份ACL文件,如果我们要备份ACL文件系统,可以使用star工具。另外,samba可通过--with-acl-support编译选项支持ACL。

Chapter 2. 软件包管理工具
Table of Contents

2.1. apt-get
2.2. apt-cache
2.3. 建立一个混合系统
2.4. 升级指定版本的软件包
2.5. 保持指定软件包的版本
2.1. apt-get
软件包管理是区分不同发行版的一大特征,如RedHat使用RPM软件包来管理软件,Debian使用Deb软件包来管理软件。apt-get是Debian的Deb软件包管理工具,它的最低底层还是调用dpkg包管理程序,通过apt-get工具可使我们很好地解决软件包的依赖关系,方便软件的安装和升级。它是Debian发行版的最大特色,一定要好好掌握。

要使用好apt-get就要配置好一个名为sources.list的资源列表,资源列表指向Debian系统的软件库,apt-get会从该软件库安装各种软件包。sources.list文件位于/etc/apt目录下,下面是Sarge、Etch和Sid三个版本的写法,你可任选一种,最好不要多版本混用:

#sources.list for Sarge(stable):
deb [url]http://http.us.debian.org/debian stable main contrib non-free
deb [url]http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb [url]http://security.debian.org stable/updates main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src [url]http://http.us.debian.org/debian stable main contrib non-free
#deb-src [url]http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

#sources.list for Etch(testing):
deb [url]http://http.us.debian.org/debian testing main contrib non-free
deb [url]http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb [url]http://security.debian.org testing/updates main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src [url]http://http.us.debian.org/debian testing main contrib non-free
#deb-src [url]http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free

#sources.list for Sid(unstable):
deb [url]ftp://ftp.us.debian.org/debian unstable main contrib non-free
deb [url]ftp://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src [url]http://http.us.debian.org/debian unstable main contrib non-free
#deb-src [url]http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

sources.list文件的内容决定了Debian的版本。安全更新只存在于stable和testing版中,unstable没有安全更新。进入stable的软件都经过严格的依赖测试和安全测试,所以如果你想系统稳定,用于工作,最好使用stable,如果你想使用最新版的软件,就使用testing或unstable。Woody、Sarge和Sid是Debian 3.x三个版本中的代号,我们一般都是以代号来称呼debian不同版本。所有Debian发行版的代号全都取自电影Toy Story,Woody是那个牛仔,Sarge是绿色塑胶军队的领导,Sid是破坏玩具的小孩。

apt-get update

更新软件包信息库。在Debian中,软件包是通过一个数据库来管理的,通过这个数据库中可跟踪你系统中已安装、没有安装和现在可安装的软件包信息。apt-get安装软件包时就是依靠这个数据库来解决软件包间的依赖关系,从而可自动安装相关软件。我们需定期运行该命令,从而保持数据库的信息为最新。

apt-get install package_name1 package_name2 package_name3 ...

安装软件包。如果软件包需其它软件包支持,apt-get会通过搜索软件包数据库找到这种依赖关系,一起下载相关软件。在一个命令行中可同时安装多个软件包,中间用空格隔开即可。安装的软件包默认会存放在/var/cache/apt/archives目录下,以便以后重新安装。如果已安装的软件包损坏了,你可通过--reinstall选项来重新安装。如:

# apt-get --reinstall install package_name

  
在需安装的软件包名后加一个减号会删除软件包,如:apt-get install package_name-。

只是下载软件,不解包和安装使用-d选项,如:

# apt-get -d install package_name

使用--dry-run选项可使apt-get在安装软件包前进行测试,如:

# apt-get install package_name --dry-run

Debian软件包的名字和软件名不同,所以在安装前如不知道软件包的名字,可到Debian的官方软件库查询,网址是:[url]http://www.debian.org/distrib/packages/。或者用下面介绍的apt-cache search package_name命令来查询。

apt-get remove package_name1 package_name2 package_name3 ...

删除软件包。如果你想删除没用的软件包,只要使用该命令即可。如果你想把该软件的配置文件也删除,可以用--purge选项,如:

# apt-get --purge remove package_name

  
类似地,在删除软件包名后加一个加号会安装软件包,如:apt-get remove package_name+。

apt-get source package_name1 package_name2 package_name3

下载软件包的的源码版本。

apt-get upgrade package_name1 package_name2 package_name3 ...

软件包升级功能是APT系统这么成功的主要原因。通过该命令,我们就可把软件升级到最版本。在使用该命令前,最好先运行apt-get update命令,以更新软件包数据库。但该方案不是更新系统最好的方法,一些包会因为包依赖问题而保留(kept back)一些旧的软件包。Debian提供了一个更好的升级方案,就是用dis-upgrade。下面一节会详细介绍。

apt-get dist-upgrade

更新整个Debian系统。可从网络或本地更新整个系统。它会重新安排好包的依赖性。如果有些包由于一些原因实在不能更新,我们可通过以下命令查询原因:

# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

  
用apt-show-versions -u可获得可升级软件包的列表。该命令还有一些有用的选项,可用-h选项查看详细帮助,了解更多功能。

apt-get clean

删除下载了的软件包,当我们通过apt-get安装软件包时,APT会把软件包下载到本地/var/cache/apt/archives/目录。该命令会删除该文件夹内的除锁住外的所有软件包。

apt-get autoclean

删除已下载的旧版本的软件包。该命令类似于上面的命令,但它会有选择地删除旧版本的软件包。

apt-get dselect-upgrade

通过dselect的“建议”和“推荐”功能更新系统。dselect是Debian中一个功能强大的包管理工具。它可帮助用户选择软件包来安装,其中一个有用功能是它会建议和推荐安装其它相关软件包。我们可在APT中使用它这个功能。

apt-get check

检查系统中已安装软件包的依赖性。

2.2. apt-cache
apt-cache是一个apt软件包管理工具,它可查询apt的二进制软件包缓存文件。通过它我们可查询软件包的状态信息。

apt-cache show package_name

显示软件的信息,包括版本号,安装状态和包依赖关系等。

apt-cache search package_name

搜索软件包,可用正则表达式。

apt-get是命令行方式的dpkg前台程序,不喜欢命令行方式的朋友也可以试试aptitude和synaptic这两个软件包。aptitude是一个字符界面的dpkg前端程序,synaptic是一个GTK界面的dpkg前端程序。

2.3. 建立一个混合系统
我们有时喜欢用一个Debian版本作为主系统,并使用其它版本的软件包,如我们用testing版为主系统,但有时又会用到unstable版里的新软件包。设置主系统你需编辑/etc/apt/apt.conf文件,在文件中加入以下内容:

APT::Default-Release "version";

这里的version就是Debian的发行版本,包括stable,testing和unstable。要从Debian另外的版本中安装软件包,需用以下的APT命令:

# apt-get -t version install package

为使上面的命令正常工作,需要在sources.list包含有相应的version资源连接。

你也可用以下命令指定安装软件包的版本。如:

# apt-get install nautilus=2.2.4-1

  
安装不同版本的软件包容易造成系统包依赖性出错,所以应尽量避免在工作环境中使用。

2.4. 升级指定版本的软件包
apt-show-versions可显示已安装软件包的版本,它提供了一种安全的方法从混合版本环境中升级指定版本的软件包。如以下命令只升级unstable的软件包:

# apt-get install `apt-show-versions -u -b | grep unstable`

2.5. 保持指定软件包的版本
有时你或许不想升级某些软件包,这时我们可“pin”住这些软件包,使它们不能被升级。我们可很容易实现该功能,只要编辑/etc/apt/preferences配置文件。该文件的格式如下:

Package: <package>                       
     Pin: <pin definition>                       
     Pin-Priority: <pin's priority>

Chapter 3. Nautilus
Table of Contents

3.1. 使用Nautilus脚本扩展文件管理功能
3.2. 性能调整
Nautilus是一个文件管理器,与Windows中的资源管理器类似。它是一个开源软件,是GNOME桌面环境默认的文件管理器,项目网址是:[url]http://www.gnome.org/projects/nautilus/。

3.1. 使用Nautilus脚本扩展文件管理功能
Nautilus是GNOME桌面环境中一个优秀的图形化文件管理工具,通过该工具,我们能方便地管理和浏览我们的文件。它是为文件管理而设计的,但它也可作为ftp,smb,WebDAV等基于WEB的应用程序的客户端。除了固定的功能外,我们还可通过编写自已的脚本来扩展它的功能,下面介绍如何使用该功能。

建立一个shell或python、perl等的脚本,并设置可执行权限。

把脚本拷贝到~/.gnome2/nautilus-scripts目录下。

用nautilus访问一次该目录,这样就可通过右击文件,选“脚本”来调用该脚本了。

以后每新建一个脚本,都要使用nautilus访问一次~/.gnome2/nautilus-scripts才能使新脚本生效。这种用户可随意添加脚本的功能使nautilus的功能可无限扩展。Nautilus官方网站上已有很多脚本可下载使用。网址是:[url]http://www.gnome.org/projects/nautilus/。

3.2. 性能调整
Nautilus文件管理器是Gonme中使用频率最高的工具之一,下面介绍几个提高Nautilus性能的方法,使我们能有效地使用该工具。

在Nautilus中,与性能相关的首选项通常都可有三个可选项值,通过调整这三个选项值可达到调整Nautilus性能的目的,这三个选项值分别是:

总是(always)---对本地文件和其它文件系统上的文件都有效。性能最差,占用CPU资源和网络带宽最多。

本地文件(local_only)---只对本地文件有效。性能较好,能减少对CPU资源的占用。

从不(never)---选项无效。性能最好,能大大减少CPU资源和网络带宽的占用。

下面介绍使用这些选项的首选项,每一个首选项代表Nautilus的一个功能。你可用上面介绍的选项值进行配置,以达到性能最优。

图标中显示文字(show_icon_text)

该选项的功能是控制是否在图标中显示文件中的内容片段。可通过以下命令设置为never:

# gconftool-2 --type string --set /apps/nautilus/preferences/  show_icon_text never

此外,还可通过Nautilus菜单的“编辑--首选项--预览--图标中显示文字”路径进行设置。

显示缩略图(show_image_thumbnails)

该选项控制是否在文件管理器内显示图像的缩略图。可通过以下命令设置为never:

# gconftool-2 --type string --set /apps/nautilus/preferences/  show_icon_text never

此外,还可通过Nautilus菜单的“编辑--首选项--预览--显示缩略图”路径进行设置。

预听声音文件(preview_sound)

该选项控制是否预听声音文件。可通过以下命令设置为never:

# gconftool-2 --type string --set /apps/nautilus/preferences/preview_sound never

此外,还可通过Nautilus菜单的“编辑--首选项--预览--预听声音文件“路径进行设置。

统计项目数量(show_directory_item_counts)

该选项控制是否显示文件夹内项目的数量,如果文件夹内的文件很多,开启该选项将使文件夹的打开速度减慢。建议关闭该功能。设置方法如下:

# gconftool-2 --type string --set /apps/nautilus/preferences/  show_directory_item_counts never

此外,还可通过Nautilus菜单的“编辑--首选项--预览--统计项目数量\\“路径进行设置。

Chapter 4. GConf配置系统
GConf是一个应用程序参数配置系统,它可集中存储和管理各种应用程序的配置参数,就象Windows平台的注册表。该系统对系统管理员来说是很有用的,系统管理员可通过该工具方便地管理他们的系统。GConf还有一个非常COOL的功能,就是“process transparent”(进程无关性),也就是说,如果我在一个应用程序中修改了一个参数,马上其它使用同一参数的应用程序同样会感受到参数的改变。下面我将会详细介绍GConf系统的配置和使用。网上资源:[url]http://www.gnome.org/projects/gconf/

Chapter 5. 国际化(Internationalization,简写为I18N)
国际化是指软件能用于多国语言环境的能力。在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置:

LC_COLLATE

定义该环境的排序和比较规则

LC_CTYPE

用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。

LC_MONETARY

货币格式

LC_NUMERIC

非货币的数字显示格式

LC_TIME

时间和日期格式

LC_MESSAGES

提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。

LANG

LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。

LC_ALL

它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

一个例子:

设置前,使用默认locale:
debian:~# locale
LANG="POSIX"
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

设置后,使用zh_CN.GDK中文locale:
debian:~# export LC_ALL=zh_CN.GBK
debian:~# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=zh_CN.GBK

"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

在Debian中安装locales的方法如下:

通过apt-get install locales命令安装locales包

安装完成locales包后,系统会自动进行locale配置,你只要选择所需的locale,可以多选。最后指定一个系统默认的locale。这样系统就会帮你自动生成相应的locale和配置好系统的locale。

增加新的locale也很简单,用dpkp-reconfigure locales重新配置locale即可。

我们也可手动增加locale,只要把新的locale增加到/etc/locale.gen文件中,再运行locale-gen命令即可生成新的locale。再通过设置上面介绍的LC_*变量就可设置系统的locale了。下是一个locale.gen文件的样例。

# This file lists locales that you wish to have built. You can find a list
# of valid supported locales at /usr/share/i18n/SUPPORTED. Other
# combinations are possible, but may not be well tested. If you change
# this file, you need to rerun locale-gen.
#

zh_CN.GBK GBK

zh_CN.UTF-8 UTF-8

要在Shell中正常显示系统的中文提示信息和支持中文输入。LANG和shell的编码配置需一致,并安装有中文locale。如:LANG和shell的编码都配置成zh_CN.utf8,并安装有zh_CN.utf8这个locale。如果shell和LANG配置不同,则中文显示乱码;如果LANG里设置的locale没有安装,则不能显示系统的中文提示信息,只会显示英文提示信息。

Chapter 6. XFree86中的字体
Table of Contents

6.1. 两个字体系统
6.1.1. Xft
6.1.2. X11核心字体系统
6.2. 参考资料
字体设置在X系统中是一项较复杂而又非常重要的内容,字体是我们一进入X window就必须整天面对的,清晰、美观的字体会使我们工作起来赏心悦目,轻松愉快。XFree86是X系统在X86架构中的免费实现(现在好象不是GPL的了),也是现在Linux系统默认的X系统。为了设置好字体,我们需了解XFree86系统中的字体系统的原理和实现技术。只是照抄网上的设置可能也可配置出一套效果不错的字体,但这样我们只会知其然而不其所以然,不能融会贯通,灵活应用。请随我慢慢进入XFree86中的字体系统,一窥其中的奥秘。

  
有关X系统和XFree86的资料可参考我整理的X window学习笔记,里面对这两个系统的历史渊源有详细介绍。

6.1. 两个字体系统
XFree86系统有两套的字体系统,这也是为什么X window中字体设置较复杂的原因之一。这两套的字体系统分别是:核心X11字体系统和Xft字体系统。核心X11字体系统是应用最广泛的一套字体系统,所有的X系统都支持。Xft字体系统是一个新的字体技术,只能用在基于XFree86系统的X系统上,但该套字体系统配置简单,容易使用,将是未来发展的方向。

6.1.1. Xft
Xft是一个library,它没有自已的配置机制,它依靠fontconfig库来配置和定制字体,Xft负责字体的显示。也就是说,fontconfig是一种让X系统可以找到某种字体的库,而Xft是负责在X系统中把fontconfig库找到的字体如何显示出来的库。所以讨论Xft字体配置其实就是讨论fontconfig。fontconfig包含在XFree86发布版中。

fontconfig的作用:

自动搜索字体路径,发现新拷贝的字体。

当需显示的字体不存在时,会自动选择其它字体代替显示。这也就是我们在美化字体时为什么要调整字体的排列顺序的原因。

配合Xft等X系统的渲染引擎,实现质量的字体输出。

fontconfig的配置文件有三个,一个是系统级的配置文件,位于/etc/fonts/fonts.conf,该目录下还有一个local.conf,一般我们只修改local.conf文件,fonts.conf一般不建议去修改。第三个配置文件是用户主目录下的~/.fonts.conf,它是用户级的字体配置文件,只对当前用户有效。这三个文件的格式是一样的,都是一个XML格式的文件。该XML文件的语法规则在fonts.dtd里定义。详细的配置介绍请参考中国Linux公社中的“Linux高质量字体研究”论坛。

在Xft字体系统中安装新的字体是很简单的,只需把字体文件拷贝到fonts.conf中指定的字体文件目录即可,fontconfig会自动感知新字体。默认的字体目录有四个,分别是:

/usr/share/fonts

/usr/X11R6/lib/X11/fonts/Type1

/usr/local/share/fonts

~/.fonts

把新字体文件拷贝到字体目录后,我们就可用fc-list命令列出新安装的字体,如果没有,可用fc-cache命令手动更新系统字体配置。这样,再运行fc-list就应该可以看到新安装的字体了。使用Xft字体系统是不用配置/etc/X11/XF86config-4的,也不用重启X服务器使配置生效。Xft字体系统比起传统的X11核心字体系统来说真的是方便很多。所以它是未来的发展方向。目前,并不是所有的应用程序都支持Xft字体系统。下面是各类程序对Xft字体系统的支持情况介绍:

GTK+2.x和QT程序都可以使用Xft字体系统,但GTK+1.x程序是不支持Xft字体系统的,它只能使用X11核心字体系统。

GTK+2.2版本及以上的程序默认使用Xft字体系统,不用进行配置。GTK+2.0程序如果要使用Xft,则需设置环境变量GDK_USE_XFT=1。

GTK+2.x程序字体配置可通过gnome桌面系统提供的gnome-font-properties工具来配置,该工具可在GNOME桌面环境中的"应用程序"--"桌面首选项"--"字体"中找到。GTK+2.x程序还有一个全局配置文件/etc/gtk-2.0/gtkrc,里面可设置GTK+2.x程序所用字体,该文件的内容如下:

style "gtk-default-zh-cn" {
    font_name = "Bitstream Vera Sans 10,SimSun 10"
    }
    class "GtkWidget" style "gtk-default-zh-cn"

这样GTK+2.x程序的英文会用10号的Bitstream Vera Sans字体显示,中文会用10号的SimSun字体显示。

QT程序的默认字体可在KDE的“控制中心”--“外观和主题”--“字体”中设置,也可运行qtconfig图形化配置工具设置。但好象控制中心的设置优先级高于qtconfig工具。

6.1.2. X11核心字体系统
配置X11核心字体有两步,第一步是建立字体目录,在该目录中包含字体文件。第二步是配置X服务器,使它能使用这些字体。下面我以配置simsun.ttc字体为例说明:

X服务器的字体目录一般默认已建好,如/usr/X11R6/lib/X11/fonts/truetype。我们把simsun.ttc拷贝到该目录。

生成字体索引文件,如果是位图字体则只有一个fonts.dir索引文件,如果是像simsun.ttc这样的可缩放字体则还需要一个fonts.scale索引文件。索引文件可通过工具自动生成,如果是TrueType字体,可使用ttmkfdir工具。其它的字体可用mkfontdir和mkfontscale这两个工具来生成。simsun.ttc是TrueType字体,所以我用ttmkfdir工具生成fonts.scale:

debian:/usr/X11R6/lib/X11/fonts/truetype# ttmkfdir

fonts.dir文件和fonts.scale内容是一样的,所以可直接拷贝。如果不用拷贝的方式,用mkfontdir命令也可以,结果是一样的。

设置XF86config-4配置文件,确定包含上述字体路径和正确加载X字体模块。

Section "Files"
#       FontPath        "unix/:7110"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/X11R6/lib/X11/fonts/truetype"
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/Speedo"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
#       Load    "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
#       Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "speedo"
        Load    "type1"
        Load    "vbe"
        Load    "xtt"
EndSection

字体模块列表:

bitmap:位图字体,支持的字体文件有*.bdf,*.pcf和*.snf。

type1:Type1字体,支持的字体文件有*.pfa和*.pfb,还有CIDFonts。

speedo:Bitstream Speedo字体,支持的字体文件有*.spd。

freetype:TrueType字体,支持的字体文件有*.ttf和*.ttc。,在X.org系统中,xtt模块功能合并到该模块中。

xtt:另一个的TrueType字体模块,支持的字体文件有*.ttf和*.ttc。在X.org系统中,不使该模块,该模块的功能合并到freetype模块中。

重启X服务器后就可使用simsun中文字体了。xlsfonts命令可列出系统中已安装的X11核心字体。

  
如果你是使用Debian系统,则可使用defoma(Debian Font Manager)工具来帮你完成以上设置。该工具的使用请参考本文“Debian的安装和配置”一章的内容。
免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
回复 支持 反对

使用道具 举报

发表于 2010-5-29 15:09 | 显示全部楼层 来自:山东省
GTK+1.x程序使用X11核心字体系统。要在GTK+1.x程序中使用simsun字体,需配置/etc/gtk/gtkrc.zh_CN文件,内容如下:

# This file defines the fontsets for Chinese language (zh) using
# the simplified chinese standard GuoBiao as in mainland China (CN)
#
# 1999, Pablo Saratxaga <pablo@mandrakesoft.com>
#

style "gtk-default-zh-cn" {
fontset = "-*-bitstream vera Serif-medium-r-normal-*-*-120-*-*-p-*-microsoft-cp1252,\
-*-simsun-medium-r-normal-*-12-*-*-*-*-*-gbk-0"
}
class "GtkWidget" style "gtk-default-zh-cn"

这样GTK+1.x程序可显示中文了,中文使用simsun字体,英文使用bitstream vera sans字体。

6.2. 参考资料
Documentation for XFree86[tm] version 4.4.0

XFree86 Font De-uglification HOWTO

XFree86中的字体

Chapter 7. Debian桌面系统
Table of Contents

7.1. Debian base系统安装
7.2. 安装2.6.10内核,并支持图形化启动界面。
7.3. 安装GNOME中文桌面环境
7.4. 配置“Debian菜单”
7.5. 安装xfce4桌面环境
7.6. 安装NVIDIA显卡驱动程序
7.7. 配置有滑轮的串口鼠标
7.8. 中文字体模糊不清的解决方法
7.9. Firefox
7.9.1. Firefox的常用配置
7.9.2. firefox Extension
7.10. 安装Adobe Reader 7.0 for Linux
7.11. 安装rxvt中文终端
7.12. 安装KDE中文桌面环境
7.13. 安装ALSA多媒体系统
7.14. 使用minicom调试串口设备
7.15. 设置Modem拔号网络
7.16. 用pptp client连接远程VPN服务器
7.17. 使挂载的fat32和ntfs分区正常显示中文名
7.18. 配置Java环境
7.18.1. 安装
7.18.2. 设置JAVA的中文显示
7.19. 在Gnome下安装Fcitx并设置开机自启动
7.20. 在KDE环境下设置fcit开机自启动
7.21. 使用update-alternatives工具配置可选系统
7.22. 安装星际译王
7.23. 播放rmvb、rm格式文件
7.23.1. RealPlayer
7.23.2. totem
7.24. 用xCHM看.chm格式文件
7.25. 安装GDM
7.26. 安装splash主题
7.27. 安装QEMU模拟器
7.28. 生成Debian软件包依赖关系图
7.29. 使用rdesktop连接Windows远程桌面
7.30. 保存GNOME桌面环境中声卡的音量设置
7.31. 屏幕截图
7.32. 访问WebDAV服务
7.33. 安装OpenOffice
7.34. 用gaim登录google talk
7.35. 安装Freemind
7.36. 安装Emacs
Linux等开源软件的优点是可配置性强,同一种功能可通过不同的方法来实现,所以我们使用的系统都会有差别,配置方式也不尽相同。为了积累知识和备忘,我把我在安装和配置Debian桌面系统的所有操作都记录在该章节中。

7.1. Debian base系统安装
Debian发行版为我们提供了灵活的安装方式,可以先安装一个很小的(几十兆)base系统,再通过网络更新系统和安装其它应用软件。这种方式要求有较好的网络环境,比如ADSL。我就是采用这种方式安装的,下面是我的具体操作步骤:

到[url]http://people.debian.org/~blade/boot-floppies/netinst-full-pre/下载bootbf2_4_iso.zip安装镜像。解压密码是:“Yes, I know that this data may be harmful!”。注意密码串中的标点符号和空格都要正确输入。解压后,刻录成启动光盘。

用启动光盘启动电脑,在出现boot:提示符状态后直接按回车载入内核。

对硬盘分区,我的分区在安装之前已用分区工具分好,所以可直接挂接。我设置了一个交换分区(swap)和一个linux分区(ext2)。完成格式化后把分区挂接为根分区。接着就可配置主机名和网络了,我的网卡需加载设备驱动模组才能识别,我的网卡是最常见的RTL-8139,选择“ne”模组支持即可。最后选安装基本系统开始安装。

  
如果启动盘找不到硬盘,可用我的方法,先用一些分区工具分好区再装,或下载500多兆那个启动盘,在出现boot:提示符时打bf24启动应该就可以找到硬盘了。

安装完基本系统后,需配置系统的启动信息。Debian默认使用lilo做为启动管理器,我的系统中本来已有windows XP系统,我用lilo来统一管理双系统的启动,所以我把lilo安装到MBR中。

取出光盘重启电脑,成功启动Linux后,系统会自动运行base-config程序进行系统的初始配置,配置的内容有:

时区设置:亚洲/上海

设置root用户密码和启动shadow

设置sorucelist为http方式

我不想用exim作为我的邮件客户端,所以不配置exim程序。

进入Debian系统后,首先配置ADSL拔号程序,运行pppoeconfig进行配置。按提示填上ADSL帐号和密码即可。注意,eth0的网关不要设,否则会连接不上外网。

成功连接Internet后就可进行下一步安装了,首先把系统升级到testing。把/etc/apt/sources.list里所有的stable改成testing。再运行apt-get update获取最新的软件包信息,最后运行apt-get dist-upgrade更新整个系统。以后升级系统中的软件只需运行apt-get update和apt-get upgrade两步即可。apt-get dist-upgrade只用于debian系统版本的升级,如stable升级到testing。

更新完系统后,需运行lilo -v -v -v更新启动信息,否则在系统重启时会出现LI两个字符后停住,不能正常启动系统。

7.2. 安装2.6.10内核,并支持图形化启动界面。
光盘上的内核较旧,所以成功安装完成系统后,一般都要更新内核,以支持更多的硬件和提高系统性能。在Debian发行版中,更新内核也可使用apt-get install kernel-image-2.x.x方式来直接更新。但这样更新有两个问题,一是内核包的更新要滞后于Linux内核的更新速度,也就是说采用该方式你用不到最新的内核;二是内核包不是针对你的计算机编译的,所以性能和配置可能会不符合你的要求。我一般不用这种方式更新我的内核,而是采用直接编译内核源码,再用make-kpkg命令打包的方式来安装。make-kpkg是Debian的内核打包工具,它可编译Linux源码,并打包成Debian格式的内核安装包。这样我们即可使用最新的Linux内核,又可用Debian的方式安装和管理内核包,一举两得。现在来看看具体的安装过程,我把2.4.20内核更新到最新的2.6.10。

到[url]http://www.kernel.org下载最新的2.6.10内核,解压到/usr/src目录下。

安装编译2.6内核所需的软件

# apt-get install kernel-package ncurses-dev fakeroot module-init-tools

在/usr/src/linux-2.6.10目录下运行以下命令配置和编译新内核:

# make menuconfig
# make-kpkg clean
# fakeroot make-kpkg --revision=mykernel.1.0 kernel_image

  
如果编译失败,可用make clean和make menuconfig重新配置和编译。配置信息默认会保存在/usr/src/linux-2.6.10/.config文件中。

内核编译完成后在/usr/src目录下就会生成一个kernel-image-2.6.10_mykernel.1.0_i386.deb软件包,用以下命令安装:

# dpkg -i kernel-image-2.6.10_mykernel.1.0_i386.deb

这样,在/boot目录下会生成System.map-2.6.10,vmlinuz-2.6.10文件。在安装内核时会提示是否制作启动盘和是否自动配置LILO,我都选择NO。用手动方式设置LILO。打开/etc/lilo.conf文件,修改相关部份的内容,修改的内容如下:

...
#使用图形菜单
bitmap=/boot/coffee.bmp
bmp-colors=14,11,,15,9,0
#bmp-table=120p,173p,1,15,17
bmp-timer=254p,432p,1,0,0
# Installs the specified file as the new boot sector
# You have the choice between: bmp, compat, menu and text
# Look in /boot/ and in lilo.conf(5) manpage for details
#
install=bmp
...
#内核配置
default=Linux2.6.10

image=/boot/vmlinuz-2.6.10
        label=Linux2.6.10
        read-only
#       restricted
#       alias=1

image=/boot/vmlinuz-2.4.20-bf2.4
        label=Linuxold
        read-only
        optional
#       restricted
#       alias=2
...

用lilo -v -v -v更新启动信息。如果没有出错信息则可重启电脑,默认是以新内核来启动的。用上下光标可选择不同的启动内核。

  
如想用dpkg -i 重新安装相同内核,要做一些清理工作。需把/boot/System.map-2.6.10、/boot/vmlinuz-2.6.10和/lib/modules/2.6.10改名备份起来或删除掉,但为了安全,建议采用改名备份方式。安装时会提示需重启来重建/lib/modules/2.6.10目录,按继续即可。

2.6.10内核配置备忘录

内核配置完成后,在退出配置菜单时如果选择保存配置,则会在当前目录中生成一个.config文件,以文本的形式记录内核的所有配置参数。该配置文件会在下次用make menuconfig命令配置内核时自动导入。我们也可以通过内核配置菜单最下面的导入和存盘功能导入其它内核配置文件和把当前配置以任意的名字保存在其它地方。

Loadable module support-->Module unloading选项可允许卸载已加载的内核模块。通过该功能,我们可以通过rmmod module_name和modprobe module_name命令改变内核模块的加载参数。

如需支持富士FinePix 2800 Zoom数码相机,需选中Device Drivers-->USB support-->UHCI HCD(most Intel and VIA) support支持。如果成功配置,在启动时会自动检测到数码相机,并自动把相机的存储卡挂接在/media/usbdisk目录下。如果对自已机器上的USB设备接口不清楚,可用# lspci -v命令来列出本机的设备信息。

在我的Fosa手提电脑上编译内核2.6.10以支持USB鼠标和触摸板。用lspci -v命令列出本机USB设备的硬件信息如下:

0000:00:01.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07) (prog-if 10 [OHCI])
        Subsystem: Silicon Integrated Systems [SiS] USB 1.0 Controller
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at 000d0000 (32-bit, non-prefetchable) [size=4K]

USB设备接口类型是OHCI的,所以配置内核时选中Device Drivers--->Usb Support--->OHCI HCD support,并把它编译进内核。重启手提电脑,自检时出现如下信息,驱动成功。

ohci_hcd 0000:00:01.2: Silicon Integrated Systems [SiS] USB 1.0 Controller
ohci_hcd 0000:00:01.2: USB HC TakeOver from BIOS/SMM
ohci_hcd 0000:00:01.2: irq 11, pci mem 0xd0000
ohci_hcd 0000:00:01.2: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:01.2: resetting from state 'reset', control = 0x0
ohci_hcd 0000:00:01.2: enabling initreset quirk
ohci_hcd 0000:00:01.2: OHCI controller state
ohci_hcd 0000:00:01.2: OHCI 1.0, with legacy support registers
ohci_hcd 0000:00:01.2: control 0x083 HCFS=operational CBSR=3
ohci_hcd 0000:00:01.2: cmdstatus 0x00000 SOC=0
ohci_hcd 0000:00:01.2: intrstatus 0x00000044 RHSC SF
ohci_hcd 0000:00:01.2: intrenable 0x8000000a MIE RD WDH
ohci_hcd 0000:00:01.2: hcca frame #0003
ohci_hcd 0000:00:01.2: roothub.a 01000203 POTPGT=1 NPS NDP=3
ohci_hcd 0000:00:01.2: roothub.b 00000000 PPCM=0000 DR=0000
ohci_hcd 0000:00:01.2: roothub.status 00008000 DRWE
ohci_hcd 0000:00:01.2: roothub.portstatus [0] 0x00010301 CSC LSDA PPS CCS
ohci_hcd 0000:00:01.2: roothub.portstatus [1] 0x00000100 PPS
ohci_hcd 0000:00:01.2: roothub.portstatus [2] 0x00000100 PPS
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: default language 0x0409
usb usb1: Product: Silicon Integrated Systems [SiS] USB 1.0 Controller
usb usb1: Manufacturer: Linux 2.6.10 ohci_hcd
usb usb1: SerialNumber: 0000:00:01.2
usb usb1: hotplug
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: hotplug
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: no power switching (usb 1.0)
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 2ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
ohci_hcd 0000:00:01.2: created debug files
hub 1-0:1.0: state 5 ports 3 chg ffff evt ffff
usbcore: registered new driver hiddev
ohci_hcd 0000:00:01.2: GetStatus roothub.portstatus [0] = 0x00010301 CSC LSDA PPS CCS
hub 1-0:1.0: port 1, status 0301, change 0001, 1.5 Mb/s
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x301
ohci_hcd 0000:00:01.2: GetStatus roothub.portstatus [0] = 0x00100303 PRSC LSDA PPS PES CCS
usb 1-1: new low speed USB device using ohci_hcd and address 2
ohci_hcd 0000:00:01.2: GetStatus roothub.portstatus [0] = 0x00100303 PRSC LSDA PPS PES CCS
usb 1-1: skipped 1 descriptor after interface
usb 1-1: new device strings: Mfr=0, Product=2, SerialNumber=0
usb 1-1: default language 0x0409
usb 1-1: Product: USB OpticalWheel Mouse
usb 1-1: hotplug
usb 1-1: adding 1-1:1.0 (config #1, interface 0)
usb 1-1:1.0: hotplug
hub 1-0:1.0: port 2, status 0100, change 0000, 12 Mb/s
hub 1-0:1.0: port 3, status 0100, change 0000, 12 Mb/s
usbhid 1-1:1.0: usb_probe_interface
usbhid 1-1:1.0: usb_probe_interface - got id
input: USB HID v1.10 Mouse [USB OpticalWheel Mouse] on usb-0000:00:01.2-1
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
Synaptics Touchpad, model: 1
Firmware: 4.6
180 degree mounted touchpad
Sensor: 18
new absolute packet format
Touchpad has extended capability bits
-> four buttons
-> multifinger detection
-> palm detection
input: SynPS/2 Synaptics TouchPad on isa0060/serio4

/etc/X11/XF86config-4配置文件中与鼠标配置相关的内容如下:

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "Auto"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection
Section "InputDevice"
        Identifier      "Generic Mouse"
        Driver          "mouse"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "Auto"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection

...

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"    #这里的两个Mouse设备标识名要对应上面
        InputDevice     "Generic Mouse"
EndSection

配置内核支持图形化启动界面。以下网站[url]http://www.bootsplash.org/有详细介绍。为了支持图形化启动界面,我们需为内核打补丁。我的内核版本是2.6.10。到[url]http://www.bootsplash.de/files/下载与内核对应的补丁文件bootsplash-3.1.4-2.6.10.diff。用以下命令为内核源码打上该补丁:

# cd /usr/src/linux-2.6.10
# patch -p1 < bootsplash-3.1.4-2.6.10.diff

接着配置内核,选中以下选项,以下所有选项不能以内核模块形式编译,都要直接编译进内核:

Device Drivers --> Block Devices --> Initial RAM disk(initrd) support

Device Drivers --> Graphics Support --> VGA 16-color graphics support

Device Drivers --> Graphics Support --> VESA VGA graphics support

Device Drivers --> Graphics Support --> Console display driver support --> Framebuffer Console support

Device Drivers --> Graphics Support --> Bootsplash configuration --> Bootup splash Screen

  
该选项在打了内核补丁后才会出现。

File systems --> Miscellaneous filesystems --> Compressed ROM file system support (cramfs)

配置内核后就可以用上面介绍的方法重新编译内核了。下一步是安装bootsplash工具。把下面这句加到/etc/apt/source.list里。

deb [url]http://www.bootsplash.de/files/debian/ unstable main

用以下方法安装:

# apt-get update
# apt-get install bootsplash
# apt-get install sysv-rc-bootsplash       该软件包启用进度条和动画

在配置bootsplash时会问你是否安装一个新的bootsplash主题替换已存在的主题。如果你是第一次安装,请选择none,这样将会自动生成一个/boot/initrd.splash映像,并设置一个默认的newlinux主题。

接下来要更新启动器了,我是用lilo的,配置内容如下:

default=Linux2.6.10

image=/boot/vmlinuz-2.6.10
        label=Linux2.6.10
        read-only
        initrd=/boot/initrd.splash       #新增选项,指出映像文件
        vga=791                          #新增选项,设置显示像素1024X768
        append="splash=verbose"          #新增选项,设置显示模式为详细
#       restricted
#       alias=1

vga的取值见下表:

Table 7.1.

Colors 640X480 800X600 1024X768 1280X1024
256(8 bit) 769 or 0x301 771 or 0x303 773 or 0x305 775 or 0x307
32000(15 bit) 784 or 0x310 787 or 0x313 790 or 0x316 793 or 0x319
65000(16 bit) 785 or 0x311 788 or 0x314 791 or 0x317 794 or 0x31A
16.7 Mill.(24 bit) 786 or 0x312 789 or 0x315 792 or 0x318 795 or 0x31B

  
791为十进制表示法,0x317为十六进制表示法。较旧的lilo不支持十六进制,需用十进制表示法。

运行lilo命令更新启动信息,重启电脑就可看到有底图的开机画面了。如果选择append="splash=silent",则不会显示启动信息,只会显示一幅开机图和一条进度条,就象Windows一样。

安装其它主题的方法也很简单,用apt-cache search bootsplash查出主题的名称再用apt-get安装即可,使用Debian就是方便。

用新内核重启时提示VFS不能挂接问题(由kennycx兄分享)

提示出错信息类似以下内容:

VFS:Cannot open root device "hdb2" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic-not syncing: VFS:Unable to mount root fs on unknow-block(0,0)

以下是由网友提供的一些解决方法,以供参考:

原因一:ext2文件格式支持没有编译进内核,不论你使用ext3或其它文件格式,ext2支持都必须直接编译进内核,不能以内核模块形式编译。

原因二:如果使用initrd.img启动系统,则cromfs必须编译进内核。(由西安交通大学的张成分享)

使用Grub启动器代替LiLo启动。

首先用apt-get install gurb安装相关软件。

再用gurb-install /dev/hda命令在分区上创建启动信息。

使用update-grub命令自动生成menu.lst文件。

编辑/boot/grub/menu.lst文件以满足你的需求,最后重启计算机。

  
如果启动失败,可用Live系统(如Knoppix)或rescure模式启动计算机,再mount启动分区,chroot到故障系统来进行修复。

7.3. 安装GNOME中文桌面环境
安装基本的X系统

# apt-get install x-window-system-core

安装GNOME桌面环境

# apt-get install gnome

到现在为止,我们已成功安装完成gnome桌面环境了,但桌面的语言环境默认是英文的,为了能显示中文,我们需安装中文字体和中文locales,开源的中文字体现在很少,且效果都不是很理想,所以Linux中文化还有很多工作要做。其中较好的有文鼎科技贡献的arphic TrueType字体,在Debian中字体包的名字分别是:

ttf-arphic-bkai00mp:文鼎PL中楷(Big5码)

ttf-arphic-bsmi00lp:文鼎PL细上海宋(Big5码)

ttf-arphic-gbsn00lp:文鼎PL简报宋(GB码)

ttf-arphic-gkai00mp:文鼎PL简中楷(GB码)

使用apt-get工具就可方便地安装,并能自动设置好Xft字体系统和X11核心字体系统。如果只是安装文鼎的字体,桌面中文字体的表现不佳,尤其是小字体,会出现模糊不清的情况。台湾的萤火飞(Firefly)在文鼎开源字体的基础上作了修改,形成文鼎PL新宋体(AR PL New Sung,fireflysung.ttf),令字体显示清晰很多,基本上可达到Windows上的效果。所以建议安装,安装方法如下:

把以下的deb源加到/etc/apt/source.list中:

deb [url]http://apt.debian.org.tw unstable main

之后运行以下命令自动安装:

debian:~# apt-get update
debian:~# apt-get install ttf-arphic-newsung

安装完成后就可使用该AR PL New Sung字体了。除了用apt-get工具安装外,我们还可手动安装。详细的安装方法可参考本文“XFree86中的字体”一章的内容。字体文件fireflysung.ttf可到[url]http://www.study-area.org/apt/firefly-font/这个网址,或[url]http://cle.linux.org.tw/fonts/FireFly/这个网址下载。

有版权的中文字体有很多,下面我以最常用的simsun字体为例介绍一下使用defoma(Debian Font Manager)工具安装的过程。全手动的安装过程请参考本文中的“XFree86中的字体”一章中的内容。

把windows系统中Fonts目录下的simsun.ttc拷贝到X系统的字体目录下。字体目录可以是/usr/share/fonts/,也可以是/usr/X11R6/lib/X11/fonts。我把simsun.ttc放到/usr/X11R6/lib/X11/fonts/truetype目录下。为方便管理字体,我需安装defoma字体管理程序。安装方法如下:

  
dfontmgr是defoma的GUI介面,可选安装。

#apt-get install defoma      
#apt-get install x-ttcidfont-conf   这个是truetype字体配置工具可自动生成fonts.dir和fonts.scale文件。
#apt-get install libft-perl libttf2   这些是字体管理需用到的函数库
#defoma-hints truetype simsun.ttc > simsun.hints  
上面这个命令可生成simsum.hints文件,把该文件放到/etc/defoma/hints目录中。该文件的内容根据你的选择配置会有所不
同,下面内容与你实际生成的文件内容会有所区别:
category truetype
begin /usr/X11R6/lib/X11/fonts/truetype/simsun.ttc
Family = Sim-Sun
FontName = SimSun-Medium
Encoding = Unicode
Location = Chinese-China English
Charset = ISO10646-1 GB2312 BIG5 ISO8859-1
UniCharset = GB2312 BIG5 ISO8859-1
GeneralFamily = SimSun
Weight = Medium
Width = Fixed
Shape = Upright
Alias = Sim-SunGB SimSunGB
Foundry = Sim
Priority = 20
X-Family = SimSun
X-ElementAlias=foundry=default:family=simsun:resx=72:resy=72
TTCap = halfwidth-bw=0.5 italic-angle=0.167 no-roblique no-oblique no-ritalic
end

注册字体:
#defoma-font reregister-all simsun.hints
在/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType目录会自动生成fonts.dir和fonts.scale文件,并建立一个到字体文件的链接。
如果要删除字体,请用以下命令,现在当然不用删除了。
#defoma-font unreregister-all simsun.hints

用apt-get install locales安装zh_CN.GB2312,zh_CN.GBK和zh_CN.UTF8三种中文编码环境。并设置UTF-8为系统默认编码

#apt-get install gdm安装Gnome的显示管理器,最后重启系统即可。显示管理器的作用是用来管理X会话,提供图形化的登录界面。

7.4. 配置“Debian菜单”
安装完GNOME后,在应用程序栏中有一个“Debian菜单”项,默认是空白的,什么菜单项也没有。这个“Debian菜单”栏是Debian系统特有的,它参考了一些窗口管理器(FVWM2)的菜单管理方式,设计成一个通用的Debian菜单管理系统,不论你使用什么桌面环境或窗口管理器,在“Debian菜单”栏中都能找到Debian系统所安装的软件。要使用该菜单,需安装menu软件包,并用update-meuns命令生成Debian菜单项。

  
第一次运行update-menus后,需重启X会话才能生成Debian菜单。

基本上每一个Debian系统的应用程序都会有一个菜单配置文件,用以定义该程序的菜单项名称、位置和命令行选项等参数。该配置文件一般位于/usr/lib/menu、/etc/menu或~/.menu目录下。下面是Gnumeric程序菜单项的配置文件格式示例:

?package(gnumeric):\                定义软件包名,每条配置信息要在一行中写完,所以要用反斜杠续行
       needs="X11"\                 定义该菜单项需在X11环境中使用
       section="Apps/Math"\         定义菜单项的路径位置
       title="Gnumeric"\            定义菜单项的标题
       command="gnumeric" \         定义命令和选项
       hints="Gnome,Spreadsheets" \ 定义一些提示信息
       icon="/usr/share/pixmaps/gnumeric.xpm"  定义菜单项的图标

该配置文件一般由Debian软件包管理者维护,在软件安装时通过软件配置脚本,把配置文件拷贝到相应的menu路径,并调用update-menus命令更新“Debian菜单”栏。这样,每安装一个新软件包,在“Debian菜单”栏就可找到它的菜单项了,且不受桌面系统或窗口管理器的限制,实现了统一的菜单界面接口。

有关Debian菜单系统的详细介绍可参考Debian的官方文档,位于[url]http://www.nl.debian.org/doc/packaging-manuals/menu.html/index.html。

7.5. 安装xfce4桌面环境
xfce是一个轻量级的桌面环境,可运行在多种类UNIX平台。它的口号是“让一切运行得更快”。它有自已的一套窗口管理器、文件管理器和面板管理器等组件。安装方法很简单,用以下命令安装即可:

debian:~# apt-get install xfce4

相关的依赖软件包都会自动安装,我是用startx命令启动X系统的。以前我在系统中安装了KDE,所以默认是进入KDE桌面环境。现在我要把默认的桌面环境切换到Xfce4。要实现该功能,我们只要使用update-alternatives命令把默认的窗口管理器换成Xfce4的即可。

可用以命令显示当前系统安装的窗口管理器:

debian:~# update-alternatives --display x-window-manager
x-window-manager - status is manual.
link currently points to /usr/bin/kwin
/usr/bin/kwin - priority 50
/usr/bin/xfwm4 - priority 60
slave x-window-manager.1.gz: /usr/share/man/man1/xfwm4.1.gz
Current `best' version is /usr/bin/xfwm4.

用以下命令设置:

update-alternatives --config x-window-manager

There are 2 alternatives which provide `x-window-manager'.

  Selection    Alternative
-----------------------------------------------
      1        /usr/bin/kwin
*+    2        /usr/bin/xfwm4

Press enter to keep the default
  • , or type selection number: 2
    Using `/usr/bin/xfwm4' to provide `x-window-manager'.

    用startx启动X系统时就会自动进入Xfce4桌面环境了,Xfce的Logo是一个奔跑的小老鼠,喻意小巧、快速。进入Xfce4桌面环境,我们可看到一个很简洁的桌面。屏幕顶部是一条任务栏,屏幕底部是一组快捷按钮。Xfce的中文支持做得不错,界面基本上都是中文的,使用起来很方便。要配置Xfce,我们可点击屏幕底部的“设置”快捷按钮来配置。它会打开一个Xfce配置管理器,可对Xfce桌面环境的窗口管理器、文件管理器和会话管理器等进行配置。通过右击桌面还可显示一个弹出菜单,Xfce所有的功能都可在这里配置和使用。

    用过Xfce后,感觉它的菜单反应速度真的很快,基本上是即点即出。装载程序也比在KDE和GNOME里快了一点。喜欢简洁、快捷桌面环境的朋友赶快安装Xfce试一试吧。

    7.6. 安装NVIDIA显卡驱动程序
    NVIDIA显卡是现时市面上最常用的显卡,下面介绍在Debian系统中NVIDIA显卡驱动程序的安装方法。我的Linux内核是2.6.10,到NVIDIA的官方网站[url]http://www.nvidia.com下载最新for linux IA32的驱动程序。我安装时的最新版本是Version 1.0-7174,下载的驱程文件名为NVIDIA-Linux-x86-1.0-7174-pkg1.run。这个版本的驱动可在2.6内核中正常工作,旧一些的版本在2.6内核的Linux系统中安装会出现问题。具体的安装过程如下:

    修改驱动程序的文件属性为可执行。

    debian:~# chmod +x NVIDIA-Linux-x86-1.0-7174-pkg1.run

    退出X Window到多用户环境下的字符终端模式。在驱动程序所在目录下输入以下命令开始驱动程序的安装。

    debian:~/inst# ./NVIDIA-Linux-x86-1.0-7174-pkg1.run

    安装完成后,修改/etc/X11/XF86config-4文件。在修改前最好把源文件备份一下。

    把显示驱动设置章节的内容改成:
    Section "Device"
            Identifier      "Generic Video Card"
            Driver          "nvidia"
    EndSection

    修改加载模块设置章节的内容,确保加载了以下模块
    Load "glx"

    并取消以模块的加载
    Load "dri"
    Load "GLcore"

    重启X Window,使驱动生效。如果成功安装,在启动X Window时会出现NVIDIA的标志。进入系统后也可用lsmod命令列出加载的nvidia模块信息。

    在/usr/share/doc/NVIDIA_GLX-1.0目录下的README文件中有nvidia驱动程序的安装说明和配置说明。在安装NVIDIA驱动程序时,最好先浏览一下该文档。我们还可通过nvidia-settings程序来调整显卡的参数。

    7.7. 配置有滑轮的串口鼠标
    参考[url]http://www.xfree86.org/4.4.0/里的Mouse Support in XFree86一章的内容,配置XF86Config-4文件,内容如下:

    Section "InputDevice"
            Identifier      "Configured Mouse"
            Driver          "mouse"
            Option          "CorePointer"
            Option          "Device"                "/dev/ttyS0"
            Option          "Protocol"              "IntelliMouse"
            Option          "Emulate3Buttons"       "true"
            Option          "ZAxisMapping"          "4 5"
    EndSection

    关键是要选对Protocol,不要用Auto。可手工配置/etc/X11/XF86config-4文件,也可用dpkg-reconfigure xserver-xfree86命令自动配置。配置后重启X服务器使配置生效。串口鼠标的滑轮可正常工作,左右键同时按可粘贴鼠标选中的内容,相当于Ctrl+v的复制功能。

      
    Protocol不能设为“Auto”,否则,滑轮不能正常使用。
  • 免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-29 15:10 | 显示全部楼层 来自:山东省
    7.8. 中文字体模糊不清的解决方法
    中文字体模糊不清的原因是字体配置不好引起的,有关X window的字体系统在上面已讲过,这里就不再细讲了。现在多数的程序都支持Xft字体系统的fontconfig库,所以调整该字体系统就可使程序达到很好的显示效果。具体调整方法是把以下代码加入到~/.fonts.conf中的<fontconfig>和</fontconfig>元素内。Xft字体的配置文件有三个,其中/etc/fonts/local.conf是本地字体配置文件,我们可在该文件内添加或修改字体配置,但好象新版的Xft的配置文件又有了变化,不使用local.conf文件了。fonts.conf是系统级的字体配置文件,一般不要修改该文件,它通过include指令应用local.conf文件里的配置信息。~/.fonts.conf是用户级字体配置文件,优先级最高。

      
    ~/.fonts.conf默认是没有的,我们可参照/etc/fonts/local.conf手工创建或直接拷贝该文件。

    <!--my fonts additions configure-->
    <!-- 关闭所有10至15号字体的抗锯齿功能-->
    <match target="font" >
       <test compare="more" name="pixelsize" qual="any">
          <double>10</double>
       </test>
       <test compare="less" name="pixelsize" qual="any">
          <double>15</double>
       </test>
       <edit mode="assign" name="antialias" >
          <bool>false</bool>
       </edit>
    </match>

    <!-- 调整文字间距过大问题 -->
    <match target="font">
    <test target="pattern" name="lang" compare="contains">
    <string>zh-tw</string>
    <string>zh-cn</string>
    <string>ja</string>
    <string>ko</string>
    </test>
    <edit name="spacing">
    <const>proportional</const>
    </edit>
    <edit name="globaladvance">
    <bool>false</bool>
    </edit>
    </match>

    <!-- 重排字体显示的优先级,使中英文字体更美观,排在最前面的字体会优先显示,如果没有该字体,则使用下一行的字体,以次类推。 -->
    <alias>
          <family>serif</family>
          <prefer>
             <family>Bitstream Vera Serif</family>
             <family>Times New Roman</family>
             <family>Times</family>
             <family>AR PL New Sung</family>
             <family>AR PL Mingti2L Big5</family>
             <family>AR PL SungtiL GB</family>
             <family>Ming(ISO10646)</family>
             <family>SimSun</family>
             <family>Kochi Mincho</family>
             <family>Baekmuk Batung</family>
          </prefer>
      </alias>

    <alias>
          <family>sans-serif</family>
          <prefer>
             <family>Bitstream Vera Sans</family>
             <family>Arial</family>
             <family>Verdana</family>
             <family>Helvetica</family>
             <family>AR PL New Sung</family>
             <family>Ming(ISO10646)</family>
             <family>AR PL kaitiM Big5</family>
             <family>AR PL kaitiM GB</family>
             <family>Kochi Gothic</family>
             <family>Baekmuk Dotum</family>
          </prefer>
      </alias>

    <alias>
          <family>monospace</family>
          <prefer>
             <family>Bitstream Vera Sans Mono</family>
             <family>Courier New</family>
             <family>Courier</family>
             <family>AR PL New Sung</family>
             <family>Ming(ISO10646)</family>
             <family>Kochi Mincho</family>
             <family>Baekmuk Batung</family>
          </prefer>
      </alias>

    7.9. Firefox
    Firefox是基于Mozilla的一种轻便型Web浏览器,以快速、灵活和功能强大而深得自由软件爱好的青睐。在Debian中有现成的deb软件包,安装很简单方便。用以下命令即可完成Firefox中文版的安装:

    debian:~# apt-get install mozilla-firefox mozilla-firefox-locale-zh-cn

    7.9.1. Firefox的常用配置
    界面字体配置:Firefox是一个GTK+2程序,所以有关Firefox菜单界面的字体配置可参考GTK+2程序字体配置进行配置。

    网页显示字体配置:进入”编辑--首选项--基本信息--字体和颜色“菜单路径设置即可。要网页显示的字体好看和清晰关键是配置好Debian系统的中文字体显示。可参考本学习笔记的相关内容。

    支持Java的配置:

    首先要在firefox中启用java支持功能,在”编辑--首选项--网页特性“路径下把”启用java“这个选项选上。

    接着配置java的插件,下面介绍的是手动配置的方法,如果我们使用上面介绍的Debian方式安装java软件包的话,则这些链接已自动建立好了,不用手工配置的。这里介绍手工配置方式主要是想说明java插件在Foxfire中的配置原理。在正确安装Java运行环境的前题下,进入/usr/lib/mozilla-firefox/plugins/目录。运行以下命令生成到java插件的一个链接:

    debian:/usr/lib/mozilla-firefox/plugins# ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so

    如果你有使用Debian的alternatives配置系统,则在/etc/alternatives目录下应该已有一个firefox-javaplugin.so链接文件指向/usr/lib/j2re1.5-sun/plugin/i386\/ns7/libjavaplugin_oji.so。所以在这里你只需建一个指向该链接的链接即可。如:

    debian:/usr/lib/mozilla-firefox/plugins# ln -s /etc/alternatives/firefox-javaplugin.so libjavaplugin.so

    是不是很复杂,其实归根到底就是要在/usr/lib/mozilla-firefox/plugins目录下建一个到/usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so链接。

    支持在线pdf文件显示:

    以Adobe Reader 7.0 for Linux软件提供的pdf插件为例进行说明。同样,在配置前需完成Adobe Reader 7.0 for Linux软件包的安装,并确保acroread命令所在路径包含在系统环境的搜索路径中,也就是说能在系统任何路径中打acroread命令都能正常启动程序。我的acroread是安装在/usr/local/Adobe/Acrobat7.0/bin目录下的,所以我要把它拷贝到/usr/bin目录下。

    acroread的pdf插件位于/usr/local/Adobe/Acrobat7.0/Browser/intellinux目录下,名为nppdf.so。用以下命令在firefox的插件目录创建一个到该文件的链接即可,如:

    debian:/usr/lib/mozilla-firefox/plugins# ln -s /usr/local/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so

    安装好插件后,如果用firefox点击一个网页中的pdf文件链接,firefox会自动调用acroread程序来显示该pdf文件。

    访问[url]http://toolbar.google.com网址可以安装Google ToolBar工具。

    在FireFox中,可在地址栏打上about:加配置关键字来配置FireFox或者显示一些信息。下面列出一些常用的关键字,以供参考:

    about: -- 显示FireFox版本信息。

    about:config -- 配置FireFox的所有参数。

    about:credits -- 显示开发者及对Mozilla作出贡献的人。

    about:blank -- 打开一个空白页面。

    about:buildconfig -- 显示FireFox的编译时的参数。

    about:cache -- 这个不用介绍了吧,显示缓存内容。

    about:plugins -- 显示已安装的插件信息。

    about:mozilla -- 显示Mozilla宣言。

    默认情况下,Firefox左上角的Google搜索栏不能直接打入关键字进行搜索,而是直接链接到google的主页上,很多人都不喜欢这种设置,也包括我自己啦。下面让我们修改一下Firefox的配置,使我们能在搜索栏上直接搜索。首先,在地址栏上打入about:config进入配置面页,过滤google关键字可找到两个选项,分别是:browser.search.param.Google.1.custom和browser.search.param.Google.1.default。把这两个选项的值都删掉。现在,我们就可在搜索栏直接用google进行搜索。

    现在Google已提供Firefox的Toolbar插件,在Toolbar中就可直接搜索了,Firefox自带的搜索栏都很少用了。

    7.9.2. firefox Extension
    firefox可通过Extension扩展自身的功能,现在网上已有大量的扩展套件可供下载。每个扩展套件是使用XUL开发的xpi程序,在网上点击即可安装。下面介绍我接触和使用过的一些套件。

    Google Toolbar,Google工具栏。下载地址:[url]http://toolbar.google.com/

    Web Developer Extension,Web开发者工具栏,可实时控制CSS、图片、cookies等元素,是网页设计师的必备套件。下载地址:[url]http://chrispederick.com/work/webdeveloper/

    sage,一个RSS阅读器扩展套件。下载地址:[url]http://sage.mozdev.org/

    ScrapBook,抓取网页的工具,可把喜欢的页面保存下来。[url]http://amb.vis.ne.jp/mozilla/scrapbook/

    7.10. 安装Adobe Reader 7.0 for Linux
    在Debian系统中暂时还没有acroread包,所以我们需到Adobe网站下载源码或rpm文件安装。下载的地址是:[url]ftp://ftp.adobe.com/pub/adobe/reader/unix/7x/7.0/。我下载的是rpm包,用rpm -ivh安装即可。默认它是安装在/usr/local/Adobe/Acrobat7.0目录。

    7.11. 安装rxvt中文终端
    rxvt是一个功能强大的的终端,它占用资源少,启动速度快,很多人都喜欢使用它。所以我在这里介绍一下Debian系统中rxvt中文终端的安装。在Debian中有很多个rxvt包,可用apt-cache search rxvt命令查询。主要有以下三类,一个就叫rxvt,不支持中文显示;一个叫rxvt-ml,支持GB和BIG5中文编码;还有一个叫rxvt-unicode,支持unicode编码。第一种不支持中文,这里就不讨论了。下面分别讨论rxvt-ml和rxvt-unicode两种rxvt终端的安装。

      
    在使用rxvt中文终端前,需先把GNOME或KDE桌面的中文环境配置好。这样才能在rxvt中正常显示中文和使用中文输入法(我用fcitx)。

    安装rxvt-ml

    debian:~# apt-get install rxvt-ml

    安装完成后,在/usr/bin目录下会生成几个rxvt程序,分别是crxvt crxvt-big5 crxvt-gb grxvt krxvt 和一个指向/etc/alternatives/rxvt的链接文件rxvt。这六个程序分别对应不同的语言编码环境,crxvt-gb用于中文GB编码环境;crxvt-big5用于大五码编码环境;krxvt用于日文环境,我测试过,krxvt也可用于中文环境;grxvt用于greek键盘环境;crxvt也是用于大五码环境;rxvt链接默认指向krxvt。

    对于我们来说,只需使用crxvt-gb这个程序就可以了。为了能正常显示中文,我们需把locale环境配置成zh_CN.GB2312。具体配置方式可参见GNOME和KDE桌面环境中的locale配置。重启X会话使locale生效,这样就可用crxvt-gb使用rxvt中文终端了。

    安装rxvt-unicode

    debian:~# apt-get install rxvt-unicode

    安装完成后,直接运行rxvt或rxvt-unicode即可,对locale好象没有什么要求。rxvt-unicode还有两个程序,一个是urxvtd(daemom),一个是urxvtc(client)。通过这对程序可用一个线程打开任意多个终端窗口,大大提高程序启动的速度,并有效减少内存的占用。rxvt-unicode可支持多国语言,但程序启动比crxvt-gb慢好多,而且对中文字符的支持也不是太好,比如全角的双引号,在rxvt-unicode中会变得很大,很不协调。所以功能和性能,不可能两全其美哦。

    rxvt的配置选项是很丰富的,你可通过命令行或X资源文件来配置。命令行方式只能一次性改变rxvt的设置,如:

    debian:~# rxvt -fn 8X16 -fg black -bg white      
    上句的设置表示使用8X16的字体,终端屏幕为白底黑字。

    有时我想把调整好的配置保存起来,不用每次都在命令行输入大量的配置信息。这时我们可以用X系统的资源文件~/.Xresources,如果用户主目录如没有可自行创建。内容如下:

    ! my rxvt setting  
    Rxvt.background:black
    Rxvt.foreground:white
    Rxvt.colorBD:yellow
    Rxvt.colorUL:green
    Rxvt.multichar_encoding:gb2312
    Rxvt.scrollBar:True
    Rxvt.scrollBar_right:True
    Rxvt.scrollBar_floating: False
    Rxvt.scrollstyle: next
    Rxvt.saveLines:1500
    Rxvt.color0:black
    Rxvt.color1:red
    Rxvt.color2:#3a5da3
    Rxvt.color3:#4b76cc
    Rxvt.color4:RoyalBlue4
    Rxvt.color5:magenta
    Rxvt.color6:#a1b5dd
    Rxvt.color7:#8a95aa
    Rxvt.color8:#616668
    Rxvt.color9:#075982
    Rxvt.color10:#0f82bc
    Rxvt.color11:#13a9f4
    Rxvt.color12:SkyBlue2
    Rxvt.color13:#63c2f2
    Rxvt.color14:#6caccc
    Rxvt.color15:#dbeff9
    Rxvt.font:-b&h-lucidatypewriter-medium-r-normal-*-14-*-*-*-*-*-iso8859-*
    Rxvt.mfont:-*-*-medium-r-normal-*-16-*-*-*-c-*-gb*-*
    Rxvt.menu:/etc/X11/rxvt.menu
    Rxvt.preeditType:Root

      
    在rxvt-unicode中资源文件的名称前缀改为rxvt,而不是Rxvt。

    修改完资源文件后,需运行以下命令使配置生效,或重启X会话。一般我们选择前者:

    debian:~# xrdb .Xresources

    rxvt的配置参数有很多,可使我们定置出个性化的终端。详细的参数可查询man页或用rxvt --help列出。配置很简单方便的,有兴趣的朋友可测试一下。我在这里就不一一介绍了。

      
    GNOME和KDE环境下rxvt中文终端的设置方式是一样的。

    fcitx输入法在rxvt中好象不能通过设置单击L_SHIFT键进行中英文切换,只能设置“双击中英文切换=1”,通过双击L_SHIFT进行中英文切换。

    7.12. 安装KDE中文桌面环境
    KDE是一个强大的桌面环境,用QT开发,发展到现在,已与Windows平台十分地相似,使用起来十分方便。下面介绍在Debian下安装中文KDE桌面环境的过程

    首先,我们需安装x-window系统,与安装gnome桌面环境一样:

    debian:~# apt-get install x-window-system-core

    接着就可安装kde系统,为了减少不必要的软件包,我只安装了KDE的核心软件包:

    debian:~# apt-get install kde-core

    好了,现在基本的kde环境已安装好,我们可用startx命令启动它。现在的kde是英文环境的。接下来我们要安装kde的国际化包kde-i18n-zh*,这里用星号表示安装所有的中文国际化软件包,你也可根据实际情况选择。这些国际化软件包里包含了KDE桌面环境的中文显示信息。

    debian:~# apt-get install kde-i18n-zh*

    在kde中要显示中文还要安装中文字体。有关字体的安装请参照上一节“安装gnome中文桌面环境”中有中文字体安装的内容。这里就不再介绍了。装完中文字体后,就可在KDE“控制中心”-->“区域和辅助功用”-->“国家/地区和语言”里添加中文语言,记住,要把中文语言放到第一位。这样,英文的KDE桌面环境就变成中文的了。

    安装中文locales,方法同GNOME桌面系统。

    开源软件都是跨平台的,在KDE中我们也可使用GNOME平台(基于GTK+)的程序,如firefox。在Debian系统的KDE中有一个软件包叫gtk2-engines-gtk-qt,可帮我们在KDE平台下管理GTK+程序的主题和字体配置,使GTK+程序就就像QT程序一样方便地进行配置。该套软件包中的主题配置引擎叫GTK-Qt Theme Engine,是由Freedesktop.org维护的,Freedesktop.org通过开发软件和制定标准,志在消除各X window桌面平台间的差异。GTK-Qt Theme Engine的网址是:[url]http://www.freedesktop.org/wiki/Software_2fgtk_2dqt。在KDE中安装和配置gtk2-engines-gtk-qt软件包的方法如下:

    用以命令安装gtk2-engines-gtk-qt软件包:

    debian:~# apt-get install gtk2-engines-gtk-qt

    安装完成后,就可在KDE的“控制中心”-->“外观和主题”-->“GTK Styles and Fonts”中配置GTK+程序的主题和字体。通过该工具,GTK+程序就可使用QT丰富的主题,并可在控制中心中方便地修改GTK+程序的字体。

    7.13. 安装ALSA多媒体系统
    这里以KDE环境为例说明,GNOME和其它桌面环境也大同小异。我安装了kde-core软件包,所以只有基本的kde系统,很多功能还没有,要手工配置,其中多媒体声音系统就是其中之一。我是以2.6.10内核,ES1371声卡为例进行说明的,具体的安装步骤如下:

    首先是要编译内核,我选用了较新的Advanced Linux Sound Architechture(ALSA)系统,取消Open Sound System(OSS)系统。并在ALSA下选择你的声卡驱动,把它编译进内核。用这个新内核启动系统。

    进入KDE桌面环境后,用以下命令安装alsa-base和kmix软件包,alsa-base软件包提供alsa声音系统所需的软件支持,alsa-utils提供一个alsa系统管理工具集。kmix是一个KDE的混音器,用以调节音量。GNOME的混音器包含在GStreamer多媒体架构中:

    如果是KDE环境,用以下命令安装:

    debian:~# apt-get install alsa-base alsa-utils kmix

    如果是GNOME环境,用以下命令安装:

    debian:~# apt-get install libgstreamer0.8-0 gstreamer0.8-alsa

    安装完相关软件后,要运行以下命令配置alsa系统:

    debian:~# alsaconf

    按提示选择你的声卡。如果选择正确,最终将显示成功配置alsa系统的提示信息。

    最后,就可用kmix或gstreamer调节音量,这样就可在kde控制中心的多媒体配置中进行声音测试了。如果是GNOME的话可在“应用程序”--“桌面首选项”--“音效”里进行测试。

    7.14. 使用minicom调试串口设备
    minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如调试交换机和Modem等。它的Debian软件包的名称就叫minicom,用apt-get install minicom即可下载安装。

    第一次运行minicom时会提示没有默认的配置文件,但不影响使用。进入minicom程序后会自动连接串口设备,我连接的串口设备是实达捷豹2000。如果成功连接,则显示OK和一些初始化信息。如:

    Welcome to minicom 2.1

    OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n           
    Compiled on Dec  9 2004, 08:45:12.                                          
                                                                                 
    Press CTRL-A Z for help on special keys                                      
                                                                                 
                                                                                 
    OK                                                                           
    AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0                                             
    OK                          

    在这个状态下我们就可用Modem的AT命令与modem交互。如:

    at&v   #显示配置表

    ---ACTIVE PROFILE---
    B0 L2 M1 X4 W2 N1 E1 Q0 V1 T &O0 &Q0 &P0 &Y0 &J0 &R1 &D2 &C1 &S0 &U0 &K3 \N5 \V
    S0:0 S1:0 S2:43 S3:13 S4:10 S5:8 S6:6 S7:60 S8:2 S9:6 S10:14 S11:95 S12:100 S13
    ---STORED PROFILE 0---                              
    B0 L2 M1 X4 W2 N1 E1 Q0 V1 T &O0 &Q0 &P0 &Y0 &J0 &R1 &D2 &C1 &S0 &U0 &K3 \N5 \V
    S0:0 S2:43 S3:13 S4:10 S5:8 S6:6 S7:60 S8:2 S9:6 S10:14 S11:95 S12:100 S19:0 S2
    ---STORED PROFILE 1---
    B0 L2 M1 X4 W2 N1 E1 Q0 V1 T &O0 &Q0 &P0 &Y0 &J0 &R1 &D2 &C1 &S0 &U0 &K3 \N5 \V
    S0:0 S2:43 S3:13 S4:10 S5:8 S6:6 S7:60 S8:2 S9:6 S10:14 S11:95 S12:100 S19:0 S2
    ---TELEPHONE NUMBER---
    &Z0=
    &Z1=96169
    &Z2=2025819220065

    OK

    atdt96169    #拔96169
    CONNECT 48000/V42BIS
                                                                                    
    *********************************                                               
    * Quidway A8010 Internet Server *                                               
    * welcome!!                     *                                               
    *********************************                                               
    please input username:1                                                         
    please input password:*                                                         
    Entering PPP mode.                                                              
    Async interface address is unnumbered(Ethernet0)                                
    Header compression will match your system.                                      
    Your IP address is: 218.20.82.129 MTU is 1500 bytes

    要挂机的话可先按Ctrl+A切换到命令模式,再H键。当屏幕很花时,在命令模式下按C键可清屏。AT命令还有很多,下面给出一些常用的以供参考。

    AT&F             恢复出厂设置
    ATZ0             软复位
    AT&V             显示配置表
    AT&W0,1          存写配置表0,1
    ATDT96169        音频拔号96169
    AT&Z0=96169      保存电话号码到Z0位置,从配置表可查看位置信息
    ATDS 0           拔第一个位置的号码
    AT&S0=0          禁止自动应答功能
    AT&S0=N(1-255)   振铃N次后自动应答
    ATM0             关闭扬声器声音
    ATM1             接收载波时(拔通后)关闭扬声器声音
    ATM2             扬声器一直处于开状态
    ATM3             正在接收载波和拔号时关闭扬声器声音
    ATL1,2,3         设置扬声器的音量     

    默认的minicom配置文件位于/etc/minicom目录下,文件名为minirc.dfl。

    一般来说,在使用minicom前需进行配置,以便正确连接串口设备。有两种方式可配置minicom,一种是用minicom -s命令直接从命令行进入配置菜单;另一种方式是用不带参数的minicom命令进入minicom后,在命令模式中配置。minicom的命令模式可Ctrl+A进行切换。按Z键可查看所有的命令。按O键,可进入minicom的配置菜单。在这里我们可配置上传下载文件保存的路径、串口的参数、拔号参数等。配置完成后,可用Save setup as..菜单把配置参数以文件的形式保存起来,下次就可直接用minicom filename命令调用该参数文件了。用Save setup as dfl命令可把配置存在minirc.dfl这个默认配置文件中。

    minicom的使用不难,关键是要先了解你所连接串口设备的参数。用man minicom可查看详细的帮助。

    7.15. 设置Modem拔号网络
    Modem拔号网络的速度慢,但在一些环境下还是很有用。如传真和点对点连接。下面这篇有关Modem设置的文章就是我在配置Fax服务器时记录下来。

    在配置拔号网络前,请先用上面介绍的Minicom工具与Modem通信,确定Modem在Linux下能正常工作。Modem拔号采用PPP协议与远程的拔号服务器建立连接。在Debian系统下,有一个叫pppconfig配置可帮助我们快速配置pppd拔号网络。运行pppconfig,按向导一步下配置下去就可以了。配置完成保存后,在/etc/ppp/peers目录下会生成一个配置文件,默认是provider。用以下命令启动拔号连接:

    debian:~# pon provider       #如果你的连接名不是provider,请用你所起的连接名代替

    用以下命令可查看连接日志:

    debian:~# plog                 
    Aug 29 09:54:01 debian pppd[1708]: sent [IPCP ConfReq id=0x3 <addr 218.20.81.4> <ms-dns1 61.144.56.101> <ms-dns3 202.96.128.86>]
    Aug 29 09:54:01 debian pppd[1708]: rcvd [IPCP ConfAck id=0x3 <addr 218.20.81.4> <ms-dns1 61.144.56.101> <ms-dns3 202.96.128.86>]
    Aug 29 09:54:01 debian pppd[1708]: Cannot determine ethernet address for proxy A RP
    Aug 29 09:54:01 debian pppd[1708]: local  IP address 218.20.81.4
    Aug 29 09:54:01 debian pppd[1708]: remote IP address 218.20.64.62
    Aug 29 09:54:01 debian pppd[1708]: primary   DNS address 61.144.56.101
    Aug 29 09:54:01 debian pppd[1708]: secondary DNS address 202.96.128.86
    Aug 29 09:54:01 debian pppd[1708]: Script /etc/ppp/ip-up started (pid 1711)
    Aug 29 09:54:02 debian pppd[1708]: Script /etc/ppp/ip-up finished (pid 1711), status = 0x0

    用以下命令关闭连接:

    debian:~# poff

    用以下命令显示连接状态信息:

    debian:~# pppstats
          IN   PACK VJCOMP  VJUNC  VJERR  |      OUT   PACK VJCOMP  VJUNC NON-VJ
        9532    145      0      0      0  |       97      5      0      0      5

    另外一种方法是利用wvdial这个拔号工具实现Modem拔号上网。操作方法也很简单,先下载wvdial软件包:

    debian:~# apt-get install wvdial

    下载完软件后会自动运行wvdial的配置程序,要求输入电话号码、用户名和密码。配置程序会自动检测你的Modem并生成/etc/wvdial.conf文件。文件内容如下:

    [Dialer Defaults]          #默认的拔号设置,可设置多个Dialer
    Phone = 96169
    Username = 1
    Password = 1
    New PPPD = yes
    Modem = /dev/ttyS0
    Baud = 115200
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ISDN = 0
    Modem Type = Analog Modem

    当然,我们也可手动运行wvdialconf这个配置程序,如:

    debian:~# wvdialconf /etc/wvdial.conf
    Scanning your serial ports for a modem.

    ttyS0<*1>: ATQ0 V1 E1 -- OK
    ttyS0<*1>: ATQ0 V1 E1 Z -- OK
    ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK
    ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
    ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
    ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
    ttyS0<*1>: Modem Identifier: ATI -- TP560 Data/Fax/Voice 56K Modem
    ttyS0<*1>: Speed 4800: AT -- OK
    ttyS0<*1>: Speed 9600: AT -- OK
    ttyS0<*1>: Speed 19200: AT -- OK
    ttyS0<*1>: Speed 38400: AT -- OK
    ttyS0<*1>: Speed 57600: AT -- OK
    ttyS0<*1>: Speed 115200: AT -- OK
    ttyS0<*1>: Max speed is 115200; that should be safe.
    ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

    Found a modem on /dev/ttyS0.
    Modem configuration written to /etc/wvdial.conf.
    ttyS0<Info>: Speed 115200; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

    配置完成后,用wvdial命令启动拔号:

    debian:~# wvdial       #启动默认拔号器,如有多个拔号器,可用wvdial dialer格式指定
    --> WvDial: Internet dialer version 1.53
    --> Initializing modem.
    --> Sending: ATZ
    ATZ
    OK
    --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    OK
    --> Modem initialized.
    --> Sending: ATDT96169
    --> Waiting for carrier.
    ATDT96169
    CONNECT 45333/V42BIS
    --> Carrier detected.  Waiting for prompt.
    *********************************
    * Quidway A8010 Internet Server *
    * welcome!!                     *
    *********************************
    please input username:
    --> Looks like a login prompt.
    --> Sending: 1
    --> Don't know what to do!  Starting pppd and hoping for the best.
    --> Starting pppd at Tue Aug 30 11:11:39 2005
    --> pid of pppd: 1858

    出现以上信息说明pppd连接成功,用ifconfig可以查看到一个ppp0的连接。

    7.16. 用pptp client连接远程VPN服务器
    远程维护能有效减轻系统管理员的工作强度,并能提高管理效率。所以公司一般都会设置有VPN服务器以支持远程安全登录。现在的VPN服务器一般都同时支持pptp和IPSec两种协议,在Debian中我们可通过pptp client连接远程VPN服务器。pptp client是一种开源的pptp客户端,位于[url]http://pptpclient.sourceforge.net/,网站上有pptp client的详细介绍。要使用pptp client,我们可手工安装配置,也可通过图形化的配置工具来进行安装和配置。安装方法如下:

    用以下命令安装pptp client软件

    # apt-get install pptp-linux

    成功安装pptp软件后,就可进行配置了。有两种方法进行配置,一种是手动配置,在我写的“GNU/Linux问题集”里有详细介绍。另一种是通过图形界面配置工具pptpconfig进行配置,它是一个PHP脚本。安装方法如下:

    把以下内容添加到你Debian系统的资源列表中,它位于/etc/apt/sources.list。

    # James Cameron's PPTP GUI packaging
    deb [url]http://quozl.netrek.org/pptp/pptpconfig ./

    更新系统软件包信息

    # apt-get update

    安装pptpconfig软件包

    # apt-get install pptpconfig

    安装时Debian会把pptpconfig所依赖的其软件包都一起安装。

    配置连接参数

    server标签依次填上本地连接名,服务器名或IP,域(可选),用户名和密码。

    Routing标签用来设置路由信息。可用"xxx.xxx.xxx.xxx/xx"的形式增加新的路由。我增加了一条到192.168.3.0/24的路由,以访问该网段。routing style选All to Tunnel,可改变本机的缺省路由,使本机的所有的网络流量都通过该通道。

    DNS标签用来设置建立pptp连接后如何进行名称解析。不启用自动配置,将使用手工输入的DNS服务器代替/etc/resolv.conf里的名称服务器进行名称解析。启用自动配置,将会用拔号自动获得的DNS服务器替代/etc/resolv.conf里的DNS服务器,两种方式/etc/resolv文件都会被pptpconfig自动备份。连接断开后,pptpconfig会自动恢复旧有/etc/resovl.conf文件。

    Encryption标签用于设置加密信息。

    Miscellaneous标签可配置一些调试信息和连接状态。

    pptpconfig是GTK+程序,需在X window环境下才能运行。但有时我们会在字符终端模式下启用SSH连接,以进行远程维护。这时我们要用到pon、poff程序。pon用于VPN拔号,poff用于断开VPN连接。要正常使用这两个程序,前提是要按上面的配置方法成功配置了一个VPN连接。假设我们已建立了一个名为remote的VPN连接,则可用以下命令连接VPN服务器。

    debian:~# pon remote      # 建立一个VPN连接
    debian:~# plog            # 查看VPN连接状态信息
    #如要访问另一网段192.168.3.0,需为这个VPN通道添加一条到192.168.3.0网段的路由信息
    debian:~# route add -net 192.168.3.0 netmask 255.255.255.0 dev ppp1   
    debian:~# poff remote     # 断开VPN连接

    remote这个VPN连接的信息主要存放在两个文件中,分别是/etc/ppp/chap-secrets和/etc/ppp/peers/remote。如果没有pptpconfig这个图形化配置工具,我们也可参考这两个文件的配置格式,手工配置。

    /etc/ppp/chap-secrets文件示例:

    # +++ pptpconfig added for tunnel remote
    username remote password *
    # --- pptpconfig added for tunnel remote

    /etc/ppp/peers/remote文件示例:

    # tunnel remote, written by pptpconfig $Revision: 1.2 $

    # name of tunnel, used to select lines in secrets files
    remotename remote

    # name of tunnel, used to name /var/run pid file
    linkname remote

    # name of tunnel, passed to ip-up scripts
    ipparam remote

    # data stream for pppd to use
    pty "pptp 211.111.60.18 --nolaunchpppd "

    # domain and username, used to select lines in secrets files
    name username

    persist

    # do not require the server to authenticate to our client
    noauth

    # end of tunnel file

    使用时需用真实的username和password代替配置文件中这两项内容。

    7.17. 使挂载的fat32和ntfs分区正常显示中文名
    自动加载方式:

    编辑/etc/fstab文件,把原来的

    /dev/hda2 /mnt/hda2 vfat auto,users,exec 0 0                  
    /dev/hda5 /mnt/hda5 ntfs auto,users,exec,ro,umask=000 0 0

    改成

    /dev/hda2 /mnt/hda2 vfat iocharset=gb2312,users,exec 0 0
    /dev/hda5 /mnt/hda5 ntfs iocharset=gb2312,users,exec,ro,umask=000 0 0

    手工加模式:

    在shell下输入以下命令

    # mount /dev/hda2 /mnt/hda2/ -t vfat -o iocharset=gb2312
    # mount /dev/hda5 /mnt/hda5/ -t ntfs -o iocharset=gb2312

    如果你要挂接的Windows分区是ntfs分区,而Linux系统采用的locale是zh_CN.GB2312或zh_CN.GBK,分区成功挂接后,会出现一些中文文件名的文件不能识别文件类型的情况。解决办法是把Linux的locale换成zh_CN.UTF-8。在挂接分区时把iocharset参数的值由gb2312换成utf8即可。

    7.18. 配置Java环境
    7.18.1. 安装
    Debian官方没有维护专门的Java软件包,所以不能直接用apt-get工具来安装。在Debian系统中要安装Java,有两种方式,一种是用传统方式;一种是Debian方式。下面分别介绍:

    传统方式:

    到SUN官方网站下载最新jre包,我下载的是jre-1_5_0_01-linux-i586.bin,并把该文件的属性改成可执行,直接执行该文件。

    debian:~/inst# chmod +x jre-1_5_0_01-linux-i586.bin
    debian:~/inst# ./jre-1_5_0_01-linux-i586.bin

    程序运行后会当前目录下生成一个名为jre1.5.0_01的目录。

    把该目录拷贝到/usr/local/jre1.5.0_01,并在你的系统初始化脚本中增加以下两个环境变量。在我的系统中,我把这两句放到~/.gnomerc文件中。

    export CLASSPATH="/usr/local/jre1.5.0_01/lib"
    export JAVA_HOME="/usr/local/jre1.5.0_01"

    重启系统或手工执行以上两个export命令后,就可使用java命令了,你可用java -version命令进行测试。使用传统方式安装的java没有归并到Debian软件包体系中,所以在Debian的软件包数据库中不会存在java的依赖关系信息。且不能用Debian的软件包管理程序进行管理,只能手工维护。也就是说,如果我们要删除java,只能手工删除目录和环境变量。

    Debian方式(推荐):

    我们可以通过java-package包提供的make-jpkg程序,从SUN官方的java软件包生成一个Debian软件包。java-package软件包可通过apt-get命令安装。

    debian:~# apt-get install java-package

    下载官方的java软件包,并用以下命令生成Debian格式的java软件包。注意,make-jpkg程序不能在root环境下运行,我们要使用fakeroot程序。

    debian~:# cp jre-1_5_0_01-linux-i586.bin /home/jims/.
    debian~:# chown jims /home/jims/jre-1_5_0_01-linux-i586.bin
    debian~:# su - jims
    jims@debian:~$ fakeroot make-jpkg jre-1_5_0_01-linux-i586.bin

    程序运行完成后,在当前目录下就会生成一个Debian软件包sun-j2re1.5_1.5.0+update01_i386.deb。

    以root身份安装该软件包。

    debian~:# dpkg -i sun-j2re1.5_1.5.0+update01_i386.deb

    最后设置java的环境变量。

    export CLASSPATH="/usr/lib/j2re1.5-sun/lib/"
    export JAVA_HOME="/usr/lib/j2re1.5-sun/"

    用java -version进行测试。用这种方式安装的java会把java软件包的相关信息储存在Debian软件包数据库,可用apt-get工具进行管理。如果要删除java,只要运行以下命令即可。

    debian:~# apt-get --purge remove sun-j2re1.5

    建议使用Debian方式安装java,这样其它依赖于Java的Debian软件包才能被正常安装。

    7.18.2. 设置JAVA的中文显示
    在Linux环境下,如果Java的字体设置不对,Java程序会把中文显示成一些方框符号或问号。为了使基于Java的程序能正常显示中文,需进行字体配置 。下面是在Debian环境下的配置方法,其它发行版的修改方法也一样,只是需修改的文件的路径名不同罢了。

    找到.../jre/lib/目录,在我的debian系统上是/usr/lib/j2se/1.4/jre/lib。该目录下有很多以font开头的文件,其中font.properties是java默认的字体配置文件。用font.properties.zh_CN.Sun覆盖原来的font.properties文件。

    修改新的font.properties文件,以SimSum字体为例,把以下设置

    serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
    serif.1=-Hanyi-HanyiSong-medium-r-normal--*-%d-*-*-c-*-gbk-0

    更改成

    serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
    serif.1=-misc-SimSun-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0

    按以上的方式把文件中的所有字体进行同样的设置。如果不知道本机安装了什么字体,可用xlsfonts命令列出。

    以上的设置适用于1.4版的java,1.5版的java的字体设置有较大的变化,字体配置文件名变成fontconfig.properties。经测试,在1.5中有两种设置中文字体的方法,一种就是与1.4的方法一样,需配置fontconfig.properties文件。在/usr/lib/j2re1.5/lib目录下有很多以.src结尾的配置源文件,代表在不同平台下的标准配置。我们可以它们为蓝本拷贝成fontconfig.properties。然后再根据你系统中所安装的X11核心中文字体来配置字体名和字体文件路径。第二种方法很简单,只要在/usr/lib/j2re1.5/lib/fonts目录下建立一个fallback目录,并把中文字体文件拷贝或链接到该目录中即可,根本不用配置其它东西。

    7.19. 在Gnome下安装Fcitx并设置开机自启动
    Fcitx的全称是Free Chinese Input Toy for X,这是一个由中国人开发的输入法软件,项目网址位于[url]http://www.fcitx.org。Fcitx已进入Debian软件包系统,用apt-get install fcitx即可安装。它的配置文件是~/.fcitx/config。该文件是GB2312编码的,编辑时要注意。你可在该文件中配置输入法的字体,显示效果和快捷键等,配置简单明。安装配置好后,我们还要设置它开机自启动,方法如下:

    把以下几项设置写到/etc/X11/Xsession.d/55gnome-session_gnomerc或用户主目录的~/.gnomerc文件里,~/.gnomerc文件如果没有可以自已创建。55gnome-session_gnomerc脚本会检查系统中是否存在~/.gnomerc文件,如果有,就会用source .gnomerc命令执行。所以为统一管理配置,建议使用~/.gnomerc文件。把以下内容放入该文件。

    export XIM_PROGRAM=fcitx
    export XIM=fcitx
    export XMODIFIERS="@im=fcitx"
    fcitx&

    接着要设置Gnome系统语言环境为zh_CN.GB2312或zh_CN.GBK或zh_CN.UTF-8,可在GDM登录窗口按左下角的LANGUAGE(语言)选项设置。也可用#dpkg-reconfigure locales命令配置。

    重新启动GDM,fcitx输入法就会自动启动了。fcitx的配置文件在~/.fcitx目录下,你可根据自已的需求配置。

    7.20. 在KDE环境下设置fcit开机自启动
    在正确定安装KDE中文桌面环境的前提下,具体的操作方式请参见上面的相关内容。在/etc/X11/Xsession.d/目录下新建一个文件92fcitx,内容如下:

    export LANG="zh_CN.UTF-8"     #设置中文locales,如果不设,fcitx启动后乱码,不能使用。
    export XIM_PROGRAM=fcitx
    export XIM=fcitx
    export XMODIFIERS="@im=fcitx"
    fcitx&

      
    在kdm中好象不能像GDM一样设置locales,所以需手动用export设置。

    在/etc/X11/Xsession.d/目录下的所有配置文件在X启动时都会被自动执行。所以我就利用了这个特性,在该目录下新建了一个92fcitx文件,用以启动fcitx。类似于gnome环境下的/etc/X11/Xsession.d/55gnome-session_gnomerc文件的作用。注意,这不是唯一的方法,因为在x启动过程中会自动运行很多个脚本,所以在这些脚本中插入fcitx的启动脚本也是可行的。这就是linux高可配置的体现。

    7.21. 使用update-alternatives工具配置可选系统
    update-alternatives是dpkg的实用工具,用来维护系统命令的符号链接,以决定系统默认使用什么命令。在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配置,如Web浏览器程序(firefox,konqueror)、窗口管理器(wmaker、metacity)和鼠标的不同主题等。这样,用户在使用系统时就可进行选择,以满足自已的需求。但对于普通用户来说,在这些程序间进行选择配置会较困难。update-alternatives工具就是为了解决这个问题,帮助用户能方便地选择自已喜欢程序和配置系统功能。下面一个显示可选的窗口管理器的示例:

    root@debian:~# update-alternatives --display x-window-manager
    x-window-manager - status is auto.                 #当前配置状态为自动方式
    link currently points to /usr/bin/metacity        #当前的窗口管理器是metacity
    /usr/X11R6/bin/twm - priority 40                   #下面是可选的窗口管理器列表,后面的数字表示优先级
    slave x-window-manager.1.gz: /usr/X11R6/man/man1/twm.1x.gz
    /usr/bin/wmaker - priority 50
    slave x-window-manager.1.gz: /usr/share/man/man1/wmaker.1x.gz
    /usr/bin/larswm - priority 20
    slave x-window-manager.1.gz: /usr/share/man/man1/larswm.1x.gz
    /usr/bin/fluxbox - priority 50
    slave x-window-manager.1.gz: /usr/share/man/man1/fluxbox.1.gz
    /usr/bin/xfwm - priority 20
    slave x-window-manager.1.gz: /usr/share/man/man1/xfwm.1.gz
    /usr/bin/icewm - priority 50
    slave x-window-manager.1.gz: /usr/share/man/man1/icewm.1x.gz
    /usr/bin/metacity - priority 60
    slave x-window-manager.1.gz: /usr/share/man/man1/metacity.1.gz
    Current `best' version is /usr/bin/metacity.        #自动选择方式会选择优先级高的程序


    重新设置窗口管理器方法:

    root@debian:~# update-alternatives --config x-window-manager

    There are 7 alternatives which provide `x-window-manager'.

      Selection    Alternative
    -----------------------------------------------
          1        /usr/X11R6/bin/twm
          2        /usr/bin/wmaker
          3        /usr/bin/larswm
          4        /usr/bin/fluxbox
          5        /usr/bin/xfwm
          6        /usr/bin/icewm
    *+    7        /usr/bin/metacity

    Press enter to keep the default
  • , or type selection number:

    星号表示当前系统使用的,加号表示优先级最高的。输入数值可修改默认配置,直接按回车保持原来状态。

    修改debian系统默认浏览器的示例:

    debian:~#update-alternatives --config x-www-browser

    There are 3 alternatives which provide `x-www-browser'.

      Selection    Alternative
    -----------------------------------------------
          1        /usr/bin/mozilla
    *+    2        /usr/bin/epiphany
          3        /usr/bin/mozilla-firefox

    Press enter to keep the default
  • , or type selection number: 3
    Using `/usr/bin/mozilla-firefox' to provide `x-www-browser'.

    下面再举一个通过update-alternatives修改鼠标主题的示例。

    同上示例,通过以下命令可列出当前鼠标可用主题:

    root@debian:~# update-alternatives --config x-cursor-theme

    There are 5 alternatives which provide `x-cursor-theme'.

      Selection    Alternative
    -----------------------------------------------
          1        /etc/X11/cursors/core.theme
          2        /etc/X11/cursors/redglass.theme
          3        /etc/X11/cursors/whiteglass.theme
          4        /etc/X11/cursors/handhelds.theme
    *+    5        /usr/share/themes/Industrial/cursor.theme

    Press enter to keep the default
  • , or type selection number:

    现在我们从网上下载一个新的主题,要把它安装到系统上,并设置新安装的鼠标主题为默认配置。

    我下载了一个5507-Golden-XCursors-3D-0.8.tar.bz2鼠标主题,解压后生成Golden-XCursors-3D-0.8目录,该目录下有两个目录,一个是default目录,存放索引文件;一个是Gold目录,存放主题内容。

    将包中Gold目录拷贝到/usr/X11R6/lib/X11/icons中。

    将包中default/index.theme拷贝到/usr/X11R6/lib/X11/icons/default中。

    将包中default目录中的index.theme改名拷贝成/etc/X11/cursors/Gold.theme。

    安装主题

    root@debian:~# cd /etc/alternatives
    root@debian:/etc/alternatives# update-alternatives --install x-cursor-theme x-cursor-theme /etc/X11/cursors/Gold.theme 70

    由于我系统的x-cursor-theme使用了自动配置方式,而优先级70为最高级别,所以Gold.theme已自动设置为默认配置了,我们可用以命令查询:

    root@debian:/etc/alternatives# update-alternatives --display x-cursor-theme
    x-cursor-theme - status is auto.
    link currently points to /etc/X11/cursors/Gold.theme
    /etc/X11/cursors/core.theme - priority 30
    /etc/X11/cursors/redglass.theme - priority 20
    /etc/X11/cursors/whiteglass.theme - priority 20
    /etc/X11/cursors/handhelds.theme - priority 20
    /usr/share/themes/Industrial/cursor.theme - priority 40
    /etc/X11/cursors/Gold.theme - priority 70
    Current `best' version is /etc/X11/cursors/Gold.theme.

    这样鼠标主题已生效。你试一下把光标指向桌面的快捷方式上,是不是出现了一个金手指。

    7.22. 安装星际译王
    学习开源软件,需查看大量的英文资料,所以翻译软件是必须的一个工具。星际译王是一个由中国人开发的开源翻译软件,支持真人发音。软件主页是[url]http://stardict.sourceforge.net,下面是我在Debian系统中的安装过程。

    软件安装

    # apt-get install stardict

    接着要安装词典,在软件主页上有几种词典可供选择,下载解压后拷贝到/usr/shart/stardict/dic目录下,重启stardict即可。下面以XDICT英汉词典的安装过程为例进行说明。

    # tar -jxvf stardict-xdict-ec-gb-2.4.2.tar.bz2
    # cd stardict-xdict-ec-gb-2.4.2
    # cp * /usr/share/stardict/dic/.

    星际译王支持真人发音,安装方法是到软件主页上下载真人发音库WyabdcRealPeopleTTS.tar.bz2。然后把它解压到/usr/share目录,重启星际译王即可。如果不能发音,请检查音量设置或检查是否启用了音效服务器,如果没有启用音效服务器,星际译王是不会发音的。检查方法可使用gnome-sound-properties命令或通过GNOME桌面的“应用程序”--“桌面首选项”--“音效”路径来查看。

    星际译王还支持在pdf文件中即点即译,我在Adobe Reader7.0已测试通过。用Adobe Reader打开pdf文件时,默认是“hand tool”模式,也就是光标是手型时。这时是不能即点即译的。需设置“select tool”模式,也就是光标是“工”字型,这时我们术可点选pdf文件中的单词进行翻译。

    7.23. 播放rmvb、rm格式文件
    rmvb和rm是最常用的视频文件格式,网上的压缩电影多数都是使用这些格式。在Debian中,其实也可说是在Linux中,播放rmvb和rm格式文件的方法有两种。一种是使用最正宗的RealPlayer播放器,另一种是使用xine或Mplayer等播放软件再加上相应的解码器。下面我将分别介绍这两种方法。

    7.23.1. RealPlayer
    到RealPlayer官方网站[url]http://www.real.com/linux/下载RealPlay10GOLD.bin文件。并把该文件的权限设置为可执行,执行该文件即可安装。

    # chmod a+x RealPlayer10GOLD.bin
    # ./RealPlayer10GOLD.bin

    接着按提示把RealPlayer安装到指定的目录中。在我的系统中用root用户登录系统后启动不了RealPlayer,需用一般用户登录才能用。但一般用户默认是不能使用音频设备的,所以需把一般用户加到audio组里,这样播放rmvb或rm才有声音。

    7.23.2. totem
    totem是一个使用xine库的多媒体播放器,可播放多种媒体格式的文件,如mp3,avi等。但要播放rmvb格式文件需添加解码器。我使用的是Mplayer的解码器。到[url]http://www.mplayerhq.hu/MPlayer/releases/codecs/下载realplayer解码器rp9codecs-20050115.tar.bz2。用tar -xjvf rp9codecs-20050115.tar.bz2命令解压,把解压出来的rp9codecs-20050115目录下所有文件拷贝到~/.gnome2/totem-addons/就可以了。我现在就是用totem来播放所有的多媒体文件。

    7.24. 用xCHM看.chm格式文件
    直接用apt-get install xchm即可。

    7.25. 安装GDM
    GDM即是GNOME显示管理器(GNOME Display Manager),用来管理你的X会话,提供登录窗口。类似XDM,但比XDM稳定和有趣得多。它的主页位于[url]http://yippi.hypermall.com/gdm/index.shtml。

    安装GDM主题

    当我们使用GDM显示管理器时,可以选择丰富的主题。GDM主题的目录在/usr/share/gdm/themes中,安装时可通过gdmconfig程序来自动安装。具体安装步骤如下:

    首先到网上下载你喜欢的GDM主题,[url]http://gnome-look.org/有很多,你可随意下载,主题文件类似于21329-gdm-debian-white.tar.gz。下载后存放到任意一个目录中。

    运行gdmconfi程序,打开gdm配置窗口。在"通用"标签栏,确认你在本地启用了"图形欢迎程序"选项。接着,选择"图形安装程序"标签,这里列出了已安装的所有GDM主题,默认已有三个。按右下角的"安装新主题"按钮,会打开文件选择窗口,选择你刚下载的主题文件后按"安装"就可以了。是不是很方便,快到网上下载你喜欢的主题,使你的登录界面与众不同,更有个性。

    更改GDM显示语言

    修改/etc/default/gdm文件中的LANG参数即可。如果要把中文的界面改成英文的,只需把:

    LANG=zh_CN.UTF-8

    改成

    LANG=en_US.UTF-8

    7.26. 安装splash主题
    splash主题就是在输入用户名称密码登录后,载入gnome时,在屏幕中间显示系统加载进度的图片。该图片放在/usr/share/images/desktop-base/或/usr/share/pixmaps/splash目录下。在Debian中它属可选系统,可用update-alternatives工具来配置,配置的参数是desktop-splash。配置方法如下:

    首先到网上下载splash主题,推荐[url]http://gnome-look.org网站。把下载的图片放到上面介绍的其中一个目录中。

    运行update-alternatives --config desktop-splash命令显示和配置可用的splash主题。在列表中应该包含你刚下载的主题:

    debian:/etc/alternatives# update-alternatives --config desktop-splash

    There are 4 alternatives which provide `desktop-splash'.

      Selection    Alternative
    -----------------------------------------------
    +    1        /usr/share/images/desktop-base/Splash-debblue.png
          2        /usr/share/images/desktop-base/Splash-Debian.png
    *     3        /usr/share/images/desktop-base/Splash-Debian_red.png
          4        /usr/share/pixmaps/splash/gnome-splash.png

    Press enter to keep the default
  • , or type selection number: 4

    +号代表优先级最高的选项,也即是建议选项,星号表示当前选项。

    7.27. 安装QEMU模拟器
    QEMU是一个开源的Pc模拟器,功能和Vmware类似,但Vmware是商业产品。QEMU项目位于以下网址:[url]http://fabrice.bellard.free.fr/qemu/。QEMU现时能支持的操作系统已有很多,包括Windows系列平台和各Unix like平台,具体的情况可到QEMU的项目网站查看。和Vmware相比,暂时来说,模拟的系统的运行速度还不理想,但QEMU的开发社区很活跃,软件更新较快,是很有前途的一个开源模拟器,让我们多些关注它的发展。

    我在Debian系统上安装了QEMU,并在QEMU的模拟环境中成功安装了Winme系统。下面是我的安装过程。

    qemu软件的安装

    debian:~# apt-get install qeum

    创建名为winme.img的磁盘映像文件,文件大小为1G。

    debian:~# qemu-img create winme.img 1G

    把winme启动光盘放放光驱,用以下命令在QEMU模拟环境中引导启动光盘。

    debian:~# qemu -hda winme.img -cdrom /dev/cdrom -boot d

    -hda参数表示把winme.img磁盘映像文件挂接成IDE接口的第一块硬盘,-boot d表示从光驱启动系统。成功从光盘引导启动后就可按Windows标准的安装程序进行系统安装。

    安装成功后,整个Windows me系统就打包成一个winme.img磁盘映像文件,如果要从该映像文件中启动系统,可用以下命令。

    debian:~# qemu -hda winme.img -boot c

    -boot c参数表示从硬盘启动系统,也就是从winme.img磁盘映像文件启动系统。

    qemu的命令行参数是很灵活的,可用qemu -h查看。我的电脑配置是PII 600 256M内存,用qemu模拟的Windows Me速度较慢,还达不到可正常使用的水平。作为一个开源的模拟器,做到这个程度已很不错了,希望qemu开发组能尽提高模拟器的性能,为开源社区提供一个可行的模拟器解决方案,让我们能彻底放弃vmware这些商业的模拟器。qemu还有一个加速的patch,可使qeum的速度大大提高,但好象在debian的软件包中没有包含该patch,所以还没测试过。

    7.28. 生成Debian软件包依赖关系图
    Debian软件包管理系统会自动管理软件的依赖关系,使我们在安装软件时方便了很多,不用理会复杂的软件依赖关系,这也是Debian发行版的一大特色。但了解软件包的依赖关系对你熟悉Linux和进行系统开发是很有好处的,所以Debian也提供了工具帮我们生成软件包的依赖关系图。操作步骤如下,首先,安装相关的工具:

    debian:~# apt-get install apt-rdepends springgraph

    用以下命令生成软件包的依赖关系图:

    debian:~# apt-rdepends -d zope | springgraph > zope.png

    这样就生成了zope软件包的依赖关系图zope.png。

    7.29. 使用rdesktop连接Windows远程桌面
    Windows提供了一种远程桌面系统,可使用户远程登录进行系统管理或作为终端服务器运行各种应用软件。要连接Windows远程桌面,需在Windows客户端安装相应的软件(tsclient)。如果你是Windows服务器管理员肯定使用过该工具,因为远程桌面能大大方便系统管理员远程维护服务器。在Linux系统中,我们也可通过rdesktop工具连接Windows远程桌面。

    debian:~# apt-get install rdesktop

    使用方法:

    debian:~# rdesktop -f -a 16 192.168.0.2

    -f表示全屏显示,-a 16表示使用16 bit色,192.168.0.2是Windows服务器地址。

      
    退出远程桌面时要选择“注销”,不要选择“关机"。

    7.30. 保存GNOME桌面环境中声卡的音量设置
    在我的GNOME桌面环境中使用了ALSA声音系统。装好系统后,终于可在Linux中听我喜欢的爱尔兰风笛了。但美中不足的是每次重启电脑后,音量设置都复位了,需重新调整音量。经研究,原来是我没有把ALSA声音系统的当前设置状态保存到/var/lib/alsa/asound.state中。而每次重启电脑时,ALSA系统的初始化脚本(/etc/init.d/alsa)会用/var/lib/alsa/asound.state这个默认的配置文件来设置ALSA系统的状态。所以就造成用户自已配置的状态失效,每次重启都还原到初始状态。OK,知道原因了,就可对症下药了。有一个工具叫alsactl,它可自动把当前配置信息保存到/var/lib/alsa/asound.state中。alsactl包含在alsa-utils软件包中。用以下命令安装:

    debian:~# apt-get install alsa-utils

    把音量、音色等调整好后,再用以下命令把当前声卡的状态保存到/var/lib/alsa/asound.state文件中:

    debian:~# alsactl store

    重启电脑,马上就可聆听到自由的声音了。

    7.31. 屏幕截图
    在GNOME中有很多工具可进行屏幕截图。下面简单介绍一下:

    在GNOME桌面中自带了一个屏幕截图工具,位于“动作”栏内。该工具功能很少,只能截取当前屏幕。

    在GMIP中也可截图,在“文件”--“获取”菜单下有一个“屏幕抓图”选项可进行屏幕截图。它可截取任意图窗口的内容,并自动输入到GMIP中,我们可方便地进行处理和保存。

    安装ImageMagick软件,它有一个工具叫import可用于屏幕截图。该工具有很多选项,功能强大。

    scrot是一个专门的截图工具,功能也很多,可随意截取鼠标选取区域的内容。

    7.32. 访问WebDAV服务
    WebDAV的全称是“Web-base Distributed Authoring and Versioning”。它是HTTP协议的扩展,允许我们在远程管理和编辑Web服务器上的文件。现在很多Web服务器都支持WebDAV,包括最有名的Apache和Zope。要访问WebDAV服务,需要安装客户端,这里介绍的一个工具叫Cadaver,它是一个字符界面的工具,类似于FTP。支持文件的上传、下载和在线编辑等功能。它是一个自由软件,在GNU GPL协议下发布。

    安装方法很简单,使用apt-get install cadaver即可完成。下面介绍一下主要的用法:

    连接远程Web服务器

    debian:~# cadaver [url]www.ringkee.com
    Authentication required for Zope on server `[url]www.ringkee.com':
    Username: username
    Password: pasword
    dav:/>

    输入用户名和密码即可登录入服务器,使用类似ftp的命令就可以操作服务器上的文件,使用h命令可列出所有的命令。

    dav:/> h
    Available commands:
    ls         cd         pwd        put        get        mget       mput
    edit       less       mkcol      cat        delete     rmcol      copy
    move       lock       unlock     discover   steal      showlocks  version
    checkin    checkout   uncheckout history    label      propnames  chexec
    propget    propdel    propset    search     set        open       close
    echo       quit       unset      lcd        lls        lpwd       logout
    help       describe   about
    Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye
    dav:/>

    常用的命令有ls--列出文件,put--上传文件,get--下载文件,cat--显示文件内容,edit--在线编辑文件,quit--退出。

    7.33. 安装OpenOffice
    Linux下的办公套件首选OpenOffice,功能极为强大,完全能满足正常办公的需求。安装命令如下:

    debian~:# apt-get install openoffice.org openoffice.org-l10n-zh-cn openoffice.org-help-zh-cn

    OpenOffice软件包有70多兆,下载的时间较长,请耐心等待。

    7.34. 用gaim登录google talk
    Gaim是一个跨平台的IM客户端,支持多种IM协议,如AIM、MSN和Jabber等。Google talk是Google推出的IM服务,它采用了开放的XMPP协议。下面介绍如何在Gaim中登Google talk。

    登录Google talk需要有Gmail帐号,在登录前请先准备好。在Debian中安装Gaim软件很简单,Debian已有一个gaim软件包,真接apt-get install gaim即可。

    安装完成后就可运行gaim了。点击“帐户”--“添加”按钮添加一个新帐户。依次填入以下信息:

    协议:Jabber
    用户名:jims.yang       #不含Gmail.com后缀的Gmail帐户名
    服务器:gmail.com      
    资源:Gaim              #默认值      
    密码:xxxx              
    别名:Jims              #别名,可选填写

    接着点击“显示全部选项”,配置Jabber选项:

    选中“若可用则使用TLS”和“允许在不加密流上的纯文本验证”两个选项
    端口:5222
    连接服务器:talk.google.com
    代理类型:无代理

    点击“保存”,完成帐户设置。点击在线即可连接google talk。

    7.35. 安装Freemind
    Freemind是一种名为Mind Mapping(思维导图)的软件,可帮助我们整理头脑中的放射性思维。在Debian中的freemind是0.7.1版的,已比较旧了,少了很多功能。所以我们不安装该版本。我们直接到freemind官方网站上去下载最新的Debian软件包。freemind的官方网址是:[url]http://freemind.sourceforge.net/

    我的安装过程如下:

    下载freemind_0.8.0-1_all.deb和libforms-java_1.0.5-2_all.deb这两个软件包。Freemind是用Java写的,在安装freemind之前需用Debian方式安装配置好jre(Java Runtime Environment),版本要求1.4或以上的版本。有关Java的安装方法可参考本笔记中的“配置Java环境”一节的内容。

    用以下命令开始安装:

    debian:~/inst# dpkg -i freemind_0.8.0-1_all.deb
    选中了曾被取消选择的软件包 freemind。
    (正在读取数据库 ... 系统当前总共安装有 58065 个文件和目录。)
    正在解压缩 freemind (从 freemind_0.8.0-1_all.deb) ...
    dpkg:依赖关系问题使得 freemind 的配置工作不能继续:
    freemind 依赖于 librelaxng-datatype-java;然而:
      软件包 librelaxng-datatype-java还没有被安装。
    freemind 依赖于 libjaxp1.2-java;然而:
      软件包 libjaxp1.2-java还没有被安装。
    freemind 依赖于 libcommons-lang-java;然而:
      软件包 libcommons-lang-java还没有被安装。
    freemind 依赖于 libforms-java;然而:
      软件包 libforms-java还没有被安装。
    dpkg:处理 freemind (--install)时出错:
    依赖关系问题 - 仍未被配置
    在处理时有错误发生:
    freemind

    上面提示有包依赖问题,我们可用以下命令自动安装依赖包:

    debian:~/inst# apt-get -f install
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树... 完成
    正在更正依赖关系... 完成
    将会安装下列的额外的软件包:
      libcommons-lang-java libjaxp1.2-java librelaxng-datatype-java
    下列软件包将被【卸载】:
      freemind
    下列【新】软件包将被安装:
      libcommons-lang-java libjaxp1.2-java librelaxng-datatype-java
    共升级了 0 个软件包,新安装了 3 个软件包,要卸载 1 个软件包,有 30 个软件未被升级。
    有 1 个软件包没有被完全安装或卸载。
    需要下载 260kB 的软件包。
    解压缩后将会空出 2863kB 的空间。
    您希望继续执行吗?[Y/n]
  • 免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-29 15:11 | 显示全部楼层 来自:山东省
    接着安装下载的libforms-java_1.0.5-2_all.deb软件包。

    debian:~/inst# dpkg -i libforms-java_1.0.5-2_all.deb

    最后安装freemind_0.8.0-1_all.deb软件包。

    debian:~/inst# dpkg -i freemind_0.8.0-1_all.deb
    (正在读取数据库 ... 系统当前总共安装有 58143 个文件和目录。)
    正预备替换 freemind 0.8.0-1 (使用 freemind_0.8.0-1_all.deb) ...
    正在解压缩将用于更替的包文件 freemind ...
    正在设置 freemind (0.8.0-1) ...

    用freemind命令即可进入程序,程序菜单已全部汉化,使用起来很方便。freemind创建的文件格式是以.mm为后缀的。它可导出多种文件格式,如XHTML、PNG和OpenOffice文档等。如果你想把你做的.mm文件放到网站使其他人访问,你可以处用freemind-browser软件包。该软件包在[url]http://sourceforge.net/projects/freemind/下载。解开后有两个文件,分别是freemindbrowser.html和freemindbrowser.jar。把它们和要显示的freemind文件拷贝到Web服务器上,最后修改freemindbrowser.html文件,如:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    <html>
    <!-- This launcher works fine with Explorer (with Javascript or without) as
         well as with Mozilla on Windows -->
    <head>
      <title>2006年工作计划</title>            #改这里
      <!--   ^ Put the name of your mind map here -->
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
      <APPLET CODE="freemind.main.FreeMindApplet.class"
              ARCHIVE="freemindbrowser.jar" WIDTH="100%" HEIGHT="100%">
      <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
      <PARAM NAME="scriptable" VALUE="false">
      <PARAM NAME="modes" VALUE="freemind.modes.browsemode.BrowseMode">
      <PARAM NAME="browsemode_initial_map"
             VALUE="http://localhost/freemind/2006.mm">    #改这里,指向你要显示的freemind文件名
      <!--          ^ Put the path to your map here  -->
    <param NAME="initial_mode" VALUE="Browse">
    <param NAME="selection_method" VALUE="selection_method_direct">
    </applet>
    </body>
    </html>

    在浏览器上打上http://localhost/freemiad/freemindbrowser.html即可访问你的2006.mm文件了。通过这种方式访问freemind文件,你可在浏览器中通过点击来打开和关闭层次。你也可把导出的HTML文档全部拷贝到Web服务器上,在浏览器上直接访问。

    freemind通过Plugin扩展freemind的功能。下面分别介绍:

    安装freemind-plugins-svg_0.8.0+01-4_all.deb包

    debian:~/inst# dpkg -i freemind-plugins-svg_0.8.0+01-4_all.deb
    选中了曾被取消选择的软件包 freemind-plugins-svg。
    (正在读取数据库 ... 系统当前总共安装有 67956 个文件和目录。)
    正在解压缩 freemind-plugins-svg (从 freemind-plugins-svg_0.8.0+01-4_all.deb) ...
    dpkg:依赖关系问题使得 freemind-plugins-svg 的配置工作不能继续:
    freemind-plugins-svg 依赖于 libbatik-java (>= 1.6);然而:
      软件包 libbatik-java还没有被安装。
    freemind-plugins-svg 依赖于 rhino;然而:
      软件包 rhino还没有被安装。
    dpkg:处理 freemind-plugins-svg (--install)时出错:
    依赖关系问题 - 仍未被配置
    在处理时有错误发生:
    freemind-plugins-svg
    debian:~/inst# apt-get install libbatik-java rhino
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树... 完成
    您可能需要运行“apt-get -f install”来纠正下列错误:
    下列的软件包有不能满足的依赖关系:
      libbatik-java: 依赖: libbsf-java 但是它将不会被安装
                     依赖: libavalon-framework-java (>= 4.2.0-1) 但是它将不会被安装
                     依赖: libcommons-io-java 但是它将不会被安装
                     依赖: libcommons-logging-java 但是它将不会被安装
    E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。
    debian:~/inst# apt-get -f install
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树... 完成
    正在更正依赖关系... 完成
    将会安装下列的额外的软件包:
      libavalon-framework-java libbatik-java libbsf-java libcommons-io-java
      libcommons-logging-java rhino
    建议安装的软件包:
      libavalon-framework-java-doc jython liblog4j1.2-java liblogkit-java
      rhino-doc
    下列【新】软件包将被安装:
      libavalon-framework-java libbatik-java libbsf-java libcommons-io-java
      libcommons-logging-java rhino
    共升级了 0 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 5 个软件未被升级。
    有 1 个软件包没有被完全安装或卸载。
    需要下载 5798kB 的软件包。
    解压缩后会消耗掉 9257kB 的额外空间。
    您希望继续执行吗?[Y/n]
    获取:1 [url]http://ftp.us.debian.org unstable/main libbsf-java 1:2.3.0+cvs20050308-5  [195kB]
    获取:2 [url]http://ftp.us.debian.org unstable/main libavalon-framework-java 4.2.0-1 [72.3kB]
    获取:3 [url]http://ftp.us.debian.org unstable/main libcommons-io-java 1.0-2 [43.5kB]
    获取:4 [url]http://ftp.us.debian.org unstable/main libcommons-logging-java 1.0.4-3 [126kB]
    获取:5 [url]http://ftp.us.debian.org unstable/contrib libbatik-java 1.6-2 [4841kB]
    获取:6 [url]http://ftp.us.debian.org unstable/main rhino 1.5.R5-4 [520kB]         
    下载 5798kB,耗时 26s (217kB/s)                                                
    选中了曾被取消选择的软件包 libbsf-java。
    (正在读取数据库 ... 系统当前总共安装有 67962 个文件和目录。)
    正在解压缩 libbsf-java (从 .../libbsf-java_1%3a2.3.0+cvs20050308-5_all.deb)
    ...选中了曾被取消选择的软件包 libavalon-framework-java。
    正在解压缩 libavalon-framework-java (从 .../libavalon-framework-java_4.2.0-1_all.deb)
    ...选中了曾被取消选择的软件包 libcommons-io-java。
    正在解压缩 libcommons-io-java (从 .../libcommons-io-java_1.0-2_all.deb)
    ...选中了曾被取消选择的软件包 libcommons-logging-java。
    正在解压缩 libcommons-logging-java (从 .../libcommons-logging-java_1.0.4-3_all.deb) ...
    选中了曾被取消选择的软件包 libbatik-java。
    正在解压缩 libbatik-java (从 .../libbatik-java_1.6-2_all.deb) ...
    选中了曾被取消选择的软件包 rhino。
    正在解压缩 rhino (从 .../rhino_1.5.R5-4_all.deb) ...
    正在设置 libbsf-java (2.3.0+cvs20050308-5) ...

    正在设置 libavalon-framework-java (4.2.0-1) ...
    正在设置 libcommons-io-java (1.0-2) ...
    正在设置 libcommons-logging-java (1.0.4-3) ...

    正在设置 libbatik-java (1.6-2) ...
    正在设置 rhino (1.5.R5-4) ...

    正在设置 freemind-plugins-svg (0.8.0+01-4) ...
    debian:~/inst#

    7.36. 安装Emacs
    Emacs无疑是编辑器的王者,历史悠久,功能强大,我这篇笔记就是使用emacs加psgml-mode完成的。现在Emacs对中文的支持已很好了,完全可以用于中文的生产环境。本章主要介绍Emacs在Debian下的安装和配置过程。具体的使用可参考我的Emacs学习笔记。

    安装软件包:

    debian:~# apt-get install emacs21 mule-ucs

    mule-ucs是emacs的编码包,现在已支持UTF-8编码和多种中文编码。如果要在emacs中正确处理中文信息就要安装该软件包。

    安装完成后,用emacs启动编辑器,默认启动的是X环境的emacs,如果不想进入X环境的emacs,则用emacs -nw启动即可。如果你不想用X环境的emacs,可以直接安装不包含X环境的软件包emacs21-nox。

    全局的配置文件位于/etc/emacs/site-start.d目录下,该目录有多个文件,当emacs启动时会读取每个文件的配置信息,文件的命名格式与/etc/rc*.d目录的文件类似,作用也类似。如40mule-ucs.el就是启用多国语言编码的配置文件,它的载入顺序是40。

    本地配置文件在用户主目录下,叫.emacs。默认没有创建,你可手动自已创建。

    Chapter 8. Debian服务器篇
    Table of Contents

    8.1. 在IBM X335服务器上安装Debian woody 3.0
    8.2. 系统性能管理工具
    8.3. 安装Zope
    8.4. 安装Zope 3.1.0b1
    8.5. 安装MySQL数据库
    8.6. 安装Samba服务器
    8.7. 设置磁盘配额
    8.8. 安装OpenLDAP目录服务器
    8.9. 安装HylaFAX传真服务器
    8.10. 安装Jabberd服务器
    8.11. 安装Jabberd2服务器
    8.12. 安装MoinMoin服务器
    8.13. 安装Trac服务器
    8.14. 安装Subversion服务器
    Debian的服务器应用范围也是很广的,支持各种网络服务器,如DNS、Sabma和Zope等。本章主要介绍在Debian系统下各种服务器的安装配置。

    8.1. 在IBM X335服务器上安装Debian woody 3.0
    硬件配置情况:一台IBM X335服务器,配置Intel Xeon 2.8G CPU,1G内存,两个36G硬盘(RAID 1),BroadCom bcm5700千兆网卡。软件配置:Debian woody stable 3.0,采用bootbf2.4.iso进行网络安装,安装步骤如下:

    下载相关软件:

    bootbf2_4_iso.zip,到这里下载[url]http://people.debian.org/~blade/boot-floppies/netinst-full-pre/。解压密码是:“Yes, I know that this data may be harmful!”。

    LSI53C1030和bcm5700驱程,到这里下载2_4_20-modules_bin.zip。解压密码是:“Yes, I know that this data may be harmful!”。

    把解压出来iso刻录成启动光盘,驱程用dd if=2_4_20-modules.bin of=/dev/fd0写到1.44M软盘上。

      
    驱程需与Debian内核版本匹配才可驱动。

    准备好软件后,就可开始安装。在光盘启动,出现boot:提示符后直接按回车载入安装程序,首先选择键盘。

    接着安装程序提示检测不到硬盘,需加载驱动模块。这时插入驱程软盘,按回车,出现可加载模块列表,按顺序选择mptbase.o,mptscsih.o加载LSI53C1030驱动,注意,不能先加载mptscsih.o,否则加载不成功。接着可加载bcm5700.o网卡驱动模块,加载成功后退出。这时安装程序应该就可找到硬盘和网卡了。

    加载完驱程后,首先进行硬盘分区和格式化工作。

    配置网卡,因为需进行网络安装,所以网卡要在这里配置好。

    配置系统模块,如没特别的设备,按默认就可以了。

    开始安装基本系统,很快就完成,因为才安装几十兆的内容。

    安装完基本系统后,就可设置系统启动配置,使系统可直接从硬盘启动,选择把lilo安装到MBR中。这时你也可做一张开机盘,以备进行故障恢复。

    现在可重启服务器。如果启动成功,Debian会自动运行base-config进行系统始初配置。配置后,就可登录系统了。

    由于默认安装的2.4.20内核不支持超线程技术和大内存,所以需重新编译内核。我以编译2.4.28内核为例说明,2.6内核的编译方法也是一样的。

    安装内核编译所需的一些工具:

    # apt-get install kernel-package ncurses-dev fakeroot

    到内核站点[url]http://www.kernel.org下载最2.4.28内核原码包:

    # cd /usr/src
    # wget [url]http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2

    下载完成后,就可解包和配置内核,配置内核前需了解清楚机器的硬件配置情况:

    # tar -xjf linux-2.4.28.tar.bz2
    # cd linux-2.4.28/
    # make menuconfig

    配置内核时,我主要修改了三个内容

    修改Processor type and features里有关CPU和内存的内容,把CPU类型从P3改为P4,支持4个CPU,支持4G内存;

    选择Fusion MPT device support,把Fusion MPT(base+ScsiHost)drivers编译进内核。

    选择Network device support,进入Ethernet(1000Mbit)类,把Broadcom Tigon3 support编译进内核。

    我还把一些明确不需要的模块删除了,以精简内核,配置完成后存盘退出。你也可把配置的内核参数文件保存起来,以备以后重新编译内核时导入使用。

    配置完内核后就可进行实质的编译工作了,按以下命令依次执行:

    # make dep
    # make-kpkg clean
    # fakeroot make-kpkg --revision=mykernel.1.0 kernel_image

    如果在编译过程异常中止,我们需运行以下命令重新配置内核:

    # make clean
    # make menuconfig

    内核编译完成后,就会在/usr/src目录下生成一个名为kernel-image-2.4.28_mykernel.1.0_i386.deb的内核安装包。我们用以下命令安装新内核:

    # dpkg -i kernel-image-2.4.28_mykernel.1.0_i386.deb

    内核安装时,会把vmlinuz-2.4.28和System.map-2.4.20拷贝到/boot目录下。并有一些自动配置过程,包括制作启动盘和配置lilo启动信息。启动盘可做可不做,但lilo启动信息配置就不要做,我试过几次,如果做了系统就起不来了。我们可手动配置/etc/lilo.conf来实现多重内核启动。把以下信息添加到/etc/lilo.conf中:

    prompt           #这句可使系统启动时出现内核选择菜单。
    timeout=100      #提供10秒的选择时延。
    ...
    image=/boot/vmlinuz-2.4.28
           label=Linux-2.4.28
    ...

    最后运行以下命令把引导信息写入MBR。

    # lilo -v -v -v

      
    其实一个-v选项就可以了,多几个-v选项只是可多显示一些信息。

    到现在为止,新内核的编译配置已全部完成,重启服务器,选择新内核引导系统。

    2.6内核的编译过程和上面的一样。主要是配置内核时菜单会有些不同。在2.6内核中,模块是用module-init-tools来管理的,所以如果需加载模块,就要安装该工具。

    8.2. 系统性能管理工具
    Linux是一个开放的、高可配置的操作系统,一个合格的Linux系统管理员应该可支持不同应用环境的要求。下面介绍一些管理工具,可帮助我们了解系统状态和优化系统。

    top

    top命令可实时地显示Linux系统的进程、CPU、内存、负载等的信息。它是我们了解系统整体状态最好的工具。

    top - 10:06:09 up 31 days,  2:14,  1 user,  load average: 0.00, 0.00, 0.00
    Tasks:  47 total,   1 running,  46 sleeping,   0 stopped,   0 zombie
    Cpu0 :  0.0% us,  0.0% sy,  0.0% ni, 100.0% id,  0.0% wa,  0.0% hi,  0.0% si
    Cpu1 :  0.3% us,  0.0% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
    Mem:   1034732k total,   472336k used,   562396k free,    16460k buffers
    Swap:  1052248k total,        0k used,  1052248k free,   357940k cached

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND         
         1 root      16   0  1504  480 1352 S  0.0  0.0   0:00.59 init            
         2 root      RT   0     0    0    0 S  0.0  0.0   0:00.06 migration/0   
         3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0   
         4 root      RT   0     0    0    0 S  0.0  0.0   0:00.04 migration/1  
         5 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1
         6 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/0        
         7 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 events/1      
         8 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 khelper      
         9 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/0   
         10 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/1   
         11 root      17   0     0    0    0 S  0.0  0.0   0:00.00 khubd      
         38 root      15   0     0    0    0 S  0.0  0.0   0:00.00 pdflush   
         37 root      15   0     0    0    0 S  0.0  0.0   0:00.00 kirqd   
         41 root       6 -10     0    0    0 S  0.0  0.0   0:00.00 aio/0   
         40 root      16   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0
         42 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 aio/1

    top命令的运行状态是一个实时的显示过程,我们可在这个界面监控系统运行情况。我们可通过几个按键来控制top命令,如按q可退出top命令状态,按s可输入信息的更新频率等。这些命令可按h帮助键查询。如:

    Help for Interactive Commands - procps version 3.2.1
    Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

      Z,B       Global: 'Z' change color mappings; 'B' disable/enable bold
      l,t,m     Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
      1,I       Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode

      f,o     . Fields/Columns: 'f' add or remove; 'o' change display order
      F or O  . Select sort field
      <,>     . Move sort field: '<' next col left; '>' next col right
      R       . Toggle normal/reverse sort
      c,i,S   . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
      x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
      z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
      u       . Show specific user only
      n or #  . Set maximum tasks displayed

      k,r       Manipulate tasks: 'k' kill; 'r' renice
      d or s    Set update interval
      W         Write configuration file
      q         Quit
              ( commands shown with '.' require a visible task display window )
    Press 'h' or '?' for help with Windows,
    any other key to continue

    ps

    ps命令可查询系统的进程状态,常用的命令参数是ps -aux,该命令可显示所有用户的进程,如果进程的命令太长,则显示的进程信息会不全。我们可用ps -auxw命令来加长显示,w参数可多加几个,最多可加三个,以显示更长的进程信息。

    debian:~# ps -aux
    USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0  1416  448 ?        S    May24   0:06 init [3]
    root         2  0.0  0.0     0    0 ?        SW   May24   0:00 [keventd]
    root         3  0.0  0.0     0    0 ?        SW   May24   0:00 [keventd]
    root         4  0.0  0.0     0    0 ?        SW   May24   0:00 [keventd]
    root         5  0.0  0.0     0    0 ?        SW   May24   0:00 [keventd]
    root         6  0.0  0.0     0    0 ?        SWN  May24   0:11 [ksoftirqd_CPU0]
    root         7  0.0  0.0     0    0 ?        SWN  May24   0:11 [ksoftirqd_CPU1]
    root         8  0.0  0.0     0    0 ?        SWN  May24   0:10 [ksoftirqd_CPU2]
    root         9  0.0  0.0     0    0 ?        SWN  May24   0:10 [ksoftirqd_CPU3]
    root        10  0.0  0.0     0    0 ?        SW   May24  17:29 [kswapd]
    root        11  0.0  0.0     0    0 ?        SW   May24   0:00 [kreclaimd]
    root        12  0.0  0.0     0    0 ?        SW   May24  15:47 [bdflush]
    root        13  0.0  0.0     0    0 ?        SW   May24   0:00 [kupdated]
    root        14  0.0  0.0     0    0 ?        SW   May24   0:00 [mdrecoveryd]
    root        21  0.0  0.0     0    0 ?        SW   May24   0:00 [scsi_eh_2]
    root        24  0.0  0.0     0    0 ?        SW   May24   0:47 [kjournald]
    root        84  0.0  0.0     0    0 ?        SW   May24   0:00 [khubd]
    root       177  0.0  0.0     0    0 ?        SW   May24   0:59 [kjournald]
    root       178  0.0  0.0     0    0 ?        SW   May24   0:00 [kjournald]
    root       514  0.0  0.0  1476  600 ?        S    May24   0:06 syslogd -m 0

    ps命令的参数有以下几个:

    -a     显示所有终端下所执行的程序
    a      显示在当前终端下所执行的程序
    -A     显示所有的程序,包含所有的服务
    -f     显示UID,PPIP,C,STIME栏位
    -H     以树状格式显示,可表达进程间的相互关系
    S      列出包含已死亡的子进程信息
    u      以用户为单位列出进程信息
    v      显示进程的虚拟内存信息
    V      显示ps的版本信息
    x      显示所有进程

    kill

    kill命令可终止进程,后接进程号即可。如我们可用上面的ps命令查出你想终止的进程的进程号为299,用kill 299则可把该进程终止。

    free

    free可显示系统的内存使用情况。-b、-k、-m三个参数表示以bytes,kilobytes和megabytes为单位显示内存的使用情况。

    debian:~# free -m
                 total       used       free     shared    buffers     cached
    Mem:          2010       2005          5        456        146       1150
    -/+ buffers/cache:        708       1301
    Swap:         2000        127       1872

    vmstat

    使用vmstat 2 命令可每隔2秒显示一行系统信息,这些信息包括CPU占用效、内存使用情况和磁盘IO等。通过它我们可实时监控系统的资源使用情况,进行系统优化。

    debian:~# vmstat 2
       procs                      memory    swap          io     system         cpu
    r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
    0  0  0 130804   6000 149744 1179340   0   0     0     1    1     2   0   0   2
    0  0  0 130804   6000 149744 1179396   0   0    28   162  266   387   0   0 100
    0  0  0 130804   6000 149744 1179472   0   0    30   110  222   280   0   0  99
    1  0  0 130804   6000 149744 1179516   0   0    22   122  235   306   9   2  89
    0  0  0 130804   6000 149748 1179580   0   0    24   148  373   469  10   1  90
    1  0  0 130804   6000 149748 1179628   0   0    24    90  271   356  13   1  85
    1  0  0 130804   6000 149748 1179700   0   0    28   118  263   322  23   2  76
    0  0  0 130804   6000 149748 1179760   0   0    30   148  279   409  14   1  85

    sar

    sar工具可帮我们收集动态的系统信息,它的参数很丰富,功能强大。sar工具的特点是可通过计数器和计数间隔来定期、定量地输出系统状态信息。如:

    debian:~# sar -b 2 10

    09时47分48    tps      rtps      wtps   bread/s   bwrtn/s
    09时47分50    23.50      3.50     20.00     28.00    176.00
    09时47分52    47.50      6.50     41.00     52.00    424.00
    09时47分54    28.50      4.50     24.00     36.00    204.00
    09时47分56    52.00      9.50     42.50     76.00    352.00
    09时47分58    30.50      5.00     25.50     40.00    216.00
    09时48分00    28.50      4.50     24.00     36.00    204.00
    09时48分02    32.00      3.50     28.50     28.00    412.00
    09时48分04    46.00      5.50     40.50     44.00    388.00
    09时48分06    26.00      5.00     21.00     40.00    196.00

    09时48分06      tps      rtps      wtps   bread/s   bwrtn/s
    09时48分08    35.00      5.00     30.00     40.00    264.00
    Average:      34.95      5.25     29.70     42.00    283.60

    上面的命令表示隔2秒输出一条磁盘I/O信息,共输出10条。-b表示输出磁盘I/O信息,如果是-B则可输出paging信息,参数还很多,请用man sar查看。

    watch

    watch命令可重复执行某个命令,监控命令的执行状态。下面这个命令可让我们监控Z2.log文件的大小变化。

    debian:~# watch -n 3 du /home/Jims/zope/log/Z2.log

    -n 3表示每隔3秒执行一次du /home/Jims/zope/log/Z2.log。

    sysctl

    使用sysctl -a可显示所有运行中的内核参数,用sysctl -w fs.file-max=10240 命令可修改fs.file-max内核参数的值,并使参数马上生效。但重启系统后,参数设置会失效,因为命令行只能修改运行中的内核参数。如果我们要把参数设置固定下来,可把内核参数写入/etc/sysctl.conf文件。该文件的格式如下:

    # /etc/sysctl.conf - Configuration file for setting system variables
    # See sysctl.conf (5) for information.

    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0

    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1

    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0

    # Controls whether core dumps will append the PID to the core filename.
    # Useful for debugging multi-threaded applications.
    kernel.core_uses_pid = 1

    ulimit

    使用ulimit -a可显示系统的资源限制情况。

    netstat

    netstat -nal可显示所有的网络连接。

    pppstats

    使用pppstats可得到ppp连接的状态信息。

    8.3. 安装Zope
    Zope是一个开源的、面向对象的Web服务器,主要用Python语言编写。在Debian平台上也有相应的软件包,安装方式也比其它平台简单很多。下面介绍一下Zope2.7的安装步骤:

    # apt-get install zope2.7

    配置时会要回答几个问题,直接按回车选默认方式即可。软件会安装在/usr/lib/zope2.7目录下,实例目录是/var/lib/zope2.7/instance,实例目录开始为空,也就是说没有安装默认实例,需手动用mkzope2.7instanc程序安装。

    用下面命令创建实例

    debian:~# mkzope2.7instance

    Quick reminder:
    To run zope on an instance of type >=2.7 , use
      /var/lib/zope2.7/instance/<instance>/bin/runzope
    To start the server on the instance, use
    ' /var/lib/zope2.7/instance/<instance>/bin/zopectl start '

    No instances were found in /var/lib/zope2.7/instance
    You may create one now
    Hit any key to go on, ctrl-c to stop      #直接回车创建一个新实例

    Please choose a directory in which you'd like to install
    Zope "instance home" files such as database files, configuration
    files, etc.

    Directory:/var/lib/zope2.7/instance/test  # 指定test实例目录
    Please choose a username and password for the initial user.
    These will be the credentials you use to initially manage
    your new Zope instance.

    Username: admin                           #创建zope初始用户  
    Password:
    Verify password:

    You may want to customize /var/lib/zope2.7/instance/<instance>/etc/zope.conf
    debian:~/instance#                        #test实例创建完成

    启动实例

    debian:~#cd /var/lib/zope2.7/instance/test/bin
    debian:/var/lib/zope2.7/instance/test/bin#./zopectl start
    . daemon process started, pid=7811        #实例成功启动

    实例启动后,就可用浏览器访问了,地址是http://localhost:9673。用创建实例时创建的始初用户和密码就可登录进管理界面进行系统管理。

    8.4. 安装Zope 3.1.0b1
    Zope 3.1.0b1是Zope 3第一个正式发布的版本,它取消了X代号,表示Zope 3已逐渐成熟,可用于产品开发。Debian的Sarge版软件包还没有包含Zope 3,所以只能从源码安装。具体的安装步骤如下:

    首先,让我们来看一下Zope 3.1.0b1的系统要求。它要求Python 2.3.5或以上版本支持,并要安装有python-dev,该软件包提供编译Python模块所需的静态库、头文件和distutils工具。Debian默认是没有安装该软件包的,用apt-get install python-dev安装即可。如果没有python-dev软件包,在编译Zope 3时会出错,出错信息如下:

    error: invalid Python installation: unable to open /usr/lib/python2.3/config/Mak efile (No such file or directory)
    make: *** [build] 错误 1
    我下载的打包源码文件名为Zope-3.1.0b1.tgz,用以下命令安装:

    debian:~/inst# tar zxvf Zope-3.1.0b1.tgz
    debian:~/inst# cd Zope-3.1.0b1
    debian:~/inst/Zope-3.1.0b1# ./configure      

    Configuring Zope 3 installation

    Testing for an acceptable Python interpreter...

    Python version 2.3.5 found at /usr/bin/python

    The optimum Python version (2.3.5) was found at /usr/bin/python.
    debian:~/inst/Zope-3.1.0b1# make
    /usr/bin/python install.py -q build
    debian:~/inst/Zope-3.1.0b1# make test      #测试会出错,但也可安装
    /usr/bin/python install.py -q build
    /usr/bin/python test.py -v
    Running UNIT tests at level 1
    Running UNIT tests from /root/inst/Zope-3.1.0b1/build/lib.linux-i686-2.3
    ...............................................................................
    debian:~/inst/Zope-3.1.0b1# make install           #默认安装到/usr/local/Zope-<version>目录
    /usr/bin/python install.py -q build
    /usr/bin/python install.py -q install --skip-build --home "/usr/local/Zope-3.1.0b1"

    安装完成后,就要创建Zope实例。

    debian:/usr/local/Zope-3.1.0b1/bin# ./mkzopeinstance
    Please choose a directory in which you'd like to install Zope
    'instance home' files such as database files, configuration files,
    etc.

    Directory: /var/lib/zope3.1.0b1                            #输入实例的路径

    Please choose a username for the initial administrator account.
    This is required to allow Zope's management interface to be used.

    Username: admin                                            #创建管理员

    Please provide a password for the initial administrator account.

    Password:                                                  #设置管理员密码
    Verify password:
    debian:/usr/local/Zope-3.1.0b1/bin# ./runzope&
    ------
    2005-06-21T00:29:03 WARNING ZODB.FileStorage Ignoring index for /var/lib/zope3.1.0b1/var/Data.fs
    ------
    2005-06-21T00:29:03 INFO PublisherHTTPServer zope.server.http (HTTP) started.
            Hostname: debian
            Port: 8080
    ------
    2005-06-21T00:29:03 INFO PublisherFTPServer zope.server.ftp started.
            Hostname: debian
            Port: 8021
    ------
    2005-06-21T00:29:03 INFO root Startup time: 17.049 sec real, 16.400 sec CPU

    用浏览器访问http://localhost:8080/即可进入Zope 3,用刚才创建实例时设置的用户和密码即可以管理员身份登录ZMI。

    Zope 3的安装已完成,Zope 3与Zope 2在设计思路上有很大的不同,我们需花时间熟悉一下Zope 3的管理界面和开发方法。

    Zope3.1已发布,从源码编译安装的方法和上面介绍的一样。在Debian的Sid系统中已可用apt-get命令安装Zope3包了,大大简化了安装过程。

    8.5. 安装MySQL数据库
    MySQL是最著名的开源数据库,现在正在开发的5.0版将具有大量的新特性,如存储过程和事务处理等。MySQL的性能正一步步地迫近Oracle、DB2等商业大型数据库,给这些产品造成了很大的压力。

    在Debian中安装MySQL服务器是很方便的,使用apt-get命令即可完成。

    debian:~# apt-get install mysql-server mysql-client

    mysql-server是服务器程序,mysql-client是客户端程序。我们可通过客户端程序来管理服务器,也可通过一些开源的GUI程序来维护服务器,如phpmyadmin,mysqlcc等。推荐使用phpmyadmin这个B/S的管理程序,通过浏览器就可方便高效地管理网络上的数据库。

    有关MySQL数据库的管理的操作请参考本站的MySQL学习笔记。

    8.6. 安装Samba服务器
    Samba服务器是Linux平台上的Windows文件服务器和打印服务器,可供Windows用户或Linux用户共同使用,是Linux与Windows之间信息沟通的桥梁。安装命令如下:

    debian~:# apt-get install samba smbclient

    samba是服务器软件包,smbclient是客户端软件包,可选安装。Samba服务器的配置文件叫smb.conf,位于/etc/samba/目录下。在/usr/share/samba/目录下也有一个smb.conf文件备份,如果你在配置服务器时把/etc/samba/smb.conf改乱了,就可以用该文件来恢复到初始状态。启动脚本位于/etc/init.d/目录下,叫samba,如果修改了smb.conf配置文件,可用samba restart命令重启Samba服务器。

    /etc/default/samba文件可设置samba服务器的启动方式,是daemons还是inetd,默认的设置是采用daemons方式的:

    # Defaults for samba initscript
    # sourced by /etc/init.d/samba
    # installed at /etc/default/samba by the maintainer scripts
    #

    #
    # This is a POSIX shell fragment
    #

    # How should Samba (smbd) run? Possible values are "daemons"
    #       or "inetd".
    RUN_MODE="daemons"

    关闭服务器可用smbcontrol这个程序。命令格式如下:

    debian:~# smbcontrol smbd shutdown

    为使Samba服务器正常使用,还需作一些设置。

    在系统中创建test用户

    debian~:# useradd -m test

    增加samba用户

    debian~:# smbpasswd -a test

      
    samba的用户名必须与Linux系统的用户名一致,但密码可以不同。用户登录Sabma服务器时的密码是使用sabpasswd程序设置的密码。

    修改/etc/samba/smb.conf文件,把安全级别设置成用户级。这样,连接Samba服务器的每个用户都需提供用户名和密码。

    security = user

    这样,最基本的Samba服务器就设置好了,在Windows上就可用test用户名访问Samba服务器上的/home/test目录了。

    Samba服务器的功能是很强大的,有关Samba服务器的详细配置和使用介绍请参考网站上的Samba学习笔记。

    8.7. 设置磁盘配额
    我们可通过quota来设置磁盘的配额,限定某个用户只能使用有限的硬盘空间,这在文件服务器和邮件服务器上是很常用的。Linux通过quota程序支持磁盘配额,它以分区(partition)为单位进行设置的。设置步骤如下:

    确定内核支持quota功能,然后下载安装quota程序。

    debian:~# apt-get install quota

    修改/etc/fstab文件,在分区上启用quota功能。我的home目录是放到一个单独的分区中的,我现在要在该分区中启用quota,则需把fstab中的:

    LABEL=/home      /home         ext3    defaults      1 2

    改成:

    LABEL=/home      /home         ext3    defaults,usrquota,grpquota      1 2


    usrquota和grpquota是新增的内容,表示在该分区内启用用户配额(usrquota)和组配额(grpquota)。用户配额可限制某个用户可使用的磁盘空间,组配额可限制某个组所有成员总共可使用的磁盘空间。

    重新启动系统或重新安装分区,使fstab里的配置生效,我们可查看/etc/mtab文件以确定我们的修改是否生效,下面是一个生效后mtab文件。

    debian:~#mount -a -o remount        #重新安装分区
    debian:~# vi /etc/mtab
    /dev/sda1 / ext3 rw 0 0
    none /proc proc rw 0 0
    usbdevfs /proc/bus/usb usbdevfs rw 0 0
    none /dev/pts devpts rw,gid=5,mode=620 0 0
    /dev/sda2 /home ext3 rw,usrquota,grpquota 0 0   #启用了quota
    none /dev/shm tmpfs rw 0 0
    /dev/sda3 /usr ext3 rw 0 0
    /dev/sda6 /data ext3 rw 0 0

    运行quotacheck程序收集磁盘资料,并在/home目录下生成aquota.group和aquota.user文件。

    debian:~# quotacheck -avug

    如果出现# quotacheck: Cannot get quotafile name for /dev/sda1的情况,请先手工在/home目录下创建这两个文件,然后再运行上面这个命令。

    debian:/home#touch aquota.group;touch aquota.user

    这是quota的一个Bug,但不影响正常使用。

    现在我们可以启动quota了,执行以下命令即可。

    debian:~# quotaon -av

    接下来要针对用户设置配额了,我们可使用edquota命令来做。

    debian:~# edquota -u test
    Disk quotas for user test (uid 513):
    Filesystem       blocks       soft       hard     inodes     soft     hard
      /dev/sda2        28          0          0         6        0        0

    这是test用户还没设置配额时的情况,soft表示软限制,当我们使用磁盘时可以超过该值,但要在指定的期间内将磁盘的容量降到soft以下;hard表示硬限制,用户使用磁盘是绝对不能超过该值的。所以soft的值是要低于hard值的,相当于给用户一个缓冲的区间。这里有两对soft和hard,前一对以blocks为单位设置,后一对以inodes为单位设置,一般使用blocks为单位。设置完成后的情况如下。

    Disk quotas for user test (uid 513):
    Filesystem       blocks       soft       hard     inodes     soft     hard
      /dev/sda2        28         20480      30720         6        0        0

    设置的容量是以K为单位的,这里的软限制设置了20M,硬限制设置了30M。

    设置soft的宽限期间用edquota -t命令,该设置是针对分区设置的,不能细化到用户。

    quotaoff命令用来关闭quotaoff,在关机或重启机器时,请先用该命令关闭quota。

    quotastats命令可显示quota的状态信息。

    repquota命令可用来显示分区中各用户的配额使用情况。

    8.8. 安装OpenLDAP目录服务器
    在Debian系统中安装openldap是很简单的,它有一个配置向导可帮我们快速建立一个目录服务。安装命令如下:

    debian:~# apt-get install slapd ldap-utils

    与目录服务相关的软件包系统会自动安装。安装完成后,系统会自动运行一个配置向导,依次回答以下问题即可:

    Domain name         #目录的根
    Organization name   #根下的组织
    Admin password      #目录服务器的管理员密码
    Verify password     #验证密码
    Allow LDAPv2 protocol     #是否允许LDAPv2

    配置完成后,可用以下命令测试目录服务器:

    debian:~# ldapsearch -x -b 'cn=admin,dc=com'
    # extended LDIF
    #
    # LDAPv3
    # base <cn=admin,dc=com> with scope sub
    # filter: (objectclass=*)
    # requesting: ALL
    #

    # admin, com
    dn: cn=admin,dc=com
    objectClass: simpleSecurityObject
    objectClass: organizationalRole
    cn: admin
    description: LDAP administrator

    # search result
    search: 2
    result: 0 Success

    # numResponses: 2
    # numEntries: 1

    dc=com是我的目录服务器的根,cn=admin,dc=com是我的目录服务器的根管理员。这个管理员在我的目录服务器中拥有像Linux系统中root一样的权限。

    推荐使用phpldapadmin这Web管理程序来管理ldap服务器。有关openldap的详细配置说明和使用请参考网站上的openldap学习笔记。

    8.9. 安装HylaFAX传真服务器
    HylaFAX是一个开放源码的传真服务器,它可为企业提供一个强大而可靠的传真服务。HylaFAX基于C/S架构,在局域网内只要有一台连接FAX Modem的HylaFAX传真服务器,就可为局域网内所有的用户提供传真功能。作为企业应用,高负载能力是必须具备的,HylaFAX可连接多台Modem,为企业提高优异的传真性能。

    在Debian系统中提供一个HylaFAX-server软件包,用以安装HylaFAX服务器。在安装该软件包前,请用上文介绍的工具和方法确定Modem在你的Debian系统中能正常工作。下面是具体的安装步骤:

    安装服务器软件包:

    debian:~# apt-get install hylafax-server

    安装完软件包后,hylafax还不能运行,还要运行faxsetup命令配置你的传真服务器。该配置过程会检测Modem的传真功能并要求输入传真机的一些参数,如国家码、地区码和本机号码等。最后faxsetup还会生成一个faxmaster的用户,该用户负责管理传真服务器。配置完成后,HylaFAX服务应该已启动了。

    现在,我们可用faxstat命令来查询服务器状态,该命令需用到faxmaster用户的密码,所以我们需设置faxmaster用户的密码:

    debian:~# passwd faxmaster

    用faxstat命令查询服务器状态:

    debian:~# faxstat
    Password:
    HylaFAX scheduler on debian: Not running
    Modem ttyS0 (85789877): Running and idle

    出现以上信息说明服务器已正常运行,我们可用sendfax命令来测试一下发送传真。

    debian:~# sendfax -n -d 88886666 test.txt

    test.txt文档就通过我们的HylaFAX传真服务器发送到88886666传真机上了。我们可到/var/spool/hylafax/log查看发送的日志。

    接收的传真会自动保存在/var/spool/hylafax/recvq目录下,文件格式是tif的。

    传真服务器已安装完成,但要在企业中投入正常使用,还需进一步的配置。

    待续...

    8.10. 安装Jabberd服务器
    Jabber是一个IM(即时通信)服务器,使用开放的XMPP协议,它的信息流是XML格式的,可实现跨平台通信。通过Jabber转换器,Japper还可与MSN,Yahoo等即时通信服务器连接。一举打破现时IM平台互不兼容的格局。Google talk就是使用Jabber/XMPP来实现的。

    Jabber服务器软件有很多种,具体可到这个网址查询:[url]http://www.jabber.org/software/servers.shtml。其中jabberd是用C写的一个Jabber服务器,在Debian中有一个jabber软件包可安装jabberd1.4.3服务器。现在最新的jabberd是2.x版本的,包含了jabber的最新功能,但支持的组件较少,jabberd1.4.x版本中没有包含最新的功能,如不支持SASL。但它的支持组件很多,而且很稳定。所以这里我以jabberd1.4.3版的jabberd服务器进行介绍。

    用Debian标准的软件安装方法即可完成软件包的下载和安装。

    debian:~# apt-get install jabber

    安装完软件后,jabberd服务就会自动启动。我们可用telnet程序与服务器连接测试一下服务器是否能正常工作。

    debian:~# telnet localhost 5222   #5222是jabberd服务的默认端口号
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.

    在上面的状态下输入以下xml文本内容:

    <stream:stream
      to='localhost'
      xmlns='jabber:client'
      xmlns:stream='http://etherx.jabber.org/streams'>

    按回车,jabber服务器会显示如下信息:

    <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='431E92B1' xmlns='jabber:client' from='localhost'>

    如果出现如下的信息,则说明jabberd服务器已正常运行。我们可用</stream:stream>语句关闭信息流,退同telnet状态。。

    下面我们可以开始配置jabber服务器。jabber的配置文件在/etc/jabber目录下,叫jabber.xml。首先,我们需配置主机名,上面我们是用localhost主机名来测试的。正式使用的话需要有一个唯一的名称来标识该服务器。用vi程序打开该文件,找到这句:

    <host><jabberd:cmdline flag="h">localhost</jabberd:cmdline></host>

    把localhost改成你的主机名,我的主机名是debian,存盘退出。现在我们就可用主机名来访问jabberd服务了,如:

    debian:~# telnet debian 5222
    Trying 127.0.0.1...
    Connected to debian.      #主机名已改变
    Escape character is '^]'.

    现在我们可以添加一个jabber帐号了,我们可以通过gaim之类的jabber客户端软件自动添加,也可手动方法添加。下面介绍用telnet手动添加的方法,这种方法可让我们详细了解jabberd服务的添加用户的处理过程。

    debian:~# telnet debian 5222
    Trying 127.0.0.1...
    Connected to debian.
    Escape character is '^]'.
    <stream:stream
    to="debian"
    xmlns="jabber:client"
    xmlns:stream="http://etherx.jabber.org/streams">

    系统显示以下信息:

    <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='431E9B0B' xmlns='jabber:client' from='debian'>

    使用以下XML查询注册需提供些什么信息:

    <iq id='reg1' type='get'>
      <query xmlns='jabber:iq:register'/>
    </iq>

    查询的结果如下:

    <iq id='reg1' type='result'>
      <query xmlns='jabber:iq:register'><password/><password/>
            <instructions>Choose a username and password to register with this server.</instructions>
            <name/>
            <email/>
          <username/></query>
    </iq>

    这里显示注册需提供password,username,email和name四项信息。下面我把按要求把注册信息发给服务器:

    <iq id="reg2" type="set">
    <query xmlns="jabber:iq:register">
    <username>test</username>
    <password>12345</password>
    <name>test</name>
    <email>test@debian</email>
    </query>
    </iq>     #在这里按回车,如果出现以下信息,则说明注册成功。
    <iq id='reg2' type='result'/>

    每个注册用户的信息保存在/var/lib/jabber/目录下。现在我们可以用刚注册的帐号登录jabber服务器了,在登录之前,我们可用以下XML命令查询服务器登录需要些什么信息:

    <iq id="auth1" type="get">
    <query xmlns="jabber:iq:auth">
    <username>test</username>
    </query>
    </iq>

    返回的信息如下:

    <iq id='auth1' type='result'>
    <query xmlns='jabber:iq:auth'>
    <username>test</username>
    <digest/><password/><resource/></query>
    </iq>

    <digest/>和<password/>分别表示加密格式的密码和纯文本格式的密码,只需选其中一种即可。<resource>是必须填的,表示连接服务的资源,如我们现在采用的telnet。登录的XML命令如下,我们采用的是不加密的密码方式:

    <iq id="auth2" type="set">
    <query xmlns="jabber:iq:auth">
    <username>test</username>
    <password>12345</password>
    <resource>telnet</resource>
    </query>
    </iq>         #这里按回车,如果出现以下信息,则说明登录成功。
    <iq id='auth2' type='result'/>

    最后,我们要把test用户切换到在线状态。

    <presence/>          #按回车后会显示以下的欢迎信息
    <message from='debian' to='test@debian'>
            <subject>Welcome!</subject>
            <body>Welcome to the Jabber server -- we hope you enjoy this service! For information about how to us
    e Jabber, visit the Jabber User&apos;s Guide at [url]http://jabbermanual.jabberstudio.org/</body>
          <x xmlns='jabber:x:delay' from='test@debian' stamp='20050907T08:01:29'>Offline Storage</x></message>

    现在,我们就可发送和接收信息了。发送信息的XML命令格式如下:

    <message to="jims@debian">
    <body>hello jims</body>
    </message>

    如果jims用户已在gaim中登录,则会显示“hello jims”的信息。如果在gaim中发一条叫“hello test,this m essage form gaim.”给test@debian,则会在telnet里收到如下格式的信息:

    <message type='chat' to='test@debian/telnet' from='yangjing@debian/Gaim'><x xmlns='jabber:x:event'><composing
    /></x><body>hello test,this message form gaim.</body><html xmlns='http://jabber.org/protocol/xhtml-im'><body
    xmlns='http://www.w3.org/1999/xhtml'>hello test,this message form gaim.</body></html></message>

    用以下命令可退出会话:

    </stream:stream>

    从上面的信息可以看到,在jabber传送的信息流是XML格式的。这为jabber服务的扩展提供了很好的发展空间。

    8.11. 安装Jabberd2服务器
    jabberd2服务器还没正式进入Debian的软件包,但我们可从源码开始安装。下面介绍如何在Debian平台中如何从源码安装jabberd-2.0s10。这里的2.0s10表示jabberd2.0的第十个stable发行版。

    到jabberd的官方网站下载最新的软件包jabberd-2.0s10.tar.gz。用tar -zxvf jabberd-2.0s10.tar.gz命令解压后会在当前目录下生成jabberd-2.0s10目录。

    进入源码目录,我们就可以用configure工具配置软件包。但在配置前,先要安装一些支持软件包,分别是libssl-dev和libidn11-dev,还有libmysqlclient14-dev,该软件包用于支持Mysql数据库作为后台数据存储和用户验证,如果你想通过ldap目录服务器来进行用户认证,则还需安装libldap2-dev软件包。准备好后,运行以下命令配置jabberd2:

    debian:~/inst/jabberd-2.0s10# ./configure --prefix=/usr/local/jabberd2 --enable-ldap --enable-debug

    配置成功后,运行make和make install即可把软件安装到/usr/local/jabberd2目录中。

    现在可以配置服务器了,jabberd2的配置文件位于/usr/local/jabberd2/etc/jabberd目录下,配置文件的文本是XML格式的。现在我们要修改sm.xml和c2s.xml这两个配置文件,把真实的服务器名写到这两个配置文件中:

    修改sm.xml文件,把id标签内的localhost改成真实服务器名
    <!-- Session manager configuration -->
    <sm>
      <!-- Our ID on the network. Users will have this as the domain part of
           their JID. If you want your server to be accessible from other
           Jabber servers, this ID must be resolvable by DNS.s
           (default: localhost) -->
      <id>localhost</id>

    ...

    修改c2s.xml文件,也是把id标签内的localhost改成真实服务器名

    ...

    <!-- Local network configuration -->
      <local>
        <!-- Who we identify ourselves as. This should correspond to the
             ID (host) that the session manager thinks it is. You can
             specify more than one to support virtual hosts, as long as you
             have additional session manager instances on the network to
             handle those hosts. The realm attribute specifies the auth/reg
             or SASL authentication realm for the host. If the attribute is
             not specified, the realm will be selected by the SASL
             mechanism, or will be the same as the ID itself. Be aware that
             users are assigned to a realm, not a host, so two hosts in the
             same realm will have the same users.
             If no realm is specified, it will be set to be the same as the
             ID. -->
        <id>localhost</id>

    ...


    jabberd2默认使用MySQL来存放数据和进行用户认证。所以我们还要配置MySQL数据库,为jabberd2增加相应的数据库和表。jabberd2软件包已为我们提供了一个MySQL脚本自动完成数据库和表的创建。这个脚本位于源码目录下的tools目录中,文件名是db-setup.mysql。该目录还有针对不同数据库(Oracle、PostgreSQL)的脚本可用。我们以管理员身份登录MySQL服务器,用以下命令运行db-setup.mysql脚本。在运行脚本前,请确保该脚本在当前目录下。

    debian:~/inst/jabberd-2.0s10/tools# mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 68 to server version: 4.0.24_Debian-10sarge1-log

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> \. db-setup.mysql
    Query OK, 1 row affected (0.00 sec)

    Database changed
    Query OK, 0 rows affected (0.13 sec)

    Query OK, 0 rows affected (0.01 sec)

    Query OK, 0 rows affected (0.01 sec)

    Query OK, 0 rows affected (0.01 sec)

    Query OK, 0 rows affected (0.02 sec)
    ...

    创建完数据库和表后,我们还要配置该数据库的访问权限,很简单,运行以下命令即可:

    mysql> grant select,insert,delete,update on jabberd2.* to jabberd2@localhost identified by '123456';
    Query OK, 0 rows affected (0.00 sec)

    现在我们就在MySQL数据库创建一个jabberd2用户,密码是123456。该用户可以在jabberd2数据库中做select,insert,delete,update操作。为了使jabberd2服务器能登录该数据库,我们还需用"jabberd2"和"123456"这两个参数更新sm.xml和c2s.xml两个配置文件的相关内容。

    修改sm.xml文件
    ...
    <!-- Storage database configuration -->
      <storage>
        <!-- By default, we use the MySQL driver for all storage -->
        <driver>mysql</driver>

        <!-- Its also possible to explicitly list alternate drivers for
             specific data types. -->
        <!-- Store vcards in a PostgreSQL database instead -->
        <!--
        <driver type='vcard'>pgsql</driver>
        -->

        <!-- MySQL driver configuration -->
        <mysql>
          <!-- Database server host and port -->
          <host>localhost</host>
          <port>3306</port>

          <!-- Database name -->
          <dbname>jabberd2</dbname>

          <!-- Database username and password -->
          <user>jabberd2</user>
          <pass>123456</pass>
    ...

    修改c2s.xml

    ...
    <!-- MySQL module configuration -->
        <mysql>
          <!-- Database server host and port -->
          <host>localhost</host>
          <port>3306</port>

          <!-- Database name -->
          <dbname>jabberd2</dbname>

          <!-- Database username and password -->
          <user>jabberd2</user>
          <pass>123456</pass>
        </mysql>
    ...


    最后一步,根据sm.xml或c2s.xml中pidfile标签的内容创建进程ID目录。在我的机器上sm.xml配置文件中pidfile标签的内容如下:

    <pidfile>/usr/local/jabberd2/var/jabberd/pid/sm.pid</pidfile>

    创建pid目录的命令如下:

    debian:/usr/local/jabberd2# mkdir -p var/jabberd/pid/

    是否创建该目录对服务器的正常运行没有影响,只是有了该目录后,当服务器运行时,在该目录下会生成jabberd2服务进程Id文件,我们可跟踪jabberd2服务器的进程Id号。

    启动服务器

    debian:/usr/local/jabberd2/bin# ./jabberd

    如果启动不成功,可查询系统日志或用-D选项启动服务器。

    服务器启动后,我们就可用Gaim等客户端连接它。具体操作和上一节内容一样,这里就不再讲了。

    除了上面介绍的使用MySQL数据库作为用户认证数据库外,我们还可使用LDAP目录服务进行用户认证。下面介绍具体的配置过程,我选用的LDAP服务器是OpenLDAP,版本号是2.2.23-8。

    要使jabberd2使用LDAP目录服务,需在源码配置时加--enable-ldap选项,并安装libldap2-dev软件包。

    配置c2s.xml文件以支持ldap认证:

    ...
    <!-- Authentication/registration database configuration -->
      <authreg>
        <!-- Backend module to use -->
        <module>ldap</module>               #启用ldap认证模块,默认是MySQL

        <!-- Registration configuration -->
        <register>
          <!-- Account registration is enabled by default (provided the
               auth/reg module in use supports it). Comment this out to
               disable. -->
               
       <!--   <enable/> -->  #注释该行,禁止用户自由注册,启用ldap认证后,该功能失效。jabberd2暂时还不支持在LDAP服务器上创建用户信息。

    ...

    <!-- LDAP module configuration -->      #开始配置LDAP服务参数
        <ldap>
          <!-- LDAP server host and port (default: 389) -->
          <host>Ldap_server</host>          #配置LDAP服务器主机名
          <port>389</port>                  #配置LDAP服务器端口

          <!-- Use LDAP v3 if possible. If disabled, v2 will be used.
               Encryption options are only available if v3 is enabled. -->
          <!--
          <v3/>
          -->

          <!-- Encryption. If enabled, this will create an encrypted channel
               to the LDAP server using the LDAP STARTTLS mechanism. -->
          <!--
          <starttls/>
          -->

          <!-- Encryption. If enabled, this will create an encrypted channel
               to the server using the old-style "ldaps://" mechanism. It is
               recommended that you use <starttls/> instead of this. -->
          <!--
          <ssl/>
          -->

          <!-- DN to bind as for searches. If unspecified, the searches
               will be done anonymously. -->

          <binddn>cn=admin,dc=com</binddn>    #配置登录LDAP服务器的DN
          <bindpw>123456</bindpw>             #配置登录密码


          <!-- LDAP attribute that holds the user ID (default: uid) -->
          <uidattr>uid</uidattr>              #配置用户认证属性

          <!-- base DN of the tree. You should specify a DN for each
               authentication realm declared in the <local/> section above,
               by using the realm attribute. -->
          <basedn realm=''>dc=user,dc=company,dc=com</basedn>  #配置搜索路径起点
         <!-- <basedn>o=Example Corp.</basedn> -->
        </ldap>

    ...

    配置sm.xml文件,启用auto-create功能,自动始初化会话。

    ...
      <!-- User options -->
      <user>
        <!-- By default, users must explicitly created before they can start
             a session. The creation process is usually triggered by a c2s
             component in response to a client registering a new user.

             Enableing this option will make it so that a user create will be
             triggered the first time a non-existant user attempts to start
             a session. This is useful if you already have users in an
             external authentication database (eg LDAP) and you don't want
             them to have to register. -->

        <auto-create/>         
    #该功能只在禁用公开注册,采用外部验证数据库时启用,开启该功能后,当用户第一次登录时,jabberd2会自动把用户信息插入到active表。
    #如果开启公开注册功能,则应该禁用该功能,用户信息会在注册时自动插入到active表。
    ...

    配置完成后,重启Jabberd2服务器,如果配置正确,可在系统日志/var/log/message文件看到以下信息:

    ...

    Nov 24 11:33:17 t03 jabberd/sm[29600]: initialised storage driver 'mysql'     #成功连接MySQL数据库
    Nov 24 11:33:17 t03 jabberd/sm[29600]: version: jabberd sm 2.0s10

    ...

    Nov 24 11:33:17 t03 jabberd/c2s[29602]: starting up
    Nov 24 11:33:17 t03 jabberd/c2s[29602]: process id is 29602, written to /usr/local/jabberd2/var/jabberd/pid/c2s.pid
    Nov 24 11:33:17 t03 jabberd/c2s[29602]: ldap: configured 1 realms
    Nov 24 11:33:17 t03 jabberd/c2s[29602]: initialised auth module 'ldap'        #成功连接LDAP服务器
    Nov 24 11:33:17 t03 jabberd/c2s[29602]: [t03.tigerhead] configured; realm=(null)

    在jabberd2中,我们可以设置默认的好友列表模板,当用户第一次登录系统时就会自动获得该列表,不用手动一个用户一个用户地添加。要启用该功能,首先要在sm.xml配置文件的内进行配置。jabberd2默认是没有打开该功能的,我们只要在sm.xml文件中把template内的roster标签前的注释符删除即可。如:

    ...
        <!-- Templates. If defined, the contents of these files will be
             stored in the users data store when they are created. -->
        <template>

            <roster>/usr/local/jabberd2/etc/jabberd/templates/roster.xml</roster>

        </template>
    ...


    从上面的配置可以看以,默认的模块是存放在/usr/local/jabberd2/etc/jabberd/templates/roster.xml目录下的。我们编辑roster.xml文件,按以下格式添加用户列表。

    <!-- This is the roster template. If enabled in sm.xml, new users will
         get this roster by default. -->
    <query xmlns='jabber:iq:roster'>
      <!--
      <item name='Helpdesk' jid='helpdesk@localhost' subscription='both'><group>Support</group></item>
      -->
      <item name='ringkee' jid='ringkee@company.com' subscription='both'><group>IT</group></item>
      <item name='diu167' jid='diu167@company.com' subscription='both'><group>IT</group></item>
      <item name='dongrui' jid='dongrui@company.com' subscription='both'><group>IT</group></item>
      <item name='sally' jid='sally@company.com' subscription='both'><group>IT</group></item>
      <item name='xmr' jid='xmr@company.com' subscription='both'><group>IT</group></item>
    </query>

    上面设置了一个IT组,里面有5个用户。修改roster.xml文件后,不用重启服务器就可使修改生效。当用户首次登录时,这5个用户列表会自动下载到客户端。这种下载动作只会在用户首次登录系统时发生。当用户第一次登录时,jabberd2会在active表中插入一条记录,记录登录的用户帐号名和登录时间等信息。jabberd2以此判断用户是否第一次登录。同时把模板中的用户列表信息按登录用户的不同保存在roster-items和roster-groups两个表中。当用户第二次登录时,jabberd2在active中可以查询到用户帐号信息,就不会再把模板中的用户列表信息保存到roster-items和roster-groups表中。而是直接下载roster-items和roster-groups表中的用户列表信息来使用。当用户在客户端手工删除用户列表后,jabberd2会直接删除roster-items和roster-groups表中的用户列表信息。这样,下次用户登录时就找不到用户列表了,所以我们不要随便删除用户列表信息。为了使删除后的用户列表能重新下载或更新,我们可在active表中删除该用户的帐号记录。下次用户登录系统时,系统还会把你当成是首次登录,又会自动下载模板中的用户列表。

    jabberd2系统的所有信息都保存在MySQL数据库的jabberd2数据库中。一面介绍jabberd2数据库各个表的作用。

    active表,存放用户名和用户第一次登录的时间。表中的记录在用户第一次登录系统时插入,以后用户登录系统不影响该记录的内容。

    authreg表,当选择MySQL数据库作为jabberd2的用户验证数据库时,该 表才有意义。它用以存放用户的验证信息,如用户名、密码和范围。

    disco-items表,记录离线信息。

    logout表,记录用户最近的登出信息,包括jid和时间戳。

    motd-message表,记录XML格式的MOTD(Message Of The Day)信息。

    motd-message表,记录接收的MOTD信息内容,包括jid和时间戳。

    privacy-default表,

    privacy-items表,

    private表,以XML格式存放用户的私人信息,如收藏夹、爱好等。

    queue表,存放排序信息。

    roster-groups表,保存已分组的用户列表信息。

    roster-items表,保存用户列表信息,包含验证状态信息。

    vacation-setting表,

    vcard表,保存用户帐号信息,包含用户名、住址、URL和职务等。

    jabberd2服务器由一系列的进程组成,各进程互相依赖。如果要手动杀死jabberd2进程,则要按一定的顺序。如:

    #!/bin/bash
    killall router
    killall resolver
    killall c2s
    killall s2s
    killall sm

    由于Jabber协议的开放性,造就了众多的开源的Jabber客户端,在[url]http://www.jabber.org上有一个Jabber Client软件的列表可供参考。我试过几种,从功能和中文支持上推荐Psi和Gaim两种。还有一个基于Web的Jabber客户端jwchat,它利用punjab这个HTTP jabber client接口和Ajax技术,可在浏览器上登录jabber服务器进行即时通信。jwchat网站上有一个Demo,大家可以去看看,很不错的。但我没安装成功,有谁成功安装,请指点一二。
    免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-29 15:14 | 显示全部楼层 来自:山东省
    一些书籍的下载链接

    Linux经典书籍下载, 早期收集的,可能有的链接不能用了。
    第一部分:Linux基础应用

    1、《Linux从入门到精通》
    [url]http://www.gouhuo.com/study/linuxbook.zip

    2、 Linux 系统安全与优化中文版
    这本书的英文版“Get Acquainted with Linux Security and Optimization System”(简称LinuxSOS)是Linux文档计划(Linux Document Project)中比较新的一本指南。这本书不是Linux的入门书籍,读这本书需要有Linux或者Unix的背景知识。如果你已经安装过Linux而且能够使用一些虻サ腢nix命令,那么这本书会对你有很大的帮助。
    [url]http://www.linuxaid.com.cn/download/training/linuxsos-cn.pdf

    3、Linux安装与配置简明手册 13-Aug-2002 16:14 20M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%b0%b2%d7%b0%d3%eb%c5%e4%d6%c3%bc%f2%c3%f7%ca%d6%b2%e1.zip

    4、Linux编程白皮书.zip 13-Aug-2002 16:14 16M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%b1%e0%b3%cc%b0%d7%c6%a4%ca%e9.zip

    5、Linux网站建设技术指南 13-Aug-2002 16:14 9.2M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%cd%f8%d5%be%bd%a8%c9%e8%bc%bc%ca%f5%d6%b8%c4%cf.zip

    6、Linux系统分析与高级编程 13-Aug-2002 16:14 11M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%cf%b5%cd%b3%b7%d6%ce%f6%d3%eb%b8%df%bc%b6%b1%e0%b3%cc%bc%bc%c a%f5.zip

    7、Linux系统管理白皮书.zip 13-Aug-2002 16:14 6.8M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%cf%b5%cd%b3%b9%dc%c0%ed%b0%d7%c6%a4%ca%e9.zip

    8、Linux应用程序开发指南 13-Aug-2002 16:14 9.1M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%d3%a6%d3%c3%b3%cc%d0%f2%bf%aa%b7%a2%d6%b8%c4%cf%a3%ba%ca%b9%d 3%c3Gtk+%20Gnome%bf%e2.zip

    9、Linux 24学时教程.zip 13-Aug-2002 16:14 34M
    [url]http://cpss.zz.ha.cn/study/linux/Linux%2024%d1%a7%ca%b1%bd%cc%b3%cc.zip

    10、Red Hat Linux 6大全.zip 13-Aug-2002 16:15 33M
    [url]http://cpss.zz.ha.cn/study/linux/Red%20Hat%20Linux%206%b4%f3%c8%ab.zip

    11、Red Hat Linux 6管理工具 13-Aug-2002 16:15 13M
    [url]http://cpss.zz.ha.cn/study/linux/Red%20Hat%20Linux%206%b9%dc%c0%ed%b9%a4%be%df.zip

    12、[url]http://www.linuxsir.org/pdf/ebook1.rar
    [url]http://www.linuxsir.org/pdf/ebook2.rar
    具体文章如下:
    基础建设讨论专版:
    Linux管理员手册
    linux入门教程
    linux指令大全

    红旗版区的:
    红旗桌面4正式版最新使用方法和问题解答100例

    Linux shell进阶应用与shell编程
    命令大集合
    TCSH shell 编程
    Bourne Shell及shell编程
    Linux Shell简介
    脚本精华欣赏
    使用 Bash shell 脚本进行功能测试

    Linux 发行版SuSE专题
    SuSE 解决方案

    13、Debian的中文FAQ 600k pdf
    [url]http://linuxdoc.51.net/download/Debian_cn_FAQ.pdf

    14、Linux Kernel 核心手册(中文)552k zip
    [url]http://linuxdoc.51.net/download/Linux_Kernel_cn.zip

    15、Linux + Solaris 48k pdf
    [url]http://linuxdoc.51.net/download/LinuxSolaris.pdf

    16、Linux SOS 1.1 1.3M pdf
    [url]http://linuxdoc.51.net/download/linuxsos-11.pdf

    17、SuSE官方汉化手册 1.4M pdf
    [url]http://linuxdoc.51.net/download/suse_guanfang_hanhua.pdf

    18、Linux Kernel 1.3M pdf
    [url]http://linuxdoc.51.net/download/linux_kernel.pdf

    19、Linux程序员指南 337k zip
    [url]http://linuxdoc.51.net/download/linux_program.zip

    20、Linux高级技巧集 72k zip
    [url]http://linuxdoc.51.net/download/linux_gaoji_jiqiao.zip

    21、OReilly Unix超级工具(第三版)
    [url]http://bbs.itebook.net/attachment.php?aid=621
    [url]http://bbs.itebook.net/attachment.php?aid=622

    22、FreeBSD使用大全(Chm格式)
    是王波写的一本专门介绍Freebsd的书籍,共94章,图文并茂,是不可多得的FreeBSD方面的教材。
    [url]http://www.linuxdby.com/downloadlink.php?id=15

    23、Redhat 9.0 官方中文安装指南
    [url]http://www.fcitx.org/flysail/rhl-ig-x86-zh_CN-9.tar.gz

    Redhat 9.0 官方中文入门指南
    [url]http://www.fcitx.org/flysail/rhl-gsg-zh_CN-9.tar.gz

    Redhat 9.0 官方中文定制指南
    [url]http://www.fcitx.org/flysail/rhl-cg-zh_CN-9.tar.gz

    24、《Linux 新手管理员指南》
    本书《Linux 新手管理员指南》是英文版LINUX NEWBIE ADMINISTRATOR GUIDE 的完整中文译本,共237页,PDF格式。
    原版:[url]http://linux-newbie.sunsite.dk/
    下载:[url]http://www.linuxdby.com/downloadlink.php?id=51

    25、Linux高级配置详解(PDG)
    讲述在Linux操作系统下的软、硬件配置、网络应用配置、X Window系统配置以及内核的配置和编译等知识。
    [url]http://www.mycodes.net/down.asp?id=793&no=1
    [url]http://www.mycodes.net/down.asp?id=793&no=2
    第二部分:Linux系统管理

    1、Setting up a Local Area Network (EN)上载:5/9/2002
    [url]http://www.joyfire.net/compress/rh-lan.pdf

    2、linux for mainframe (EN)上载:5/9/2002
    [url]http://www.joyfire.net/compress/linux4mainframe.zip

    3、Linux Consultants Guide (EN)上载:1/9/2002
    [url]http://www.joyfire.net/compress/Consultants-Guide.html.tar.gz

    4、LPI认证复习资料1 2 3 4 5 6 7 8上载:13/7/2002
    [url]http://www.joyfire.net/compress/l-lpi1.zip
    [url]http://www.joyfire.net/compress/l-lpi2.zip
    [url]http://www.joyfire.net/compress/l-lpi3.zip
    [url]http://www.joyfire.net/compress/l-lpi4.zip
    [url]http://www.joyfire.net/compress/l-lpi5.zip
    [url]http://www.joyfire.net/compress/l-lpi6.zip
    [url]http://www.joyfire.net/compress/l-lpi7.zip
    [url]http://www.joyfire.net/compress/l-lpi8.zip

    5、Red Hat Network Basic User Reference Guide (EN)上载:13/7/2002
    [url]http://www.joyfire.net/compress/rhn-basic-urg-en-3.3.tgz

    6、Red Hat Network Enterprise User Reference Guide (EN)上载:13/7/2002
    [url]http://www.joyfire.net/compress/rhn-enterprise-urg-en-1.1.tgz

    7、Linux FAQ 在线浏览 上载:11/6/2002
    [url]http://www.joyfire.net/compress/Linux-FAQ.html.tar.gz
    [url]http://www.joyfire.net/Linux-FAQ/index.html

    8、Linux系统分析与高级编程技术上载:4/5/2002
    [url]http://www.joyfire.net/compress/linux_advanced_technology.zip

    9、RedHat Linux网络管理工具上载:4/5/2002
    [url]http://www.joyfire.net/compress/RadHat_Linux_Network_Management_Tools_CN.zip

    10、Linux管理指南上载:4/5/2002
    [url]http://www.joyfire.net/compress/Linux_Management_CN.zip

    11、GNU Linux 高级网络应用服务指南上载:4/5/2002
    [url]http://www.joyfire.net/compress/GNU_linux_advanced_network_Guide.zip

    12、inux环境数据库管理员手册上载:4/5/2002
    [url]http://www.joyfire.net/compress/Linuxdb.zip

    13、Complete Linux Command Reference (EN)上载:4/5/2002
    [url]http://www.joyfire.net/compress/Complete_Linux_Command_Reference.zip

    14、Bugzilla-Guide (EN) 上载:20/4/2002
    [url]http://www.joyfire.net/compress/Bugzilla-Guide.html.tar.gz

    15、Llinuxcookbook (EN) 在线浏览 上载:20/4/2002
    [url]http://www.joyfire.net/compress/linuxcookbook-1.2.html.tar.gz
    [url]http://www.joyfire.net/linuxcookbook/index.html

    16、Linux HOWTO (EN)(9.8M) 在线浏览 中文版和miniHOWTO (EN) 中文版上载:13/3/2002
    [url]http://www.joyfire.net/compress/Linux-html-HOWTOs.tar.gz
    [url]http://www.joyfire.net/HOWTO/HOWTO-INDEX/howtos.html
    [url]http://www.joyfire.net/compress/newhowto_cn.zip
    [url]http://www.joyfire.net/compress/Linux-mini-html-HOWTOs-20020420.tar.gz
    [url]http://www.joyfire.net/compress/minihow_cn.zip

    17、Advanced Bash-Scripting Guide(EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/abs-guide.html.tar.gz
    [url]http://www.joyfire.net/abs-guid/index.html

    18、Securing and Optimizing Linux RedHat Edition -A Hands on Guide(EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/Securing-Optimizing-Linux-RH-Edition-v1.3.html.tar.gz
    [url]http://www.joyfire.net/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/index.html

    19、CVS Best Practices(EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/CVS-BestPractices.html.tar.gz
    [url]http://www.joyfire.net/CVS-BestPractices/index.html

    20、The Linux System Administrators' Guide(EN) 在线浏览 中文版上载:1/1/2002。
    [url]http://www.joyfire.net/compress/sag.html.tar.gz
    [url]http://www.joyfire.net/sag/index.html
    [url]http://www.joyfire.net/compress/Linuxsys.zip

    21、The Linux Network Administrator's Guide, 2e (EN) 在线浏览 上载:1/1/2002
    [url]http://www.joyfire.net/compress/nag-2.0.html.tar.gz
    [url]http://www.joyfire.net/nag2/index.html

    22、Linux System Administration Made Easy (EN) 在线浏览 上载:1/1/2002
    [url]http://www.joyfire.net/compress/lame.html.tar.gz
    [url]http://www.joyfire.net/lame/index.html

    23、AKA讲座(a link)上载:1/1/2002
    [url]http://bj.aka.org.cn/Lectures/index.html

    24、ORACLE for linux install handbook (EN)上载:1/1/2002
    [url]http://www.joyfire.net/compress/installguide_linux102.pdf

    25、Redhat 7.2 install handbook (EN)上载:1/1/2002
    [url]http://www.joyfire.net/compress/rhl-ig-x86-en-72.tgz

    26、Linux安全最大化(PDG)
    介绍Linux安全基础,如何防御口令攻击和数据攻击角度来讨论Linux用户安全,Linux网络安全,各种Internet服务的安全性、防火墙、入侵检测、日志和审计跟踪以及灾难恢复等.
    [url]http://www.mycodes.net/down.asp?id=827&no=1
    [url]http://www.mycodes.net/down.asp?id=827&no=2

    27、Linux高级配置详解(PDG)
    讲述在Linux操作系统下的软、硬件配置、网络应用配置、X Window系统配置以及内核的配置和编译等知识。
    [url]http://www.mycodes.net/down.asp?id=793&no=1
    [url]http://www.mycodes.net/down.asp?id=793&no=2

    28、Running Linux(EN)上载:23/9/2003
    [url]http://joyfire.net/compress/running_linux_4e.pdf

    29、Learning Red Hat Linux(EN)上载:23/9/2003
    [url]http://joyfire.net/compress/learning_redhat_linux.pdf

    30、Learning the Unix Operating System(EN)上载:23/9/2003
    [url]http://joyfire.net/compress/Learning_the%20UNIX_OS.pdf

    31、Linux Programming Unleashed(EN)上载:23/9/2003
    [url]http://joyfire.net/compress/linux_programming_unleashed.pdf
    第三部分:Linux代码编写

    1、POSIX threads explained(EN)上载:5/9/2002
    [url]http://www.joyfire.net/compress/linuxthreads.zip

    2、Emacspeak User's Guide (EN)上载:1/9/2002
    [url]http://www.joyfire.net/compress/espk-ug.html.tar.gz

    3、MICO文档 (EN)上载:1/9/2002
    [url]http://www.joyfire.net/compress/mico-doc-html.tar.gz

    4、GNU Autotools Guide (EN)上载:13/7/2002
    [url]http://www.joyfire.net/compress/autobook-1.3.tar.gz

    5、Linux Threads FAQ 在线浏览 上载:11/6/2002
    [url]http://www.joyfire.net/compress/Threads-FAQ-html.tar.gz
    [url]http://www.joyfire.net/Threads-FAQ/index.html

    6、Linux系统分析与高级编程技术上载:4/5/2002
    [url]http://www.joyfire.net/compress/linux_advanced_technology.zip

    7、ELF文件格式 (EN)上载:10/5/2002
    [url]http://www.joyfire.net/compress/elf.pdf

    8、Bugzilla-Guide (EN) 在线浏览 上载:20/4/2002
    [url]http://www.joyfire.net/compress/Bugzilla-Guide.html.tar.gz

    9、The Linux Programmer's Guide (EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/lpg.html.tar.gz
    [url]http://www.joyfire.net/lpg/index.html

    10、CVS Best Practices(EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/CVS-BestPractices.html.tar.gz
    [url]http://www.joyfire.net/CVS-BestPractices/index.html

    11、Advanced Bash-Scripting Guide(EN) 在线浏览 上载:11/3/2002
    [url]http://www.joyfire.net/compress/abs-guide.html.tar.gz
    [url]http://www.joyfire.net/abs-guid/index.html

    12、Linux设备驱动程序(CH)(Linux Device Drivers): 在线浏览 上载:1/3/2002
    [url]http://www.joyfire.net/lsdp/index.htm

    13、The Linux Kernel Module Programming Guide (EN) 在线浏览 中文版上载:1/1/2002
    [url]http://www.joyfire.net/compress/lkmpg.html.tar.gz
    [url]http://www.joyfire.net/lkmpg/index.html
    [url]http://www.joyfire.net/compress/lkmpg_cn.rtf.zip

    14、AKA讲座(a link)上载:1/1/2002
    [url]http://bj.aka.org.cn/Lectures/index.html

    15、i386 Reference Programmer's Manual(EN)上载:6/10/2003
    [url]http://joyfire.net/386ASM/index.htm
    第四部分:Linux内核分析

    1、netxiong linux内核分析笔记上载:28/7/2003
    [url]http://www.joyfire.net/compress/netxiong-linux.zip

    2、CML2 Language and Tools Description(EN)上载:12/ 7/2003
    [url]http://www.joyfire.net/compress/cml2.pdf

    3、Z8530 Programming Guide(EN)上载:11/ 7/2003
    [url]http://www.joyfire.net/compress/z8530book.pdf

    4、Synchronous PPP and Cisco HDLC Programming Guide(EN)上载:11/ 7/2003
    [url]http://www.joyfire.net/compress/wanbook.pdf

    5、Video4Linux Programming(EN)上载:11/ 7/2003
    [url]http://www.joyfire.net/compress/videobook.pdf

    6、The Linux 2.4 Parallel Port Subsystem(EN)上载:11/ 7/2003
    [url]http://www.joyfire.net/compress/parportbook.pdf

    7、MCA Driver Programming Interface(EN)上载:11/ 7/2003
    [url]http://www.joyfire.net/compress/mcabook.pdf

    8、The Linux Kernel API(EN)上载:9/ 7/2003
    [url]http://www.joyfire.net/compress/kernel-api.pdf

    9、Unreliable Guide To Hacking The Linux Kernel(EN)上载:9/ 7/2003
    [url]http://www.joyfire.net/compress/kernel-hacking.pdf

    10、Unreliable Guide To Locking(EN)上载:9/ 7/2003
    [url]http://www.joyfire.net/compress/kernel-locking.pdf

    11、OSDesign上载:18/3/2003
    [url]http://www.joyfire.net/compress/OSDesign-0.0.6.1.zip

    12、Linux Kernel 2.4 Internals(EN)上载:18/3/2003
    [url]http://www.joyfire.net/compress/lki.html.tar.gz

    13、Compiling the linux kernel(EN)上载:5/9/2002
    [url]http://www.joyfire.net/compress/compile_kernel.pdf

    14、OSKit项目源代码、论文和文档上载:13/7/2002
    [url]http://www.joyfire.net/compress/oskit-20020317.tar.gz
    [url]http://www.joyfire.net/compress/oskit-papers.zip
    [url]http://www.joyfire.net/compress/oskit.html.tar.gz

    15、GNU Autotools Guide (EN)上载:13/7/2002
    [url]http://www.joyfire.net/compress/autobook-1.3.tar.gz

    16、Compile linux kernel (EN)上载:12/7/2002
    [url]http://www.joyfire.net/compress/compilekernel.zip

    17、Intel体系结构参考手册 (EN)和Intel体系结构手册 (EN)上载:16/5/2002
    [url]http://www.joyfire.net/compress/Architecture_Reference.pdf
    [url]http://www.joyfire.net/compress/Architecture.pdf

    18、IA32体系结构设计手册卷一 (EN)上载:16/5/2002
    [url]http://www.joyfire.net/compress/IA32-1.pdf

    19、IA32体系结构设计手册卷二 (EN)上载:16/5/2002
    [url]http://www.joyfire.net/compress/IA32-2.pdf

    20、IA32体系结构设计手册卷三 (EN)上载:16/6/2002
    [url]http://www.joyfire.net/compress/IA32-3.pdf

    21、ELF文件格式 (EN)上载:10/5/2002
    [url]http://www.joyfire.net/compress/elf.pdf

    22、Linux系统分析与高级编程技术上载:4/5/2002
    [url]http://www.joyfire.net/compress/linux_advanced_technology.zip

    23、The Linux Kernel (EN) 在线浏览 中文版上载:10/3/2002。
    [url]http://www.joyfire.net/compress/tlk.html.tar.gz
    [url]http://www.joyfire.net/tlk/tlk.html
    [url]http://www.joyfire.net/compress/Linux_Kernel_CN.zip

    24、Linux From Scratch (EN) 在线浏览 上载:10/3/2002。
    [url]http://www.joyfire.net/compress/LFS-3.1.html.tar.gz
    [url]http://www.joyfire.net/lfs/index.html

    25、Linux设备驱动程序(CH)(Linux Device Drivers): 在线浏览 上载:1/3/2002

    [url]http://www.joyfire.net/lsdp/index.htm

    26、华中理工大学98级研究生linux系统分析报告上载:10/2/2002。
    [url]http://www.joyfire.net/compress/98_tar.tar.gz

    27、华中理工大学96级本科生linux系统分析报告上载:10/2/2002。
    [url]http://www.joyfire.net/compress/96_tar.tar.gz

    28、The Linux Kernel Module Programming Guide (EN) 在线浏览 中文版上载:1/1/2002
    [url]http://www.joyfire.net/compress/lkmpg.html.tar.gz
    [url]http://www.joyfire.net/lkmpg/index.html
    [url]http://www.joyfire.net/compress/lkmpg_cn.rtf.zip

    29、The Linux Kernel Hackers' Guide (EN) 在线浏览 上载:1/1/2002
    [url]http://www.joyfire.net/compress/khg.html.tar.gz
    [url]http://www.joyfire.net/khg/index.html

    30、AKA讲座(a link)上载:1/1/2002。
    [url]http://bj.aka.org.cn/Lectures/index.html

    31、Linux内核情景分析(上),Linux内核情景分析(下)上载:6/10/2003
    [url]http://joyfire.net/compress/linuxqjfx1.pdf
    [url]http://joyfire.net/compress/linuxqjfx2.pdf
    第五部分:Unix优秀电子书籍

    1、莱昂氏UNIX源代码分析13-Aug-2002 16:13 13M
    [url]http://cpss.zz.ha.cn/study/unix/%c0%b3%b0%ba%ca%cfUNIX%d4%b4%b4%fa%c2%eb%b7%d6%ce%f6.zip

    2、实践大师:UNIX awk和sed编程篇13-Aug-2002 16:13 6.7M
    [url]http://cpss.zz.ha.cn/study/unix/%ca%b5%bc%f9%b4%f3%ca%a6%a3%baUNIX%20awk%ba%cdsed%b1%e0%b3%cc%c6%aa. rar

    3、实践大师:unix shell编程篇13-Aug-2002 16:13 7.2M
    [url]http://cpss.zz.ha.cn/study/unix/%ca%b5%bc%f9%b4%f3%ca%a6%a3%baunix%20shell%b1%e0%b3%cc%c6%aa.rar

    4、HP-UX System and Network Fundermental 13-Aug-2002 16:13 7.4M
    [url]http://cpss.zz.ha.cn/study/unix/HP-UX%20System%20and%20Network%20Fundermental.pdf

    5、LINUX与UNIX Shell编程指南13-Aug-2002 16:12 19M
    [url]http://cpss.zz.ha.cn/study/unix/LINUX%d3%ebUNIX%20Shell%b1%e0%b3%cc%d6%b8%c4%cf.zip

    6、UNIX环境高级编程.zip 13-Aug-2002 16:12 18M
    [url]http://cpss.zz.ha.cn/study/unix/UNIX%bb%b7%be%b3%b8%df%bc%b6%b1%e0%b3%cc.zip

    7、UNIX教程网络篇.zip 13-Aug-2002 16:13 13M
    [url]http://cpss.zz.ha.cn/study/unix/UNIX%bd%cc%b3%cc%cd%f8%c2%e7%c6%aa.zip

    8、UNIX系统安全工具.zip 13-Aug-2002 16:13 6.6M
    [url]http://cpss.zz.ha.cn/study/unix/UNIX%cf%b5%cd%b3%b0%b2%c8%ab%b9%a4%be%df.zip

    9、hp-ux系统和网络管理.rar 13-Aug-2002 16:13 4.2M
    [url]http://cpss.zz.ha.cn/study/unix/hp-ux%cf%b5%cd%b3%ba%cd%cd%f8%c2%e7%b9%dc%c0%ed.rar

    10、scounix系统管理员宝典13-Aug-2002 16:12 21M
    [url]http://cpss.zz.ha.cn/study/unix/scounix%cf%b5%cd%b3%b9%dc%c0%ed%d4%b1%b1%a6%b5%e4.rar

    11、shell编程和unix命令.rar 13-Aug-2002 16:12 17M
    [url]http://cpss.zz.ha.cn/study/unix/shell%b1%e0%b3%cc%ba%cdunix%c3%fc%c1%ee.rar
    免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-29 15:15 | 显示全部楼层 来自:山东省
    linux网站
    [url]http://www.fanqiang.com 在这里可以学到很多哟!
    [url]http://www.Linuxhq.com/,Linux总部,主要负责核心的开发工作。
    [url]http://freesoft.cei.gov.cn/,中国Linux的资源宝藏
    [url]http://xchina.cLinux.org/,包括Linux程序下载,窍门,技术资料,内容丰富。
    [url]http://www.Linuxaid.com.cn/,提供技术支持服务,也有很多面向初学者的资料
    [url]http://www.Linux.org.cn/
    [url]http://www.cLinux.org/,收集了各类Linux中文资料
    [url]http://lark.ihep.ac.cn/,内容包罗万象,有中文软件,软件仓库等。
    [url]http://Linux.joyo.com:3000/,有很多内容,还可以打包下载Linux公报。
    [url]http://home.jjinfo.com/personal/Linuxboy/,Linux发展介绍及资源荟萃。
    [url]http://www.xteamLinux.com.cn/
    [url]http://www.turboLinux.com.cn/
    [url]http://www.hklug.org/,了解香港Linux的好网站
    [url]http://chinese.Linux.org.tw/,为台湾中文化Linux计划(Chinese Linux Project)正式网站。
    [url]http://cle.Linux.org.tw/CLE/,中文Linux扩展(CLE),基于Red Hat和KDE的中文解决
    [url]http://ccss.cc.nccu.edu.tw/
    [url]http://www.Linuxers.com.tw/,一本不错的Linux网络杂志。
    [url]http://www.redhat.com/,是搜索Linux各类资源的上好网站。
    [url]http://www.debian.org/,Debian Linux 的官方网站
    [url]http://www.suse.com/,S.U.S.E. Linux 的官方网站
    [url]http://www.pht.com/,Turbo Linux 国外的官方网站
    [url]http://li.org/,有大量的Linux资源列表。
    [url]http://www.Linuxresources.com/,Linux网站,软件,文档,支持等等,内容应有尽有。
    [url]http://sunsite.unc.edu/Linux-source/,包含了几乎所有Linux分类的源代码。
    [url]http://Linux.box.ck/,资源全面的Linux宝箱。
    [url]http://www.Linuxsupportline.com/,Linux网上技术支持的网站。
    [url]http://lsd.Linux.cz/,Linux驱动程序的源代码
    [url]http://www.kde.org/,KDE的大本营。
    [url]http://www.kernel.org,齐全的Linux的核心的各种版本。
    [url]http://www.sendmail.org,Linux世界下最广泛使用的软件之一,这里就是它的老家。
    [url]ftp://sunsite.unc.edu/pub/Linux/,有着极丰富的软件资源
    [url]http://www.slackware.com/,Slackware Linux的网站,

    LINUX学习网(从初学到高级)
    [url]http://www.fanqiang.com 老大的站点强烈推荐
    [url]http://Linux.ccpi.gov.cn/Linux/,有很多Linux安装、管理、释疑和指南类文章。
    [url]http://www.Linuxforum.net/,国内Linux爱好者的一个相互学习和交流的场所。
    [url]http://www.Linux.org.tw/,台湾的Linux爱好者组织,列有翻译的Linux HOWTO 中文版。
    [url]http://evon.el.cycu.edu.tw/,列有Linux简介及操作说明。
    [url]http://www.tvds.com.tw/Linux/,定期推出 Linux 应用的相关文章同时有线上讨论区。
    [url]http://www.Linux.com/,学习Linux的最好网站,也是Linux使用经验
    [url]http://www.caldera.com/,Caldera 的官方网站
    [url]http://www.Linux-howto.com/,查找Linux-Howto的最佳网站,包括了最
    新最全的Linux-Howto的各种版本。
    [url]http://www.Linuxhelp.org/,最大最全的Linux在线帮助网站
    [url]http://www.Linuxgazette.com/,著名的免费在线杂志技巧,是Linux用户交流中心之一
    [url]http://www.Linuxfocus.org/,免费电子杂志《Linux focus》
    ,特色是每期集中讨论一个话题。
    [url]http://www.Linuxjournal.com/,很棒的Linux专业杂志
    LINUX论坛
    [url]http://www.chinaunix.net 老大的强劲论坛
    [url]http://Linux.inhk.net/,包含新闻、初学入门、技巧、资源和讨论等。
    [url]http://www.cLinuxworld.com/,中文门户网站,设有论坛、新闻栏目,还提供主页空间。
    [url]http://Linux.arecool.net/ ,有很丰富的中文分类文档。还有论坛,编程等。
    [url]http://www.Linux.org/,最权威的Linux网站, 文章讨论无所不包,软件硬件应有尽有。
    [url]http://bbs.tsinghua.edu.cn 水木清华BBS
    [url]http://bbs.ustc.edu.cn 上海交大BBS
    [url]http://bbs.sjtu.edu.cn 中国科技大学BBS
    [url]http://www.sina.com.cn 新浪网BBS
    [url]http://bbs.nease.net 广州网易BBS站
    [url]http://news.freesoft.cei.gov.cn,由宫敏博士主持,人气很旺,Linux爱好者的交流好场所。
    [url]http://news.cLinux.ml.org,是国内规模较大的新闻服务器,
    [url]http://cn.bbs.comp.Linux是各大学BBS站Linux版与News的连接。
    [url]http://202.38.64.2,国内最大的Linuxv新闻组之一
    [url]http://www.gb2312.com ,下载密码是 www.gb2312
    著名的FTP网站:
    [url]ftp://ftp.cdrom.com  
    [url]ftp://ftp.pku.edu.cn/pub/slackware
    [url]ftp://ftp.ihep.ac.cn/pub/Linux
    [url]ftp://ftp.synet.edu.cn/pub/Linux
    [url]ftp://ftp.sepc.ac.cn/pub/Linux
    [url]ftp://ftp.buptnet.edu.cn/pub/slackware 
    [url]ftp://net.tamu.edu/pub/Linux
    [url]ftp://freesoft.cei.gov.cn/pub/Linux,国内最大的Linux FTP站。

    (下载大全)
    BSD学习网
    [url]http://fbsd.8800.org/freebsd.lab.mlc.edu.tw/default.htm
    [url]http://fbsd.8800.org/freebsd.lab.mlc.edu.tw/index.html
    [url]http://freebsd.sinica.edu.tw
    [url]http://ns1.study-area.org/phpBB/
    [url]http://ohaha.ks.edu.tw/
    [url]http://www.gocar.idv.tw/
    [url]http://w3.fjy.idv.tw/index.htm
    [url]http://freebsd.csie.nctu.edu.tw/
    [url]http://person.zj.cninfo.net/~syx/index.html
    [url]http://redhat.ecenter.idv.tw/bbs/forumdisplay.php?s=a3f86419d48f60d78734f30e406fe757&forumid=65
    [url]http://www.freebsd.org.hk/modules/news/
    [url]http://freebsd.ntu.edu.tw/
    [url]http://www.freebsd.org.hk/modules/news/
    鼻祖网:
    [url]http://www.freebsd.org
    [url]http://www.netbsd.org
    [url]http://www.openbsd.org
    BSD资源网
    [url]ftp://ftp2.freebsd.org/
    [url]ftp://freebsd.nctu.edu.tw/
    [url]http://www.yesnew.com/~yangyi/chandbook.zip
    [url]http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
    [url]http://www.yesnew.com/~yangyi/The_Complete_FreeBSD.zip
    [url]http://www.yesnew.com/~yangyi/TCP-IP1.zip
    [url]http://www.freebsdchina.org
    SOLARIS(X86、SPARC)
    [url]http://202.108.44.140
    [url]ftp://202.108.44.140 user:unix2002 pass:unix2002

    OTHERS:
    [url]http://linux.softhouse.com.cn 软件屋-Linux之家[url]http://www.bluepoint.com.cn 蓝点Linux
    [url]http://cnheasa.org/linux Linux 中文资料
    [url]http://linux.ccpi.gov.cn/linux Linux操作指南 [url]http://www.linuxzyd.com Linux专营
    [url]http://www.turbolinux.com.cn Turbo
    [url]http://www.linuxaid.com.cn Linux技术支持网站[url]http://member.netease.com/~yzp Linux工作室[url]http://www.linuxforum.net/ 中国Linux论坛
    [url]http://www.redflag-linux.com 红旗Linux
    [url]http://www.pocketix.com 嵌入式Linux
    [url]http://www.xteamlinux.com.cn XteamLinux
    [url]http://timzen.go.163.com Linux菜鸟入门
    [url]http://linux.tcpip.com.cn Linux非常新闻
    [url]http://zlinux.spedia.net JJ的Linux世界
    [url]http://lslnet.com/linux 自由软件Linux
    [url]http://member.netease.com/~yzp Linux工作室
    [url]http://giny.4y.com.cn/ 自由的精灵
    [url]http://linuxcity.com.cn/linuxstore Linux 精品店
    [url]http://www.linux21cn.com/ 21世纪linux
    [url]http://www.asplinux.com.cn asplinux中国网站
    [url]http://www.ibm.com/developerworks/cn/linux/ IBM--linux专区
    [url]http://www.medboo.com/~jj jj的linux世界
    [url]http://linux21cn.com 21世纪linux
    [url]http://www.linuxnow.com linux now
    [url]http://www.linux.org linux www
    [url]http://www.linuxgazette.com linux gazette
    [url]http://www.linux.org.cn linux 中国用户协会
    [url]http://www.linuxbyte.net/softwared.php LinuxByte 软件中心
    [url]http://linuxcity.com.cn/linuxstore/cd/cd.asp linuxcd精品光盘店
    [url]http://www.linuxhq.com Linux HeadQuarters
    [url]http://www.linuxmall.com LinuxMall.com
    [url]http://linux.ccpi.gov.cn linux操作指南
    [url]http://www.linuxdby.com/ linux大本营站
    [url]http://www.cstc.org.cn/anounce/linux/index.asp linux开放实验室 [url]http://www.linuxcd.com.cn linux刻录网
    [url]http://free.prohosting.com/~lslnet linux蓝色小组
    [url]http://netsword.net/linux linux学习
    [url]http://www.linuxeden.com linux伊甸园
    [url]http://www.nodevice.com linux园地
    [url]http://linuxhome.my163.com linux之家(my163.com
    [url]http://members.tripod.com/~clinux linux中文手册
    [url]http://www.linuxzy.com linux专营
    [url]http://www.linuxwatch.org Linuxwatch
    [url]http://www.penguin64.com.cn/ penguin64中文网
    [url]http://www.redhat.com Red Hat
    [url]http://www.suse.com SuSE LINUX
    [url]http://www.unixaid.net unix中文社区
    [url]http://www.263bbs.net/ 博识网
    [url]http://www.westdata.net/linux/ 大漠驼铃--中文Linux学习
    [url]http://www.rce.com.cn/ 红旗linux培训与考试中心
    [url]http://www.hhcn.org 华恒嵌入式Linux技术资料网站
    [url]http://www.lslnet.com/linux 蓝森林
    [url]http://www.mamiyami.com 麻米亚资讯站
    [url]http://www.freelamp.com FreeLAMP.com
    [url]http://www.sinolinux.com 思凌网
    [url]http://linux.online.tj.cn Linux中心
    [url]http://badfish.3322.net Badfish's Linux
    [url]http://www.wanhenet.com 嵌入式Linux开发网
    [url]http://www.linuxbyte.net LinuxByte
    [url]http://www.cmpp.net 中国linux论坛
    [url]http://www.yaboy.org yaboy.org
    [url]http://www.iwork.f2s.com linux computing
    [url]http://www.linuxfocus.org linux focus
    [url]http://www.linuxjournal.com linux journal
    [url]http://www.yesky.com/72350081310785536/index.shtml 天极网--Linux园地
    [url]http://linux.ccidnet.com 赛迪网--Linux
    免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2010-5-31 09:37 | 显示全部楼层 来自:LAN
    部分收藏。。。。

    有些资源有点老。
    比如现在的SUSE用rpm安装包,用YaST包管理。。。。。。
    免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    发表于 2010-5-31 09:47 | 显示全部楼层 来自:LAN
    这个东西有点长,这个东西看不完。
    免责声明:用户在本平台发表的内容(如有图片或视频亦包括在内)仅表明其个人观点,不代表本平台观点,本平台亦不承担任何法律及连带责任,本平台仅提供信息存储服务;本平台发布的信息仅为传递、参考之用,不构成任何投资、使用等行为的建议。任何后果均由用户自行承担;转载文章的版权归原作者所有,如有侵权,请与我们取得联系,我们将立即整改或删除相关内容。
    回复 支持 反对

    使用道具 举报

    使用高级回帖 (可批量传图、插入视频等)快速回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则   Ctrl + Enter 快速发布  

    发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
    快速回复 返回顶部 返回列表