暂时放弃把linux内核从2.4.* 升级到2.6.*的想法

这几天,在网上看了一些从2.4.× 升级到2.6.×的帖子,发现由于相应的配套文件在2.6.*处没有得到同步处理,以致升级要大量的手工修改配置文件,这超出了我的知识极限,所以这个想法就此放弃。

至于我的sedY890在linux下认不到的问题,先试试其它的方法,我已知在内核2.4.20-8中,是支持usb2.0的。可以先用内核基础知识及升级内核 (转载) 中手段试着解决一下:


如果linux装载模块的时候产生问题,你可以使用modprobe或者

insmod命令来手动装载模块。

升级内核:升级内合并不像看起来的那么难。你应该总是保留久的内核,以免由于新内核的错误而导致系统无法引导。对grub或者lilo而言新的内核就是一个新的*作系统。如果使用rpm包安装了新的内核,引导程序也自动被升级。如果你犯了一个比较大的错误,导致无法引导,你可以在重新启动后选择使用旧的内核。你应该保存内核配置文件这样你就可以轻松的将其拷贝到新的内核继续使用。详情后续部分将详细介绍。

/boot目录:

linux的内核存储在这个目录里。新的内核也必须存放于这个目录,才能够使用。该目录的莫人大小时100M,足够存储当前的内核以及升级内核的时候的附加内核。

/proc

目录:这个目录基于一个虚拟的文件系统。换句话说她不包含任何存储在硬盘上的文件,但它是查看计算机的一个窗口。如果你要查看当前的内存信息使用该命令:cat

/proc/meminfo

Ip forwarding:查看当前状态:cat

/proc/sys/net/ipv4/ip_forward,若输出为

1,则该功能已开启,若为0,则未开启。

开启ip forward:echo 1

>> /proc/sys/net/ipv4/ip_forward

阻止ping of death攻击:#echo 1 >>

/proc/sys/net/ipv4/tcp_syncookies

理解内核模块:

当你编译内核的时候,你可以将所有的需要的驱动程序编译成进内核,成为一个单内核。但是这样的内核太大了,并且需要很长的时间加载。大多数的系统管理员使用内核模块。内核模块并不直接编译进内核,而是根据需要动态的进行加载和卸载。如果和内核模块相关的硬件除了问题,你可以使用kudzu。这是一个自动检测和配置工具,一般在系统启动的时候自动运行,当然了你也可以手工运行这个工具来排除故障。Kmod是模块加载控制器,负责内核模块的加载和卸载。指定特别的选祥和参数可以修改/etc/modules.conf文件。大多数的硬件都可以自动检测到,对于未识别到的硬件可以执行:depmod

–a

手工加载模块使用:modprobe例:#modprobe pcnet32

查看当前加载的模块:#cat

/proc/modules或者#lsmod

卸载模块:rmmod –r pcnet32

实在不能解决我就在windows2000下用sedY890算了,不值得为这个事花太多时间。

内核基础知识及升级内核 (转载)

转自:http://www.linuxdiyf.com/viewarticle.php?id=10747

 

内核基础知识及升级内核

 

 

作者: chentong   发布日期: 2006-5-28    查看数: 476    出自: http://www.linuxdiyf.com

 

内核是整个*作系统的核心部分。它管理硬件之间的通讯,决定哪个进程运行,提供每一个进程运行所需的相对隔离的虚拟的地址空间。内核由引导程序(grub、lilo)装入系统。内核负责将驱动程序,模块装入系统。自行编译内核以后可以带来以下方面的好处:

极大的提高核心服务的运行速度

提供用户服指定的服务的内核直接支持

对适当的服务以模块化的形式动态支持

通过减少不必要的服务可以降低内核的内存需求

配置支持高端硬件,例如大于4G的内存,硬盘阵列,对称式多cpu

编译内核的建议:

只有在需要的时候才编译内核,直接编译进内核的

东西越少系统运行越快。如果你不需要声卡,你可以从内核移除对声卡的支持。通过移除你不需要的设备,你可以做到减小内核,在不改变设备的情况下提高系统运行的速度。为其它的硬件留下更多的可用资源。

总体而言将各种硬件的设备的驱动作为模块动态的加载和卸载是一个

较好的办法。模块是内核的扩展,虽然没有直接编译进内核,但是可以随需要加载和卸载。

内核概念:

对于系统管理员而言,对系统的内核应该有一定的了解,这样才能更好的编译内核。

单内核与模块化内核

单内核:所有的设备模块直接编译进内核

模块化内核:许多设备已模块的形式单独加载

单内核与设备的通讯速度快,模块化内核与硬件通信要通过模块列表,不行的是单内核过于庞大。大内核减少了可用的内存。有些系统甚至不能启动这样大的内核。Linux过去使用单内核,linux一度在装载模块化内核的时候由于某些硬件而产生问题。使用单内核则系统安装完成之后所有的驱动程序就已经装好了。模块化内核有极大的灵活性。你可以将几乎所有的驱动程序作为模块编译,这样在必要的时候这些模块就会被载入系统。模块化使得内核十分的小,这就减少了启动所需要的时间提高了系统整体性能。

如果linux装载模块的时候产生问题,你可以使用modprobe或者

insmod命令来手动装载模块。

升级内核:升级内合并不像看起来的那么难。你应该总是保留久的内核,以免由于新内核的错误而导致系统无法引导。对grub或者lilo而言新的内核就是一个新的*作系统。如果使用rpm包安装了新的内核,引导程序也自动被升级。如果你犯了一个比较大的错误,导致无法引导,你可以在重新启动后选择使用旧的内核。你应该保存内核配置文件这样你就可以轻松的将其拷贝到新的内核继续使用。详情后续部分将详细介绍。

/boot目录:

linux的内核存储在这个目录里。新的内核也必须存放于这个目录,才能够使用。该目录的莫人大小时100M,足够存储当前的内核以及升级内核的时候的附加内核。

/proc

目录:这个目录基于一个虚拟的文件系统。换句话说她不包含任何存储在硬盘上的文件,但它是查看计算机的一个窗口。如果你要查看当前的内存信息使用该命令:cat

/proc/meminfo

Ip forwarding:查看当前状态:cat

/proc/sys/net/ipv4/ip_forward,若输出为

1,则该功能已开启,若为0,则未开启。

开启ip forward:echo 1

>> /proc/sys/net/ipv4/ip_forward

阻止ping of death攻击:#echo 1 >>

/proc/sys/net/ipv4/tcp_syncookies

理解内核模块:

当你编译内核的时候,你可以将所有的需要的驱动程序编译成进内核,成为一个单内核。但是这样的内核太大了,并且需要很长的时间加载。大多数的系统管理员使用内核模块。内核模块并不直接编译进内核,而是根据需要动态的进行加载和卸载。如果和内核模块相关的硬件除了问题,你可以使用kudzu。这是一个自动检测和配置工具,一般在系统启动的时候自动运行,当然了你也可以手工运行这个工具来排除故障。Kmod是模块加载控制器,负责内核模块的加载和卸载。指定特别的选祥和参数可以修改/etc/modules.conf文件。大多数的硬件都可以自动检测到,对于未识别到的硬件可以执行:depmod

–a

手工加载模块使用:modprobe例:#modprobe pcnet32

查看当前加载的模块:#cat

/proc/modules或者#lsmod

卸载模块:rmmod –r pcnet32

升级内核

1、关于内核版本

内核版本号的形式一般都是这样的:x.x.x例如:2.4.21

第一个数字表示主版本号,第二个数字表示辅助版本号,第三个号码代表patch的号码。主版本号的变更往往意味着很大的改变,可能会有很多程序不能够在新的内核上使用。辅助版本号有两个含义:第一主版本内核的第x个版本,第二x若为奇数则表示该版本为正在开发中的版本,不适合生产使用,若为偶数则表示该版本为稳定的可靠版本,可以用于生产。最后一个号码代表patch即补丁的版本号。

2、升级内核

新的内核往往会包含着新的技术,意味着系统可以支持更多的设备,也意味着更好的稳定性和更快的性能。所以系统管理员可能会需要对内核进行升级。升级内核主要有两种方式:

1、

rpm包升级方式 从网上下载已经编译好的rpm内核软件

包,然后进行安装,例:rpm –ivh

kernel-2.4.21-8.i386.rpm

2、 使用内核的源码包编译安装。

这部分较为复杂,在后续章

节进行详细论述,此处略过。

3、内核补丁

为了使你的系统运行的更加的稳定、高效,你可能经常要给你的系统打补丁,例如从2.4.20到2.4.21。内核补丁可以很容易的从网上下载到。安装也很容易,例:

#zcat

pathch-2.4.22.gz | patch –p0

3、 制作引导盘

#mkbootdisk

“当前内核的版本号”

例:mkbootdisk 2.4.20

#dd if=/mnt/cdrom/images/bootnet.img

of=/dev/fd0

从光盘创建安装引导盘

4、

内核资源

linux的优点之一是你可以格局你的需要对内核自

由进行裁减编译,使之符合自己的需要。要编译内核就要先了解linux的源代码。一旦安装了源码包,你就会在/usr/src目录中看到如下子目录:

debug、redhat、linux-2.4、linux-2.4.21-4.EL。linux-2.4是linux-2.4.21-4.EL的符号链接文件。安装内核源码包使用如下命令

#mount

/mnt/cdrom

#rpm –Uvh /mnt/cdrom/RedHat/RPMS/kernel-source-*

或者你可以下载linux

tar file,即以tar.gz的形式发行的源码包。

4、 重新编译内核

将下载好的内核解压缩到:/usr/src/目录下

#cd

/usr/src/ 进入该目录

#ln linux-2.4.26 linux-2.4 创建该目录的符号链接文件

#cd linux-2.4

进入内核目录

修改Makefile文件,找到包含EXTAVERSION的行将其改为EXTRAVERSION=qun

#make mrproper

确保源文件的一致性

#make xconfig 选择需要编译进内核的功能

#make dep 解决依赖性

#make bzImage

生成内核

#make modules 编译内核模块

#cp usr/src/linux-2.4/arch/i386/boot/bzImage

/boot/vmlinuz-2.4.26qun

#make modules_install 安装内核模块

#mkinitrd

/boot/initrd-2.4.26qun.img 2.4.26qun 生成启动镜像文件

# cp

/usr/src/linux-2.4/System.map /boot/System.map-2.4.26qun

#vi /etc/grub.conf #

在最后部分添加如下行:

title Red Hat Linux (2.4.26qun)

kernel /vmlinuz-2.4.26qun ro

root=LABEL=/

initrd /initrd-2.4.26qun.img

:wq!

#reboot

重新启动后就可以看到刚刚安装好的内核了。

#对于2.6的内核而言,步骤就简单了很多只需要这几个命令:

make xconfig、make、make

install

 

 转载完

Linux 2.4->2.6内核升级指南(转帖)

(转自:http://www.uplinux.net/data/2006/0518/article_716.html

Linux 2.4->2.6内核升级指南 

--------------------------------------------------------------------------------

 

作者:未知     来源:chinaitlab     发表时间:2006-05-18     浏览次数:380    字号:大  中  小

前言: linux-2.6.x内核发布后, 坛子里的兄弟们肯定都迫不及待地要升级原有的2.4.x内核. 但是由于与2.6.x内核配套的系统程序并没有相应的来得及更新, 升级过程会碰到很多问题, 因此觉得有必要把我的经验与大家share一下:-) XD们以后碰到类似问题时, 请先阅读本文, 而不要一上来就盲目发帖.

ps, you are welcome to fix me.

1. 备份重要的数据

这是个好习惯,就不用多说了:-)

2. 下载最新的2.6.x内核源码包

这个当然要到官方网站www.kernel.org或者它的mirror站点去下载了, 最好别到那些unknown的网站去下, 因为那些源码包有可能被恶意做了手脚. 最新的linux-2.***.tar.bz2源码包大概有33M左右. 下载的时候可以泡杯coffee, 然后点根烟......

在/usr/src/目录下解开源码包, 得到源代码目录/usr/src/linux-2.***/. 在对kernel做任何事情之前, 建议你先看一下它的README文件和Documentation/Changes文件, 从中你会得到不少有用的信息. 这些信息会让你在随后的升级过程避免很多不必要的麻烦.

在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求, 比如对于kernel-2.***是这样的:

