登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

宫昶

简致自处 心逸神驰

 
 
 

日志

 
 

配置纠错3(系统搭建)  

2009-05-16 11:08:35|  分类: 编译 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

用新内核重启时提示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)

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

o

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

o

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

*

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

o

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

o

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

o

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

o

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

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


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。

*

到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

*

配置内核支持图形化启动界面。以下网站http://www.bootsplash.org/有详细介绍。为了支持图形化启动界面,我们需 为内核打补丁。我的内核版本是2.6.10。到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

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

1.

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

2.

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

3.

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

4.

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

5.

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

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

6.

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

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

deb 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)

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

o

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

o

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

*

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

o

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

o

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

o

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

o

编辑/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中字体包的名字分别是:

o

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

o

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

o

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

o

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

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

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

deb 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可到http://www.study-area.org/apt/firefly-font/这个网址,或http: //cle.linux.org.tw/fonts/FireFly/这个网址下载。

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

o

把 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的官方文档,位于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的官方网站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. 配置有滑轮的串口鼠标

参考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”,否则,滑轮不能正常使用。

7.8. 中文字体模糊不清的解决方法

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

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

10

15

false

zh-tw

zh-cn

ja

ko

proportional

false

serif

Bitstream Vera Serif

Times New Roman

Times

AR PL New Sung

AR PL Mingti2L Big5

AR PL SungtiL GB

Ming(ISO10646)

SimSun

Kochi Mincho

Baekmuk Batung

sans-serif

Bitstream Vera Sans

Arial

Verdana

Helvetica

AR PL New Sung

Ming(ISO10646)

AR PL kaitiM Big5

AR PL kaitiM GB

Kochi Gothic

Baekmuk Dotum

monospace

Bitstream Vera Sans Mono

Courier New

Courier

AR PL New Sung

Ming(ISO10646)

Kochi Mincho

Baekmuk Batung

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的配置:

o

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

o

接着配置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文件显示:

o

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

o

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文件。

o

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

*

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

o

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

o

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

o

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

o

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

o

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

o

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

o

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

o

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自带的搜索栏都很少用了。

*

开启即输即功能,可使我们在页面中直接输入关健字,Firefox会自动弹出查找栏并在当前页中匹配输入的关键字。启用方法是选 中"Edit"-> "Preferences"->"Advanced"->"Accessibility"->"begin finding when begin typing"选项。

7.9.2. firefox Extension

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

*

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

*

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

*

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

*

ScrapBook,抓取网页的工具,可把喜欢的页面保存下来,并可对保存的页面分类、加注释和编辑。http://amb.vis.ne.jp/mozilla/scrapbook/

7.10. 安装Adobe Reader 7.0 for Linux

在Debian系统中暂时还没有acroread包,所以我们需到Adobe网站下载源码或rpm文件安装。下载的地址 是: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的网址是:http://www.freedesktop.org/wiki/Software_2fgtk_2dqt。在KDE中安装和配 置gtk2-engines-gtk-qt软件包的方法如下:

1.

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

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

2.

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

7.13. 安装ALSA多媒体系统

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

1.

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

2.

进入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

3.

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

debian:~# alsaconf

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

4.

最后,就可用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 ]

Aug 29 09:54:01 debian pppd[1708]: rcvd [IPCP ConfAck id=0x3 ]

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 : 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客户端,位于http://pptpclient.sourceforge.net/,网站上有pptp client的详细介绍。要使用pptp client,我们可手工安装配置,也可通过图形化的配置工具来进行安装和配置。安装方法如下:

*

用以下命令安装pptp client软件

# apt-get install pptp-linux

*

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

1.

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

# James Cameron's PPTP GUI packaging

deb http://quozl.netrek.org/pptp/pptpconfig ./

2.

更新系统软件包信息

# apt-get update

3.

安装pptpconfig软件包

# apt-get install pptpconfig

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

*

配置连接参数

o

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

o

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

o

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

o

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

o

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环境下的配置方法,其它发行版的修改方法也一样,只是需修改的文件的路径名不同罢了。

1.

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

2.

修改新的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,这是一个由中国人开发的输入法软件,项目网址位于http://www.fcitx.org。 Fcitx已进入Debian软件包系统,用apt-get install fcitx即可安装。它的配置文件是~/.fcitx/config。该文件是GB2312编码的,编辑时要注意。你可在该文件中配置输入法的字体,显示 效果和快捷键等,配置简单明。安装配置好后,我们还要设置它开机自启动,方法如下:

1.

把以下几项设置写到/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&

2.

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

3.

重新启动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. 安装星际译王

学习开源软件,需查看大量的英文资料,所以翻译软件是必须的一个工具。星际译王是一个由中国人开发的开源翻译软件,支持真人发音。软件主页是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官方网站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的解码器。到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稳定和有趣得多。它的主页位于http://yippi.hypermall.com/gdm/index.shtml。

*

安装GDM主题

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

1.

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

2.

运行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。配置方法如下:

1.

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

2.

运行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项目位于以下网 址: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 www.ringkee.com

Authentication required for Zope on server `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的官方网址 是: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]

*

接着安装下载的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软件包。该软件包在http://sourceforge.net/projects/freemind/下载。解开后有两个文件,分别是 freemindbrowser.html和freemindbrowser.jar。把它们和要显示的freemind文件拷贝到Web服务器上,最后 修改freemindbrowser.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 http://ftp.us.debian.org unstable/main libbsf-java 1:2.3.0+cvs20050308-5 [195kB]

获取:2 http://ftp.us.debian.org unstable/main libavalon-framework-java 4.2.0-1 [72.3kB]

获取:3 http://ftp.us.debian.org unstable/main libcommons-io-java 1.0-2 [43.5kB]

获取:4 http://ftp.us.debian.org unstable/main libcommons-logging-java 1.0.4-3 [126kB]

获取:5 http://ftp.us.debian.org unstable/contrib libbatik-java 1.6-2 [4841kB]

获取:6 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.12.1. 安装配置

8.12.2. Plugin开发

8.12.3. About WiKi

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进行网络安装,安装步骤如下:

1.

下载相关软件:

bootbf2_4_iso.zip,到这里下载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内核版本匹配才可驱动。

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

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

1.

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

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

2.

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

# cd /usr/src

# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2

3.

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

# tar -xjf linux-2.4.28.tar.bz2

# cd linux-2.4.28/

# make menuconfig

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

1.

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

2.

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

3.

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

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

4.

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

# make dep

# make-kpkg clean

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

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

# make clean

# make menuconfig

5.

内核编译完成后,就会在/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选项只是可多显示一些信息。

6.

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

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

8.2. 系统性能管理工具

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

1.

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

2.

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 显示所有进程

3.

kill

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

4.

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

5.

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

6.

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查看。

7.

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。

8.

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

9.

ulimit

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

10.

netstat

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




http://blog.chinaunix.net/u/22249/showart_147941.html


http://blog.chinaunix.net/u/22249/showart_147941.html







  评论这张
 
阅读(2607)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018