Linux新手上路99问

Author: 徐锋 Date: 2000年 第53期

#1    一、直击Linux
    1.什么是Linux?
    Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。
    现在,Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。
    2.什么是自由软件?
    自1984年起,麻省理工学院开始支持“世界最后一名黑客”Richard stallman在软件开发团体中发起自由软件运动,从而自由软件基金会FSF、GPL协议和GNU项目就此诞生,掀开了自由软件革命的序章。
    GPL,通用公共许可协议。GPL保证任何人有共享和修改自由软件的自由。任何人有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。
    而GNU项目的目标是建立可自由发布的、可移植的UNIX类操作系统。
    3.从技术上说,Linux有什么优点?
    (1) 提供了先进的网络支持:内置TCP/IP协议。
    (2) 真正意义上的多任务、多用户操作系统。
    (3) 与UNIX系统在源代码级兼容,符合IEEE POSIX标准。
    (4) 核心能仿真FPU。
    (5) 支持数十种文件系统格式。
    (6) 完全运行于保护模式,充分利用了CPU性能。
    (7) 开放源代码,用户可以自己对系统进行改进。
    (8) 采用先进的内存管理机制,更加有效地利用物理内存。
    4.Linux会取代Windows 9X吗?
    计算机在应用中可以分为桌面应用(工作站/客户机)和服务器应用,桌面应用直接面向客户,实现一些个性化的工作;服务器应用则是一些后台处理系统,实现一些共性的服务工作。对于桌面应用来说,易用性十分重要,而对于服务器而言,性能可靠、稳定才是更重要的。所以为服务器设计的性能可靠、稳定的UNIX操作系统与为桌面系统设计的用户界面友好的Windows 9X系统一直是长期并存的主流操作系统。
    Linux操作系统是一种类UNIX操作系统,其设计上对稳定性的考虑比易用性考虑要多得多,它不是一种桌面系统,它也不是为了取代桌面系统而出现的。所以Linux不会取代Windows 9X。
    5.Linux与Windows NT谁更好?
    Windows NT操作系统是微软公司进军服务器操作系统的利器,设计系统时在满足服务器需求的前提下,融入了Windows 9X的图形化界面的优势,使得其易于使用,然而图形界面的代价,使系统的效率降低了,所以它适合中小企业、个人用户、对性能要求不严格的场合选用。
    而Linux则适用于强调性能指标,对用户界面要求不高的应用上。
    6.Linux与UNIX有什么不同?
    Linux也是属于UNIX家族的一员,它有许多特性是与UNIX相同的,它们之间的最大区别在于以下两点:
    (1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上。
    (2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的。
    7.网上有哪些Linux资源?
    在Internet上,关于Linux的网站很多,其中比较优秀的中文网站有:
    (1) www.linuxaid.com.cn:设有Linux论坛、在线答疑、知识库、在线培训、解决方案等栏目。
    (2) www.linuxforum.net:人气最旺的Linux论坛。
    (3) www.lslnet.com/linux:一个更新较快的Linux专题网站。
    (4) www.clinuxdevelop.org:中国Linux开发联盟。
    (5) clyan.hongnet.com:linux数据库应用指南。
#1    二、Linux大观
    8.RedHat Linux 6.5和Linux 2.4哪个版本高?
    RedHat Linux是将Linux内核与Linux的一些常用配套软件、应用软件捆绑在一起的发行版,6.5是这个发行版的版本号。而Linux 2.4则是指Linux内核的版本。
    Linux核心是由linus维护的,它的版本号一般由二到三个部分组成,例如现在最稳定的2.2.15:
    (1) 第一个2是主版本号,一般在一个时期内比较稳定。
    (2) 第二个2是次版本号,如果是偶数,代表是正式版,如果是奇数,代表是开发过程中的测试版。
    (3) 最后一个15是修改号,如2.2.15就是对2.2.14做了一些小的修改而来。
    这种特殊的版本命名法是为了便于在Internet上共同开发而制定的。
    9.RedHat Linux有哪些特点?
    RedHat Linux是最成熟的一种Linux发行版,Linux爱好者中几乎都是RedHat的使用者。市场上有大量的文章是针对RedHat来说的。
    RedHat Linux朴实、简洁、稳定,是作为商业应用,钻研Linux的好平台。
    10.TurboLinux有哪些特点?
    TurboLinux是一家美国公司建立的发行版,早期其致力于Linux的国际化工作,它的中文版,是最早的成熟中文Linux发行版。TurboLinux注重面向具体应用,开发出针对不同应用的发行版,在国际影响力方面越来越大,是RedHat的一个主要竞争对手。
    11.BluePoint、Xterm、RedFlag三种中文Linux谁好?
    BludePoint Linux是由Devin、Samuel、hahalee三个中国内核黑客通过互联网联手合作的杰作,在互联网上深受中国Linux爱好者的好评。它最主要的特点是:内核级的汉化,有许多自己的技术。
    Xterm是由北京冲浪公司制作的Linux发行版,可以算得上中国最早的Linux发行版。它的最大特点是:用户界面好,进入门槛低,适合初学者试用。
    RedFlag是由中科院、北大方正、康柏公司联合开发,是基于RedHat Linux改进的中文版。它的特点是:开发力量强大,比较权威。
#1    三、走进Linux殿堂
    12.安装Linux对硬件有什么要求?
    Linux对硬件要求很低,可以运行在386以上CPU,8MB以上内存的IBM PC机上。但由于设备厂商的支持力度不够,所以Linux对很多新设备的支持不是很好,新设备的驱动程序总是慢一步。
    13.安装Linux需要做哪些准备?
    (1) 收集系统资料:记录下内存大小、CD-ROM接口类型、SCSI卡型号、网卡型号、鼠标类型、显卡芯片组、时钟芯片、显存大小等相关信息。
    (2) 检查CMOS设置,设置其从光驱启动。
    (3) 如果你的Linux安装盘无法自启动还需制作启动盘。
    (4) 为Linux的安装腾出足够的硬盘空间,最好有1GB左右。
    14.安装Linux前要有哪些基础知识呢?
    安装Linux时,至少需要两个分区:Linux Native主分区、Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。
    交换区每个8-256MB,最多可以有8个,一般建立一个与内存等大的就行了。
    DOS中,不管物理上、逻辑上,每个分区就是一个独立的部分。而在Linux中,物理上是一个个的分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。
    15.Linux如何命名你的硬盘?
    Linux对硬盘的处理,与DOS系统基本上是一样的,先分区然后格式化,但分区的命令是不同的。DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。
    如“hda1”,hd是一个部分,代表IDE硬盘,如果是SCSI硬盘则为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。
    16.如何安装Linux?
    每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:
    (1) 基本设置:如安装语言、键盘。
    (2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉硬盘分区的读者最好在行家指导下进行。
    (3) 选择要安装的软件包:建议全部安装。
    (4) 设备配置:如网卡、显卡等,可根据实际情况选择。
    (5) 安装Lilo:建议安装在主引导扇区,使用Lilo来完成多系统引导。
    (6) 为Linux的超级用户设置root密码。
    17.如何在一块硬盘上安装多个操作系统?
    许多Linux用户都希望能够在保留Windows 9X操作系统的同时,安装Linux。为了能够在多个操作系统中自由选择,就需要一个启动管理器,Linux带了一个很好的启动管理器—Lilo。
    所以在安装多个操作系统时,你只需先安装其它操作系统,最后安装Linux,并将Lilo安装在主引导扇上,这样重新启动系统时,将出现Lilo:,等待你选择需要启动的操作系统。
    18.如何配置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小节用来指定其他操作系统的启动信息,包括启动位置、名字。
    19.如何启动、关闭Linux系统?
    启动Linux很简单,只要在lilo中选择Linux即可,在启动过程中,将会向控制台写许多信息,直到出现用户登录提示login:,输入用户名和密码就可以登录系统。
    关机时一定要注意:不能直接关闭计算机电源,那样会破坏Linux的文件系统,你可以使用以下命令来实现:
    (1) 重启:执行reboot命令或同时按下Ctrl+Alt+Del键。
    (2) 关闭系统:执行shutdown -h now命令。
    20.如何在后台运行X-Windows程序?
    执行一个X-Windows程序时在其后面加一个&符号(如#netscape&)。否则,在你退出执行的程序之前就再也无法在那个终端窗口里键入任何命令。
    21.如何强行退出X-Windows?
    在X-Windows里由于程序出错,鼠标键盘都不能使用,你只需按下Ctrl+Alt+Backspce键即可回到字符界面下继续操作。
    22.Linux下的目录操作与DOS/Windows有什么不同?
    Linux的文件系统与DOS类似,也是采用树形结构的。但目录的表示有一点是完全不同的,Linux用“/”表示根目录,而DOS用“\”表示根目录。以下是在Linux下常用的目录操作命令:
    (1)“mkdir 目录名”:建立目录。
    (2)“rmdir 目录名”:删除空目录。
    (3)“cd 目录名”:改变目录。
    注:cd与目录名之间一定要空格,比如到根目录,需用“cd /”,而非“cd/”。
    (4)“pwd”:查看自己所在的目录。
    23.在Linux中如何快速进入某些目录?
    键入cd~可进入目录的home目录。
    键入cd -可进入上一次进入的目录。
    24.如何在RedHat下显示彩色目录列表?
    打开/ect/bashrc,键入:alias ls=″ls- -color″
    下次启动bash时就可以像在Slackware中那样显示彩色的目录列表了。其中不同的颜色含义是:蓝色代表目录;绿色代表可执行文件;红色代表压缩文件;浅蓝色代表链接文件;灰色代表其他文件。
    25.在Linux如何对文件进行操作?
    你可以使用ls -l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示:
    total 2
    drwxr-xr-x2  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:拷贝文件
    26.在Linux中如何命令文件的路径?
    当键入一些命令(如find、shutdown、mount)时,可以使用“whereis”命令来显示这些文件存放的目录。
    如:#whereis monut
    27.如何查找文件?
    Find命令需要加入一些参数才能查找文件。
    如:#find/usr - name XF86Setup - print (在/usr目录里查找文件XF86Setup)
    28.Linux中的core文件是什么?
    程序运行完后,有时会产生一个名为core的文件,该文件一般很大且无什么实际用处,可发将其删除以释放空间。
    29.Linux中如何运行Norton Commander?
    在提示符下键入mc命令即可看到一个与Norton Commander相似的界面,其实际功能也极相似甚至更完善,例如可以直接对.tar.gz压缩包里的文件进行操作。
    30.如何编辑一个文本文件?
    你可以使用vi来编辑一个文本文件,它是在 Unix 世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。
    (1) 启动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来安装网卡。输入网卡的设备名、选择网卡的模块号,I/O地址、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的控制面板中获取该网卡的I/O地址和中断号,一般情况下,I/O地址是240,中断号是10。
    (3) 启动Linux,登录后执行“netconf”,将第一块网卡设为Enable,设备名为eth0,模块为ne,I/O地址为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、选择其驱动模块、输入I/O地址和IRQ中断号,存盘退出后,执行:
    /etc/rc.d/init.d/network restart
    38.如何驱动普通声卡?
    在Linux系统中提供了一个十分方便使用的声卡配置工具Sndconfig:
    (1) 用root登录系统,运行/usr/sbin/sndconfig。
    (2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用SoundBlaster。
    (3) 选择完后,Sndconfig需要你设置声卡的I/O地址和IRQ中断号,根据实际情况进行选择。
    (4) 设置完成单击OK按钮。
    39.如何驱动YAMAHA 719声卡?
    Yamaha 719声卡在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) 查看你的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用你的上网帐号和密码替代。
    44.Linux下有图形界面吗?
    为了完善Unix系统的图形界面,麻省理工学院在1984开始了X-window开发计划,通过十余年的发展,X-window这一自由软件已经成为了Unix/Linux世界图形界面的事实标准。
    X-window分为三个层次:
    X-Window底层库,是最低实现层;X-SERVER,与显卡相关的中间层;窗口管理器,实现最终用户界面,如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.如何驱动Savage 4显卡?
    (1) 到http://www.linhardware.com下载Savage 2000的驱动程序。
    (2) 使用tar -xvfz 文件名解开驱动程序,解压后,你能看到五个文件,其中有一个是XF86_SVGA。
    (3) 备份/usr/X11R6/bin/XF86SVGA,然后将新的XF86SVGA复制到该目录下,替换掉这个文件。
    (4) 重新运行xf86config配置,不选显卡,在选X-server时,选3(也就是SVGA),并且不检测。
    (5) 完成后,运行startx -bpp32即可。
    49.如何驱动Savage 3D显卡?
    (1) 到ftp.lib.pku.edu.cn/incoming/savageX下载Savage 3D显卡的驱动程序:SavageX_0_1_4.tar.gz。
    (2) 解压这个程序,用新的XF86SVGA替换/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文件,如果没有可从http://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 (显示模式,参照^00100004a^表)
    (4) 执行/sbin/lilo,使配置生效,然后重启系统,以新的内核启动系统。
    (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来实现对光盘访问,当你不使用时,执行“umount /mnt/cdrom”,再取出光盘。
    53.如何在Linux下使用软驱?
    (1) 与光盘类似,创建floppy目录。
    (2) 软盘插入后,执行“mount -t msdos /dev/fd0 /mnt/floppy”命令。注意:若是软盘中是长文件名格式,将以上命令中的“msdos”改为“vfat”,若是 Linux文件格式,则去掉“-t msdos”。当你不使用时,执行“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”。
#1    四、Linux下的“神兵利器”
    55.KDE是什么?有什么特点?
    KDE项目的目的是在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。
    现在GNOME已得到了占Linux市场份额最大发行商RedHat的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop媲美的图形图像处理软件Gimp等。
    57.在Linux下如何播放CD?
    当你成功地在Linux环境下驱动了你的声卡之后,你就可以通过使用X-Window中的CD播放器来播放CD了,你可以在多媒体工具中找到它。
    58.能不能在Linux下播放VCD?
    你可以使用MpegTV Player 1.0在Linux下播放VCD。安装MpegTVPlayer不需要特殊的硬件设备,只需运行X-Window即可使用。
    你可以到Play:http://www.mpegtv.com下载。
    59.有没有Linux下MP3播放工具?
    Linux下有很多MP3的播放工具,其中mpg123 应该是最经典的一种,它可以在控制台使用。许多图形界面的MP3播放软体都是利用这个程序来播放MP3的。下面是它的一些基本的参数介绍:
    -a device   设定所使用的音效装置
                预设为/dev/audio或/dev/dsp
    -@ file     从档案file中读取要播放的MP3档案名称列表
    -z          随机播放
    60.如何在Linux下浏览网页?
    在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命令编译;编译完成后,就可以在X-Window环境下使用了。
    64.除了Vi,还有其他文字编辑软件吗?
    Vi是UNIX/Linux环境下最通用的一种文字编辑软件。如果你对其不满意还可以尝试其它一些如Emacs、Joe等编辑工具,它们的使用方法类似。
    65.Linux下有没有像Office一样的软件?
    StarOffice就是基于Linux的一个办公软件的套件,它是一个商业软件包,其中包括字处理、电子表格、幻灯片制作等软件。对于个人用户还提供一个免费的版本。用户可以到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更简洁,启动时只有一个工具栏,主菜单在用鼠标右键单击打开图象时才弹出,像Channels,layers,brushes……一应俱全,外观也和Photoshop极为相似,用不着花时间去适应。
    67.能在Linux下玩游戏吗?
    现在已经有For Linux的游戏了,除了大名鼎鼎的Doom之外,还用一些像acm-空战模拟游戏、xdemineur-挖地雷、xjewel-俄罗斯方块、xboard-国际象棋、xboing-弹珠台游戏。
    68.在Linux下有C语言吗?其它语言呢?
    在Linux下有自由软件基金FSF创建的重磅炸弹——GCC,它是一个强大的编译器,目前堪称是全世界效率最高的C/C++编译器,现在已经广泛应用在各种UNIX环境下。同时,Linux下也提供Fortran、Pascal、Perl、Cobol等多种语言的支持。
    69.Linux下有哪些数据库软件?
    Linux下有许多种数据库软件可供使用,其中有Oracle for Linux、IBM DB2 for Linux、Mysql、Msql、Post等。
#1    五、做好Linux的管理员
    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文件名”完成解压缩。
    如果你取得的是可执行文件包,安装工作结束即可执行。如果你取得的是源代码包,则还需编译一下:
    (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) 插入一张空软盘,执行“mkbootdisk--verbose 2.2.5”。
    83.如何远程使用Linux?
    我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这些方法在传输过程中是明文传输,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。
    84.如何构建安全的远程登录?
    你可以使用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”命令生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录中,然后将其拷贝到/boot目录下。
    (4) 修改lilo.conf文件,加入:
    image=/boot/zImage
    label=newlinux
    root=/dev/hda1 (根据原来的文件)
    运行/sbin/lilo使修改生效。
    (5) 重新启动,在Lilo中输入newlinux即可以新内核启动。
    90.什么是动态内核模块?
    动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能。用“insmod 模块名”命令加入内核、用“rmmod 模块名”命令将其移出内核。
#1    六、廉价的网络解决方案
    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架设Email服务器?
    Linux中,最常用的Email服务器是Sendmail,你可以在安装Linux时将其选中。
    (1) 在DNS服务器上为E-mail服务器做一条MX记录。
    (2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉。
    (3) 执行kill -HUP inetd,使修改生效。
    这样Email服务器的用户就可通过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,根据具体需求改变默认的设置。
    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的解析即可完成。
    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 allowedhosts 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
       externalinterface=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 $externalinterface/32
       /sbin/ipchains -A input -j DENY -i eth1 -s $externalinterface/32
       /sbin/ipchains -A output -j DENY -i eth1 -d $externalinterface/32
       /sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
       /sbin/modprobe ipmasqftp
       /sbin/modprobe ipmasqquake
       /sbin/modprobe ipmasqirc
       /sbin/modprobe ipmasquser
       /sbin/modprobe ipmasqraudio
       /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解决方式构建服务器集群系统。