o Gnu C 2.95.3 # gcc --version

o Gnu make 3.79.1 # make --version

o binutils 2.12 # ld -v

o util-linux 2.10o # fdformat --version

o module-init-tools 0.9.10 # depmod -V

o e2fsprogs 1.29 # tune2fs

o jfsutils 1.1.3 # fsck.jfs -V

o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs

o xfsprogs 2.6.0 # xfs_db -V

o pcmcia-cs 3.1.21 # cardmgr -V

o quota-tools 3.09 # quota -V

o PPP 2.4.0 # pppd --version

o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version

o nfs-utils 1.0.5 # showmount --version

o procps 3.2.0 # ps --version

o oprofile 0.5.3 # oprofiled --version

对于RH8/9的用户而言, 上述要求基本上都能满足. 大概只有两个程序需要更新: modutils工具包和mkinitrd程序.

3. 安装module-init-tools-3.0.tar.gz工具包

linux-2.6.x内核的module处理过程有所改变(很多原先在用户态下由modutils处理的工作都放到内核里去完成了), 因此2.4.x下的modutils工具包已经不在适合新的2.6.x内核, 必需将其升级到module-init-tools工具包. 该工具包的最新版本是3.0(ps, 该工具包的版本从0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下载module-init-tools-3.0.tar.gz源码包的地方有两个:

o Rusty's Linux Kernel Page: http://www.kernel.org/pub/linux/ker...ools-3.0.tar.gz

o http://www.kernel.org/pub/linux/uti...ools-3.0.tar.gz

接下来, 按照下列步骤安装module-init-tools工具包:

# configure --prefix=/

# make moveold

# make all install

# ./generate-modprobe.conf /etc/modprobe.conf

命令"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的module-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的modutils程序包, 然后按照上面的步骤重来一遍就可以了.

新的module-init-tools工具包不再使用原来的/etc/modules.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 这个生成的新配置文件存在BUG, 下面我们将会提到.

4. 更新mkinitrd程序

可以到站点http://people.redhat.com/arjanv/2.6...1-2.i386.rpm包. 由于mkinitrd程序包依赖于device-mapper包, 而device-mapper包又倚赖于lvm2包, 因此你还要同时下载device-mapper-1.00.07-1.i386.rpm包和lvm2-2.00.08-2.i386.rpm包.

5. 配置,编译和安装linux-2.6.x内核

新内核在Makefile方面的改动很大, "make menuconfig"和"make xconfig"继续存在, 但是"make xconfig"被改写了, 不再使用原来的Tcl/Tk语言, 而是基于QT库了. 新增加了"make gconfig", 它是基于GTK库的. "make xconfig"和"make gconfig"比原来更强大而且更易于使用了. 但不幸的是, 它们好像还不太稳定......因此, 还是使用我最喜欢的"make menuconfig"吧:-)

关于新内核的配置想提几点:

o 关于"Loadable Module support"选项, 一定要选上"Module unloading"和"Automatic kernel module loading"这两个选项.

o 关于"Processor type and features"选项, 一定要选上"Preemptible Kernel"选项, 这是2.6.x内核优于2.4.x内核的重要原因之一.

o 关于"Block Devices"的配置, 一定要选上对loopback和ramdisk的支持.

o 关于"Multi-device support(RAID and LVM)", 要选上"device mapper".

o 关于"Input device support", 记得要选上"Keyboards"和"Mice"的支持.

o 关于"Graphics support", 要选上对frame buffer的支持.

o 关于ALSA, 要选上"OSS API emulation"选项. OSS可以不用了.

o 关于USB, 能选的都选上吧:-)

o 关于文件系统, 选上常用的那几种就可以了. 如果要体验sysfs的话, 要选上对sysfs的支持.

配制好内核后, 就可以直接编译了, "make dep"这一步已经显示地需要了.

# make bzImage

# make modules

# make modules_install

# make install

上面的命令"make install"将: (1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接; (2)修改bootloader的配置文件; (3)调用mkinitrd程序创建内核的initrd映象. 对于GRUB而言, 将在/boot/grub/grub.conf配置文件增加如下类似的配置行:

title Red Hat Linux (2.***)

root(hd0, 1)

kernel /boot/vmlinuz-2.*** ro root=LABEL=/

initrd /boot/initrd-2.***.img

不幸的是, 新内核并不识别"root=LABEL=/"这个启动参数. 如果现在你就重新启动新内核的话, 将发生kernel panic错误. 因此, 必需把这个"root=LABEL=/"启动参数去掉, 就OK了.

到这里, 你已经可以重启机器, 用kernel-2.***启动了. 当然, 多半你不会成功, 不是没鼠标就是没键盘:-)

6. 支持Hotplug

当然, 首先要在内核配置时配置了HOTPLUG的支持. 然后, 由于/proc/ksyms改名为/proc/kallsyms, 所以必需修改启动脚本/etc/rc.sysinit. 为了兼容原有的linux-2.4.x系统, 可以加上下面几行:

#

# ----- KERNEL 2.6.x support ------

# This is for compatibility between kernel-2.4.x and kernel-2.6.x

#

UNAME=`uname -r`

KERNELVER=${UNAME:0:3}

if [ "$KERNELVER" = "2.6" ]; then

#

# This is kernel-2.6.x

#

KSYMS=/proc/kallsyms

else

#

# This is kernel-2.4.x

#

KSYMS=/proc/ksyms

fi

然后, 把rc.sysinit文件中所有出现/proc/ksyms的地方都换成"$KSYMS"变量引用. 配置好后, 还必需下载hotplug的用户态辅助工具包:http://www.kernel.org/pub/linux/uti...4_03_11.tar.gz. 解开这个包以后, 直接"make install"就可以了. 它将产生/etc/hotplug/配置目录.

7. 体验sysfs

首先, 创建目录/sys:

# mkdir /sys

然后, 按照下列步骤修改启动脚本/etc/rc.sysinit文件:

o 找到行: mount -f /proc", 在下面增加:

if [ "$KERNELVER" = "2.6" ]; then

mount -f /sys

fi

o 找到行: action $"Mounting proc filesystem: " mount -n -t proc /proc /proc, 在其下面增加这样一行:

#

# Mount /sys for kernel-2.6.x

#

if [ "$KERNELVER" = "2.6" ]; then

action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys

fi

接下来, 在/etc/fstab文件中, 加入这样一行:

none /sys sysfs defaults 0 0

最后, 修改/etc/init.d/halt脚本中的halt_get_remaining函数:

将:

awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}

改为:

awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}

8. 支持USB设备

linux-2.6.x的USB驱动模块的名字已经改变了, 所以由此引起的问题多多......, 对应于USB-2.0的host控制器的内核模块名字仍然是ehci-hcd, 对应USB-1.1的host控制器的内核模块名字已经从usb-ohci改为ochi-hcd, 对应于通用USB host控制器的内核模块名字已经从usb-uhci该为uhci-hcd.

然而不幸的是, 在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名字. 例如:

alias usb-controller usb-ohci

alias usb-controller1 ehci-hcd

因此, 要把它改为:

alias usb-controller ohci-hcd

alias usb-controller1 ehci-hcd

如果不做这样的修改, 那么使用USB-1.1 host控制器的机器在启动内核的时候将着不到相应的驱动模块.

支持USB键盘的模块名字也从keybdev变为usbkbd, 支持USB鼠标的模块名字也从mousedev改为usbmouse. 因此, 我们必需修改启动脚本/etc/rc.sysinit文件. 同时为了兼容原有的2.4.x系统, 我们在脚本的一开始定义两个变量:

#

# ----- KERNEL 2.6.x support ------

# This is for compatibility between kernel-2.4.x and kernel-2.6.x

#

UNAME=`uname -r`

KERNELVER=${UNAME:0:3}

if [ "$KERNELVER" = "2.6" ]; then

#

# This is kernel-2.6.x

#

KSYMS=/proc/kallsyms

KEYBDEV_NAME=usbkbd

MOUSEDEV_NAME=usbmouse

else

#

# This is kernel-2.4.x

#

KSYMS=/proc/ksyms

KEYBDEV_NAME=keybdev

MOUSEDEV_NAME=mousedev

fi

然后, 把/etc/rc.sysinit脚本文件中出现keybdev和mousedev的地方都改为$KEYBDEV_NAME和$MOUSEDEV_NAME. 把脚本文件/etc/rc.sysinit中的needusbstorage部分从:

needusbstorage=

if [ $usb = "1" ]; then

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null

action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null

fi

改为:

needusbstorage=

if [ $usb = "1" ]; then

if [ "$KERNELVER" = "2.6" ]; then

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /sys/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

else

needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2>/dev/null`

LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2> /dev/null

fi

action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2> /dev/null

action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2> /dev/null

fi

好了, 到此为止, 我们应该可以重新启动机器了, 赶快去体验最新的kernel-2.***吧:-)

9. 其它

o 关于在linux-2.6.x系统上不能正常使用RPM命令的问题, 请参阅文档[2]和[6].

o 关于声卡的问题, 可以参阅参考文档[2]和[6].

o 关于在linux-2.6.x系统上运行vmware的问题, 请参阅参考文档[2]和[6].

10. 参考文档

[1] Kernel 2.6.x, the new breed: http://linuxbooks.pananix.com/kernel2.6.html

[2] Upgrading RH9 to 2.6.0-test4: http://www.fearthecow.net/index.pl?...amp;page=kernel

[3] HowTo Upgrade To The 2.6 Kernel: http://kerneltrap.org/node/view/799

[4] Building Linux Kernel 2.6 on Red Hat 8: http://www.sabalsoftware.com/articl...26OnRedhat8.php

[5] Migrating to Linux kernel 2.6 on recent Redhat systems: http://linux-sxs.org/upgrading/migration26.html

[6] Migrating to Linux Kernel 2.6: http://thomer.com/linux/migrate-to-2.6.html

linux 内核 2.6.* 的 设置选项详解(转帖)

(转自:http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=136364

 

内 核 选 项

第一部分

01、Code maturity level options ---> 代码成熟等级选项

01.01、[ ] Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。

01.02、[ ] Select only drivers expected to compile cleanly 选择这个选项你将不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

第二部分

02、General setup ---> 常规安装选项

02.01、() Local version - append to kernel release

02.02、[*] Support for paging of anonymous memory (swap) 这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多 多的内存空间用来执行很大的程序。默认是选择的。

02.03、[*] System V IPC (IPC:Inter Process Communication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。

02.04、[*] BSD Process Accounting 一般用户所执行的程序,可通知内核将程序统计数据写成文件,详细记录相关信息。

02.05、[ ] BSD Process Accounting version 3 file format

02.06、[*] Sysctl support 此项功能可在不重新编译内核或是重新开机的前提下,动态变更某些特定的内核参数和变量,赋予内核较大的弹性。除非内存太少或是编译出来的内核是给安装、救援磁盘所使用,否则这个选项一定要选上。这将提供一个接口让你可以动态的更改一些核心参数与变量,而不需要重新启动系统。打开这个选项将会增加内核的体积至少8KB。如果你的内核仅用制作安装与恢复系统系统盘那么可以不选,以减少对内存的占用。

02.07、[*] Auditing support 审记支持,用于和内核的某些子模块同时工作,例如SELinux。只有选择此项及它的子项,才能调用有关审记的系统调用。

02.08、[*] Enable system-call auditing support

--- Support for hot-pluggable devices 是否支持热插拔的选项,肯定要选上。不然USB、PCMCIA等这些设备都用不了。

02.09、[*] Kernel Userspace Events内核中分为系统区和用户区,这里系统区和用户区进行通讯的一种方式,选上。

02.10、[ ] Kernel .config support 这将会把内核的配置信息与相关的文档说明编译进内核中,以后可以使用一些工具来提取它用来重新构建内核,一般不用选它。

02.11、[ ] Configure standard kernel features (for small systems) ---> 这是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常你可以不选择这一选项,你也不用对它下面的子项操心了。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:18    发表主题:   

--------------------------------------------------------------------------------

 

第三部分

03、Loadable module support ---> 可引导模块支持 建议作为模块加入内核

03.01、[*] Enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。

03.02、[*] Module unloading 这个选项可以让你卸载不再使用的模块,如果不选的话你将不能卸载任何模块(有些模块一旦加载就不能卸载,不管是否选择了这个选项)。不选择这个选项会让你的内核体积减小一点。

03.03、[ ] Source checksum for all modules这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。如果你不是自己写内核模块,那就更不需要这一选项了。

03.04、[*] Automatic kernel module loading 一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选Y喽。

第四部分

04、Processor type and features ---> 处理器类型

04.01、Subarchitecture Type (PC-compatible) ---> 这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。

04.01.01、(X) PC-compatible 就在这里选PC模式。

04.01.02、( ) AMD Elan

04.01.03、( ) Voyager (NCR)

04.01.04、( ) NUMAQ (IBM/Sequent)

04.01.05、( ) SGI 320/540 (Visual Workstation)

04.02、Processor family (Pentium-Pro) ---> CPU选项 这里针对自己的CPU型号,选取相应的选项。

04.02.01、( ) 386

04.02.02、( ) 486

04.02.03、( ) 586/K5/5x86/6x86/6x86MX

04.02.04、( ) Pentium-Classic

04.02.05、( ) Pentium-MMX

04.02.06、( ) Pentium-Pro

04.02.07、( ) Pentium-II/Celeron(pre-Coppermine)

04.02.07、( ) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

04.02.08、( ) Pentium M

04.02.09、( ) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon

04.02.10、( ) K6/K6-II/K6-III

04.02.11、(x) Athlon/Duron/K7 我使用的CPU是Athlon XP2000+,所以选上这项。

04.02.12、( ) Opteron/Athlon64/Hammer/K8

04.02.13、( ) Crusoe

04.02.14、( ) Efficeon

04.02.15、( ) Winchip-C6

04.02.16、( ) Winchip-2

04.02.17、( ) Winchip-2A/Winchip-3

04.02.18、( ) GeodeGX1

04.02.19、( ) CyrixIII/VIA-C3

04.02.20、( ) VIA C3-2 (Nehemiah)

04.03、[ ] Generic x86 support 这个选项提供了对X86系列CPU最大的兼容性,用来支持一些很少见的x86体系的CPU,它可能会降低一些系统性能。如果你的CPU能够在上面的列表中找到,就里就不用选了。

04.04、[*] HPET Timer Support 这也是一个新的特性,HPET是intel制定的新的用以代替传统的8254(PIT)中断定时器与RTC的定时器,全称叫作高精度事件定时器。如果你有一台较新的机器就选它吧,一般它是一个安全的选项,即使你的硬件不支持HPET也不会造成问题,因为它会自动用8254替换。

04.05、[ ] Provide RTC interrupt There is no help available for this kernel option.

04.06、[ ] Symmetric multi-processing support 支持多处理器选项。如果只使用单CPU,那么得关闭。

04.07、[*] Preemptible Kernel 这可是个新特性,几乎所有介绍2.6的文章都会提到,这就是可抢先式内核。也就是说被一些优先级很高的程序可以先与一些低优先级的程序执行,即使这些程序是在核心态下执行(这实际上仍然不是真正的抢先式内核)。从而减少内核潜伏期,提高系统的响应。当然在一些特殊的点的内核是不可抢先的,比如内核中的调度程序自身在执行时就是不可被抢先的。这个特性可以提高桌面系统、实时系统的性能,所以还是选上吧。

04.08、[ ] Local APIC support on uniprocessors

04.09、[*] Machine Check Exception 如果系统出现一些问题比如CPU过热,内核将会在屏幕上打印相关信息来提醒你。这个功能是需要硬件支持的。你可以查看/proc/cpuinfo看看是否有mce标志,有的话就选吧。如果你十分十分的不幸,选了它之后出现问题,可以在启动时加nomce参数来关闭它。

04.10、<*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 打开这个选项将会检查你机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因,是一个不错的选项。当然它只能用在AMD Athlon/Duron / Intel Pentium 4这类CPU上。如果你正好在用它们中的一个你就选吧。

04.11、< > Toshiba Laptop support 东芝笔记本支持。这个选项是针对Toshiba笔记本的,可以用来访问Toshiba的系统管理模式,也就是可以直接设置BIOS。不过要注意它只在Toshiba自己的 BIOS中起作用。假如你有一台Toshiba笔记本,可惜它的BIOS是Phoenix的,那这个选项仍然是无用的。台式机就关闭!

04.12、< > Dell laptop support DELL笔记本支持。功能如上面,台式机就关闭!

04.13、[ ] Enable X86 board specific fixups for reboot

04.14、< > /dev/cpu/microcode - Intel IA32 CPU microcode support 是否支持Intel IA32架构的CPU(Xeon)?这个选项将让你可以更新Intel IA32系列处理器的微代码,当然你还必须在文件系统选项中选择devfs才能正常的使用它。如果你把它译为模块你还需要在modprobe.conf中加上这一行alias char-major-10-184 microcode 内核本身并不带有微代码的二进制文件,你可以到这个网址去得到新的信息http://www.urbanmyth.org/microcode/

04.15、<M> /dev/cpu/*/msr - Model-specific register support 是否打开Pentium CPU特殊功能寄存器的功能?这个选项桌面用户一般用不到,它主要用在Intel的嵌入式CPU中的,这个寄存器的作用也依赖与不同的CPU类型而有所不同,一般可以用来改变一些CPU原有物理结构的用途,但不同的CPU用途差别也很大。

04.16、<M> /dev/cpu/*/cpuid - CPU information support 是否打开记录Petium CPU相关信息功能?这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。一般不用选。

04.17、Firmware Drivers --->

04.18、High Memory Support (4GB) ---> 高容量内存支持

04.18.01、(x) off 我用512M内存,选用这项。

04.18.02、( ) 4GB

04.18.03、( ) 64GB

04.19、[*] Allocate 3rd-level pagetables from highmem除非有几G的内存,否则选择这个是没有意义的。

04.20、[ ] Math emulation Linux核心模拟数学浮点运算器,协处理器是在386时代的宠儿,现在早已下岗。

04.21、[*] MTRR (Memory Type Range Register) support 在PCI或者AGP总线众进行更快速的通讯。 由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择“MTRR”。无论如何,打开这个选项通常都是安全的——即使你的机器没有使用PCI或AGP总线的显卡。

04.22、[ ] Boot from EFI support (EXPERIMENTAL) 由于我使用的是GRUB,所以选上这个也没什么用,如果你打算使用EFI的功能,你可以到http://elilo.sourceforge.net看看。

04.23、[*] Enable seccomp to safely compute untrusted bytecode

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:19    发表主题:   

--------------------------------------------------------------------------------

 

第五部分

05、Power management options (ACPI, APM) ---> 电源管理选项

05.01、[*] Power Management support

05.02、[ ] Power Management Debug Support 电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。

05.03、ACPI (Advanced Configuration and Power Interface) Support ---> Some kernel features may be built directly into the kernel. Some may be made into loadable runtime modules. Some features may be completely removed altogether. There are also certain kernel parameters which are not really features, but must be entered in as decimal or hexadecimal numbers or possibly text.

Menu items beginning with [*], <M> or [ ] represent features configured to be built in, modularized or removed respectively. Pointed brackets <> represent module capable features.

To change any of these features, highlight it with the cursor keys and press <Y> to build it in, <M> to make it a module or <N> to removed it. You may also press the <Space Bar> to cycle through the available options (ie. Y->N->M->Y).

05.03.01、[*] ACPI Support 高级电源接口配置支持,如果BIOS支持,建议选上这项。

05.03.02、< > AC Adapter 电源适配器

05.03.03、< > Battery 电池

05.03.04、<M> Button

05.03.05、<*> Fan 风扇

05.03.06、<*> Processor 处理器

05.03.07、<*> Thermal Zone 据说大部份的台式机和笔记本都支持,不选还可能把处理器烧掉。如果你不会让模块正常工作,还是把它编进内核吧,怪吓人的。

05.03.08、< > ASUS/Medion Laptop Extras 华硕笔记本扩展支持,建议关闭

05.03.09、< > IBM ThinkPad Laptop Extras IBM笔记本扩展支持,建议关闭

05.03.10、< > Toshiba Laptop Extras Toshiba笔记本扩展支持,建议关闭

(2001) Disable ACPI for systems before Jan 1st this year

05.04、[ ] Debug Statements详细的ACPI调试信息,不搞开发就别选。

05.05、APM (Advanced Power Management) BIOS Support --->

05.05.01、<*> APM (Advanced Power Management) BIOS support

05.05.02、[ ] Ignore USER SUSPEND 忽略用户暂停请求。建议关闭

05.05.03、[ ] Enable PM at boot time 开机时节能,这项就不用了,建议关闭。

05.05.04、[*] Make CPU Idle calls when idle CPU空闲时节能

05.05.05、[ ] Enable console blanking using APM 空闲时console转成空白,建议关闭。

05.05.06、[ ] RTC stores time in GMT 按Unix的标准,硬件的时钟应该设为格林威治时间。如果要硬件时钟设成了本地时间,这个选项就不用了。

05.05.07、[ ] Allow interrupts during APM BIOS calls 允许APM的BIOS调用时中断。多数的机器不需要这项,Thinkpad的一些新机器需要这项。如果休眠时挂机(包括睡下去就醒不来),再把这项选上。

05.05.08、[ ] Use real mode APM BIOS call to power off 建议最好选上此项,保证软件关机。如果你有兴趣可以试试你的机器不选这项能不能正常的软件关机(多数机器不能)。补充一点,如果既选择了ACPI又选择了APM,先加载的将被使用。

05.06、CPU Frequency scaling ---> 这一选项允许改变CPU的主频,使CPU在低负荷或使用电池时降低主频,达到省电的目的。

05.06.01、[*] CPU Frequency scaling

05.06.02、[*] Enable CPUfreq debugging 是否允许调试CPU改变主频的功能,如果要调试,还需要在启动时加上参数。cpufreq.debug=<value> 1:变频技术的内核调试 2:变频技术的驱动调试 3:变频技术的调节器调试

05.06.03、<M> CPU frequency translation statistics

05.06.04、[*] CPU frequency translation statistics details

05.06.05、Default CPUFreq governor (performance) ---> 默认的主频调节,圆括号内的是你选择的结果,这里表示以性能为主。

05.06.06.01、(X) performance

05.06.06.02、() userspace

05.06.07、<*> 'performance' governor

05.06.08、<M> 'powersave' governor 最大限度的节约电能调节器。

--- 'userspace' governor for userspace frequency scaling 用户自定义调节器。

05.06.09、<M> 'ondemand' cpufreq policy governor 自动调节主频。

05.06.10、<M> 'conservative' cpufreq governor

--- CPUFreq processor drivers

05.06.11、<M> ACPI Processor P-States driver 报告处理器的状态。

05.06.12、< > AMD Mobile K6-2/K6-3 PowerNow! AMD移动版K6处理器的变频驱动。

05.06.13、< > AMD Mobile Athlon/Duron PowerNow! AMD移动版毒龙、雷乌的变频驱动。

05.06.14、< > Cyrix MediaGX/NatSemi Geode Suspend Modulation Cyrix处理器的变频驱动。

05.06.15、< > Intel Enhanced SpeedStep Intel的变频技术支持。

05.06.16、[*] Use ACPI tables to decode valid frequency/voltage pairs 使用BIOS中的主频/电压参数。

05.06.17、[ ] Built-in tables for Banias CPUs 迅驰一代的主频/电压参数。

05.06.18、< > Intel Speedstep on ICH-M chipsets (ioport interface) Intel ICH-M南桥芯片组的支持。

05.06.19、< > Intel Pentium 4 clock modulation P4处理器的时钟模块支持。

05.06.20、< > Transmeta LongRun Transmeta处理器的支持。

05.06.21、< > VIA Cyrix III Longhaul VIA Cyrix处理器的支持。

--- shared options

05.06.22、[ ] /proc/acpi/processor/../performance interface (deprecated) 从/proc/acpi/processor/../performance获得CPU的变频信息。

05.06.23、[ ] Relaxed speedstep capability checks 不全面检测Intel Speedstep,有的系统虽然支持Speedstep技术,却无法通过全面的检测。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:19    发表主题:   

--------------------------------------------------------------------------------

 

第六部分

06、Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> 总线选项

06.01、[*] PCI support

06.02、PCI access mode (Any) ---> PCI外围设备配置,强列建议选Any,系统将优先使用MMConfig,然后使用BIOS,最后使用Direct检测PCI设备。

06.02.01、( )BIOS

06.02.02、( )MMConfig

06.02.03、( )Direct

06.02.04、(X)Any 选用Any,系统会先尝试直接设置,倘若失败便会退回启用BIOS设置。

06.03、[ ] PCI Express support PCIE支持

06.04、[*] Legacy /proc/pci interface 是否使用/proc/pci目录下的信息文件来描述PCI设备的信息。现在的系统多数都使用lspci工具来得到这样的信息。

06.05、[*] PCI device name database 如果你不打算使用lspci工具,就把这项和上面的一项选上。lspci和hotplug都不需要内核中的设备信息库了。

06.06、[ ] PCI Debugging

06.07、[ ] ISA support ISA总路,现已淘汰,建议关闭。是否使用工业总线。如果你没有老式的ISA设备,可以不选这项。现在基本上都没有ISA的设备了。不过需要注意的是如果你做嵌入式系统的开发,一些PC104的总线可能会桥接到EISA或者是。VESA总线上。

06.08、[ ] EISA support 扩展ISA总路,早期计算机上的总路,现已淘汰,建议关闭。

06.09、[ ] MCA support IBM PS/2上的总线,现已淘汰,建议关闭。微通道总线。IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这种总线。

06.10、< > NatSemi SCx200 support 这个我不知道是什么东西,看帮助是松下的一种半导体处理器的驱动。

06.11、PCCARD (PCMCIA/CardBus) support ---> 一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。

06.11.01、<M> PCCard (PCMCIA/CardBus) support

06.11.02、[ ] Enable PCCARD debugging 调试PCMCIA设备,除非你是设备驱动的开发人员,否则关闭。

06.11.03、<M> 16-bit PCMCIA support 16位的PCMCIA总线支持。

06.11.04、[*] 32-bit CardBus support 32位的PCMCIA总线支持,通常也叫PCMCIA II总线。

--- PC-card bridges 下面的是不同产家的PCMCIA芯片的驱动支持,如果你知道你的本本用的是什么芯片组的话,可以只选它而不选其它的。要是你不知道,可以全部选上,然后用modprobe一种一种的试。

06.11.04.01、<M> CardBus yenta-compatible bridge support

06.11.04.02、<M> Cirrus PD6729 compatible bridge support

06.11.04.03、<M> i82092 compatible bridge support

06.11.04.04、<M> Databook TCIC host bridge support

06.12、PCI Hotplug Support ---> PCI热插拨支持。一般来讲只有服务器上会有热插拔的设备,如果你使用的是台式机,你可以不选择此项并跳过这一部份。其实我也没有选这一项,只是为了讲解的方便而选上的。

06.12.01、Fake PCI Hotplug driver (NEW),选上这一选项能让你的机器模拟PCI热插拔。注意,它并不是真正意义上的热插拔,决对不允许带电插拔设备除非你的主板上集成了PCI热插拔芯片并且你的PCI设备本身支持热插拔。

06.12.02、Compaq PCI Hotplug driver (NEW),Compaq服务器上的热插拔芯片组的支持。

06.12.03、IBM PCI Hotplug driver (NEW),IBM服务器上的热插拔芯片组的支持。

06.12.04、ACPI PCI Hotplug driver (NEW),PCI热插拔设备是否支持ACPI电源管理(一般来说都是支持的)。

06.12.05、CompactPCI Hotplug driver (NEW),精简PCI总线的热插拔设备的支持,通常在嵌入式系统中会用到精简PCI总线。

06.12.06、PCI Express Hotplug driver (NEW),PCI加速总线的热插拔设备的支持。现在PCI Express总线的显卡挺火的。

06.12.07、SHPC PCI Hotplug driver (NEW),SHPC热插拔控制芯片的支持。

_________________

生命不息,

灌水不止......

 

 

返回页首       

 

 

青铜镜

Linux普通社员

注册: Nov 23, 2004

文章: 235

位置: 天地良心

 发表于: 2005年 10月20日 11:20    发表主题:   

--------------------------------------------------------------------------------

 

第七部分

07、Executable file formats --->

07.01、[*] Kernel support for ELF binaries ELF是开放平台下最常用的二进制文件,它支持不同的硬件平台。

07.02、< > Kernel support for a.out and ECOFF binaries 这是早期UNIX系统的可执行文件格式,目前已经被ELF格式取代。

07.03、< > Kernel support for MISC binaries此选项允许插入二进制的封装层到内核中,当使用Java、.NET、Python、Lisp等语言编写的程序时非常有用。

第5次重装linux,第一次编译成功Redhat linux9.0的内核

  我的环境:kernel2.4.20-8 Redhat linux9.0 lilo ,再加windows2000. AMD毒龙700,256M,20G

  我的windows2000前几天只有我的管理员帐号在用,家里人都在用。由于不知道怎么一回事,linux的5个分区中有两个分区(/,还有好像是/usr)显示在windows2000的我的电脑中,也许是谁无意中执行了对linux的/分区进行了格式化。这样,我的linux系统又完了。最后只得重装,这次把/home目录直接挂载上就行了。因为本地安装的程序一般在/usr/local中,所以把/usr/local分在一个区上。然后,就是在windows2000中启用一个非管理员的user帐号,这样,一般的时候就用这个帐号了。这样一些带有危险性的操作就不能进行了。

  这两天看那本<<linux编程与网络应用>>的定制内核这一节.今天实验了一下:

整个过程如下:

准备工作:

1)su 切换成root(实际上下面的一些步骤必须root权限的除了对一些目录的操作外,只有安装和make modules_install才需要root权限,我一直用root权限是因为源码放在/lib下,而且,我想对编译核心这样的事,用root权限不算问题吧)

2)装上内核工具包和程序开发包;

3)把/usr/src/linux2.4.20-8这个文件夹拷贝到/lib/linuxsrc下;(因为我发觉如果系统启动失败用软盘引导的系统不能装载/home分区,所以我就把备份的东西放在/lib下了,下同)

4)cp /boot /lib/bootback -fr 备份引导目录

5)cp /boot/vmlinuz-2.4.20-8 /boot/vmlinuz-2.4.20-8.old  备份核心

6)cp /lib/modules/2.4.20-8 /lib/modules/2.4.20-8.old -fr  备份模块

7)cp /etc/lilo.conf /etc/lilo.conf.old

正式工作:

1)su 切换到root帐户

2)cd /lib/linuxsrc/linux2.4.20-8 进入源码目录

3)make mrproper 清理源码

4)make menuconfig 把一些明显用不到的项从核心或模块中去掉,加上ntfs分区的读的模块支持

5)make dep

6)make clean 为最后编译进行文件树的配置

7)make bzImage 建立核心

8)cp ./arch/i386/boot/bzImage /boot/bzImage 把核心拷贝到/boot下(第8~10好像放在步骤12后面更加合理,但我没有这样做,以后可以试试看有没有区别)

9)vi /etc/lilo.conf 编辑lilo.conf文件如下:

prompt

timeout=50

default=DOS

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

message=/boot/message

lba32

image=/boot/bzImage

        label=linux

        root=/dev/hda5

        read-only

image=/boot/vmlinuz-2.4.20-8.old

        label=old

        initrd=/boot/initrd-2.4.20-8.img

        root=/dev/hda5

        read-only

 

other=/dev/hda1

optional

label=DOS

10)/sbin/lilo 更新map,这样在lilo启动的选择项中才有新内核的选项

11)make modules 编译模块 (可以不要root权限)

12)make modules_install 安装模块

13)/sbin/shutdown -r now

完成.

我在编译的时候遇到几个问题:

1)不知道initrd-2.4.20-8.img什么用,把它加在lilo.conf的新内核那几行不能启动,报错:.../lib/jbd.o was compiled for kernel version 2.4.20-8 while this kernel version 2.4.20-8custom.ERROR;/bin/insmod exited abnormally.

2)root=/dev/hda5 这行原来是:append="root=LABEL=/" 不知为什么重编译内核后不能找到root的值了

3)make modules_install 安装新模块自动在/lib下生成2.4.29-8custom文件夹,这是与新核心配套的,不会复盖原来的模块目录2.4.20-8;

4)一定在安装linux时制作一张软盘的引导盘,这样,在内核或模块配置不正确时才可以用来引导系统进行相应的修正,据我的经历,如果不是制作了这张引导盘,我可能又要第6次重新系统了。

5)重新编译的压缩核心比原来的压缩核心少了100多k字节,启动x查看内存占用少了3M。但是仍然不能认识我的sedY890手机的usb存储,难道真要升级内核吗?有了这个原内核编译的经验,我想升级内核到2.6.*可能要容易一些了。为防万一,可以先把整个/boot目录备份。

看了几篇编译内核的帖子

在matrix.org.cn上看的,地址:http://www.matrix.org.cn/thread.shtml?topicId=29451&forumId=43

今天太热了,办公室开着空调还是33度,外面可想而知。一点都没心情做事,上网看看帖子。这几天一直盼望下雨,都没有下。这时听到雷声,心想,可能要下雨了。不会落空吧?


本站中对于linux内核编译帖的整理:

1.在redhat as 3.0 上精简并编译系统内核

2.2.6内核编译的详细方法

3.Linux 2.4.20 以后内核的ECN问题

4.菜鸟浅谈Linux内核编译过程...

5.使用yum把内核升级到Kernel 2.6.0test9

6.实战linux内核编译 

 

第4次重装Redhat Linux9.0

在办公室的机器上装过一次,后面因为机器太慢了,运行Xwindows还没有win2000快,就删除了。我想,如果不运行X的话还可以再装上,算了,太麻烦。

在家里昨天是第3次装了,原因是安装chinput搞乱了输入法。没有能力去修复,重装最干脆。

这次重装有以下几点:

1、选择了文本模式下运行安装程序;

2、选择自动分区不成功,结果手动分区。Linux用了5个分区,分别挂载/ , /usr , /home , /boot , 再加上一个swap分区,/boot分区选择了ext2(好像别人都这样),swap当然是linuxswap,其它是ext3。用了lilo引导,只是我有一本书是lilo。分区是用的pqmagic6.0还有windows2000下的pqmagic8.0。分区搞得很乱,最后,pqmagic都提示我“请备份数据,删除全部分区,再恢复数据”。太麻烦了,硬着头皮在linux手工挂载(自动挂载好像提示分区表有问题)。最后,分区分完了。linux安上了,在dos下用pamagic6.0修复了几个错误,然后就可以在pqmagic6.0和8.0下正确认识分区了(pqmagic6.0不认识ext3,认成了ext2),看来,死马当成活马医还见效了。我敢这样做的原因是硬盘没有非常重要的东西,学习日记的源码在远程(德国)的开源社区中有。对重要的应用,还是要像pqmagic提示的那样备份数据。我准备把硬盘里的几个重要的东西备份一下。

3、小问题是安装完了在text模式下用startx不能启动X,报错好像是XFree86config下的screen设置不对,行和列扫描的数值都超范围,用vi打开文件一看,原来是行和列的扫描数不知怎么颠倒了。看了书,知道了vi的基本用法,修改这个文件,保存退出。然后就可以启动Xwindows了。

  在有个论坛上一个linux用户的口号是“重装重装再重装”,征对像我这样的初学者应该很有效的。要不然,我修复一个错误用5天,重装一个系统用1个多小时,谁划算?

  准备重点学习emacs编辑,vi也要会,shell编程要掌握。

直击Linux(即Linux 使用概览)(转帖)

转自:http://www.matrix.org.cn/thread.shtml?topicId=27576&forumId=43&page=1#10

比对了一下文中的标准,我属于可以一试Linux的队列:)


4) 你的PC老掉牙了,跑Windows像蜗牛;

7) 不想花钱,又想用正版软件的人。

不过,文中的核心用的好像是2.2.*,有些东西可能有些变化,当然,一般来说,是越变越好用了。

 

正文:

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

一、 直击Linux:12问

1.什么是Linux?

Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的作系统。1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX作系统的想法,当年,Linux就诞生了,为了不让这个羽毛未丰的作系统矢折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。

Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。

现在,Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流作系统之一。

2.什么是自由软件?

自1984年起,麻省理工学院开始支持“世界最后一名黑客”Richard stallman在软件开发团体中发起自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件革命的序章。

GPL,通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。

而GNU项目的目标是建立可自由发布的、可移植的UNIX类作系统。

3.从技术上说,Linux有什么优点?

1) 提供了先进的网络支持:内置TCP/IP协议;

2) 真正意义上的多任务、多用户作系统;

3) 与UNIX系统在源代码级兼容,符合IEEE POSIX标准;

4) 核心能仿真FPU;

5) 支持数十种文件系统格式;

6) 完全运行于保护模式,充分利用了CPU性能;

7) 开放源代码,用户可以自己对系统进行改进;

8) 采用先进的内存管理机制,更加有效地利用物理内存;

4.我需要学习Linux吗?

电脑初学者:强烈建议你远离配置、管理均相当繁琐的Linux,去拥抱Windows那通俗易懂的图形界面;

文字处理者:Windows多年的发展,已经开发出了一套“所见即所得”文字处理软件,犯不着与黑底白字的vi较劲;

编程爱好者:Linux的源代码完全公开,是编程爱好者的福音。剖析内核,量身定做不是你的愿望吗?怎么样,试试吧!

网络管理员:拥抱Linux吧。据权威机构评测 ,Linux在同配置机器上的网络服务效率是NT的1.8倍,而且还是免费的,老板一定会笑的。

总之,如果你具备以下条件之一,就拥抱Linux吧:

1) 对编程有狂爱,总喜欢用程序解决问题;

2) 具有较强的钻研精神,喜欢对问题刨根问底;

3) 对构造网络服务器有兴趣的人;

4) 你的PC老掉牙了,跑Windows像蜗牛;

5) 想学习、了解UNIX作系统;

6) 极其厌恶Windows的蓝屏死机;

7) 不想花钱,又想用正版软件的人。

5.Linux会取代Windows 9x吗?

计算机在应用中可以分为桌面应用(工作站/客户机)和服务器应用,桌面应用直接面向客户,实现一些个性化的工作;服务器应用则是一些后台处理系统,实现一些共性的服务工作。对于桌面应用来说,易用性十分重要,而对于服务器而言,性能可靠、稳定才是更重要的。

所以为服务器设计的性能可靠、稳定的UNIX作系统与为桌面系统设计的用户界面友好的Windows 9x系统一直是长期并存的主流作系统。

Linux作系统是一种类UNIX作系统,其设计上对稳定性的考虑比易用性考虑要多得多,它不是一种桌面系统,它也不是为了取代桌面系统而出现的。所以Linux不会取代Windows 9x。

6.Linux与WindowsNT谁更好?

WindowsNT作系统是微软公司进军服务器作系统的利器,设计系统时在满足服务器需求的前提下,融入了Windows 9x的图形化界面的优势,使得其易于使用,深受用户喜欢,其市场占有率也因此节节上升。

然而图形界面的代价,使系统的效率降低了,所以它适合中小企业、个人用户、对性能要求不严格的场合选用。

而Linux则适用于强调性能指标,对用户界面要求不大的的应用上。

7.Linux与UNIX有什么不同?

Linux也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它们之间的最大区别在于以下两点:

1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上;

2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。

8.Linux能应用在哪些领域呢?

1) 教育领域:设计先进、公开源代码这两大特性使得Linux成为了作系统课的活教材;

2) 网络服务器领域:稳定、健壮、系统要求低、网络功能强使得Linux成为现在Internet服务器作系统的首选,现已达到了25%的占有率;

3) 企业Intranet:可以用低廉的投入架设E-MAIL服务器、WWW服务器、代理服务器、透明网关、路由器;

4) 视频制作领域:著名的《泰坦尼克号》就是由200多台Linux协作完成其中的特技效果的。

9.Linux作系统发展现状和未来如何?

在2000年的LinuxWorld大会上,明显感觉到:社会各界对免费发布的作系统的支持的力度大大增强了,特别是许多硬件厂商,比如 IBM、HP和 Dell 纷纷加入到Linux领域,极大地促进了这种作系统的发展。

虽然,现在纷繁复杂的多种Linux发行版,各自为阵,降低了Linux的整体战斗力。但业界认为,不同的发行版本最终会产生不断细分的市场,各个版本将专注处理比较专业的东西。

Linux作系统经历过市场的洗礼之后,一定会创造出更大的辉煌。

10.Linux对软件业有什么影响呢?

最早,程序是程序员思想的结晶,是人类共同的文化。后来,微软公司的创始人比尔.盖茨先生创建了一个全新的软件产业模式:程序是花钱购买的,源程序是程序员的知识产权,是需要保护的。这个软件的商业模式缔造了微软帝国,也将比尔推到了世界首富的位置。

如果说,微软的Windows为世界做了很大的贡献的话,那么同时它也会软件业的发展带来了垄断和铜臭。自由软件FSF组织就是想通过GNU项目来打破这一格局,再次让所有人共享程序员思想的结晶----源代码。

而Linux的加盟,使得自由软件组织更具有战斗力,事实证明,的确对现在的软件业造成了深远影响。同时,Linux奇特的开发方式,也为软件业的创新提供了宝贵经验。

11.我该如何学习Linux呢?

1) 多阅读Linux书籍,如《Linux大全》、《RedHat Linux奥秘》、《Linux系统管理白皮书》等;

2) 敢于尝试,经常使用Linux,从实践中学习Linux,别怕“try again”;

3) 经常通过网络与Linux爱好者们互相交流,提高自己。

12.网上有哪些Linux资源?

在Internet上,关于Linux的网站很多,其中比较优秀的中文网站有:

1) www.linuxaid.com.cn:设有Linux论坛、在线答疑、知识库、在线培训、解决方案等栏目;

2) www.linuxforum.net:这里应该是人气最旺的Linux论坛;

3) www.lslnet.com/linux:是一个更新较快的Linux专题网站;

4) www.linuxbyte.com:是一个较好的Linux网站;

5) www.clinuxdevelop.org:中国Linux开发联盟;

6) clyan.hongnet.com:linux数据库应用指南。

二、 Linux大观:7问

13.RedHat Linux 6.5和Linux 2.4哪个版本高?

最近许多报刊、网站都介绍了Linux的最新版 2.4怎样,怎样?而许多Linux初学者正在使用的是RedHat Linux 6.5版。哪个版本更高?

其实,这两个版本号是不同的!RedHat Linux是将Linux内核与Linux的一些常用配套软件、应用软件捆绑在一起的发行版,6.5是这个发行版的版本号。而Linux 2.4则是指Linux内核的版本。

Linux核心是由linus维护的,它的版本号一般由二到三个部分组成,例如现在最稳定的2.2.15:

1) 第一个2是主版本号,一般在一个时期内比较稳定;

2) 第二个2是次版本号,如果是偶数,代表是正式版,如果是奇数,代表是开发过程中的测试版,如在2.4正式出来时,2.3.x就是在开发者间使用的测试版的版本号;

3) 最后一个15是修改号,如2.2.15就是对2.2.14做了一些小的修改而来。

这种特殊的版本命名法是为了便于在Internet上共同开发而制定的。

14.Linux的发行版有哪些?

Linux的发行版就是将Linux核心与应用软件做一个打包。较知名的有:SlackWare、RedHat、Debain、Mandrake、SuSE、Xlinux、TurboLinux、BluePoint、RedFlag、Xterm等。

15.RedHat Linux有哪些特点?

RedHat Linux是最成熟的一种Linux发行版,其无论在销售还是装机量上都是市场上的老大。在中国老一辈Linux爱好者中几乎都是RedHat的使用者。市场上有大量的文章是针对RedHat来说的。

RedHat Linux朴实、简洁、稳定,是作为商业应用、钻研Linux的好平台。

16.TurboLinux有哪些特点?

TurboLinux是一家美国公司建立的发行版,早期其致力于Linux的国际化工作,它的中文版,是最早的成熟中文Linux发行版。TurboLinux注重面向具体应用,开发出针对不同应用的发行版,在国际影响力方面越来越大,是RedHat的一个主要竞争对手。

17.BluePoint、Xterm、RedFlag三种中文Linux谁好?

BludePoint Linux是由Devin、Samuel、hahalee三个中国内核黑客通过互联网联手合作的杰作,在互联网上深受中国Linux爱好者的好评。它最主要的特点是:内核级的汉化,有许多自己的东西。

Xterm是由北京冲浪公司制作的Linux发行版,可以算得上中国最早的Linux发行版。它的最大特点是:用户界面好,进入门槛低,适合初学Linux人试用。

RedFlag是由中科院、北大方正、康柏公司联合开发,是基于RedHat Linux改进的中文版。它的特点是:开发力量强大,比较权威,可以一试。

18.哪种版本Linux适合我?

相对来说,SlackWare、RedHat、Debain这三种发行版比较适合一些有一定基础,或很强调性能、稳定性的人。笔者强烈推荐使用RedHat。

TurboLinux、BluePoint、RedFlag、Mandrake则在用户界面比前三种更友好,稳定性适中,其中Turbo、BulePoint、RedFlag还内置了中文支持,应该是刚从Windows转到Linux中的人的最好选择。

而象Xterm、联想Happy等这些的用户界面更加优秀,内置的中文支持,捆绑了更多游戏、办公软件,比较适合Linux的尝试者或初学者使用。

以上皆为本人观点,随着时间的变化,以上评价会有失偏颇,仅供参考。

19.如何得到Linux?

你可以通过以下方法获得Linux:

1) 从网站上下载,如www.redhat.com、freesoft.cei.gov.cn等;

2) 购买Linux发行版的光盘;

3) 复制Linux发行版的光盘,这种方法在GPL中是合法的!!

三、 走进Linux殿堂:35问

20.安装Linux,对硬件有什么要求?

Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上。但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步。

21.安装Linux需要做哪些准备?

1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组、时钟芯片、显存大小等相关信息;

2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动;

3) 如果你的Linux安装盘无法自启动的话还需制作启动盘;

4) 为Linux的安装腾出硬盘空间,最好有1G左右。

22.安装Linux前要有哪些基础知识呢?

安装Linux时,至少需要两个分区:Linux native主分区、Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。

交换区每个8-256M,最多可以有8个,一般建立一个与内存等大的就行了。

DOS中,不管物理上、逻辑上,每个分区就是一个独立的部分,比如:C盘、D盘、E盘,每个盘都有一个根目录。而在Linux中,物理上是一个个分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。

23.Linux如何命名我的硬盘?

Linux对硬盘的处理,与DOS系统基本上是一样的,先做分区,然后再做格式化。分区的命令是不同的,DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。

如“hda1”,hd是一个部分,代表IDE硬盘,如果是SCSI硬盘的话,为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。

24.如何安装Linux?

每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:

1) 一些基本设置:如安装语言、键盘;

2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉硬盘分区的爱好者最好在行家指导下进行;

3) 选择要安装的软件包:建议初学者全部安装,待以后熟悉了后再重新定制,以免在学习过程中丢这落那的;

4) 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;

5) 安装LILO:建议装在主引导扇,使用LILO来完成多系统引导;

6) 为Linux的超级用户root设置密码。

大家可以参考每种Linux的相关资料来尝试安装。

25.如何在一块硬盘上安装多个作系统?

许多Linux爱好者都希望能够在保留Windows9x作系统的同时,安装Linux。为了能够在多个作系统的自动选择,就需要一个启动管理器,Linux带了一个很好的启动管理器---lilo。

所以在安装多个作系统时,你只需先安装其它作系统,最后安装Linux,并将lilo安装在主引导扇上,这样重新启动系统时,将出现lilo:等待你选择你要启动的作系统。

26.如何配置linux启动管理器lilo?

根据需要修改/etc/lilo.conf文件,然后执行/sbin/lilo让设置生效。下面是一个lilo.conf文件的示例:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

default=linux

image=/boot/vmlinuz-2.2.5-15

label=linux

root=/dev/hda1

initrd=/boot/initrd-2.2.5-15.img

read-only

other=/dev/hda2

label=windows

其中,timeout是用来设置lilo等待输入的时间,在此表示如果5秒不选择的话就进入default;

default选项用来指定默认启动哪个系统;

image小节用来指定linux的启动信息,包括启动位置,名字--linux;

other小节用来指定其他作系统的启动信息,包括启动位置、名字。

27.如何启动、关闭系统?

启动Linux很简单,只要在lilo中选择linux(输入linux)就可以了,在启动过程中,将会向控制台写许多信息,直到出现用户登录提示login:,输入用户名和密码就可以登录系统,开始Linux世界的探索。

关机时一定要注意,不能直接关闭计算机电源,那样会破坏Linux的文件系统,你可以使用以下命令来实现:

1) 重启:执行reboot命令或同时按下Ctrl+Alt+Del键;

2) 关闭系统:执行shutdown –h now命令。

28.Linux下的目录作与DOS/Windows有什么不同?

Linux的文件系统与DOS类似,也是采用树形结构的。但目录的表示有一点是完全不同的,Linux用“/”表示根目录,而DOS用“”表示根目录。以下是在Linux下常用的目录作命令:

1)“mkdir 目录名”:建立目录;

2)“rmdir 目录名”:删除空目录;

3)“cd 目录名”:改变目录;

注:cd与目录名之间一定要空格,比如到根目录,需用“cd /”,而非“cd/”

4)“pwd”:查看自己所在的目录;

29.在Linux如何对文件进行作?

你可以使用ls –l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示:

total 2

drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1

-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt

最左边一列是文件/目录权限,第3列是的属主信息,第4列是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目录名。以下是一些 常用文件作命令:

rm:删除文件 more:浏览文件 cp:拷贝文件

30.如何编辑一个文本文件?

你可以使用vi来编辑一个文件文件,它是在 Unix 世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。

1) 启动vi:执行“vi 文件名”,一启动vi在命令状态,可以输入各种vi的命令,不能编辑;

2) 存盘:w、存盘退出:wq、不存盘退出:q!;

3) 进入编辑状态:插入:i、新增:a;

4) 退出编辑状态:按ESC键;

5) 进入编辑状态后,编辑起来很像DOS下的edit;

6) 在命令状态下还有一些常用的命令:

x 删除游标所在字元;

   dd 删除游标所在的列。

31.安装完Linux后,根目录下一大堆,都是些什么?

/bin:存放最常用命令;

/boot:启动Linux的核心文件;

/dev:设备文件;

/etc:存放各种配置文件;

/home:用户主目录;

/lib:系统最基本的动态链接共享库;

/mnt:一般是空的,用来临时挂载别的文件系统;

/proc:虚拟目录,是内存的映射;

/sbin:系统管理员命令存放目录;

/usr:最大的目录,存许应用程序和文件;

/usr/X11R6:X-Window目录;

/usr/src:Linux源代码;

/usr/include:系统头文件;

/usr/lib:存放常用动态链接共享库、静态档案库;

/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;

32.如何安装网卡?

你可以用root登录后运行netconf来安装网卡。输入网卡的设备名、选择网卡的模块号,IO地址、IRQ中断等信息,然后存盘退出,执行:/etc/rc.d/init.d/network restart;

如果你的网卡未能列在可选的网卡模块列表中的话,你就需要下载驱动程序,然后将其编译成模块。最后用“insmod 模块名”命令完成安装。

33.如何驱动D-Link DE220网卡?

D-Link的DE220是一款性价比较好的,支持即插即用的ISA网卡。但正是由于即插即用功能使得其在Linux下安装会遇到一些麻烦:

1) 在DOS环境下,用DE220网卡的驱动程序盘中的一个工具setup将其设置成非PNP的;

2) 到Windows的控制面板中获取其IO地址和中断号,一般情况下,IO地址是240,中断号是10;

3) 启动Linux,登录后执行“netconf”,将第一块网卡设为Enable,设备名为eth0,模块为ne,IO地址为0x240,IRQ为10;

4) 存盘退出后,运行/etc/rc.d/init.d/network restart即可。

34.如何驱动D-Link DFE530 TX网卡?

D-Link 530 TX网卡是一款性价比较好的10M/100M自适应的PCI网卡,拥有广大的用户群,然后Linux在安装向导中却没有列在列表中。

其实,一般Linux都已经包含了这款网卡的驱动模块:tulip.o,你可以直接执行“insmod tulip”来完成网卡的安装。

35.如何驱动D-Link DFE540 TX网卡?

如果你的网卡是D-Link DFE540 TX,那么在安装时不要选网卡,否则可能造成一些不必要的麻烦。

1) 从http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html下载最新的tulip.c文件,并复制到/usr/src/tulip下;

2)执行以下命令,编译生成tulip.o:

  #cd /usr/src/tulip

   #gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c tulip.c

3)执行insmod tulip.o;

4)执行/etc/rc.d/init.d/network restart,让网卡生效。

36.如何驱动Davicom 9201网卡?

Davicom 9201 PCI网卡在安装Linux时,不能直接完成。其实,大多数的Linux发行版都提供了这款网卡的驱动模块---dmfe.o,如果你的机器也是这种网卡的话,可以在安装Linux时略过网卡配置,安装完启动系统、登录后,执行:“insmod dmfe”命令添加驱动模块,然后执行“/etc/rc.d/init.d/network restart”就可以了。

37.如何驱动第二块网卡?

在Linux系统中,你可以很容易地使用配置工具netconf安装第二块网卡,在netconf中选择第二块网卡,设备名:eth1、选择其驱动模块、输入IO地址和IRQ中断号,存盘退出后,执行:

/etc/rc.d/init.d/network restart

38.如何驱动普通声卡?

在Linux系统中提供了一个十分方便使用的声卡配置工具sndconfig,如果你的声卡比较大众化,就可以使用它来驱动你的声卡:

1) 用root登录系统,运行/usr/sbin/sndconfig;

2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用SoundBlaster;

3) 选完后,sndconfig需要你设置声卡的IO地址和IRQ中断号,根据你的实际情况选择;

4) 设置完成按OK按钮,如果听到Linus说话的声音就大功告成了。

39.如何驱动YAMAHA719声卡?

Yamaha719声卡在Linux下的驱动是十分麻烦的:

1) 重新编译核心,不选择SB或SB PRO之类的声卡,选中CRYSTAL SOFTWARE …的芯片;

2) 然后,重新配置声卡,选CS4xxx选项;

3) 再填写好相应的I/O地址、IRQ中断、DMA即可。

如果你的声卡是Yamaha 724的话,请使用OSS来解决。

40.通用声卡安装程序OSS如何使用?

OSS是一款解决Linux下声卡难以配置问题的商业软件,它支持绝大部分的Linux发行版,你可以到http://www.opensound.com/下载。

1) 将下载的OSS软件包osslinux392v-glibc-2212-UP.tar.gz解压:

tar zxvf osslinux392v-glibc-2212-UP.tar.gz

2) 在解开的目录下执行./oss-install,程序一般会提示你已经安装了其它声卡模块,选择去掉;

3) 接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss);

4) oss一般可以自动检测出大部分声卡,如果与你的实际情况相符,就直接在菜单中选择“Save changes and Exit.."就完成了设置;

5) 你可以使用/usr/lib/oss/soundon命令用来打开oss驱动,用/usr/lib/osssoundoff关闭oss驱动。    

41.通用声卡安装程序ALSA如何使用?

ALSA,Advanced Linux Sound Architecture,是一个遵从GPL版权的通用PCI声卡解决软件。这个软件包括rpm和tar两种格式,其中rpm格式比较容易安装,这里就以rpm包为例介绍。

1)到http://www.alsa-project.org下载以下四个文件:

alsa-driver-0.4.1d-1.i386.rpm

alsa-lib-0.4.1d-1.i386.rpm

alsa-utils-0.4.1-1.i386.rpm

alsaconf-0.4.1-1.386.rpm

2)执行以下命令完成安装:

rpm –ivh alsa-driver-0.4.1d-1.i386.rpm

rpm –ivh alsa-lib-0.4.1d-1.i386.rpm

rpm –ivh alsa-utils-0.4.1-1.i386.rpm

rpm –ivh alsaconf-0.4.1-1.386.rpm

3) 然后执行alsaconf命令,选择合适的声卡类型;

4) 重新启动系统,然后执行命令:/usr/doc/alsa-driver/snddvices

42.Linux下如何安装Modem?

1) 在Windows中查看你的Modem位于什么端口上;

2) 在Linux中通过直接与端口交互来使用Modem,其对应关系如下:

COM1:/dev/cau0 COM2:/dev/cau1

COM3:/dev/cau2 COM4:/dev/cau3

3) 设置Modem的最高速率:

#setserial /dev/cau1 spd.hi (最高速率设为57600bps)

#setserial /dev/cau1 spd.vhi (最高速率设为115200bps)

43.如果通过Modem拔号上网?

1) 执行命令ln /dev/modem /dev/cau1(根据实际情况)

2) 创建一个脚本:touch sw,加入:

/usr/sbin/pppd connect ′/usr/sbin/chat ″ ″ ATDT163 CONNECT ″ ″ ogin:username word:password ′ /dev/modem 38400 modem defaultrout

将username与password用你的上网帐号和密码代入。

3) 你还可以使用KDE中的kppp工具方便地实现。

44.Linux下有图形界面吗?

为了完善Unix系统的图形界面,麻省理工学院在1984开始了一个X-window开发计划,通过十余年的发展,X-window这一自由软件已经成为了Unix/Linux世界图形界面的事实标准。

X-window分为三个层次:

1)X-Window底层库,是最低实现层;

2)X-SERVER,与显卡相关的中间层;

3)窗口管理器,实现最终用户界面,如KDE、GNOME等。

45.如何配置X-Window?

所谓配置X-Window就是根据机器的实际设备选择X-SERVER。可以通过xf86config或图形化界面的Xconfigure等程序来配置。

1) 运行Xconfigure程序,然后选择合适的显卡类型,如果没有,则需要下载显卡的驱动;

2) 选择显存大小,和X-SERVER;

3) 选择合适的分辨率、色深组合

4) 存盘退出后,运行startx启动X-Window。

46.如何驱动intel i740显卡?

如果你的Linux无法识别i740的话,你可以这么做:

1)下载新的 显卡数据库 和 i740 XBF驱动程序:

xf86config-glibc-1.0.0.i386.tgz 和 xfcomi740.tgz

2)解压这两个包,覆盖原来目录:

tar xvfz /tmp/xf86config*.tgz

tar xvfz /tmp/xfcomi740.tgz

3)执行cp /usr/X11R6/bin/XFCom_i740 /usr/X11R6/bin/XF86_XBF_i740;

4)用xf86config进行配置:显示器水平扫描频率选6;垂直刷新频率选2;在显卡库选择时,选311(即i740);显卡服务器类型选5;

5)配置完成后运行startx就行了。

47.如何驱动intel i810显卡?

Intel公司的两大显卡i740、i810都为Linux爱好者驱动带来不小麻烦,Intel公司为了以实际行动支持Linux,特意在网站上详细介绍了如何在Linux下配置i810显卡,你可以到下面的网址下载安装说明和软件:

http://support.intel.com/support/graphics/intel810/linuxinstal.htm

48.如何驱动Savage4显卡?

1) 到www.linhardware.com下载savage2000的驱动程序;

2) 使用tar –xvfz 文件名解开驱动程序;

3) 解压后,你能看到五个文件,其中有一个是XF86_SVGA;

4) 备份/usr/X11R6/bin/XF86_SVGA,然后将新的XF86_SVGA复制到这个目录下,替换掉这个文件;

5) 重新运行xf86config配置,不选显卡,在选X-server时,选3(也就是SVGA),并且不检测;

6) 完成后,运行startx –bpp32,就可以了。

49.如何驱动SAVAGE3D显卡?

1) 到ftp.lib.pku.edu.cn/incoming/savageX下载Savage3D显卡的驱动程序:SavageX_0_1_4.tar.gz;

2) 解压这个程序,用新的XF86_SVGA替换/usr/X11R6/bin的原文件;

3) 运行Xconfigurator,配置显卡时选择Unlisted Card, 然后选择Xserver为SVGA;

4) 完成后,运行startx运行x-win。

50.有没有通用的显卡驱动方法?

由于显卡产商支持有限,使得在Linux下驱动显卡一直都是难题。为了解决这个问题,Linux 2.2.x以上版本提供了一种新的解决方案---使用frame buffer设备,通过VESA VBE 2.0标准,利用显卡SVGA特性,配合XFree86的XF86_FBDev,驱动你的显卡。这的确可以帮你个忙。

1)确认你有XF86_FBDev文件,如果没有就从ftp.xfree86.org下载;

2)执行“mknod /dev/fb0 c 29 0”建立frame buffer设备;

3)修改/etc/lilo.conf文件,加入:

image = /boot/vmlinuz-2.2.5-fb (新编译的内核)

label = linuxfb (启动标号,可自定)

root = /dev/hda2 (参照lilo.conf其他部分)

vga = 0x314 (显示模式,参照下表)

附:显示模式表

640x480 800x600 1024x768 1280x1024

256色 0x301 0x303 0x305 0x307

32k色 0x310 0x313 0x316 0x319

64k色 0x311 0x314 0x317 0x31A

16M色 0x312 0x315 0x318 0x31B

4) 执行/sbin/lilo,使配置生效,然后重启系统,以新的内核启动系统。当然,如果你的内核已经支持了,就无需做这个修改,直接加上vga=那一行就行了。

5) 接着进行frame buffer Server的配置:参照/etc/X11/XF86Config中vga的配置,加入一个screen小节,如下所示:

Section "Screen"

Driver "fbdev"

Device "My Video Card"

Monitor "MAG XJ500T"

Subsection "Display"

Depth 16 (色深,须与前面所选显示模式的色深一致)

Modes "default"

ViewPort 0 0

EndSubsection

EndSection

6) 将X指向XF6_FBDev:

cd /etc/X11

mv X X.bat

ln -snf /usr/X11R6/bin/XF86_FBDev X

51.如何通过ISDN上网?

ISDN的应用越来越普及,它速度快、价格便宜,深受网民的喜欢,那么在Linux下如何通过ISDN上网呢?

1) 确认你的Linux内核已经包含了对ISDN的支持模块;

2) 驱动ISDN卡:

对于非即插即用的Teles 16.3 ISDN卡可以使用命令:

#modeprobe hisax io=0x180 irq=10 type=3 protocol=2 id=isdn0

对于即插即用型,则使用:

#pnpdump〉/etc/isdn.conf

#isapnp/etc/isdn.conf

#modprobe hisax irq=10 io=0x680 type=14 protocol=2 id=isdn0

3) 安装Isdn4Linux,再执行scripts目录下的“makedev.sh”脚本程序,加入ISDN设备;

4) 执行echo 1〉/proc/sys/net/ipv4/ip_dynaddr命令让其支持动态IP;

5) 然后根据ppp的脚本再写一个用ISDN的脚本就行了。

52.如何在Linux下使用光驱?

1)创建一个目录,用来挂上光盘目录树:

mkdir /mnt/cdrom

当然目录名可以根据你自己的习惯命名;

2)插入光盘,执行“mount –t iso9660 /dev/hdc /mnt/floppy”命令;注意,如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;

3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问;

4)当你不使用时,执行“umount /mnt/cdrom”,再取出光盘。

53.如何在Linux下使用软驱?

1) 与光盘类似,创建floppy目录;

2) 软盘插入后,执行“mount –t msdos /dev/fd0 /mnt/floppy”命令, 注:若是软盘中是长文件名格式的,将上条命令中的“msdos”改为“vfat”,若是 Linux文件格式,则去掉“-t msdos”;

3) 当你不使用时,执行“umount /mnt/floppy”,再取出软盘。

54.如何在Linux下读取非Linux分区的内容?

1) 创建一个目录:mkdir /mnt/other

2) 执行“mount –t 文件系统类型 分区 /mnt/other”命令;

注:文件系统类型包括:modos—FAT16、vfat—FAT32、ntfs—NTFS;

分区指该分区的设备名。

3) 当你不需要使用时,执行“umount /mnt/other”。

四、 Linux下的“神兵利器”:15问

55.KDE是什么,有什么特点?

KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境。KDE现在除了拥有KFM(类似于IE4.0)、KPresenter(类似PowerPoint)、KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎。

但由于KDE是基于由TrollTech公司开发的Qt程序库的,所以也受到了许多批评。虽然Qt本身作为一基于C++的跨平台开发工具是非常优秀,但可惜的是它不是自由软件。Qt的License允许任何人使用Qt编写免费软件及免费拷贝给其他用户使用,但如果利用Qt编写非免费软件则需要购买他们的License。更重要的是任何人都不可以随意修改Qt源代码。如果TrollTech公司更改Qt License、公司倒闭或给人收购等都会令KDE前功尽弃。

56.GNOME是什么,有什么特点?

1997年8 月,为了克服KDE所遇到的QT许可协议和单一C++依赖的困难,以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目,完全从头开始,这就是GNOME。

经过14个月的共同努力,终于完成了这个工程。现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop 媲美的图形图像处理软件Gimp 等。

现在GNOME与KDE成为了两大竞争阵营,必将使得Linux更加易于使用。

57.在Linux下如何播放CD?

当你成功地在Linux环境下驱动了你的声卡之后,你就可以通过使用X-window中的一个CD播放器来播放CD了,它在多媒体工具中。界面如下图所示:

58.能不能在Linux下播放VCD?

你可以使用MpegTV Player 1.0这个Linux下的VCD播放器实现你的愿望。  安装MpegTVPlayer不需要特殊的硬件设备,只需运行X Window即可使用。

它模仿了录像机的播放控制键,如 : 播放、快进、快退、停止、定格、搜索、音量调节、静声、音量平衡、循环播放、画面放大缩小、自动播放等。播放过程会显示整个节目要用时间、已用时间。

你可以到下面站点下载MpegTV Play:http://www.mpegtv.com。

59.有没有Linux下MP3播放工具?

Linux下有很多MP3的播放工具,其中mpg123 应该是最经典的一种,它可以在控制台使用。许多图形界面的mp3播放软体都是利用这个程式来 播放mp3的。下面是它的一些基本的参数介绍:

-a device 设定所使用的音效装置,预设为/dev/audio或/dev/dsp

-@ file 从档案file中读取要播放的mp3档案名称列表

-z 随机播放

如果只是要单纯地播放一两首歌,或是要播放一整个目录下的歌,利用mpg123倒是个不错的选择,若是要复杂一点的功能如选择多目录内的特定mp3档案,那可能需要写个script来执行。

60.如何在Linux下浏览网页?

想要浏览网页,需要满足两个条件:

1) 你的电脑已经连上了Internet;

2) 使用浏览器软件来实现浏览;在Linux下有两种常用的浏览器:

控制台下可以使用lynx;

X-window中可以使用netscape的Linux版本;

它们的使用方法与在Windows中的浏览器基本类似。

61.如何在Linux下收发E-Mail

在Linux下你可以使用mail、pine在控制台命令行下收发E-Mail,在X-window中可以使用Kmail来收来E-Mail。

62.能不能让Linux显示中文呢?

用的英文版的Linux,你可以安装中文模拟终端chdrv使Linux能在命令行状态下显示和汉字。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。

到ftp://ftp.ihep.ac.cn/pub/chinese/system获取已编译的chdrvbin-0.23.gb.tar.gz文件和字体文件chdrvfont.tar.gz,然后执行:

tar xvzf chdrvbin-0.23.gb.tar.gz

mv chdrvfont.tar.gz chdrv-0.23.gb/

cd chdrv-0.23.gb 进入此目录

./installbin 运行安装文件

63.有没有Linux下的中文输入法?

如果你使用的Linux是中文版,就无需另外安装了。如果你使用英文版的Linux的话,你可以安装chinput来实现中文输入。你可以到下面网址下载:

http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz

1) 下载后,解开该文件:tar -xvzf chinput-2.1.tar.gz

2) 解开后,进入 Chinput-2.1/src 里,修改 chinput.c文件,查找 GBK字样,将其改为 GB2312。再查找system("/usr/bin/zwincontrol &");语句,将其取消(在前面加上 // );

3) 修改完后,执行make命令编译;

4)编译完成后,就可以在X-Window环境下使用了。

64.除了VI,还有其他文字编辑软件吗?

Vi是UNIX/Linux环境下最通用的一种编辑软件,但是它不是很友好。如果你对它不满意的话还可以尝试其它一些如emacs、joe等编辑工具。

笔者极力推荐emacs,这是自由软件基金FSF之父stallman的杰作,也是GNU项目第一个重磅炸弹,的确十分优秀,值得一试。不过最大缺点就是太复杂。

65.Linux下有没有像office一样的软件?

有,StarOffice就是基于Linux的一个办公软件的套件,它是一个商业软件包,其中包括字处理、电子表格、幻灯片制作等MS Office软件包含有的软件。对于个人用户还提供一个免费的版本。用户可以到以下站点下载:

http://studio.linux.org.cn。

StarOffice Office Suite for Linux是为非商业用户准备的,商业用户要使用StarOffice Office 则需要许可证。

ftp://ftp.gwdg.de/pub/linux/staroffice

66.Linux下有没有像photoshop一样的软件?

有,Linux下有一款十分著名的平面图形处理软件—GIMP。它的界面比Photoshop更简洁,启动时只有一个工具栏,看起来和Photoshop差不多.主菜单在用鼠标右键单击打开的图象时才弹出,像Channels,layers,brushes......一应俱全,外观也和Photoshop极为相似,用不着花时间去适应了. ....

这还不算特点.比Photoshop优越的地方也不少:如支持的图象格式极多,支持Texture Brush,像Painter那样刷出底纹图案来. Filter也更多了,比如有一种叫Alien Map的,把RGB三色进行sin,cos运算,达到特殊效果,真是奇思妙想.Undo功能也不错,我试了一下,至少支持5次undo.还有更令人欣喜的,就是对Web的支持,可以很轻松的做出定制的箭头,按钮,背景图案等,比Photoimpact更强大。

如果你离不开PHOTOSHOP,又付不起ADOBE掌柜的帐,又自认为玩艺术的人不用D版,试试GIMP吧!

67.能在Linux下玩游戏吗?

现在已经有For Linux的游戏了,除了大名鼎鼎的Doom之外,还用一些像acm—空战模拟游戏、xdemineur—挖地雷、xjewel—俄罗斯方块、xboard—国际象棋、xboing—弹珠台游戏。而且现在越来越多,为你在枯燥的学习中添上一丝乐趣。

68.在Linux下有C语言吗?其它语言呢?

在Linux下有自由软件基金FSF创建的重磅炸弹---GCC,它是一个强大的编译器,目前堪称是全世界效率最高的C/C++编译器,现在已经广泛应用在各种UNIX环境下。虽然,现在还没有C语言的集成开发环境,但这丝毫不影响GCC的流行,这也许就是自由的力量吧!

同时,Linux下也提供Fortran、Pascal、Perl、Cobol等多种语言的支持。

69.Linux下有哪些数据库软件?

Linux下有许多种数据库软件可供使用,其中有Oracle for Linux、IBM DB2 for Linux、Mysql、mSql、Post等。

五、 做好Linux的管理员:21问

70.如何检查Linux硬盘使用情况?

在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df –T –h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:

Filesystem Type Size Used Avail Use% Mountedon

/dev/hda1 ext2 7.5G 4.7G 2.5G 65% /

/dev/hda2 ext2 653M 6.6M 613M 1% /root

/dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr

71.Linux下有哪些压缩工具?

在Linux下有很多种压缩工具,常用的有:

1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为“.gz”。使用方法很简单,例如:

gunzip eos.gz gzip /home/test/*.txt;

2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 “.Z”。

3)除此之外还有:zip/unzip、bzip2/bunzip2等。

72.如何管理进程?

进程是程序的一次执行。可以使用“ps –auxw”列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过“kill 进程ID号”来终止这个进程。

73.文件或目录的权限是什么意思?

文件或目录的权限位由10位构成,如-rwxr-xr-x。

1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;

2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。

3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。

也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。

74.什么是用户帐号?

在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。

然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。

75. 在Linux下,如何管理用户?

如果你想要新增一个用户:

1) 以root登录,然后执行“adduser 用户帐号名”

2) 执行“passwd 用户帐号名”来为这个用户帐号设置密码。

执行“userdel 用户帐号”删除一个用户;

执行“groupadd 用户组名”新增一个用户组;

执行“groupdel 用户组名”删除一个用户组;

76. 如何为用户作磁盘限额?

1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:

/dev/hda2 /home ext2 defaults,usrquota 1 2

2)在要设置磁盘限额的分区目录下创建空文件 quota.user

#touch /home/quota.user

#chmod 600 /home/quota.user

3)重启系统后,就可以使用edquota –u 用户名来设置。

77.如何备份系统?

在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:

dump –O –f /dev/rmt8 /usr

其中-O参数代表备份全部文件,“-f 设备文件名”参数指定备份到什么地方,最后的目录名指定要备份的内容。

然后,你可以使用以下命令恢复:

restore –r –f /dev/rmt8

78.如何安装.tar的软件包?

Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。

你可以直接使用“tar xvfz 文件名”完成解压缩,解tar包工作。

如果你取得是可执行文件包,安装工作结束。

如果你取得是源代码包,则还需编译一下:

1) 在解压目录下运行“./configure”进行配置;

2) 在解压目录下运行“make”进行编译;

3) 运行“make install”安装。

79.如何使用RPM安装Linux软件?

RedHat公司提供的RPM工具,使得Linux软件安装更为方便。

1) 安装:rpm –ivh somesoft.rpm

2) 反安装:rpm –e somesoft.rpm

3) 查询:rpm –q somesoft

80.如果忘了root的密码,怎么办?

如果你忘了root的密码,可以通过以下方法恢复:

1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;

2) 这时无需密码就取得了root权限;

3) 再运行passwd重新设置root的密码。

81.重装Windows而破坏了Lilo时,怎么办?

这种情况可以使用两种方法恢复:

1)用Linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;

2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。

82.如何制作Linux启动盘?

在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:

1) 查看系统的版本,可以通过ls /usr/src来看;

2) 插入一张空软盘;

3) 执行“mkbootdisk --verbose 2.2.5”。

83.如何远程使用Linux?

我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。

如何构建安全的远程登录?

使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。

1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;

2) 用tar xvpf ssh-1.26.tar.gz解开这个包;

3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;

4) 执行make和make install来完成编译和安装。

5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。

85.如何运行计划任务?

大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:

1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;

2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。

86.Linux的开机过程都做了什么?

1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;

2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;

3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;

4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init

5) init进程根据/etc/inittab的配置运行一系列初始化脚本;

6) 完成后,启动getty进程接受用户的登录。

87.如何设置开机自动运行程序?

你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:

/etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。

88.为什么需要重新编译内核?

以下情况你需要重新编译内核,或加入动态内核模块:

1) 更新驱动程序;

2) 根据自己的需求定制最可靠的内核;

3) 升级Linux内核。

89.如何重新编译内核?

1) 进入Linux源代码目录:cd /usr/src/linux

2) 执行“make config”或“make menuconfig”、“make xconfig”配置内核选项,选中你想要的模块,去掉不想要的模块;

3) 执行“make zImage”命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;

4) 然后将其拷贝到/boot目录下;

5) 修改lilo.conf文件,加入:

image=/boot/zImage

label=newlinux

root=/dev/hda1 (根据原来的文件)

运行/sbin/lilo使修改生效。

6)重新启动,在Lilo时,输入newlinux就可以新内核启动。

90.什么是动态内核模块?

动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用“insmod 模块名”命令加入内核、用“rmmod 模块名”命令将其移出内核。

六、 廉价的网络解决方案---Linux:9问

91.如何使用Linux架设WEB服务器?

Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:

1)rpm –ivh apache-1.3.12.i386.rpm

2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;

3)将主页文件放到/home/httpd/html目录下;

4)执行“/etc/rc.d/init.d/httpd start”启动Apache服务器

如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。

92.如何使用Linux架设FTP服务器?

在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:

rpm -ivh wu-ftpd-2.6.0-9.i386.rpm

编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a

到此为止,你的Linux就可以接受FTP服务了。

93.如何使用Linux架设E-MAIL服务器?

Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。

1) 在DNS服务器上为E-Mail服务器做一条MX记录;

2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;

3) 执行kill –HUP inetd,使修改生效;

这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。

94.如何使用Linux架设News服务器?

在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码。

1)配置/etc/news/inn.conf:

domain: foo.com

organization: foo company news site

server: localhost

根据实际情况填写;

2)配置/etc/news/nnrp.access

nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。

3)添加新闻组:

可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:

ctlinnd reload active "modify active"

95.如何使用Linux架设BBS?

1) 从ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;

2) 执行tar zxvf pbbs.tar.gz解开文件;

3) 进入pbbs目录,运行Install;

4) 根据具体需求改变默认的设置。

96.如何让Linux成为文件服务器?

在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。

1) 编辑/etc/smb.conf,修改配置:

  netbios name=linux

workgroup=SambaServer

server string=Samba Server

hosts allow=192.168.9. 127.

  securoty=share

interfaces=192.168.9.1/24

name resolve order=host dns bcast

wins support=no

2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart

3)编辑客户机的hosts文件,加入对Samba Server的解析;

4)最后你就可以在网上邻居上看到它了。

97.如何使用Linux架设代理服务器?

1) 到http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;

2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz

3) 执行./configure

4) 执行make,make install安装到/usr/local/squid目录下;

5) 编辑/usr/local/squid/squid.conf文件,加入:

acl allowed_hosts src 192.168.9.0/255.255.255.0

注:假设你的内网IP地址是192.168.9.0;

6) 执行/usr/local/squid/bin/squid –z进行初始化

7) 执行/usr/local/squid/bin/squid开启服务

8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。

98.如何使用Linux架设透明网关?

确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:

注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。

#!/bin/sh

/sbin/ipchains -F forward

/sbin/ipchains -F input

/sbin/ipchains -F output

/sbin/ipchains -P forward DENY

/sbin/ipchains -P input ACCEPT

/sbin/ipchains -P output ACCEPT

external_interface=1.2.3.4

/sbin/ipchains -A input -j ACCEPT -i lo

/sbin/ipchains -A output -j ACCEPT -i lo

/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24

/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24

/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24

/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24

/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32

/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32

/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32

/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24

/sbin/modprobe ip_masq_ftp

/sbin/modprobe ip_masq_quake

/sbin/modprobe ip_masq_irc

/sbin/modprobe ip_masq_user

/sbin/modprobe ip_masq_raudio

/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24

运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。

99. Linux还能构建什么服务器?

Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。

linux文本模式下的乱码问题(转帖)

  昨天,在linux文本模式下遇到乱码问题,像find命令的结果提示都是乱码。在网上搜了一下,找到相关帖子3篇,贴在这里参考一下。

1)、转自:http://www.chinalinuxpub.com/bbs/archive/index.php/t-34107.html

Linux技术中坚站论坛 > Linux个人应用 > 初学者入门 > 文本模式下的乱码

--------------------------------------------------------------------------------

PDA查看完整版本 : 文本模式下的乱码

--------------------------------------------------------------------------------

dandanz2004-03-07, 22:38

我的redhatlinux9在文本模式下的提示信息为乱码,用lang=en命令后没有解决问题,请指教.

--------------------------------------------------------------------------------

冷风2004-03-08, 09:19

export LC_ALL=en_US

export LANG=en_US

--------------------------------------------------------------------------------

dandanz2004-03-08, 21:28

Sorry , I can't input Chinese character. So I have to ask you in English.

Thank you! But I find I can't use Chinese properly in X Windows ! How can I go back. And do you like to explain it(your answer) ?

--------------------------------------------------------------------------------

dandanz2004-03-09, 08:43

今天找了一个能输入中文的机器,再问一个问题:

按照给定的两条命令真的解决了乱码问题,但是在文本模式下进行一些操作后想到XWindows下做一些工作发现中文显示全部是“?????”,我想一定有一条或几条命令能返回中文状态,请指教,感激不尽。

另外能说说“LC_ALL”的具体意思吗?

--------------------------------------------------------------------------------

冷风2004-03-09, 10:01

export LC_ALL=zh_CN.GB2312

export LANG=zh_CN.GB2312

2)、转自:http://bbs.chinaunix.net/viewthread.php?tid=620594

 

linux的文本模式下中文显示乱码,如何解决   

--------------------------------------------------------------------------------

 

各位高手,清问linux的文本模式下中文显示乱码,如何解决 

 

--------------------------------------------------------------------------------

 

安装zhcon就可以

--------------------------------------------------------------------------------

 

[quote]原帖由 "bugkill"]安装zhcon就可以[/quote 发表:

不要zhcon也可以啊

--------------------------------------------------------------------------------

 

[quote]原帖由 "bugkill"]安装zhcon就可以[/quote 发表:

请问能通过修改显示参数或者显示模式 来达到目的吗? 

 

--------------------------------------------------------------------------------

 

QUOTE:

原帖由 "liuxingfb" 发表:

请问能通过修改显示参数或者显示模式 来达到目的吗?

你用什么系统?

--------------------------------------------------------------------------------

 

QUOTE:

原帖由 "wolfg" 发表:

你用什么系统?

我用的AS3.0的 

 

 

--------------------------------------------------------------------------------

 

QUOTE:

原帖由 "liuxingfb" 发表:

我用的AS3.0的

安装时选了中文 支持没有?检查一下现在系统的locale

# locale

如果没有,安装ttfonts-zh_CN (安装光盘里就有)

修改/etc/sysconfig/i18n

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

如果需要输入法,参考这个

http://bbs.chinaunix.net/forum/viewtopic.php?t=613822

 

--------------------------------------------------------------------------------

 

[quote]原帖由 "wolfg"]灰獄hcon也可以啊[/quote 发表:

要看是远程终端还是本地文本

--------------------------------------------------------------------------------

 

QUOTE:

原帖由 "platinum" 发表:

要看是远程终端还是本地文本

我远程是可以看到中文的,本地就是乱码了

我安装过中文的啊 

 

 

--------------------------------------------------------------------------------

 

QUOTE:

原帖由 "liuxingfb" 发表:

我远程是可以看到中文的,本地就是乱码了

我安装过中文的啊

恩,那就要装 zhcon 了

 

 

 

3)

我的Linux在文本模式下为什么好多乱码?

--------------------------------------------------------------------------------

我在图形界面下Ctrl+Alt+F1切换到文本模式下,显示时总有好多乱码,比如:

显示日历,输入Cal命令时;

进入vi编辑器,最下面的状态行都是乱码.

请各位大侠帮忙解决~~~

--------------------------------------------------------------------------------

装个控制台下的输入法 比如 zhcon

--------------------------------------------------------------------------------

安装zhcon到了make这一步又出错了~~~

[root@localdomain zhcon-0.2]# make

make  all-recursive

make[1]: Entering directory `/mnt/software/linux/zhcon-0.2'

