Linux大世界

一 迎接Linux明天
 
----诞生于1991年的Linux操作系统终于在1998年开始大红大紫。年初,好莱坞巨片《泰坦尼克号》等应用案例取得的巨大成功把人们的目光聚焦在这个早已流行于大学和技术派人士之中的免费开放源码操作系统身上,下半年包括Informix、Oracle、Corel、IBM、Netscape和Intel等著名公司在内的一大批软硬件开发商相继宣布支持Linux,一时间各种媒体竞相报道关于Linux的新闻,并形成了Linux将会是微软WindowsNT操作系统的取代者这样一种印象。

免费Linux福依祸倚

----我们可以看到,已宣布支持Linux的软件商中有不少在目前与微软的竞争中处于劣势,如Corel、Netscape等。纵观Windows系统的发展可以发现,当某种应用在Windows平台上具有较大市场的时候,微软就可能推出自己的产品或干脆购买第三方的产品,借助于在系统平台上的优势,逐步侵占市场,使得其它竞争对手败下阵来,Corel公司的Office、Netscape公司的Navigator都是这样的例子。这些软件商支持Linux的一个主要目的是为自己多找一条出路,因为考虑到微软不大可能把自己的应用产品移植到竞争对手的平台之上,所以它们努力地推动Linux成为NT的竞争者以扩大反微软阵营的力量,但是,商业公司需要利润来作为发展的基础,Linux现在的普及程度不高,因此还谈不上较好的利润,另外Linux本身是免费的,这一点会影响到Linux平台上应用程序的定价,未来会怎样相信这些软件商自已心里都是悬着的。对于硬件厂商如Intel来说,情形就大不一样了,无论哪一种操作系统占主导地位,只要运行于x86平台之上,Intel都可以不断地卖出更多的CPU,支持多种操作系统的策略可以为Intel带来更多的利润,同时也减少了会受到老盟友制约的担心。

----微软近年来已经习惯了成为众矢之的,所以面对Linux的冲击并未表现出强烈不安的情绪,只是默默地衡量Linux可能带来的威胁。实际上,Linux虽然算得上是NT的一个有力的对手,但短期内带给其它Unix操作系统的威胁可能更大,况且微软的应变能力不容忽视,当Linux将来拥有了简明的安装例程、优秀的图形界面和大量的应用程序并对NT产生致命威胁时,微软完全可能使出开放NT部分源码、降低售价、甚至移植应用程序到Linux平台上等手段来与其它软件商竞争。

 

----着眼国内从校院起步

----冷静观察了这场Linux潮中主要角色的表演后,我们应站在Linux一方呐喊助威,还是为NT摇旗喝采呢?笔者认为,这些并非务实的态度,对于中国的软件业和开发人员来说,认真思考Linux能够为我们带来此什么以及Linux在中国的应用前景,具有更加重要的实际意义,而不必过多地讨论Linux能否取代NT,因为无论Linux将来如何发展,我们都可以从它获得有益的东西。众所周知,中国的软件业在目前比起美国还有非常大的差距,虽然经过多年的努力,我们已拥有了不少像WPS这样的优秀国产软件,但国产软件功能所覆盖的范围明显狭窄也是不争的事实,更重要的是,因为我们还没有实力推出能在市场上立足的自己的操作系统,以致于Windows98以比美国和日本国内价格还要高的1998元标准定价在我国市场上亮相后,我们也不得不购买,落后就要挨打的道理不断闪现在为中国软件业担忧的人士心中。

----Linux作为Unix系统的变种,其技术相当优秀,具有系统内核小、稳定性高、可扩展性好、对硬件要求低、网络功能强等特点。从Linux的诞生之日起,其创始人LinusTorvalds就把Linux定位于全人类共享的自由软件,不仅开放了Linux的全部源码,并坚持不把Linux作为牟利的工具,Linux随后的发展凝聚了世界各地无数开发人员的大量心血,体现了一种信息世界的共建、共享和共荣的精神。Linux借助于Internet的力量不断扩散和壮大,任何人都可以免费获得它及其源码,对它进行研究和扩充,这对提高我国软件产业的基础水平无疑有巨大的好处,因为起步较晚和条件受限,不少操作系统方面的基础软件技术我们还没有真正掌握,现在有了Linux现成的源码可供我们观摩和学习,相信会起到事半功倍的作用。

----Linux在国外大学中早已流行开来,但在国内仅有一些名牌大学内可以经常看到Linux的身影。由于大学生是影响社会未来发展的重要力量,许多计算机厂商都乐意向名牌大学捐赠自己的产品和设备,很明显,除了短期的政治和社会效益外,这些厂商还看中了长期潜在的经济效益,当大学生们用惯了某些产品后,他们参加工作后就会对工作单位在购买此类产品时的决策产生或多或少的影响。同样的,如果我们把国内计算机专业现行的内容陈旧的Unix系统教材更换成Linux的内容,一方面可以让大学生们更好地掌握现代操作系统的基础原理,通过对源码和文档进行分析学到最新的技术,另一方面当他们走向工作岗位之后,会把Linux带到社会的各个应用领域,并成为Linux的技术支持者,这样的话,当Linux真到了全面流行的那一天,我们也有足够的技术力量来应用它,而不像使用很多商业操作系统时那样由于需要技术支持而受制于开发商。

 

----专业领域能否先行一步

----我国的计算机应用正处于快速发展阶段,很多领域都需要实现计算机化管理,如果都使用商业操作系统,再不断地进行一次又一次的升级,所需费用的数目之庞大令人瞠目结舌,这对经济并不十分发达的我国无疑是一笔不小的负担。免费的Linux为我们提供了另一种选择,在那些不需要豪华用户界面、专业技术性强的应用中,例如政府部门和科研部门的小型服务器系统、ISP的Web和邮件服务器、大学的计算机中心等,完全可以使用Linux来替代商业操作系统。

----任何软件系统都有可能存在的弱点和缺陷,Linux和商业操作系统在这一点上都不例外,但由于源码的开放性,Linux经过了无数技术人员的反复推敲和论证,其安全隐患要比商业操作系统少得多,并且不存在开发者有意留下的秘密后门,使用者可以很容易地管理、控制和定制它,因此透明的Linux非常适合于安装到涉及国家机密和安全的计算机系统中,我们还可以对它进行特殊改动以建立专用版本,应用于军事通信和控制系统等关键性领域之中。

----技术力量和市场都有,我们的软件业能够为此做些什么呢?笔者认为,对Linux进行统一标准的汉化是重要的第一步,尽管目前Linux的使用者多数都是专业人员,语言不是主要障碍,但中文Linux肯定会提高使用者的效率,吸引更多的用户,另外,如果没有标准的中文Linux,就没有大量的中文应用软件出现,Linux用户将不得不依靠安装多套操作系统来完成不同的任务。汉化不是简单地给Linux加上一层能够显示和打印输出中文的外壳,而应从Linux的内核着手,对大量源码和文档都要进行分析和汉化,因此这个过程也是对Linux进行消化和理解的过程。在我国还缺乏风险投资的情况下,这项工作需要由国家有关部门出面成立一个中文Linux标准化和研究机构,组织研究所、有实力的公司和民间Linux团体,共同完成对Linux的汉化,并把中文Linux提交给Linux社区。这个机构完全可以学习RedHat等公司,把Linux系统及其应用程序制作成光盘出售,并为Linux用户提供技术支持服务,以此作为部分经费来源。

----有远见的软件公司应注意到Linux的潜在市场,组织技术力量对Linux进行预研,在开发产品时注重保持软件良好的可移植性,以便在合适的时候只需很少的工作量便可推出基于中文Linux平台的产品。对操作系统了解程度的加深有利于降低产品的开发成本,缩短开发周期,因此软件公司会有更多的精力进军新的应用领域。

----现在,一些有名的软件公司也开始走上开放源码的道路,例如Netscape发布了Commnunicator的源码,Sun也于近期开放Java的源码,尽管这些公司的作法更多是出于商业目的,但这毕竟表明开放源码运动逐渐获得人们的认同,自由软件联盟和Linux所倡导的“自由”思想逐渐深入人心。Linux的成长与Internet密不可分,大量的软件开发人员不计较个人利益得失,通过Internet进行协作造就了这一项杰出的作品。从今年Internet上流行的国产共享软件可以看出,其实我国拥有不少的优秀软件开发人才,但他们当中有很多由于条件所限只能进行小规模的开发工作,如果能够建立起一种软件人才“自由”流动机制,让他们能够聚集在良好的开发环境之下协作攻关,那么将会产生的经济和社会效益是无法估量的,也许在不久的将来,我们就可以用上由中国人自己开发的操作系统畅游在信息海洋之中了。
                  
            二 Linux及其发行版本

首先讲述一个真实的故事。1996年底, 美国林肯州内布拉斯加普雷斯大学系统部准备把他们部门中一套已经陈旧过时的网络操作系统更换掉, 另外安装一套新的操作系统。系统部经理Quinn Coldiron当时的首选目标不用说当然是Windows NT 4.0, 然而他没有料到, 在安装了NT之后, 竟会遇到那么多难以解决的麻烦, 多次打电话寻求技术支持又让学校破费了很多钱。
----万般无奈之际, 他决定试用一下Linux, 结果却令他大感意外。从1997年1月至7月, 他们部门的Linux服务器仅意外下档过三次, 两次是因为楼里的电源线路发生故障, 另外一次则是因为操作人员的愚笨所致。更令他觉得不可思议的是, 在原先那套旧的操作系统上, 如果同时有5个用户登录做专业出版, 系统就会崩溃;而现在, 还是同样的硬件(256M内存、2块150MHz CPU), 但是Linux却可以轻松自如地支持40个用户同时登录做专业出版。于是他在鉴定白皮书中按捺不住兴奋地说:“Linux服务器已经证明和我所用过的其他服务器操作系统同样地可靠, 而且要比其中的大多数操作系统更为可靠。”

----Linux的神奇之处不仅在于它可免费获得和它所发起的声势浩大的软件运动, 更在于它本身强大的性能、卓越的稳定性和众多的功能。Linux刚开始的时候主要是为低端Unix用户而设计的, 它可以使很多已经过了时的硬件重新焕发青春。它在只有4M内存的Intel 386处理器上就能非常好地运行, 随着Linux用户基础的不断扩大、性能的不断提高、功能的不断增加、各种平台版本的不断涌现, 以及越来越多商业软件公司的加盟,Linux不断地向高端发展, 开始进入越来越多的公司和企业计算领域。虽然到目前为止, 还没有哪家公司肯将它的全部信息系统建立在Linux上,但是Linux已经在很多企业计算领域中大显身手。据从事Linux开发的Red Hat(小红帽)软件公司说,他们公司现在已拥有了许多第一流的企业用户和团体用户,其中包括NASA、迪斯尼、洛克希德、通用电气、波音、Ernst &Young、UPS、IRS、Nasdaq,以及多家美国一流的大学机构等。

----Red Hat公司的总裁Robert Young认为, Linux最大的单项应用是Internet和Intranet服务器, “从防火墙到Web服务器, Linux据分析家估计, 已成为网上的第二大通用操作系统。”

----Linux的其它应用从打印服务器到FTP服务器到数据收集等应有尽有, 目前在网上应用最多的Apache Wed服务器也已成为各种标准的Linux扩散版的一个部分。即使作为一种台式机操作系统, 与许多用户非常熟悉的Unix相比, 它的性能也显得更为优秀。一台Linux服务器支持100到300个用户毫无问题, 一台Linux打印服务器支持200到300台网络打印机更是易如反掌。而且它不大在意CPU的速度, 可以把每种处理器的性能发挥到极限, 到时候用户就会发现, 影响系统性能提高的限制因素主要是其总线和磁盘I/O的性能。正如一些分析家所指出的, Linux已经成为Unix市场大饼中一个重要的非常具有活力的不断扩大的一角。


一、 Linux、GNU、GPL


----说到Linux, 不能不提GPL, 这是目前自由软件界的“根”。没有GPL, 自由软件的发展不可能像今天这样的有规范、有规模和有如此强大的生命力。Linux的版权是GPL。

----1984年, 自由软件的积极倡导者Richard Stallman组织开发了一个完全基于自由软件的软件体系——GNU, 并拟定了一份普遍公用版权协议(General Public License, 简称GPL)。目前人们已很熟悉的一些软件如: BIND、Perl、Apache、TCP/IP等实际上都是自由软件的经典之作,可以想像,如果没有了它们,Internet的真实面貌大概不会像今天这样。

----Linux问市的初期, 只是一个个人的程序练习作品, 后来, 作者将这个仅仅是个人爱好的作品放到了GPL的保护下。这一版权上的转变后来证明对于Linux的进一步发展而言确实极为重要。从此以后, 便有多家技术力量雄厚又善于市场运作的商业软件公司加入了原先完全由业余爱好者和网络精英所参与的这场自由软件运动, 开发出了多种Linux的扩散版本(distribution), 磨光了纯粹自由软件许多粗糙不平的棱角, 增加了更易于用户使用的图形界面和众多的软件开发工具, 极大地拓展了Linux的全球用户基础。Linus本人也认为:“使Linux成为GPL的一员是我一生中所做过的最漂亮的一件事。”


二、Linux的发行版本


----Linux的初学者开始时经常分不清内核版本与发行版本之间的关系。实际上, 操作系统的内核版本指的是在Linus本人领导下的开发小组开发出的系统内核的版本号, 目前最新的版本的序号大约是: linux-2.0.36和linux-2.1.133(其中, 序号的第二位为偶数的版本表明这是一个可以使用的稳定版本, 如2.0.36, 而序号的第二位为奇数的版本一般有一些新的东西加入, 是个不一定很稳定的测试版本, 如2.1.126)最新上市的有RED HAT LINUX 7.1。

截止到本<局域网全攻略>发行是, 最新的Linux内核是linux-2.42。

----有一些组织或商业厂家, 将Linux系统的内核与外围应用软件和文档包装起来, 并提供一些系统安装界面和系统设定与管理工具, 这样就构成了一个发行版本(distribution), 例如最常见的Linux的发行版本有: Slackware、RedHat、Debian、OpenLinux、SuSE等等。

----实际上, Linux的发行版本就是Linux核心再加上外围的实用程序组成的一个大软件包而已。相对于操作系统内核版本, 发行版本的版本号是随发布者的不同而不同, 与Linux系统内核的版本号是相对独立的, 例如: Slackware 3.6的操作系统内核是linux-2.0.36, RedHat5.2的操作系统内核是linux-2.0.36等。

----所以,把RedHat、Slackware等直接说成是Linux是不对的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统软件包”。

----更进一步介绍, 如RedHat-5.2这个发行版本,其内核是linux-2.0.36, 其用于WWW广播的软件是apache-1.3.3, 用于mail系统的软件是sendmail-8.8.7, 用于DNS的是bind-8.1.2, 用于NEWS的是inn-1.7.2, 用于X窗口的是XFree86-3.3.2, 使用的C语言版本是gcc-2.7.2。看出来了吧, 操作系统的内核是Linux, 而外围采用的是其他的自由软件包, 这个整体包装叫RedHat-5.2。

----Linux的开发和规范一直是由Linux社区控制着, 版本也是唯一的。freesoft站点直接镜像了这些版本(/pub/Linux/PEOPLES/Linus/), 需要了解Linux内核开发情况的读者可以自己去下载。

----而Linux的各个发行版本(distribution), 都是使用同一个Linux内核的“供货渠道”, 因此不存在什么兼容性的问题。只是要指出的是, 由于各个发行版本在集成其系统的时候所选用的操作系统的外围软件和实用程序的不同,又确实存在某些命令格式以及某些配置文件不统一的问题。但这决不是Linux的不统一或不兼容,根据大家个人的喜好,使用习惯的不同,可以选用不同的发行版本。这些Linux的发行版本,freesoft都做了直接的镜像,大家可以自己联到internet网络上自由下载、安装。