Making all in src

make[2]: Entering directory `/mnt/software/linux/zhcon-0.2/src'

Makefile:219: *** missing separator.  Stop.

make[2]: Leaving directory `/mnt/software/linux/zhcon-0.2/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/mnt/software/linux/zhcon-0.2'

make: *** [all-recursive-am] Error 2

[root@localdomain zhcon-0.2]# make install

Making install in src

make[1]: Entering directory `/mnt/software/linux/zhcon-0.2/src'

Makefile:219: *** missing separator.  Stop.

make[1]: Leaving directory `/mnt/software/linux/zhcon-0.2/src'

make: *** [install-recursive] Error 1

--------------------------------------------------------------------------------

把LANG修改成zh_CN

--------------------------------------------------------------------------------

你用的Linux是什么版本?

--------------------------------------------------------------------------------

因为文本模式下是不支持中文的。但是你选择的语言是中文。所以有些提示信息都用中文显示,就乱码了。

要么把语言换成英文的。要么是让文本模式支持中文。

linux文本模式的分辨率设置(转)

不知是怎么一回事,我的redhat linux9.0在文本模式下的分辨率是720*400,需要把它改为:800×600,搜索到如下一篇帖子。

转自:http://www.linuxmine.com/544.html

文本模式的分辨率

2004-04-23 15:18 pm

作者:linux宝库 (http://www.linuxmine.com)

来自:linux宝库 (http://www.linuxmine.com)

现存:http://www.linuxmine.com/544.html

联系:linuxmine#gmail.com

分类:安装启动

添加:陈绪

上一篇:fstab格式

下一篇:chainloader一例

不明白?欢迎到 linux论坛 (http://bbs.linuxmine.com) 参加讨论!

在grub.conf中的kernel那行的后面,要在同一行,加上vga=ask,保存退出,启动时系统会问你需要什么分辨率的,有一大串选择。

如果图方便的话,就把ask换成

0x303#800x600x8

0x314#800x600x16

0x315#800x600x24

不明白?欢迎到 linux论坛 (http://bbs.linuxmine.com) 参加讨论!

上一篇:fstab格式

下一篇:chainloader一例