三、Linux 能做什么


----上面已经反复介绍了, 目前的各个Linux操作系统的发行版本的内核均采用的是Linux, 而外围的实用程序是由其他的自由软件所贡献的, Linux只是一个稳定可靠的核心部分。这个问题就变得比较明朗了, 在Linux内核的基础上, 你集成进来什么, 它就能做什么事情。 GCC/GCC++是由GNU组织开发的, 集成进来, 你就有了C/C++的开发环境;把XFree86集成进来, 你就有了X窗口的环境。 由于Linux的内核非常稳定可靠, 并且效率也很高, 不仅自由软件很容易集成进来, 最近, 大规模的商业软件也纷纷向Linux移植, Oracle、DB2、Sybase、Informix等都已经提供Linux上的版本。

----这里给大家举个例子, 自由软件协会的freesoft站点就是使用RedHat搭建的,5台586的机器,基本配置是32M内存,90MHz的时钟,是1995年的产品, 为了存放镜像的自由软件库,另外购买了120G的IDE硬盘。现在组织成的站点主要功能简单的罗列如下:WWW; ftp/匿名ftp;DNS; E_mail/POP2/POP3/iMAP; news;proxy/cache; gcc/gcc++; perl; NIS; FireWall; XFree86等,功能很丰富。




            三 Linux 使用技巧集锦(一)
初用Linux时可能有处处不方便的感觉, 可是等使用一段时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我使用Linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的.

1. 使用虚拟控制台

  登录后按Alt+F2键这时又可以看到"login:"提示符, 这个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有用的时候是当一个程序出错锁住输入时可以切换到其他虚拟控制台登录进入后杀掉这个出错的进程.

2. 拷贝与粘贴

  字符界面: 不管是Slackware 还是RedHat 安装后每次启动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了.
X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置XF86时在鼠标的设置里选择 Emulate 3 Button).

3. 快速进入某些目录

键入 cd ~ 可进入用户的home目录.
键入 cd - 可进入上一个进入的目录.

4. 软驱的使用

如果是Linux 的ext2文件系统用如下命令:
#mount -t ext2 /dev/fd0 /mnt
dos格式的软盘则用命令:
#mount -t msdos /dev/fd0 /mnt
然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之前要先卸掉软盘上的文件系统,
#umount /mnt 否则会导致信息丢失.
在软盘上建立文件系统可用如下命令:
#mke2fs /dev/fd0 1440

5. RedHat下显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件

6. 显示文件的类型
  用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell script文件或是其他的什么格式 例如:
#file startx

7 .命令文件的路径
当你键入一些命令如find, shutdown, mount, startx时是否想过要知道这些文件究竟放在哪个目录里? 用命令
whereis 可以实现,如
#whereis startx

8. 查找文件
find 命令要加一些参数才能查到文件, 如:
#find /usr -name XF86Setup -print
在/usr里查找文件XF86Setup.

9. 删除无用的core文件
程序运行出后有时候会产生一个名为core的文件, 这个文件一般很大而且没什么用, 可以删除掉以释放空间.

10. 一次解开.tar.gz文件
解开.tar.gz文件一般要先用gunzip解压再用tar解包, 在Linux下可以一次完成, 如:
#tar zxpvf sample.tar.gz

11. 显示win95分区里的长文件名
  如果你发现win95分区里的长文件命不能显示, 可以重新用vfat方式来mount. 对于启动时就mount的分区可以修改文件/etc/fstab, 将里面的msdos字样改为vfat. 如果无法用vfat mount, 则要重新编译一下核心, 加入对vfat的支持.

12. Linux 里的Norton Commander
  在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界面, 实际上功能也很相似甚至更强大, 比如可以直接对.tar.gz 压缩包里的文件进行操作(有点像ZipMagic).

13. 启动后直接进入X
  编辑/etc/inittab文件, 把id:3:initdefautl改为 id:4:initdefautl. 不过搜索路径可能会有些问题, 关机时你得直接进入/sbin 里去执行 shutdown.

14. 后台运行 X 程序
  执行一个X程序时别忘了在后面加一个&号,如 #netscape & 否则的话在你推出执行的程序之前再无法在那个终端窗口里输入命令了.

15. 强行退出 X
  有时候在 X 里由于程序出错鼠标键盘都不起作用, 这时候不用着急, 因为在Linux下几乎不会像在Win95里那样恶性死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字符界面下了
         四  Linux 使用技巧集锦(二)
Linux 使用技巧集锦的第二辑,主要是一些初学者容易遇到又不容易解决的问题,希望大家能喜欢。


1. 重装Win9x后lilo失效无法启动Linux
  只须先用软盘启动Linux然后运行一次lilo即可。对于RedHat可以用命令mkbootdisk来制作启动盘,例如:
mkbootdisk --devices /dev/fd0 2.0.34-1
其中2.0.34-1是 /lib/modules下的一个目录。

2. 把dos/windows改为缺省启动的OS
  RedHat把Linux作为lilo缺省启动的OS,即出现 boot: 提示符后直接回车启动Linux。如果想改为dos/Windows,修改文件/etc/lilo.conf,把有关启动dos的部分放在前面,再运行一次lilo即可。例如把lilo.conf从:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only
other=/dev/hda1
label=dos
table=/dev/hda

改为:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5
read-only

3. 去掉引导区内的lilo信息
  安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用软盘启动dos再运行 fdisk/mbr 即可。(这个方法还可清除任何引导区病毒)

4. 让 X 支持 AGP 显卡
  下载一个 AX 4.1 即 AcceleratedX 4.1 , 一个商业版的 X Server 。除 AGP 显卡外 AX 还支持很多牌号的显卡。另外还可以用AX 带的设置程序 Xsetup 方便的对分辨率,刷新率等参数进行设置。不过我也不知道用AGP卡效果如何,因为我现在还在用老掉牙的 S3 765 。:(


5. 把 man 或 info 的信息存为文本文件
以 tcsh 为例: man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s

6. 用当前路径作提示符
对 bash 来说,在 .bashrc 里加一行:
PS1="$PWD/$"
对 tcsh 来说,在 .tcshrc 里加一行:
set prompt="%/>"

7. 压缩可执行文件
  Linux 下有一个类似 dos 里的 pklite 和 lzexe 的命令 -- gzexe 。而且压缩率一般都可以超过 50% ,在空间紧张时很有用。比如:

/dosc/temp# ls -al
total 148
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk
/dosc/temp# gzexe gawk
gawk: 54.5%
/dosc/temp# ls -al
total 216
-rwxr-xr-x 1 root root 68710 Dec 8 15:36 gawk
-rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk~
/dosc/temp#

8. 查看 Linux 启动时的信息
  Linux 启动时屏幕显示的信息来不及看清就一闪而过,如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看。

9. 处理文件名内含有特殊字符的文件
  如果有一个文件名叫 -file 如果想删除它,键入 rm -file 会显示 invalid option ,原来由于文件名的第一个字符为 - , Linux 把文件名当作选项了,可以加 -- 解决这个问题, 如 rm -- -file 。如果是其他特殊字符的话可以在特殊字符前加一个 ,或者用双引号把整个文件名括起来。

10. 一次处理一整个目录
  Linux/UNIX 的很多常用命令如 rm , cp 等都有一个参数---- -r , 是递归的意思, 命令里加了参数 -r 就可以对目标目录及其下所有子目录进行操作,如:
rm -rf /test (f 是 force 意为强行) , 该命令完全删除根目录下的子目录 test ,作用类似于 dos 下的 deltree ,当然使用这个命令时要特别小心。再如:
cp -r /test /test1 有类似 dos 下 xcopy /s 的作用。

11. 修改登录画面


对本机:
先修改文件 /etc/issue 改为相要显示的内容, 再修改文件 /etc/rc.d/rc.local(RedHat) 或 /etc/rc.d/rc.S(Slackware) 把下面几句注释掉:
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
echo "" > /etc/issue
echo "Red Hat Linux $R" >> /etc/issue
echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

cp -f /etc/issue /etc/issue.net
echo >> /etc/issue

不然的话每次重新启动 /etc/issue 都会被更改。


对 telnet 的远地机器:
先把文件 /etc/usr/sbin/in.telnetd 改名,如改为 in.telnetd.exe ,再编一个名为 in.telnetd 的 shell 脚本, 在显示完需要的内容后再调用 in.telnetd.exe 。如:
#!/bin/sh
cat /etc/login.banner #需要在登录提示符前显示的内容
echo -n ""
exec /usr/sbin/in.telnetd.exe

12. 几个有用的别名
几个能方便操作和减少误操作的别名,建议把它们放到启动文件里, 如 /etc/bashrc 。

alias rm=`rm -i`
alias cp=`cp -i`
alias mv=`mv -i`
#前三个别名的作用是在删除、覆盖文件之前先提示确认,RedHat已经自动
#加上了,强烈建议Slackware的用户也加上,因为Linux/UNIX下文件一旦删
#除就再也无法恢复了。
alias l=`ls -l`
alias cd..=`cd ..`
alias utar=`tar xvfz` #解 *.tar.gz 文件
alias inforpm=`rpm -qpi` #显示rpm包的信息
alias instrpm=`rpm -Uhv` #安装rpm包
alias listrpm=`rpm -qpl` #列rpm包内的文件
alias uistrpm=`rpm -e` #反安装rpm包

13. 使用命令补齐
  所谓命令补齐(Command-Line Completion)是指当键入的字符足以确定目录下一个唯一的文件时只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时如果该文件是该目录下唯一以 g 起头的文件的话就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。

14. 最后一条技巧
  有时间的话多看看系统提供的FAQ文件,因为通常遇到的问题大多数都能在里面找到答案。

           五 国产操作系统———红旗Linux V1.0
国产操作系统红旗Linux V1.0于8月10日由中国科学院软件研究所(中科软公司)、北大方正和康柏公司联合推出,许多人对此十分感兴趣。本文向读者介绍这一版本的诞生经过、主要特点和功能及其今后的发展。

 

国产操作系统

 

----把红旗Linux V1.0界定为“国产操作系统”而不是“自主版权的操作系统”,是因为我们认为这两者是有区别的。

----所谓国产操作系统指的是利用国外的技术甚至是部分代码,根据市场需要自己组合成的操作系统。比如国外比较流行的RedHat Linux、Caldera OpenLinux、Turbo Linux、Slackware Linux、Debian GNU/Linux、SuSE Linux等,就是将Linux(引擎)根据用户需要及公司的特长,与外部实用程序(Utilities)和文档(Documents)打包,并提供安装界面和安装设定与管理工具所构成的不同发行版本。同样道理,我们也可以利用Linux 核心引擎,加上一组实用程序和我们独立开发的中文信息处理、安全系统等组装成一种发行版本,这就是我们的国产操作系统,如我们已发行的红旗Linux V1.0版。因为Linux 及上层许多实用程序是“Free”的,根据GPL准则,这种系统不具有我们的自主版权,但是可以说是“国产的”而不是从国外全部照搬的。

----与此对照,若遵照国际标准及接口要求,利用我们自己掌握的技术、算法和路线,根据用户需要自行开发的,这种系统就有自主版权。当然这种开发应该是开放式的,充分利用国内外已有的成果和技术,而不是什么都从“abc”做起。

----总之,我们可以在某种程度上参照或类比PC硬件厂家甚至是家电厂家、汽车制造商的一些成功做法,来开发国产操作系统或自主版权的操作系统和其它系统软件。

----我们之所以首先打包Linux而不是一开始就研制全部自主版权的操作系统,其缘由是我们吸取了以前开发COSA系统的经验和教训及国内一些厂家创立自己品牌微机、占领市场的成功经验,从而确立了以市场为主导,用户需求为前提,市场开拓与技术开发并举的开发路线。

----在通过持续不断地推广国产操作系统红旗Linux并提供强有力的支持服务过程中,我们的系统将取得用户的逐步信任,争取部分市场。与此同时,我们也获得了对Linux及相关软件技术的深刻了解。有了对市场的把握、用户需求的了解,以及对Linux及相关技术的掌握,我们就可以有针对性地开发完全具有我们自主版权的操作系统和系统软件。有了用户基础,自主版权的操作系统和系统软件才有完善、升级和不断发展的基础和动力,而占领市场本来就是我们开发产品的主要目的。

 

红旗Linux的诞生

 

----红旗Linux的技术开发和版本制作主要由中国科学院软件所开放系统与中文信息处理中心承担。

----本中心的前身是软件所第一研究室,曾是中科院计算所九室的一部分(该室一直从事国产系统软件开发,因当时我国还未对外开放)。

----“六五”期间我们承担了科学院对Unix操作系统的分析研究重点项目,“七五”、“八五”和“九五”期间又先后承担了有关系统软件国产化的国家重点科技攻关项目,获得国家(二等奖2项、三等奖2项)、中科院(一等奖1项,二等奖2项)和(电子工业部等)政府部门(特等、一等奖各1项)的奖励。

----由于本人及所在的开发中心一直十分关心围绕Unix的一切国内外动向,对GUN Free软件及后来的Linux也早已关注并作了长期研究,而Linux是以Unix为基础的,因此在“八五”、“九五”国产COSIX操作系统项目的开发中直接采用了GUN和Linux的一些成果。可以毫不夸张地说,我们对以Unix为代表的开放系统(包括Linux)的使用一往情深,对国产操作系统的开发矢志不渝。

----近年来,Linux在国际上迅猛发展,并且得到包括IBM、Compaq、HP、Oracle、Sybase、Informix在内的几乎所有硬、软件公司的支持,使之如虎添翼,形成了势不可挡的潮流。同时,Linux的出现,为发展我国自主安全的中文操作系统乃至整个系统软件提供了契机。

----所有这一切使我们看到开发国产操作系统不仅具有深远的社会意义,更有重大的商机。正是基于这一根本认识使我们三家(指中科软、北大方正与康柏)走到一起,并决定发挥各自优势,集中力量在中国率先推出国产操作系统。经过三方近三个月的各种准备,在Intel及Alpha平台上集成了我们的发行版本,并定名为红旗Linux 。

----从上面的叙述可以看到,我们发展国产操作系统红旗Linux是有其深厚的技术和思想基础的。

 

主要功能和特色

 

----红旗Linux V1.0是我们以Intel和Alpha芯片为CPU构成的服务器平台上第一个国产的操作系统版本。我们还将在其它硬件平台上推出不同的版本。

■红旗Linux V1.0的主要功能

1.以最新的Linux 2.2.5-15为核心引擎

1) 支持64位的芯片处理器,如Alpha;

2) 更好的优化功能,在16MB的内存空间上运行得轻松自如;

3) 加接更多的系统总线,如各种PCI,甚至微通道总线;

4) 加接更多的外设总线,如IDE、SCSI;

5) 接驳更多的外设,如并口的打印输出、串口的Modem,还有CD-ROM、鼠标、软驱和其它可移动介质。

2.一批重要而基本的实用程序

1)收录大量最新软件,包括emacs、texinfo;

2)优秀的编程语言和工具:如GNU C/C++、JDK、Perl、gawk等。

3.提供了一组应用开发的公共平台

1)大字符集中文处理平台;

2)Informix-SE数据库管理系统。

4.一套特别适合中国用户习惯的系统安装导引

■红旗Linux V1.0的主要特色

1. 支持多种芯片,目前是X86芯片与RISC Alpha芯片和支持多种PC机与PC服务器主机平台

2.功能强大的中文信息处理平台

1)符合国际ISO 10646(Unicode)及国内GB13000-93(包括GB2312-80)字符集标准的CJK统一汉字字符集处理。

2)符合国际标准的多字节字符和宽字节字符处理及自动转换,提供的软件包完成单字节字符(特别是ASCII)系统与多字节字符(特别是C、J、K汉字)系统之间的兼容处理。

3)以UCS为基础的国内外不同字符集转换,包括:ISO10646←→GB、ISO←→TCA-CNS、GB←→TCA-CNS等。

4) 内码体系的自动转换,包括:EUC←→GBK、UTF-8←→GBK、Big5←→GBK、Big5←→GB、EUC←→UTF-8等,使用这些内码体系的不同中文处理平台上的资源可以共享和互传,在用户面前完全透明。

5) 简繁体汉字自动转换。这个自动转换系统并不是简单的字符集或字符间的转换,而是简繁体文本间的“翻译”系统。提供了前处理、后处理、自适应等功能,可以支持多种文档格式。

6)中文LATEX图形界面和简易排版系统,X-Window全中文界面。

7)在网络上提供中文检索系统Search ′97,这是一个用于Internet/Intranet信息查询、检索与分类的套件,支持GBK字符集处理。

8)跨平台的中文输入方法界面,可接口编码、语言和模式识别各种输入方法。该子系统还具有与平台无关和网络化的功能,网络上的其它主机(不论它运行何种操作系统)都可以通过网络与在其它主机上的输入法服务器连接,使用在该主机上的输入法。

9)提供各种点阵、PS和TrueType等各种输出。针对大字符集提供了字型文件处理器和字型服务器两种输出处理子系统。

10)提供各种品质优良、实用的方正(集团)字型(模)。

11)提供支持GB2312-80和GBK代码体系的中文平台编程界面(API)和中文本地环境及数据库。该编程界面符合XPG/4规范;中文本地环境和数据库经过国际化和中文本地化、符合国际和中国国家标准。

12)提供中文KDE、Gnome等流行的窗口管理器。

3. 商品化的多种解决方案

1) 商品化的商业保险综合业务应用系统。此套系统是包括国内财产、人寿及再保险的全部险种的大型应用软件,已推广到全国10余家省市分公司300余家支公司,连获中国软件行业协会1995~1997三年优秀软件奖,科技部等6部委的“国家级新产品”奖、中国科学院和国家科技进步奖。

2) 通用财务联机分析系统。此系统突破一般财务系统的报表分析,采用了数据仓库和OLAP技术。会计核算及财务管理系统适应多种管理模式,系统功能完备,已在中国人寿保险公司的近十家省市级分公司应用,效果明显。

3) 通用人事管理信息系统,该系统既有单机版亦有网络版,不受硬件平台限制,信息标准化、通用性好,使用灵活方便,亦已在全国许多部门使用。

4) 通用报表自动生成工具。该系统用于生成不同财务核算软件环境下的报表,报表定义灵活,维护与修改方便,允许扩展任何类型的财务函数,用户界面友好,已在许多保险公司及其它行业广泛使用。

5) 文档和工作流管理系统。该系统真正具备了案卷和文件一体结合、立卷形式多样、检索查询灵活,支持各种文件格式,用户界面图文并茂,公文流转过程中简洁明了、严密可控,批注方法多样,安全机制严密。

6) 自动计费系统。该系统广泛用于邮政、电信及其它涉及计费的领域。

7) e-media套件。与电子商务e-business、电子贸易e-commerce等主要用于商务、贸易的系统解决方案类似,这是方正电子公司针对媒体(报纸、电台、电视台、出版社及其它新闻媒体)行业,利用互联网技术和方正在媒体行业的主导作用推出的最新的服务模式。

4.提供商品化的Informix数据库管理系统

1)ESQL for C for Linux;

2)Informix 4GL。

5. 提供全面的网络通信服务

1) 代理服务器、Internet服务器;

2) 网络接入设备,如集成器、路由器等的接口。

6.安全防护软件,包括防火墙(过滤路由器、代理服务器)、内联网安全集成系统、防病毒软件等

7.强大而完善的技术支持服务

特别要指出的是,红旗Linux V1.0是三家紧密合作后同心协力推出的国产操作系统,我们将充分发挥各自在技术开发、市场、行销、服务支持以及平台和原始版本提供等方面的优势,不断把红旗Linux推向新的境界。

 

红旗Linux的未来发展

 

----对于红旗Linux的未来发展,我们三方已为其描绘了一个基本蓝图。红旗Linux V1.0是我们针对服务器的第一个发行版本。围绕它我们将进行如下一系列工作:

■红旗Linux V1.x的发展

1) 9月初发送红旗Linux V1.0。

2) 今年第四季度发送红旗Linux V1.1。这个版本中我们将在V1.0基础上增加一系列安全模块。

3) 2000年3月底发行红旗Linux V1.2。该版本除了修订、升级前面的版本之外,重点是集成更多的解决方案,提供更多的实用的应用软件。

4) 红旗Linux V1.x在外层软件方面与多种Unix版本尽量兼容,并争取与Windows NT进行数据交换和格式转换,以利于信息共享。

■红旗Linux V2.x的发展

----红旗Linux V2.x是我们准备发行的台式机版本,运行在台式PC上。希望它能作为个人办公、政府上网、C/S结构体系中的客户机PC上流行的操作系统。

1) 2000年初发表红旗Linux V2.0,它除了具备红旗Linux V1.x中适合台式机的主要功能和特色外,最主要的是提供良好的桌面应用软件。

2) 2000年中发表红旗Linux V2.1,除了改进、升级V2.0之外,主要工作是加强与各种开放系统(Unix的各种版本)、Windows 9x的互通性,至少可与Windows 9x和各种Unix版本进行信息交换和格式转换,利于信息共享和复用。

■其它红旗Linux 版本

----我们初步打算以红旗Linux V1.x(服务器版)和红旗Linux V2.x(台式机版)为基础向上下两端发展:向下是面向家用电脑、实时和控制领域、嵌入式应用,向上提供双机热备份、SMP、集群系统。

■支持和服务

1) 与其它公司、研究所、大学建立密切的互利合作关系,在共同开发与移植红旗Linux上的应用软件和解决方案的同时,建立一套规范、有层次、互补的支持服务体系。

2) 在短期内培训一批技术支持服务的骨干,以组织起更完善和有力的服务队伍。

3) 在全国建立一批支持服务中心,专做红旗Linux支持服务。

4) 尽快编辑出版一批有关Linux的书籍,内容深浅不一,专业与普及相结合,以满足不同层次用户的需要。

■建立ISV认证中心

1) 为Linux平台上的软件开发商提供技术支持。

2) 为各种应用软件提供标准接口和平台。

3) 为开发商所开发的软件提供测试平台和集成环境。
           六 LynxOS、QNX、Linux的分析和比较
本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux——新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。

----近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。

----基本特征概述

* QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。

* LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。

* RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。

* KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出“严格(firm)”实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的“严格的”实时系统。

----体系结构异同

----实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行系统调用来完成相同的任务。

* QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

* LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的“Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。

* RT-Linux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时EXE (realtime executive)体系结构。其可靠性和可维护性对电信服务系统来说都不够理想。

* KURT-Linux核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。

----调度策略分析

----任务调度策略是直接影响实时性能的因素。尽管调度算法多种多样,但大多由单调率算法(RM)和最早期限优先算法(EDF)变化而来。前者主要用于静态周期任务的调度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。

----QNX 提供POSIX.1b标准进程调度:

* 32个进程优先级;

* 抢占式的、基于优先级的正文切换;

* 可选调度策略:FIFO、轮转策略、适应性策略。

----LynxOS 其调度策略为:

* LynxOS支持线程概念,提供256个全局用户线程优先级;

* 硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和FIFO调度策略;

* 快速正文切换和阻塞时间短;

* 抢占式的RTOS核心。

----RT-Linux 在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。

* 用户可自行编写调度程序,它们可实现为可加载的核心模块;

* 已实现的调度程序有:基于优先级的抢占式调度和EDF调度;

* 基于优先级的调度使用“单调率算法”,它直接支持周期任务。

----KURT-Linux 可运行在两种状态之下:通常状态和实时状态。在通常状态下,所有进程都可以运行,但某些核心服务将带来中断屏蔽的不可预期性。实时模式只允许实时进程运行。

* 支持FIFO调度策略、轮转调度策略和UNIX分时调度策略;

* 增加了SCHED-KURT调度策略,这是一种静态调度策略,使用一个特殊的调度文件记录预先定义好的待调度进程的参数。

----从以上简略描述可以看出,前三种调度策略实现较规范,特别是两种商业RTOS,遵循或部分遵循POSIX.1b实时调度标准。

----操作系统服务比较

----QNX的系统服务:

* 多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CD-ROM文件系统等。

* 设备管理。在进程和终端设备间提供大吞吐量、低开销接口服务。

* 图形/窗口支持。包括QNX Windows、X Window System for QNX、对MS Windows NT/95和X Window系统的远程图形连接。

* TCP/IP for QNX。

* 高性能、容错型QNX网络——FLEET,使得所有连入网络的计算机变成一个逻辑上的超级计算机。

* 透明的分布式处理。FLEET网络处理与消息传递和进程管理原语的集成,将本地和网络IPC统一起来,使得网络对IPC而言是透明的。

----LynxOS的系统服务:

* 网络和通信。由于使用UNIX/POSIX API,Lynx很适合于数据通信和Internet应用。又由于系统的开放性,网络软件很容易移植到Lynx上。同样,Lynx亦提供关键的电话通信协议,使之适用于电信系统的基础架构、操作和多媒体应用。

* TCP/IP协议栈。Lynx自带优化的TCP/IP协议栈,提供高性能服务,如TCP头预测、高级路由算法、IP级多址广播和链路级高速缓冲。

* Internet工具。包括,Telnet、Ftp、tftp、PPP、SLIP、实时调度的嵌入式Java虚拟机、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服务、电子邮件、Perl、电话通信协议等。

* SVR3流。LynxOS流机制为开发和移植基于流的驱动程序和应用提供了核心支持。

* 文件系统。实时的类UNIX层次结构文件系统:连续结构文件、带缓冲/不带缓冲、原始分区和原始设备访问。

* 基于Motif的图形用户接口。

* 分布式计算资源。SCMP与VME总线上的多处理结合,PCI桥服务、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式数据系统。

----Linux的系统服务:

----近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源。

* UNIX用户的开发工具和应用软件都被移植到Linux上。

* TCP/IP网络协议。

* 各种Internet客户/服务端软件。

* X Window。

* C/C++、Java等语言编译器。

----上述系统的共同点是都提供了图形界面、各种网络支持等必要工具。QNX是一个更加符合传统“分布式”概念的操作系统,目标是把整个局域网变成一个大的超级计算机,使得网络的存在对用户透明,文件系统提供的服务也很丰富。但是,分布式的程度越高也意味着系统开销的增大。LynxOS则着意于提供丰富的网络服务,而Linux的最大优势则是经济,还可以通过新闻组或mailing list快速地解决用户碰到的任何问题。

----系统开放性对比

----对于很多大、中型系统来说,大多数软件都是为UNIX平台编写的,因此RTOS是否提供POSIX/UNIX API就显得很重要。

----QNX的开放性:

* QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、X Window和TCP/IP都是UNIX程序员所熟悉的。

* 支持多种CPU:AMD ElanSC300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x86处理器(386以上)、Pentium系列、STMicroelectronics 的STPC。

* 多种总线:CompactPCI、EISA、ISA 、MPE (RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME。

* 各种外设:多种SCSI设备、IDE/EIDE驱动器、10M/100M以太网卡、Token Ring网卡、FDDI接口卡、多种PCMCIA设备、闪存、声卡等等。

----LynxOS的开放性:

* POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。

* 支持多种CPU主板:包括CompactPCI(6U/3U)和标准PCI、VME/Eurobus、PC/104和PC/AT硬件等。

* 各种外设适配器:10/100BaseT Ethernet、SCSI接口、单/多通道串行控制器、单/双工并行口、时钟、计时器、IDE接口、高分辨率显示适配器等。

----Linux的开放性:

* 用户可得到UNIX的全部开发工具。

* 可使用市场上便宜又常见的硬件。

----通过分析,可以看到以上系统各有优势,因此,在平台搭造过程中,用户应根据自己的实际需要并结合性能价格比进行选择。
          七 让Linux和Windows 95共存于一个硬盘
一、LILO简介


----LILO代表Linux加载程序。LILO是一个在系统启动时运行的程序,它允许选择用于引导计算机的操作系统。可以用LILO引导几个不同的操作系统,如Linux和MS-DOS。用LILO可以定义一个默认的要引导的操作系统和一个引导该操作系统的延迟时间。例如,如果在计算机上有MS-DOS和Linux,可以配置LILO引导二者中的任何一个,然后告诉LILO,如果30秒后没有键盘介入,就引导二者中的MS-DOS;如果在30秒之内,键盘的Ctrl、Alt、Shift、Caps Lock中的任一键按下,就会出现boot:,此时按下Tab键,能获得LILO引导的操作系统的清单。配置LILO时,可以指定所有这些操作。


二、LILO设置方法


----有两种方式可以运行LILO。一种是第一次安装时运行setup程序,在分区、安装软件包之后自动运行,或是在setup的主选单中选Configure后进入。

----第二种方法是用root注册后,在命令行上直接输入:# liloconfig-color后,出现LILO设置选单(这里假设已安装了Linux和DOS分区):

Begin Start LILO configuration with a new LILO header

Linux Add a Linux partition to the LILO config file

OS/2 Add an OS/2 partition to the LILO config file

DOS Add a DOS partition to the LILO config file

Install Install LILO

Recycle Reinstall LILO using the existing lilo.conf

Skip Skip LILO installation and exit this menu

View View your current /etc/lilo.conf

Help Read the Linux Loader HELP file

----首先选择第一项,Linux会出现“OPTIONAL append= LINE”对话框,询问要不要在启动时, 传一些参数给 Kernel。(有些情况会有这种需要, 比如使用了特殊规格的硬盘,或者是无法被Linux的Kernel检测到的CDROM。)这里直接打回车。

----下面是一个选单,有 MBR/Root/Floppy 三个选择项,其中:

----MBR: MBR是位于第一硬盘第一cylinder内的第一个sector,电脑在启动时, 会先读取此区域来决定开机。

----Root:是所谓superblock,把 LILO 装在 Linux 所在的分区。

----Floppy: 指定把LILO安装在软盘, 这样可通过软盘开机。

----我选择MBR,再下面选择“5 Seconds”,这样在启动系统时,当出现LILO字样后的 5秒以内没有键盘干预就引导。

----以上已经指定好 LILO 的运行方式了, 接下来要把硬盘里现有的 OS, 全部加入到LILO 的开机选单中。如果希望开机后引导的缺省的操作系统是MS-DOS,那么应先选‘DOS’,Linux会自动检测到所有DOS分区。例如:

Device Boot Begin Start End Blocks Id System

/dev/hda3  121 121 476 1435392 6 DOS 16-bit >=32M

----输入“/dev/hda3”回车,再指定一个将在开机选单中出现的名字,如“DOS”(只是个记号,大小写无所谓),再回车。

----有时Linux不认识已分好区的DOS分区,将不出现可用的DOS分区列表。可按ALT-F2切换到第二屏,键入:# fdisk

Using /dev/hda as default device!

Command (m for help):

Disk /dev/hda: 128 heads, 63 sectors, 621 cylinders

Units=cylinders of 8064 *512 bytes

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 100 403168+ 83 Linux native

/dev/hda2 101 101 120 80640 82 Linux swap

/dev/hda3  121 121 476 1435392 6 DOS 16-bit>=32M

----从这里可以看出,DOS分区位于/dev/hda3处,按ALT-F1转回原来的屏幕,在输入行处输入“/dev/hda3”,接下来再输入“DOS”。

----下面在LILO的设置选单里选第二项“Linux”,Linux检测到如下分区:

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 100 403168+ 83 Linux native

----输入“/dev/hda1”,再输入名字:“Linux”

----再选LILO选单第五项“Install”。

 

三、Windows98与Linux共存的技巧

----安装完Linux后,如果想从光盘安装Windows95/98,却又暂时找不到DOS下的光驱驱动程序,那也没有关系,可先启动linux,用root注册,输入:

# mount /dev/hda3 /mnt -t umbdos

----这里,由于DOS分区使用了分区表中的第三项,所以在Linux中,DOS分区的设备名就是/dev/hda3。mount成功后,在光驱中放入win95的安装盘,继续输入:

# cd /mnt

# ls

command.com  io.sys msdos.sys

# mkdir cab

# mount /dev/hdb /cdrom (/dev/hdb是cdrom的设备名)

# cp -r /cdrom/pwin98 /mnt/cab

----过几分钟,#提示符再次出现。至此,Pwin98的安装文件已全部拷贝到了DOS分区的c:cab子目录下。

----重新启动,进入DOS操作系统。可以看到cab中确实有刚才拷贝的Pwin98安装文件。进入c:cab,运行setup,把Pwin 98装好。

----安装Pwin98后会出现一个问题,那就是每次启动后,都将直接进入Pwin98,再也进入不了Linux了!这只能怪Pwin98自作主张,擅自修改了存放有LILO引导程序的MBR。解决办法是:再次用bootdisk启动,在出现LILO欢迎画面并等待按回车的地方输入: mount root=/dev/hda1 (回车)输入系统后,用root注册,再次运行liloconfig-color,选Recycle后,重新启动一遍机器,可以看到一切又都运行正常了。

----顺便介绍一个当不再需要 Linux 时卸载 Linux 和LILO的方法:在DOS下运行Fdisk,删除 Linux 分区,激活 DOS 分区。再运行Fdisk/MBR,即可清除主引导区的LILO引导程序。

----以上示例均在SlackWare Linux版本2.0.30上通过。

         八 使用外置ISDN TA的2个B通道上网的配置
目标:用一台低档的486PC带动整个公司局域网上Internet,
   速度不宜太慢(外置TA两个B通道)。
  
所用硬件:
   一台486PC ,40M内存,210M硬盘,3c509b网卡,
   3com Impact II TA(外置),一条ISDN线
所用软件:
   Redhat Linux 5.2
   dialup tools: Diald-0.16-5(自动按需拨号,不用人工干预)
  
重点: 如何配置diald用两个B通道上网
    用下面的配置,我能成功地用2B拨入上海电信163,上海热线,81890

注释: 本人仅供Linux用户配置ISDN参考,用下面的配置,作者能成功地
    上两个B通道,但不做任何担保。

安装及配置过程:
   1。 打开ip_forward及相关功能,IP伪装的配置在此不多做介绍。
加下面的行到 /etc/rc.d/rc.local

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ppp
/sbin/modprobe bsd_comp
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_vdolive  
/sbin/ipfwadm -F -a accept -m -W ppp0 -S 192.168.1.0/24 -D 0.0.0.0/0

   2。安装diald-0.16-5 rpm 包(login as root)
#rpm -ivh diald-0.16-5a-1.i386.rpm
#rpm -ivh diald-config-0.16-5a-1.i386.rpm
  
  3. diald 默认的配置文件是/etc/diald.conf,但安装RPM包之后配置文件
    放于/etc/diald/diald.conf 因此你需要拷贝到/etc/目录
# cp /etc/diald/diald.conf /etc/diald.conf
  
  4。默认安装之后的/etc/diald/connect文件是用ppp chat模式,不能上两个B,
    下面的文件已经修改为用pap认证方式上网。
  5. 本人用的是上海电信163,如果你用的是上海热线,或81890,请更改
    /etc/ppp/options和/etc/ppp/pppscript,恢复相应的行的注释。
  
  6。下面是我的所有相关配置文件。
[jephe@proxy /etc]$ more /etc/diald.conf
accounting-log /var/log/diald.log
device /dev/ttyS0
speed 115200
lock
mode ppp
dynamic
local 192.168.0.1 #不需改变这两行,即使你的网络不用192.168.0.X网段
remote 192.168.0.2
up-delay 8
defaultroute
modem
crtscts
connect /etc/diald/connect
redial-timeout 8
fifo /etc/diald/diald.ctl
include /usr/lib/diald/standard.filter
-------------
[root@proxy ppp]# more /etc/diald/connect
#!/bin/sh
/usr/sbin/chat -v -f /etc/ppp/pppscript
[root@proxy ppp]# ls /etc/diald/connect -l  (该文件必须有执行权限 )
-r-xr-xr-x  1 root   root      53 Jan 29 19:41
/etc/diald/connect
-------------
[jephe@proxy ppp]$ more /etc/ppp/options
name "your_account_at_ISP"      # ChineNet
#name "vip"       # Shanghai Online
#name "81890"      # Shanghai Telecom (Internet)
#name "STD"       # Shanghai Telecom (Intranet)
login
noipdefault
asyncmap 0
----------
[root@proxy ppp]# more /etc/ppp/pap-secrets
# Secrets for authentication using PAP
# client    server secret         IP addresses
your_account_at_ISP *  your_passwd_at_ISP
# 81890  *   81890
# vip   *   vip
# STD   *   STD
------------
[root@proxy ppp]# more /etc/ppp/pppscript
TIMEOUT 60
ABORT ERROR
ABORT BUSY
ABORT "NO CARRIER"
ABORT "NO DAILTONE"
"" "AT&F1s60=64s61=2s70=0s71=1s80=1" OK ( # s80=1 启动双通道模式。)
"atd163"
TIMEOUT 75
CONNECT
------------------

            九 忘记Linux密码怎么办

如果忘记了Linux密码,这时有两种情况,一种是用LILO管理器来启动的,另一种是不通过LILO启动的。如果你的系统是通过LILO管理器来启动的,可在LILO启动提示符LILO boot:后输入Linux single,而后回车启动Linux系统进入单用户模式,这时,就可以用passwd命令来修改你的密码了,修改完后重新启动系统,就可以使用新的密码了。以上方法在中文Turbo Linux 3.0.2下通过,但在Slackware Linux下不能通过。如果是第二种情况,修改密码就麻烦一些。Linux的技术资料介绍和目前有关媒体发表的局域网,都说在这种情况下必须从新安装Linux系统。经过笔者的反复摸索,发现用以下方法可以清除Linux的密码:用Linux boot软盘启动,当出现LILO boot:提示符时,输入linux mount=/dev/xxxx,其中xxxx为Linux所在的分区,IDE硬盘的设备名为hda,第一分区为hda1,如果你的系统有两个IDE硬盘,第二个为hdb;如果你使用的是SCSI硬盘,则硬盘的设备名为sda。正确输入硬盘的设备及分区号后启动Linux,系统自动将Linux的分区mount到/mnt下,这时,只要进入到/mnt/etc下,用vi命令将passwd文件中root行中的密码去掉,重新引导系统后,在超级用户下执行passwd命令,重新生成一个密码即可。具体修改位置如下:

root:SDFTYUIIOO34G :0:0root:/root:/bin/bash

----将带下划线部分的内容删掉后存盘,即可使系统没有密码。如果你的系统拥有passwd和shadow两个文件,需要修改的密码文件则是/etc下的shadow,它是passwd的一个映象,是真正存放密码的文件。

----如果你的Linux系统是其它版本,不能识别linux mount=/dev/xxxx,也可使用以下通用方法解决:目前各个版本的Linux都随盘发行有应急引导盘,一般有两张,一张是boot盘,另一张是root盘,这两张盘的命名,各个版本基本都差不多,前面几个字符是rescxxxx,后缀是img或gz。我所见到的是:rescboot.img、rescroot.img。找到这两张盘后,使用随盘发行的IMG文件写盘命令rawrite.exe将rescboot.img、rescroot.img两个文件分别写入两张软盘,而后用这两张软盘将Linux引导起来。引导起来后,在超级用户下执行:mount/dev/xxxx/mnt(xxxx的解释同上述)

#cd/mnt

vi/mnt/etc/passwd

----将超级用户密码删除,删除方法同上。如果你的系统同时拥有passwd和shadow两个文件,仅修改shadow一个文件即可解决问题。以下是shadow密码文件root行的实际情况:root:Aan3DFTUYOEMF3 :9804:0:::::

----用vi修改时,只须将带下划线部分删除掉即可删除密码。


          十 用比较法学Linux基本命令
随着中文版的Linux的诞生,Linux这个诞生于网络,发展于网络的开放式操作系统已经步入我们的世界,它是由芬兰大学生Linus Torvalds于1991年基于Unix系统开发的,并经众多爱好者、公司的努力和支持已经成熟、壮大起来了。它具有Unix系统的可靠性、稳定性、多任务性以及强大的网络功能,吸引了广大电脑爱好者。为使大家能更好、更快地熟悉、深入到Linux系统中来,将Linux的基本操作与我们所熟悉的DOS操作中相似的命令比较,从以下几方面进行基本命令的学习:

---- 一、基础知识

---- 1.开机进入

---- Linux系统的开机同正常的DOS、Windows开关机顺序相同。若是多操作系统则在LILO boot:后输入Linux,就可进入Linux的注册提示符Login:,在其后输入用户名,在口令提示符password:输入口令,注册正确后,可进入相应的用户环境。如输入:root,及其密码,可进入超级用户环境#,输入其他用户名及口令,可进入该用户环境$。

---- 2.关机退出

---- 在超级用户提示符#下输入halt(立即关机)或shutdown time(延迟time分后关机,给各用户每隔一段时间发出还有多长时间将关机的警告)后, 计算机将进行一系列的关机工作,最后出现System halt,就是关机结束,可以关闭电源了。非超级用户则需用exit退出操作环境,再进入超级用户环境,方可进行关机工作。

---- 3.命令操作注意事项

---- 在Linux中有一些与DOS不完全相同的地方,见下表:

DOS Linux
命令行字母 不区分大小写 区分大小写
提示符      >         #、$
路径分隔符       /
通配符      *、?      *、?、[]


---- 在Linux系统中,超级用户的系统提示符是#,一般情况下普通用户的系统提示符是$,普通用户的系统提示符也同DOS一样可以进行更改。通配符中*与?的含义是一样的,[]是仅包括括号内的符号,连续的符号可用“-”连接首尾的符号代替,如[12345678]可以用[1-8]代替,[abcdefijk]可用[a-fi-j]表示。
---- 4.文件类型

---- 与DOS、Windows不同的是,在Linux系统中,目录和设备都被视为文件,共有四种文件类型,它们是:⑴普通文件,即我们通常所说的文件,在长列目录方式时行首前用一符号“-”表示。⑵目录文件,即我们通常所说的目录,在长列目录方式时行用首前用一字母“d”表示。⑶字符设备文件,如显示器、打印机、终端等,在长列目录方式时行首前用一字母 “c”表示。⑷块设备文件,如硬盘、软盘、光盘在长列目录方式时行首前用一字母“b”表示。

---- 在Linux中用长格式列目录命令ls -l时,如下例:

---- 文件类型

  -rwxrw-r-- 5 user group 1089
Nov 18 1998 filename
存取权    用户  组名  
字节数 最后修改时间  文件名

---- 大家对DOS下的8.3格式的文件名都一定很熟悉了,由于它的表达能力有限,所以在Windows95之后加入了长文件名支持,Linux继承了UNIX的优点,也可以用长长的一串字符作文件名。但是在Linux中文件类型可不像在DOS下那样容易从文件的扩展名上了解到,在DOS下的可执行文件的扩展名为com或exe,而在Linux中只能通过文件属性得知,采用命令ls –F可区分目录和文件,在目录后有“/”符号,可执行文件后有“*”符号,用ls –aF可见所有的文件和目录列出,包括隐藏的文件和目录,隐藏文件的文件名以点号“.”开头。
---- 5.读取权限

---- 在Linux中,文件的主人即所有者,其他使用者分别称为同组者、其他人,为保证各用户文件的安全,Linux同UNIX一样通过限制某些用户对文件的随意存取。共有三个级别的存取权:读权r、写权w、执行权x。在存取权中共有九个字符的位置其顺序是:所有者、同组人、其他人。在上例中分别表示:主人对文件拥有读写权和执行权,同组人对文件拥有读写权、其他人对文件只拥有读权。

---- 6.获取在线帮助命令

---- 在Linux中有一条专门用于取得在线帮助的命令man ,其使用方式为# man command。man有一套它自己的命令,通常由单个键组成,按空格键和F键将翻到下一页,按B键翻到上一页,按Q键退出man工具,回到命令行。掌握了以上的基础知识,结合熟知的DOS命令进行比较,对于学习Linux的基本命令就可以很快地运用自如,为进一步深入学习Linux打下深厚的基础.。

---- 二、文件管理和目录操作

---- 与DOS、Windows一样,在Linux中也有许多关于文件管理和目录操作方面的命令,对二者的主要命令列表如下:

---- 1.文件管理

功能 DOS Linux 注意事项
显示文件内容 type、more cat 、more type、cat
是全部显示,more是分页显示
打印文件 print lpr
拷贝文件 copy cp
移动文件及改名 move mv
删除文件 del, erase rm

---- 2.目录操作
  功能 DOS Linux 注意事项
列目录及文件 dir/选项 ls –选项
在Linux中cd/直接返回登录时的目录而不是根目录,
显示工作目录 cd pwd
变更工作目录 cd目录 cd/目录
建立目录 md,mkdir mkdir
删除目录 rd,rmdir rmdir
目录更名 move mv
拷贝目录 xcopy copy

---- 在二者中,命令的格式都是一样的,只是选项、参数不相同而已,也可以进行组合操作,具体运用时可使用帮助命令,只不过Linux的命令的功能更为强大,据记载DOS中的不少命令都是借鉴UNIX而来的,而Linux正是居于UNIX发展起来的,这也是二者有着几乎相同的命令和格式的原因之一。
---- 三、软、硬盘及光驱的使用

---- 1.软、硬盘及光驱的使用

---- 在Linux中对其他硬盘逻辑分区、软盘,光盘的使用与我们通常在DOS与Windows中的使用方法是不一样的,不能直接访问,因为在Linux中它们都被视为文件,因此在访问使用前必须使用装载命令mount将它们装载到系统的/mnt目录中来,使用结束,必须进行卸载。命令格式如下:

mount –t 文件系统类型 设备名 装载目录

文件类型常用的有:
msdos  dos分区文件
ext2   Linux的文件系统
swap   Linux swap分区或swap文件
iso9660  安装CD-ROM的文件系统
vfat   支持长文件名的dos分区
hpfs   OS/2分区文件系统

---- 设备名是指要装载的设备的名称,如软盘、硬盘、光盘等,软盘一般为/dev/fd0 fd1,硬盘一般为/dev/hda hdb ,硬盘逻辑分区一般为期hda1 hda2…等等,光盘一般为/dev/hdc。在装载前一般要在/dev/mnt目录下建立一个空的目录,如软盘为floppy,硬盘分区为其盘符如c、d等等,光盘为cd-rom,使用命令:
mount –t msdos /dev/fd0 /mnt/floppy
  装载一个mddos格式的软盘
mount –t ext2 /dev/fd0 /mnt/floppy  
  装载一个Linux格式的软盘
mount –t vfat /dev/hda1 /mnt/c    
  装载Windows98格式的硬盘分区
mount –t iso9660 /dev/hdc /mnt/cd-rom
装载一个光盘

---- 装载完成之后便可对该目录进行操作,在使用新的软盘及光盘前必须退出该目录,使用卸载命令进行卸载,方可使用新的软盘及光盘,否则系统不会承认该软盘的,光盘在卸载前是不能用光驱面板前的弹出键退出的。
---- 2.格式化命令mkfs

---- 格式化软盘时不需事先安装空盘,只需将软盘放入软驱中,使用如下命令,便可格式化一张在Linux中使用的软盘:

#mkfs –t ext2 /dev/fd0 1440

---- 在熟悉以上基本命令之后,就可以进行其他命令的进一步学习,例如:文件编辑软件vi,存取权限的修改,检查修复文件系统,增减用户及修改密码,安装其他Linux文件,及一些Linux的实用工具软件,建立x-Windows图形界面,利用Linux上网等等,来增加对Linux的感性认识。
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值