关于tomcat的部署一个让我郁闷了一天的问题

在编写JSP程序的时候,将jsp+servlet发布的服务器选用tomcat,遇到很多问题,网上关于tomcat的文章找了很久才找到一篇讲tomcat动态发布的,觉得不错,贴出来大家看看.

Tomcat4中的部署方式:

1 部署Web应用程序的方法:

1.1 WAR方式

将应用程序包含的jsp、servlet等文件包装成一个单个的、自包含的WAR文件。WAR文件是一个JAR文件,其中包含了特殊的目录和位于他的/Web-INF目录中的web.xml文件。其结构举例如下:

hello.jsp

META-INF/

           MANIFEST.MF

Web-INF/

           web.xml

           classes/

                    example/helloWorld.class

           lib/

                    xxx.jar

创建WAR文件的最容易的方法就是,首先在开发环境中创建相应于WAR结构的目录结构。然后,创建WAR所要做的工作就是在WAR的根目录中执行下面的命令。注意,其中排除了.java源文件,它是WAR文件中不必要的内容,并且在试图部署WAR时可能会带来问题:

Jar ?cvf hello.war META-INF/MANIFEST.MF Web-INF/classes/example/*.class Web-INF/web.xml *.jsp

将WAR文件拷贝到$CATALINA_HOME/webapps目录中。当Tomcat启动时,它

就会自动对WAR文件进行解包,并且创建这个应用程序,应用程序的名字(和上下文路径Context Path)为WAR文件的名称。在这里不需要对系统或者服务器路径做任何的改动。

注意:如果在Tomcat已经启动好以后,放置WAR文件到webapps目录,则Tomcat无法动态

部署这个Web应用程序,需要重启Tomcat。 如果虚拟主机的liveDeploy属性为true就不用了。

1.2扩展目录方式

此种部署方式的优点是,当对jsp进行了修改时不必重启Tomcat,并且不必在每次修改时都要去重新建立归档文件,而且在准备好进行软件分发时也很容易地创建WAR文件。

    在server.xml文件中加入如下代码,该文件位于$CATALINA_HOME/conf目录中。

    <Context path=”/hello” docBase=”<path to root of war>” debug=”0”

              reloadable="true" crossContext="true" />

    <path to root of war>是一个按照使用的操作系统的目录惯例的绝对路径,并且不必是位于Tomcat的目录树下面。作者把这个WAR部署到Windows中,使用的是docBase=”d: lymacy”,而在Unix中,所使用的docBase=”/export/home/macy”。

注意,Tomcat要求对Windows的路径使用单个反斜杠。

______________________________________________________________________________________________

答6:

Tomcat5中的部署方式:

1 应用程序部署器(Deployer)

程序员朋友不要以为这是什么全新的东西,其实以前的版本就已经有了,只不过在Tomcat4中没有提出这个概念,且它的功能被分散在各个组件中,给人的感觉是比较支离破碎的。于是乎,在Tomcat5中对其进行了包装和增强,提出了Deployer这个逻辑概念,用于集中表示应用程序部署和发布功能。Tomcat5对其的主要改进就是进行了一些优化,增强了动态部署的功能,减少了重启Tomcat的次数,增强了服务器的健壮性和可靠性。

Deployer提供的主要功能就是静态(在tomcat启动之前)或者动态(在Tomcat运行以后)进行Web应用程序的部署和删除,在某些情况下Deployer需要和Manager管理工具联合使用。

1.1 Context descriptors

这个也不是新东西了,Tomcat4中的Manager和Admin管理工具其实就是利用它来部署的。在Tomcat5中提出了Context descriptor这个概念,且为其配置了一个专有目录,而不像Tomcat4那样大杂烩一般地放置在$appBase目录下。既然了有了名分,当然要为其单独配置一个目录才能显其身份:)

Context descriptor是一个只包含Context元素的xml格式的部署文件,其中Context元素与server.xml中的Context元素配置相同。对于一个给定的主机,Context descriptor放置在$CATALINA_HOME/conf/[enginename]/[hostname]/目录下面。Tomcat5默认安装时,在$CATALINA_HOMEconfCatalinalocalhost目录中有admin.xml和manager.xml,是两个管理工具的部署描述符文件。而这两个文件在Tomcat4中是放置在$CATALINA_HOME/webapps目录下面的。呵呵。。。果然是换汤不换药啊:)

注意事项:context descriptor的文件名可以与Web应用程序名无关,但是Tomcat在部署这个应用程序的时候所创建的程序运行上下文(Context)的名称是与Web应用程序名称匹配的。

   

1.2 静态部署

静态部署是指在Tomcat运行之前就把相关的Web应用程序放置到合适的目录,在Tomcat启动的时候自动来部署这些应用程序。

如果"deployOnStartup"属性值为true,那么在Tomcat启动时,在$appBase目录下的web应用程序将被自动部署。部署的过程如下:

? Context元素声明的Web应用程序将被首先部署,这包括server.xml和context descriptor文件中的Context元素所指的应用程序;

? 部署扩展目录形式的Web应用程序;

? 部署WAR形式的Web应用程序;

Tomcat5对于静态方式的部署的增强主要就是:

1、对于context descriptor方式的应用程序的部署。

2、如果扩展目录方式的应用程序对应有一个WAR文件,且WAR是更新过的,扩展目录将被自动删除,Web应用程序将被从WAR文件中重新部署。而在Tomcat4中,即使WAR文件已更新也无法被重新部署,仍然会使用旧的扩展目录方式的Web应用程序,除非你自己手动删除目录,记得还要重启Tomcat哦。这么麻烦?(#@($)#*$),看来还是Tomcat5好啊:)

1.3 动态部署

动态部署是指在Tomcat已经运行以后在不重启服务器的情况下部署应用程序的方式。

如果虚拟主机的"autoDeploy"属性值为true,则主机会在需要的时候试图去部署和更新应用程序。这是由虚拟主机在后台运行的一个负责自动加载的处理线程来完成的,它的工作流程如下:

1、部署新放入$appBase目录的War方式的应用程序。

2、部署新放入$appBase目录的扩展目录方式的应用程序。

3、如果一个扩展目录方式的应用程序对应的War文件更新了,则删除此目录,从War文件中重新解开并部署。如果”unpackWARs”属性值为false,则不解开,从War文件中直接运行。(记住:不用自己删除扩展目录,也不用重启服务器)

4、如果应用程序的/WEB-INF/web.xml文件被改变,则重新部署这个应用。

5、如果应用程序对应的Context元素配置发生了改变,则重新部署这个应用。这包括server.xml或者上下文描述符文件中的Context元素。

6、如果$CATALINA_HOME/conf/[enginename]/[hostname]/目录下增加了上下文描述符文件,则重新部署这个应用。

看来Tomcat5在动态部署上花费了不少功夫,其中的亮点主要就是如果我们修改了web.xml、server.xml配置文件,增加了上下文描述符文件,动态更新了War文件时都可以实现应用程序的自动部署和更新,而不用重新启动Tomcat服务器,在Tomcat4中都是必须重新启动服务器的,这是一个非常喜人的变化。毕竟在对服务器的健壮性和可靠性要求越来越高的今天,重启服务器都是一件令我们非常头疼的一件事情。以后终于可以挺直腰杆对客户说“这回坚决不用重启服务器!”嘿嘿。。。幸福啊!

1.4 用Client Deployer工具包部署

    这个才是Tomcat5中名副其实的创新,它是一个全新的部署器。

client deployer是一个集验证、编译、部署功能与一体的工具包。它使用Ant来实现应用程序的自动化验证和编译,使用Manager管理工具来实现应用程序的自动化部署。

这个工具包包含:Catalina Ant工具、Jasper编译器(用于将jsp编译为servlet)、应用程序验证工具(validator task)。默认的验证工具的实现类是org.apache.catalina.ant.ValidatorTask,它只允许以扩展目录的文件路径作为唯一的参数。

此部署工具包使用一个事先写好的Ant脚本,包含如下一些目标(target):

? compile (默认):用于验证和编译Web应用程序。它可以在不启动Tomcat的情况下被单独使用。由于使用的是新的Jasper编译器的缘故,编译后的应用程序将只能在Tomcat 5.X版本上使用。需要提醒的是,不光是jsp文件被编译为servlet, 应用程序的/WEB-INF/classes目录下的Java源文件也将被同时编译为class文件。

? deploy:将Web应用程序部署到Tomcat服务器中。

? undeploy:从服务器中解除部署已经部署的某个应用程序。

? start:启动Web应用程序

? reload:重新加载Web应用程序

? stop:停止Web应用程序

以下是Ant脚本中的一些重要属性:

? build:编译以后的文件默认放置在${build}/webapp${path}。编译目标执行完以后,生成了应用程序的War —— ${build}/webapp${path}.war.

? webapp:放置需要被验证和编译的Web应用程序(扩展目录方式)的文件路径。默认值为”myapp”。

? path:Web应用程序部署后对应的运行上下文的路径默认是”/myapp“。

? url:放置Manager管理工具的绝对路径,它被部署工具包用来部署和解除部署应用程序。默认情况下,部署器将试图使用http://localhost:8080/manager访问本机的Manager管理工具。

? username:可以使用Manager管理工具的超级用户的用户名。

? Password:超级用户的密码。

至此,Tomcat5中神秘的部署器就讲完了,大家是不是已经对它发生了浓厚的兴趣呢?那就动手去试一下吧!尽管朝$appBase目录下扔你心爱的程序吧,Tomcat5会马上让他们欢快地跑起来。速度真的比Tomcat4快多了,一种冲浪的感觉:)

 

 

 

本文章引用通告地址(TrackBack Ping URL)为:

http://blog.zol.com.cn/portal/personShowArticle.do?articleId= 18829 

强烈推荐一本很不错的linux电子教程

我的第一感觉是:实用、精髓、全面。很适合像我这样的初学者入门,也可以作为一本工具手册。待我看完这本书再发表一下对它的看法。

这里是它的目录:


Linux Tutorial

郑重声明:本书所有资料均来自互联网,由TSE整理,zcell及骨锋修改

本教程为自由软件,遵循GNU精神,你可以免费下载并传播,版权所有,翻版不究

TSE(谢志坚)

QQ : 22922648

Rocklion@163.com

http://xiezhijian.icpcn.com

Where there is a will,there is a way!!!

有志者,事竟成,破釜沉舟,百二秦关终属楚

苦心人,天不负,卧薪尝胆,三千越甲可吞吴

推荐几个学习Linux的网址

http://www.linuxsir.org

http://www.linuxfans.org

http://www.linuxeden.com

http://www.chinaunix.net

目 录

感 谢 1

目 录 2

第一章 LINUX基础知识 5

硬盘 5

SWAP交换分区 6

分区格式 6

目录名称 意义 7

第二章 LINUX安装 7 第三章 Linux基本使用命令(基本篇) 10

1. LS 列出文件和目录的命令 10

2. CD 和 MKDIR 以及 RM 11

3. MV 改变文件名和目录名的命令 12

4. NANO 和 VI编辑文件的命令 和 CAT 以及 MORE显示文本文件 13

5. 最重要的命令:HALT REBOOT 关机和重新启动命令 14

第四章 X的配置 15

第五章 LINUX命令和技巧 19

1. MOUNT UMOUNT 命令 19

2. 管道命令 20

1) ls 22

2) cd 22

3) rm 22

4) cp 22

5) echo 22

6) export 23

7) find 23

8) grep 23

9) lynx 23

系列教材一 24

GNU通用公共许可证 24

LINUX安装的几点经验 29

一,exe2文件系统 30

二,创建和管理文件系统 30

三,日志文件系统reiserfs 32

Linux系统安装前的准备工作 34

Linux与其他操作系统的区别 35

UNIX系统发展史 36

一、Multics计划 36

二、UNIX系统的萌芽 36

三、UNIX系统的发展 37

四、UNIX系统最重要的分支----BSD UNIX 38

五、纯UNIX系统----System V 38

六、UNIX系统的商业化 39

七、UNIX系统标准 39

操作系统简述 39

一、计算机软件与操作系统 39

二、操作系统诞生的原因 40

三、什么是操作系统 40

四、操作系统发展历史 41

五、操作系统构成 42

六、操作系统结构设计 42

七、操作系统横向比较 43

常见LINUX介绍 43

(1)Red Hat http://www.redhat.com 44

(2)Slackware http://www.cdrom.com 44

(3)Debian http://www.debian.org 44

(4)SuSE http://www.suse.com 44

(5)OpenLinux http://www.caldera.com 45

(6)TurboLinux http://www.pacific.com 45

(7)Red Flag http://www.redflag-linux.com 45

(8)Mandarke Linux 45

(9)BluePoint Linux 45

关于开放源代码的定义 46

1. 自由地再发布 46

2. 源代码 46

3. 派生作品 46

4. 作者的源代码的完整性 46

5. 不得歧视任何个人或团体 46

6. 不得歧视任何应用领域(fields of endeavor) 47

7. 许可证的发布 47

8. 许可证不能针对于一个产品 47

9. 许可证不能影响其它软件 47

如何通过搜索找到你想要的ISO 50

什么是LINUX 51

提问的艺术 52

系列教材二 54

GRUB三步通 54

LINUX INIT详解 59

LINUX常用命令索引 62

一. Bootloader 80

二.Kernel引导入口 82

四.外设初始化--内核引导第二部分 83

五.init进程和inittab引导指令 85

六.rc启动脚本 86

七.getty和login 86

LINUX文件格式简介 88

LINUX下软件安装方法 95

一、安装简便的RPM包 95

二、安装需要编译的.tar.gz包 96

一、图形界面下安装.tar.gz包 98

LINUX与其他操作系统的区别 99

LINUX完全汉化汉化 101

LINUX完全安装手册 104

VI的使用 112

从初学者到编程高手,几种必学的编程语言 114

文件与目录操作 115

系列教材三 119

01.常用命令集一 120

01.使用技巧集一 189

02.使用技巧集二 190

03.使用技巧集三 192

04.使用技巧集四 194

05.使用技巧集五 197

06.使用技巧集六 202

07.RPM命令手册 213

08.RPM升级篇 217

09.RPM之安装篇 221

10.RPM之认识篇 233

11.安装RPM包快速应急手册 235

问题集(FAQS) 237

FTP的命令行格式 237

GRUB初级指南 241

GRUB三步通 244

LINUX 常见问题1000个详细解答 250

LINUX 挂载文件系统 268

LINUX 使用技巧集锦(二) 270

LINUX 使用技巧集锦(一) 273

LINUX 下访问别的分区 275

LINUX常用命令简介 277

LINUX的目录树 280

LINUX各项系统开机服务的功能是什么 281

LINUX关机命令详解 285

LINUX技巧33条 286

LINUX文件格式简介 293

LINUX系统命令(网络通信) 303

LINUX下各种分区的自动挂载和卸载 324

LINUX下其它格式文件系统的自动挂装 325

LINUX下软件安装方法 327

LINUX怎么安装东西 333

LINUX指令 336

LINUX指令大全 373

REDHAT9基于 NFS 的安装方法 424

REDHAT9上ADSL最终解决方案 425

RPM命令参数列表 427

VI编辑器的基本使用方法 428

VMWARE 安装REDHAT 新手教程 435

安装GRUB 437

常用配置 443

进程管理及作业控制 448

命令大集合 461

设置和修改X-WINDOW的显示模式 595

文件管理命令详解 602

系统安装FAQ和问题索引 622

一句话问答--LINUX常见问题 627

在LINUX中共享WINDOWS系统资源 636

(1)装载(mount) 636

(2)装载实例 637

做张GRUB启动盘 640

FC4硬盘安装笔记 641

你可以下载这本电子书:

1、本地下载:

附件:LinuxTutorial.pdf,5924253 bytes

2、本文件转载处下载:

附件:LinuxTutorial.pdf,5924253 bytes

要对linux的基础知识作一个基本的学习

  既然我打算把linux系统作为我的个人日常使用平台,我就得把学习linux操作系统当一回事。

  在解决我的sedY890手机在redhat linux9.0下认不到的过程中,我感觉到了自己的linux操作系统基础知识的缺乏。例如:各个主要配置文件的作用,内核的编译、内核编译过程中选项的意思,linux的启动与日常的软件维护。

  我发现单单靠去心里没底的实践来掌握linux的使用可能要走弯路。那么,就让我掌握那20%的基础知识,来获得80%的使用效果吧!

  我发现在http://www.matrix.org.cn上的linux知识比较对我的口味,这段时间就以这个论坛的浏览为主、再结合我买的那本盗版的linux书为辅来进行基础知识的补充吧。

  今天,认真读了一篇入门文章:Linux爱好者入门教程(随时更新)!! ,不错。本想转载的,太长了。列一个特征段,保证以后可以在网上找到这篇文章:

  


为了保证文章的完整性,简单说说目录吧,其实大家都很清楚的。如果我们把数以万计的水果扔在一个箩筐里面是不是很难找?但是如果我们把苹果放在叫做苹果的箩筐里面,把梨放在叫做梨的箩筐里面……这样是不是大大简化了我们寻找指定水果的速度?这些水果如果是我们的文件,那么我们用的箩筐就叫目录。新的问题出现了,即使把桃子扔在叫做桃子的箩筐中,我们仍然很难从好几千个桃子里面找出来自四川成都龙泉驿的桃子啊。聪明的你一定想到在桃子的箩筐中再放入很多叫做四川啊,河北啊,广州啊这些名字的箩筐,把不同产地的桃子放进去。对!就这样!我们在一个文件目录下面可以再建立新的文件目录,把文件进行非常细致的管理。到这里你明白了什么叫做目录,还明白了目录是可以嵌套的,这就可以了。目录技术是从软件的基础上对资源进行管理的方法。

 

  嘿嘿,作者好像是四川的老乡呢。

  从今天的浏览我得出一个结论,要想掌握linux,必须先从文本模式开始学习。就像我学java从ultraedit文本编辑器开始同样的道理。我要拿出初学java时的态度来掌握linux。能力是其次的,态度才是关键所在!

国产blog程序的一些不合理设计(转)

转自:http://www.hackhome.com/2005/7-28/15393891660.shtml

转载者前言:学习日记也算是一个类似blog的程序,这篇文章总结的几点很有思考意义。

正文:

国产blog程序的一些不合理设计

 

发表时间:2005-7-28 15:39:38 作者: 来源: 编辑:

1. 评论验证码;

不是太容易看懂就是太不容易看懂, 而且真有要人要贴垃圾广告它也阻止不了, 所以我一直觉得它是个可有可无的东西. 最近我改用opera, 发现有些asp做的blog生成的验证码是bmp格式的, 看不到验证码, 它不让我留言了~

2. 时区问题;

多数是不能设置时区, 还有一些是可以设置但是时间没有相应变化. 使这些程序就只能放在使用东八时的服务器上.

3. "隐藏日志";

既然是不想让别人看到的东西, 为什么还要显示出来. 寒~~

4. 不支持流行的浏览器;

不支持opera就算了, 连firefox都没法看. 有些firefox下一团糟的blog居然还有spreadfirefox的小按钮, 靠 >_<#

5. 号称附合标准;

XHTML Valid, CSS Valid, RSS Valid, ATOM Valid, RDF Valid... 真牛啊, 但是点开一看, 没几样是 Valid 的. 不如再放上 ISO, CE, FCC, NASA 等等的图标, 那才够噱头嘛.

本站评:

    其实日志做为一个载体,也可以做的简单也可以做的复杂,毕竟是我们自己的东西,只要自己看的舒服,别人看的还行就可以了,至于弄成什么样,还是由我们自己做主好了,至于以上五条我看有的对有的不能做为标准来衡量。

包含各种操作系统的、非常全面的文件扩展名一览表(转)

转自:http://www.hackhome.com/2005/12-2/17282162707.shtml

转载者前言:

有时看到一个文件,根本不知道用什么软件去打开,这里转载一篇文件扩展名汇总,据我的经验,这篇汇总非常全面,各种操作系统的、古老的,一网打尽,向整理出这个一览表的朋友致敬!

正文:

文件扩展名一览表

 

 

发表时间:2005-12-2 17:28:21 作者: 来源: 编辑:

 

 

 

 

 

ACA  Microsoft的代理使用的角色文档 acf 系统管理配置 acm 音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能

aif  声音文件,支持压缩,可以使用Windows Media Player和QuickTime Player播放

AIF  音频文件,使用Windows Media Player播放

AIFC  音频文件,使用Windows Media Player播放

AIFF  音频文件,使用Windows Media Player播放

ani  动画光标文件扩展名,例如动画沙漏。

ans  ASCII字符图形动画文件

arc  一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开

arj  压缩文件。可以使用WinZip,WinRAR,PKARC等软件打开

asf  微软的媒体播放器支持的视频流,可以使用Windows Media Player播放

asp  微软的视频流文件,可以使用Windows Media Player打开

asp  微软提出的Active Server Page,是服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。可以使用Visual InterDev编写,是目前的大热门

asx  Windows Media 媒体文件的快捷方式

au  是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件

avi  一种使用Microsoft RIFF规范的Windows多媒体文件格式,用于存储声音和移动的图片

bak  备份文件,一般是被自动或是通过命令创建的辅助文件,它包含某个文件的最近一个版本,并且具有于该文件相同的文件名

bas  Basic 语言源程序文件,可编译成可执行文件,目前使用Basic开发系统的是Visual Basic

bat  批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用

bbs  电子告示板系统文章信息文件

bfc  Windows的公文包文件

bin  二进制文件,其用途依系统或应用而定

bmp  Bitmap位图文件,这是微软公司开发Paint的自身格式,可以被多种Windows和Windows NT平台及许多应用程序支持,支持32位颜色,用于为Windows界面创建图标的资源文件格式。

c  C 语言源程序文件,在C语言编译程序下编译使用

cab  Microsoft制订的压缩包格式,常用于软件的安装程序,使用Windows自带的实用程序,Extract.exe可以对其解压缩,WinZip,WinRAR等都支持这种格式

cal  Windows 中的日历文件

cdf  Internet Explorer的频道文件

cdr  CorelDraw中的一种图形文件格式,它是所有CorelDraw应用程序中均能够使用的一种图形图像文件格式

cdx  索引文件,存在于Dbase,Foxbase,Foxpro系统软件环境下

cfg  配置文件,系统或应用软件用于进行配置自己功能,特性的文件

chm  编译过后的HTML文件,常用于制作帮助文件和电子文档

clp  在Windows下剪贴板中的文件格式

cmd  用于Windows NT/2000的批处理文件,其实与BAT文件功能相同,只是为了与DOS/Windows 9x下的BAT有所区别

cmf  声卡标准的音乐文件,FM合成器等可以回放

cnf  NetMeetting会议连接文件

cnt  联机帮助文件目录索引文件,通常和同名的.hlp文件一起保存

col  由Autodesk Animator,Autodesk Animator Por等程序创建的一种调色板文件格式,其中存储的是调色板中各种项目的RGB值

com  DOS可执行命令文件,一般小于64KB

cpl  控制面板扩展文件,Windows操作系统使用

cpp  C++语言源程序,非常强大的语言,在各种平台中都有相应的开发系统

crd  Windows中的卡片文件

crt  用于安全方面的证书认证文件

cur  Windows下的光标资源文件格式,可用光标编辑软件编辑

css  Text/css文件

dat  数据文件,在应用程序中使用

dat  VCD中的图象声音文件,VCD播放软件可调用,或是通过VCD机播放

dbf  数据库文件,Foxbase,Dbase,Visual FoxPro,等数据库处理系统所产生的数据库文件

dcx  传真浏览文档文件

ddi  映象文件,DUP,HD,IMG等工具可展开

dev  设备驱动程序

dib  设备无关位图文件,这是一种文件格式,其目的是为了保证用某个应用程序创建的位图图形可以被其它应用程序装载或显示一样

dir  目录文件

dll  Windows动态连接库,几乎无处不在,但有时由于不同版本DLL冲突会造成败各种各样的问踢

doc  是目前市场占有率最高的办公室软件Microsoft Office中的字处理软件Word创建的文档

dos  Windows保留的MS-DOS的某些系统文件

dot  Microsoft Word的文档模板文件,通过模板可以简化一些常用格式文档的创建工作,而且可以内嵌VBA程序来实现某些自动化功能

drv  设备驱动程序文件,用在各种系统中

dwg  AutoCAD的图纸文件,也是许多绘图软件都支持的格式,常用于共享数据

dxb  AutoCAD创建的一中图形文件格式

dxf  图形交换格式,一种计算机辅助设计的文件格式,最初开发用来与AutoCAD一起使用,以便于图形文件在应用程序之间的传递,它以ASCII方式储存图形,在表现图形的大小方面十分精确

der  Certiticate文件

dic  Txt文件

emf  由Microsoft公司开发的Windows 32位扩展图元文件格式,其总体设计目标是要彌补在Microsoft Windows 3.1(Win16)中用的*.wmf文件格式的不足,使得图元文件更加易于使用

eps  用PostScript语言描述的一种图形文件格式,以文本文件保存,在PostScript图形打印机上能打印出高品质的图形图象,最高能表示32位图形图象

err  编译错误文件,存在于Dbase,Foxbase,Foxpro系列软件环境下

exe  可执行文件,虽然后缀名相同,但具有不同的格式和版本

exp  3DS使用的显示卡驱动程序

exc  Txt文件

flc  Autodesk Animator和Animatorpro的动画文件,支持256色,最大的图象象索是64000*64000,支持压缩,广泛用于动画图形中的动画序列,计算机辅助设计和计算机游戏应用程序

fnd  保存的搜索结果

fon  点阵字库文件

for  Fortran语言程序

fot  指向字体的快捷键

fp  配置文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

fpt  备注字段文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

frt  报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

frx  报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

fxp  编译后的程序,存在于Dbase,Foxbase,Foxpro系列软件的环境下

gif  在各种平台的各种图形处理软件上均能够处理的,经过压缩的一种图形文件格式

grh  方正公司的图象排版文件

grp  Windows下的程序管理器产生的组窗口文件

goc  Gocserve

gra  MSGraph.Chart.5

h  C语言源程序头文件

hlp  Windows应用程序帮助文件

hqx  Macintosh中使用BinHex将二进制文件编码为7位的文本文件,大多数Macintosh文件皆以.hqx出现(.bin极少使用),在Macintosh中,可使用StuffIt Expander对.hqx解码,在Windows中可使用BinHex 13解码

ht  超级终端

htm  保存超文本描述语言的文本文件,用于描述各种各样的网页,使用各种浏览器打开

html  同.htm文件

icm  图象配色描述文件

ico  Windows中的图标文件,可以包含同一个图标的多种格式,使用图标编辑软件创建

idf  MIDI乐器定义

idx  索引文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

iff  文件交换格式文件,这种文件格式多用于Amiga平台,在这种平台上它几乎可以存储各种类型的数据,在其它平台上,IFF文件格式多用于存储图象和声音文件

image  MAcintosh磁盘映象文件,常见于萍果机的FTP网点,在Macintosh中由Shrink Wrap处理

ime  Windows下的输入法文件

img  磁盘映象文件,用HD-COPY,WinImage等工具打开后可以恢复到一张磁盘上

inc  汇编语言包含文件,类似C/C++中的.H文件

inf  Windows下的软件安装信息,Windows的标准安装程序根据此文件内的安装信息对软件,驱动程序等进行安装

ini  Windows中的初始化信息文件,已经用的不多了,新的应用程序将设置保存在系统的注册表中

jar  一种压缩文件,ARJ的新版本,不过不太流行,可以使用WinJar,Winrar等打开

jpeg  一种图片压缩文件,同.jpg

jpg  静态图象专家组制订的静态图象压缩标准,具有很高的压缩比,使用非常广泛,可使用PhotoShop等图象处理软件创建

lnk  快捷方式,这个文件指向另一个文件,开始菜单的程序文件夹下每条项目都是一个LNK文件

log  日志文件,通常用来记录一些事件之类

lzh  一种古老的压缩文件,可以使用WinRAR打开

mac  Macintosh中使用的一中灰度图形文件格式,在Macintosh Paintbrush中使用,其分辨率只能是720*567

mag  图形文件格式

mdb  Microsoft Access使用的数据库格式,是非常流行的桌面数据库

men  内存应用文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下

mid  音频压缩文件,曾经非常流行,不过在现在的软件中用的很少了

mif  MIDI乐器

mov  使用Apple's QuickTime格式的电影文件,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等软件播放,在Windows中可由Quicktime播放

movie  QuickTime或苹果机的影视格式,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等软件播放,在Windows中可由QuickTime播放

mp3  采用MPEG-1 Layout 3标准压缩的音频文件,是网上主要的压缩音频文件,这种文件由于具有极高的压缩率和失真低的特点,是目前音乐盗版的主要文件格式,但目前受到VQF,WMA等新标准的挑战

mpg  采用MPEG-1标准压缩的视频文件,与VCD使用的格式非常相近,提供CD质量的音频信号和320*240的视频分辩率,目前的媒体播放软件大都能播放,Microsoft的WMV8和MPEG-4压缩的AVI文件是其强大的竞争对手

mpt  Macintosh中使用的一种图形文件格式

msg  Microsoft邮件文档

obj  对象代码

ovl  由于软件功能多,内存偏小,不能一次性全部调入内存的可执行文件可能有同文件名的ovl文件

pcd  位图文件,由Eastman Kodak开发,被所有的平台所支持,PCD支持24位颜色,最大的图象像索是2048*3072,用于在CD-ROM上保存图片

pcs  动画文件,是Macromedia开发的动画文件格式,为Macintosh应用程序使用,支持压缩,支持256色,用于保存动画数据,是Quick Time的前身

pcx  图像文件,PCX格式是ZSOFT公司在开发图像处理软件Paintbrush是开发的一种格式,这是一种经过压缩的格式,占用磁盘空间较少

pdf  图文多媒体文件,Adobe公司定义的电子印刷品文件格式,它是一种事实上的标准,在Internet网上的很多电子印刷品,都是.pdf格式的

psd  是PhotoShop中使用的一种标准图形文件格式,能够保存图像数据的每一个细小部分,包括层,附加的蒙版通道以及其他内容

pwl  Windows下的口令文件

qt  Machintosh 的QuickTime影视格式,在Macintosh中由Sparkle,FastPlayer,MoviePlayer等软件播放,在Windows中可由Quicktime播放

qtm  动画文件,这种文件格式是由Apple计算机公司开发,被Apple Macintosh和Microsoft Windows平台所支持,支持25位颜色,最大图像分辩率是64000*64000,支持压缩,用于保存音频和运动视频信息

rec  Windows下的记录器宏文件

reg  Windows 95/98的系统及应用程序注册文件,这种文件虽然以纯文本文件保存,但一样存在版本问题,不同的操作系统使用的REG文件版本是不同的

rle  一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟的压缩方案,特点是无损失压缩,既节省了磁盘空间又不损失任何图像数据,但在打开这种压缩文件时,要花费更多时间,此外,一些兼容性不太好的应用程序可能会搭不开

rm  Windows下的RealPlayer所支持的视频压缩文件,网上非常流行的流式视频文件,很多实时视频新闻等都是采用这种格式的,不过,最新的Windows Media Video V8已经对其发起了强大的攻势

rmi  MIDI音序文件

rtf  丰富文本格式文件,以纯文本描述内容,能够保存各种格式信息,可以用写字版,Word等创建

sav  存档文件

scp  用于Windows系统中Internet拨号用户,自动拨号登录用的脚本文件,可避免手动登录时繁琐的键盘输入

scr  屏障保护文件

sct  屏幕文件

scx  屏幕文件

set  Microsoft备份集文件,用于保存要备份的内容,设置等信息

shb  指向一个文档的快捷方式

snd  Mac声音文件,Apple计算机公司开发的声音文件格式,被Macintosh平台和多种Macintosh应用程序所支持,支持某些压缩

sql  查询文件,在Dbase,Foxbase,Foxpro系列软件的环境下使用

svg  SVG可以算是目前最火热的图像文件格式了,它是基于XML由WorldWideWebConsortium联盟开发的,SVG是可缩放的矢量图形

svx  Amiga声音文件,Commodore所开发的声音文件格式,被Amiga平台和应用程序所支持,不支持压缩

swf  flash是Micromedia公司的产品,严格说它是一种动画编辑软件,实际上它是制作出一种后缀名为.swf的动画,这种格式的动画能用比较小的体积来表现丰富的多媒体形式,并且还可以与HTML文件达到一种"水乳交融"的境界

swg  虚拟内存交换文件,由操作系统使用

sys  系统文件,驱动程序等,在不同的操作系统中有不同的定义

tbk  临时数据库文件,在Dbase,Foxbase,Foxpro系列软件的环境下使用

tga  图像文件,此文件格式的结构比较简单,属于一种图形,图像数据的通用格式,在多媒体领域有着很大影响,是计算机生成图像向电视转换的一种首选格式

tiff  图像文件,此图像格式复杂,存储内容多,占用存储空间大,其大小是GIF图像的3倍,是相应的JPEG图像的10倍,最早流行于Macintosh,现在Windows主流的图像应用程序都支持此格式

tmp  临时文件,一般是系统和应用程序产生的临时使用的文件,当系统和应用程序退出时,会自动地删除其建立的临时文件,如果是非正常退出,临时文件可能保留在磁盘上,在单任务系统下,可立即删除它们,在多任务系统下,应删除那些不是正在使用的临时文件

txt  文本文件

url  InternetShortcut(internet 上URL地址的快捷方式)

vcd  虚拟光驱工具制作的光盘镜像文件

ver  版本描述,用于描述某个软件的版本信息的文件,内容因软件而异

voc  声音文件,此文件格式由Creative Labs公司开发,被Windows和DOS平台所支持,支持压缩

vxd  虚拟设备驱动程序,在Windows操作系统中非常常见,是重要的系统文件

wab  通信簿文件,由系统中的通信簿程序使用

wav  音频文件,此文件格式是在Windows上用于保存音频信息的资源格式,Windows中由Waveform Hold and Modify或Navigator,或"媒体播放机"播放,存在许多编码方式,需要相应的解码程序才能播放

win  窗口文件,在Dbase,Foxbase,Foxpro系列软件的环境下使用

wmf  Microsoft Windows中常见的一种图元文件格式,它具有文件短小,图案造型化的特点,整个图形常由各个独立的组成部分拼接而成,但其图形往往较粗糙,并且只能在Microsoft Office中调用编辑

wpc  写字板文档转换

wps  Wps文本文件,有多种版本,可以使用Wps Office,Wps 2000等打开

wri  Windows写字板文档

xab  Microsoft邮件地址簿

xbm  Animator Pro创建的一种图形文件格式,其中包含用来描述多边形的一系列点的信息

zip  是DOS/Windows中最常见文件压缩格式,也是互联网上的标准压缩格式,可以包含路径和多个文件

                            二、详细的文件后缀名

----- A -------

A  对象代码库文件

AAM  Authorware shocked文件

AAS  Authorware shocked包

ABF  Adobe二进制屏幕字体

ABK  CorelDRAW自动备份文件

ABS  该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)

ACE  Ace压缩档案格式

ACL  CorelDRAW 6键盘快捷键文件

ACM  Windows系统目录文件

ACP  Microsoft office助手预览文件

ACR  美国放射医学大学文件格式

ACT  Microsoft office助手文件

ACV  OS/2的驱动程序,用于压缩或解压缩音频数据

AD  After Dark屏幕保护程序

ADA  Ada源文件(非-GNAT)

ADB  Ada源文件主体(GNAT);HP100LX组织者的约定数据库

ADD  OS/2用于引导过程的适配器驱动程序

ADF  Amiga磁盘文件

ADI  AutoCAD设备无关二进制绘图仪格式

ADM  After Dark多模块屏幕保护;Windows NT策略模板

ADP  FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件

ADR  After Dark随机屏幕保护;Smart Address的地址簿

ADS  Ada源文件说明书(GNAT)

AFM  Adobe的字体尺度

AF2,AF3  ABC的FlowChat文件

AI  Adobe Illustrator格式图形

AIF,AIFF  音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式

AIFC  压缩AIF

AIM  AOL即时信息传送

AIS  ACDSee图形序列文件;Velvet Studio设备文件

AKW  RoboHELP的帮助工程中所有A-关键词

ALAW  欧洲电话音频格式

ALB  JASC Image Commander相册

ALL  艺术与书信库

AMS  Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件

ANC  Canon Computer的调色板文件,包含一系列可选的颜色板

ANI  Windows系统中的动画光标

ANS  ANSI文本文件

ANT  SimAnt For Windows中保存的游戏文件

API  Adobe Acrobat使用的应用程序设计接口文件

APR  Lotus Approach 97文件

APS  Microsoft Visual C++文件

ARC  LH ARC的压缩档案文件

ARI  Aristotle声音文件

ARJ  Robert Jung ARJ压缩包文件

ART  Xara Studio绘画文件;Canon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson—Grace压缩算法压缩的标记文件

ASA  Microsoft Visual InterDev文件

ASC  ASCⅡ文本文件;PGP算法加密文件

ASD  Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming FORMat,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件

ASE  Velvet Studio采样文件

ASF  Microsoft高级流媒体格式文件

ASM  汇编语言源文件,Pro/E装配文件

ASO  Astound Dynamite对象文件

ASP  动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件

AST  Astound多媒体文件;ClarisWorks“助手”文件

ASV  DataCAD自动保存文件

ASX  Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,视频文件

ATT  AT< Group 4位图文件

ATW  来自个人软件的Any Time Deluxe For Windows个人信息管理员文件

AU  Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式

AVB  Computer Associates Inoculan反病毒软件的病毒感染后文件

AVI  Microsoft Audio Video Interleave电影格式

AVR  Audio Visual Research文件格式

AVS  应用程序可视化格式

AWD  FaxVien文档

AWR  Telsis数字储存音频文件扩展名格式

Axx  ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)

A3L  Authorware 3.x库文件

A4L  Authorware 4.x库文件

A5L  Authorware 5.x库文件

A3M,A4M  Authorware Macintosh未打包文件

A4P  Authorware无运行时间的打包文件

A3W,A4W,A5W  未打包的Authorware Windows文件

----- B -------

BAK  备份文件

BAS  BASIC源文件

BAT  批处理文件

BDF  West Point Bridger Designer文件

BFC  Windows 95 Briefcase文档

BG  Backgammon For Windows下的游戏文件

BGL  Microsoft Flight Simulator(微软飞行模拟器)的视景文件

BI  二进制文件

BIF  Group Wise的初始化文件

BIFF  XLIFE 3D格式文件

BIN  二进制文件

BK,BK$  有时用于代表备份版本

BKS  IBM BookManager Read书架文件

BMK  书签文件

BMP  Windows或OS/2位图文件

BMI  Apogee BioMenace数据文件

BOOK  Adobe FrameMaker Book文件

BOX  Lotus Notes的邮箱文件

BPL  Borlard Delph 4打包库

BQY  BrioQuery文件

BRX  用于查看多媒体对象目录的文件

BSC  MS Developer Studio浏览器信息文件

BSP  Quake图形文件

BS1  Apogee Blake Stone数据文件

BS_  Microsoft Bookshelf Find菜单外壳扩展名

BTM  Norton 应用程序使用的批处理文件

BUD  Quicken的备份磁盘

BUN  CakeWalk 声音捆绑文件(一种MIDI程序)

BW  SGI黑白图像文件

BWV  商业波形文件

BYU  BYU的电影文件格式

B4  Helix Nuts and Bolts文件

----- C -------

C  C代码文件

C0l  台风波形文件

CAB  Microsoft压缩档案文件

CAD  Softdek的Drafix CAD文件

CAL  CALS压缩位图;日历计划表数据

CAM  Casio照相机格式

CAP  压缩音乐文件格式

CAS  逗号分开的ASCⅡ文件

CAT  Quicken使用 的IntellCharge分类文件

CB  Microsoft干净引导文件

CBI  二进制卷格式文件(用于IBM大型机系统)

CC  Visual dBASE用户自定义类文件

CCA  cc:邮件文件

CCB  Visual Basic动态按钮配置文件

CCF  多媒体查看器配置文件,用于OS/2

CCH  Corel图表文件

CCM  Lotus cc:邮箱(例如“INBOX.CCM”)

CCO  CyberChat数据文件

CCT  Macromedia Director Shockwave投影

CDA  CD音频轨道

CDF  Microsoft频道定义格式文件

CDI  Philip的高密盘交互格式

CDM  Visual dBASE自定义数据模块文件

CDR  CorelDRAW绘图文件;原始音频CD数据文件

CDT  CorelDRAW模板

CDX  CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件

CEL  CIMFast事件语言文件

CER  证书文件(MIME x-x509-ca-cert)

CFB  Compton的多媒文件

CFG  配置文件

CFM  CotdFusion模板文件;Visual dBASE Windows用户定制表单

CGI  公共网关接口脚本文件

CGM  计算机图形元文件

CH  OS/2配置文件

CHK  由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片

CHM  编译过的HTML文件

CHR  字符集(字体文件)

CHP  Ventura Publisher章节文件

CHT  ChartViem文件;Harvard Graphics矢量文件

CIF  Adaptec CD 创建器 CD映像文件

CIL  Clip Gallery下载包

CIM  SimCity 2000文件

CIN  OS/2改变控制文件用于跟踪INI文件中的变化

CK1  iD/Apogee Commander Keen 1数据文件

CK2  iD/Apogee Commander Keen 2数据文件

CK3  iD/Apogee Commander Keen 3数据文件

CK4  iD /Apogee Commander Keen 4数据文件

CK5  iD /Apogee Commander Keen 5数据文件

CK6  iD /Apogee Commander Keen 6数据文件

CLASS  Java类文件

CLL  Crick Software Clicker文件

CLP  Windows 剪贴板文件

CLS  Visual Basic类文件

CMD  Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件

CMF  Corel元文件

CMG  Chessmaster保存的游戏文件

CMP  JPEG位图文件;地址文档

CMV  Corel Move动画文件

CMX  Corel Presentation Exchange图像

CNF  Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件

CNM  Windows应用程序菜单选项和安装文件

CNQ  Compuworks Design Shop文件

CNT  Windows(或其他)系统用于帮助索引或其他目的内容文件

COB  TrueSpace 2对象文件

COD  Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释

COM  命令文件(程序)

CPD  Corel Print Office文件(图形)

CPD,CPE 传真覆盖文档

CPI  Microsoft MS-DOS代码页信息文件

CPL  控制面板扩展名,Corel颜色板

CPO  Corel打印存储文件

CPP  C++代码文件

CPR  Corel提供说明书文件

CPT  Corel 照片-绘画图像

CPX  Corel Presentation Exchange压缩图形文件

CRD  Windows Cardfile文件

CRP  Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件

CRT  认证文件

CSC  Corel脚本文件

CSP  PC Emcee On_Screen图像

CSS  瀑布式表格文件

CST  Macromedia Director Cast文件

CSV  逗号分隔的值文件

CT  Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件

CTL  通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息

CUE  Microsoft提示牌数据文件

CUR  Windows光标文件

CUT  Dr Halo位图文件

CV  Corel版本的档案文件;Microsoft CodeView信息屏幕文件

CWK  ClarisWorks数据文件.

CWS  ClarisWorks模块

CXT  Macromedia Director受保护的(不可编辑的)投影文件

CXX  C++源代码文件

----- D -------

DAT  数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件

DB  Borland的Paradox 7表

DBC  Microsoft Visual FoxPro数据库容器文件

DBF  dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件

DBX  DataBearn图像;Microsoft Visual FoxPro表格文件

DCM  DCM模块格式文件

DCR  冲击波文件

DCS  桌面颜色分隔文件

DCT  Microsoft Visual FoxPro数据库容器

DCU  Delphi编译单元文件

DCX  Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏

DC5  DataCAD绘图文件

DDF  Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据

DDIF  Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档

DEF  SmartWareⅡ数据文件;C++模块定义文件

DEFI  Oracle 7 卸载脚本文件

DEM  用于表示数字高度模型的USGS基准的文件

DER  认证文件

DEWF  Macintosh Sound Cap/Sound Edit录音设备格式

DGN  Macintosh 95 CAD绘图文件

DIB  设备无关位图

DIC  目录

DIF  可进行数据互换的电子表格

DIG  DigiLink格式;Sound DesignerⅠ音频文件

DIR  MacromediaDirector文件

DIZ  描述文件

DLG  C++对话框脚本文件

DLL  动态链接库

DLS  可下载声音文件

DMD  Visual dBASE数据模块文件

DMF  X-Trakker音乐模块(MOD)文件

DOC  FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档

DOT  Microsoft Word文档模板

DPL  Borland Delph3压缩库

DPR  Borland Delphi工程头文件

DRAW  Acorn的基于对象的矢量图像文件

DRV  驱动程序

DRW  Micrografx Designer/Draw;Pro/E绘画文件

DSF  Micrografx Designer VFX文件

DSG  DOOM保存的文件

DSM  Dynamic Studio音乐模块(MOD)文件

DSP  Microsoft Developer Studio工程文件

DSQ  Corel QUERY(查询)文件

DST  刺绣机图形文件

DSW  Microsoft Developer Studio工作区文件

DTA  Word Bank(世界银行)的STARS数据文件

DTD  SGML文档类型定义(DTD)文件

DTED  地面高度数字数据(图形的数据格式)文件

DTF  Symantec Q&A相关的数据库数据文件

DTM  DigiTrakker模块文件

DUN  Microsoft拔号网络导出文件

DV  数字视频文件(MIME)

DWD  DiamondWare数字化文件

DWG  AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式

DXF  可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件

DXR  Macromedia Director受保护(不可编辑)电影文件

D64  Commodore的64位模拟磁盘图像文件

----- E -------

EDA  Ensoniq ASR磁盘映像

EDD  元素定义文档(FrameMaker+SGML文档)

EDE  Ensoniq EPS磁盘映像

EDK  Ensoniq KT磁盘映像

EDQ  Ensoniq SQ1/SQ2/Ks32磁盘映像

EDS  Ensoniq SQ80磁盘映像

EDV  Ensoniq VFX-SD磁盘映像

EFA  Ensoniq ASR文件

EFE  Ensoniq EPS文件

EFK  Ensoniq KT文件

EFQ  Ensoniq SQ1/SQ2/Ks32文件

EFS  Ensoniq SQ80文件

EFV  Ensoniq VFX-SD文件

EMD  ABT扩展模块

EMF  Windows增强元文件

EML  Microsoft Outlook Express邮件消息(MIME RTC822)文件

ENC  重演文件

ENFF  中性文件格式扩展名

EPHTML  Perl解释增强HTML文件

EPS  压缩的PostScript图像

EPSF  压缩的PostScript文件

ERI  ERWin文件

ERR  当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件

EPX  ERWin文件

ESPS  ESPS音频文件

EUI  Ensoniq ESP家族的压缩磁盘映像

EVY  特使文档

EWL  Microsoft Encarta文档

EXC  Microsoft Word禁止字字典

EXE  可执行文件(程序)

----- F -------

F  FORTRAN文件

F2R  Farandoyle线性模块格式

F3R  Farandoyle分块线性模块格式

F77  FORTRAN文件

F90  FORTRAN文件

FAR  Fradole Composer音乐模块(MOD)文件

FAV  Microsoft Outlook导航条

FAX  传真类型图像

FBK  Navison 金融备份

FCD  虚拟CD-ROM

FDB  Navison 金融数据库

FDF  Adobe Acrobat表单文档文件

FEM  CADRE有限元素网络文件

FFA,FFL,FFO,FFK  Microsoft快速查找文件

FFF  GUS PnP银行文件格式

FFT  最终格式文本(IBM的DCA一部分)

FH3  Aldus Freehand 3绘图文件

FIF  Fractal图像文件

FIG  REND386/AVRIL使用的文件格式

FITS  CCD照相机图像;灵活图像传输系统

FLA  Macromedia Flash电影

FLC  Autodesk FLIC动画文件

FLF  Corel Paradox产生的格式:Navison Financials许可文件;OS/2驱动程序文件

FLI  Autodesk FLIC动画

FLT  StarTrekker音乐模块(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel过滤器文件

FM  Adobe FrameMaker文档

FMB  Oracle4.0版或以后版本表单的二进制源代码文件

FML  文件镜象列表(GetRight)

FMT  Oracle 4.0版或以后版本表单的文本格式;Microsoft Schedule+ 打印文件

FMX  Oracle 4.0版或以后版本可执行表单

FND  Microsoft Explorer保存的搜索文件(Find applet)

FNG  字体组文件(字体导航器,Font Navigator)

FNK  Funk Tracker模块格式

FOG  Fontographer模块字体

FON  系统字体

FOR  FORTRAN文件

FOT  字体相关文件

FP  FileMaker Pro文件

FP1  Flying Pigs for Windows数据文件

FP3  FileMaker Pro文件

FPT  FileMaker Pro文件;Microsoft Fox Pro备注字体文件

FPX  FlashPix位图

FRM  表单;Frame Maker或Frame Builder文档;Oracle可执行表(3.0版或早期版本);Visual Basic表单;WordPerfect Merge表单;DataCAD标志报表文件

FRT  Microsoft FoxPro报表文件

FRX  Visual Basic表单文本;Microsoft FoxPro报表文件

FSF  fPrint Audit Tool文件格式

FSL  Borland的Paradox 7表单;Corel Paradox保存的表单

FSM  Parandoyle示例格式

FT  Lotus Notes全文本索引

FTG  全文本搜索组文件,由Windows帮助系统查找时产生——可以删除,并在需要时重建起来

FTS  全文本搜索引文件,由Windows帮助系统查找时产生

FW2  Framework Ⅱ文件

FW3  Framework Ⅲ文件

FW4  Framework Ⅳ文件

FXP  经Microsoft FoxPro编译的源文件

FZB  Casio FZ-1银行转储

FZF  Casio FZ-1完全转储

FZV  Casio FZ-1声音转储

----- G -------

G721  Raw CCITT G.721 $bit ADPCM格式数据

G723  Raw CCITT G.723 3或5bit ADPCM格式数据

GAL  Corel多媒体管理器相集

GCD  Generic CADD绘画文件(后续版本)

GCP  Ground Control Point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—CHIPS(copenhagen image processing system)使用这些文件

GDB  InterBase数据库文件

GDM  铃声、口哨声和声音板模块格式

GED  GEDCOM 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画

GEM  GEM元文件

GEN  Ventura产生的文本文件

GetRight  GetRight未完成的下载文件

GFC  Patton&Patton FlowCharting 4 flowchart文件

GFI,GFX  Genigraphics图形链接表示文件

GHO  Norton 克隆磁盘映像

GID  Windows 95全局索引文件(包括帮助状态)

GIF  CompuServe位图文件

GIM,GIX  Genigraphics图形链接介绍文件

GKH  Ensoniq EPS家簇磁盘映像文件

GKS  Gravis Grip Key文档

GL  动画格式

GNA  Genigraphics图形链接介绍文件

GNT  生成代码,Micro Focus属性格式里的可执行代码

GNX  Genigraphics图形链接介绍文件

GRA  Microsoft Graph文件

GRD  用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—CHIPS(copenhagen image processing system)使用这些文件

GRF  Grapher(Golden Software公司)图形文件

GRP  程序管理组

GSM  Raw GSM 6.10音频流;Raw“byte aligned(比特对齐的)” GSM 6.10音频流;US Robotics语音调制解调器

GTK  Graoumftracker(老)音乐模块(MOD)文件

GT2  Graoumftracker(新)音乐模块(MOD)文件

GWX,GWZ  Cenigraphis图形链接介绍文件

GZ  UNIX gzip压缩文件

----- H -------

H  C程序头文件

HCM  IBM HCM配置文件

HCOM  声音工具HCOM格式

HCR  IBM HCD/HCM产品配置文件

HDF  高级计算机应用程序本地中心(NCSA) geospatial Hierarchial数据格式文件

HED  HighEdit文档

HEL  Microsoft Hellbender格式保存的游戏文件

HEX  Macintosh BinHex2.0文件

HGL  HP图形语言绘图文件

HH  映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题

HLP  帮助文件;Date CAD Windows帮助文件

HOG  Lucas Arts的Dark Forces WAD文件

HPJ  Visual Basic帮助工程

HPP  C++程序头文件

HQX  Macintosh BinHex 4.0文件

HST  历史文件

HT  HyperTerminal(超级终端)

HTM,HTML  超文本文档

HTT  Microsoft超文本模板

HTX  扩展HTML模板

HXM  Descent2 HAM文件扩展

----- I -------

ICA  Citrix文件

ICB  Targa位图文件

ICC  Kodak打印机格式文件

ICL  图标库文件

ICM  图形颜色匹配配置文件

ICO  Windows图标

IDB  MSDev中间层文件

IDD  MIDI设备定义

IDF  MIDI设备定义(Windows 95需要的文件)

IDQ  Internet数据查询文件

IDX  Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件

IFF  交换格式文件;Amiga ILBM

IGES  初始图形交换说明文件

IGF  插入系统元文件

IIF  QuickBooks for Windows交换文件

ILBM  位图图形文件

IMA  WinImage磁盘映像文件

IMG  GEM映像

IMZ  WinImage压缩磁盘映像文件

INC  汇编语言或动态服务器包含文件

INF  信息文件

INI  初始化文件;MWave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装

INP  Oracle 3.0版或早期版本的表单源代码

INRS  INRS远程通信声频

INS  InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备

INT  中间代码,当一个源程序经过语法检查后编译产生一个可执行代码

IOF  Findit文档

IQY  Microsoft Internet查询文件

ISO  根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件

ISP  X-Internet签字文件

IST  数字跟踪设备文件

ISU  InstallShield卸装脚本

IT  脉冲跟踪系统音乐模块(MOD)文件

ITI  脉冲跟踪系统设备

ITS  脉冲跟踪系统抽样,Internet文档位置

IV  Open Inventor中使用的文件格式

IVD  超过20/20微观数据维数或变量等级文件

IVP  超过20/20的用户子集配置文件

IVT  超过20/20表或集合数据文件

IVX  超过20/20微数据目录文件

IW  Idlewild屏幕保护程序

IWC  Install Watch文档

----- J -------

J62  Ricoh照相机格式

JAR  Java档案文件(一种用于applet和相关文件的压缩文件)

JAVA  Java源文件

JBF  Paint Shop Pro图像浏览文件

JFF,JFIF,JIF  JPEG文件

JMP  SAS的JMPDiscovery表格统计文件

JN1  Epic MegaGames的Jill of the Jungle数据文件

JPE,JPEG,JPG  JPEG图形文件

JS  javascript源文件

JSP  HTML网页,其中包含有对一个Java servlet的参考

JTF  JPEG位图文件

----- K -------

K25  Kurzweil 2500抽样文件

KAR  卡拉OK MIDI文件(文本+MIDI)

KDC  Kodak光增强器

KEY  DataCAD图标工具条文件

KFX  KoFak Group 4图像文件

KIZ  Kodak数字明信片文件

KKW  RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字

KMP  Korg Trinity KeyMap文件

KQP  Konica照相机本地文件

KR1  Kurzweil 2000抽样(多软驱)文件

KRZ  Kurzweil 2000抽样文件

KSF  Korg Trinity抽样文件

KYE  Kye游戏数据

----- L -------

LAB  Visual dBASE标签文件

LBM  Deluxe Paint位图文件

LBT,LBX  Microsoft FoxPro标签文件

LDB  Microsoft Access加锁文件

LDL  Corel Paradox分发库

LEG  Legacy文档

LES  Logitech娱乐系统游戏配置文件(与REC文件一样)

LFT  3D Studio(DOS)放样文件

LGO  Paintbrush(Microsoft画图应用程序)的徽标文件

LHA  LZH更换文件后缀

LIB  库文件

LIN  DataCAD线型文件

LIS  结构化查询报告(SQR)程序产生的输出文件

LLX  Laplink交换代理

LNK  Windows快捷方式文件

LOG  日志文件

LPD  Helix Nut和Bolt文件

LRC  Intel可视电话文件

LSL  Corel Paradox保存的库文件

LSP  AutoLISP、CommonLISP和其他LISP语言文件

LST  列表文件

LU  ThoughtWing库单元文件

LVL  Parallax Software的 Miner Descent/D2 Level扩展

LWLO  Lightwave分层对象文件

LWOB  Lightwave对象文件

LWP  Lotus WordPro 96/97文件

LWSC  Lightwave视景文件

LYR  DataCAD层文件

LZH  LH ARC压缩档案

LZS  Skyroads数据文件

----- M -------

M1V  MPEG相关文件(MIME“mpeg”类型)

M3D  Corel Motion 3D动画文件

M3U  MPEG URL(MIME声音文件)

MAC  MacPaint图像文件

MAD  Microsoft Access模块文件

MAF  Microsoft Access表单文件

MAG  在一些日本文件中发现的图形文件格式

MAGIC  魔力邮件监视器配置文件

MAK  Visual Basil或Microsoft Visual C++工程文件

MAM  Microsoft Access宏

MAN  UNIX手册页输出

MAP  映射文件;Duke Nukem 3D WAD游戏文件

MAQ  Microsoft Access查询文件

MAR  Microsoft Access报表文件

MAS  Lotus Freelance Graphics Smart Master文件

MAT  Microsoft Access表;3D Studio MAX材料库

MAUD  MAUD抽样格式

MAX  Kinetx的3DStudio MAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件

MAZ  Hover迷路数据;Division的dVS/dVISE使用的文件格式

MB1  Apogee Monster Bash数据文件

MBOX  Berkeley Unix邮箱格式

MBX  Microsoft Outlook保存email格式;Eudora邮箱

MCC  Dailerl0呼叫卡

MCP  Metrowerks CodeWarrior工程文件

MCR  DataCAD键盘宏文件

MCW  Microsoft Word的Macintosh文档

MDA  Microsoft Access内抽入器;Microsoft Access 2.0版及其后续版本的工作组事件

MDB  Microsoft Access数据库

MDE  Microsoft Access MDE文件

MDL  数字跟踪器音乐模块(MOD)文件;Quake模 块文件

MDN  Microsoft Access空数据库模板

MDW  Microsoft Access工作组文件

MDZ  Microsoft Access向导模板文件

MED  音乐编辑器,OctaMED音乐模块(MOD)文件

MER  电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别

MET  表示管理器元文件

MFG  Pro/ENGINEER制造文件

MGF  在材料与几何学里的文件格式

MHTM,MHTML  MHTML文档(MIME)

MI  杂项

MIC  Microsoft Image Composer文件

MID  MIDI音乐

MIF  Adobe FramMaker交换格式

MIFF  与机器无关格式文件

MIM,MIME,MME  Internet邮件扩展格式的多用途文件,经常作为发送e-mail时在AOL里附件而创建的文件;在一个多区MIM文件里的文件能用WinZip或其他类似程序打开

MLI  3D Studio的材料库格式文件

MMF  Meal Master格式;一个处方类格式;Microsoft邮件文件

MMG  超过20/20表或集会数据文件

MMM  Microsoft多媒体电影

MMP  Mindmapor Mind Manager文件

MN2  Descent2任务文件

MND,MNI  Mandelbort for Windows

MNG  多映像网络图形

MNT,MNX  Microsoft FoxPro菜单文件

MNU  Visual dBASE菜单文件;Intertel Systems Interact菜单文件

MOD  Fast Tracker、Star Trekker、Noise Tracker(等等)音乐模块文件;Microsoft多计划电子表格;Amiga/PC磁道文件

MOV  QuickTime for Windows电影

MP2  第二层MPEG音频文件

MP3  第三层MPEG音频文件

MPA  MPEG相关文件,MIME“mpeg类型”

MPE,MPEG,MPG  MPEG动画文件

MPP  Microsoft工程文件;CAD绘图文件格式

MPR  Microsoft FoxPro菜单(已编译)

MRI  MRI扫描文件

MSA  魔术阴影档案

MSDL  Manchester的场景描述语言

MSG  Microsoft邮件消息

MSI  Windows 安装器包

MSN  Microsoft网络文档;Descent Mission文件

MSP  Microsoft Paint(画图)位图文件;Windows Installer路径文件

MST  Windows 安装器传输文件

MTM  Multi 跟踪器音乐模块(MOD)文件

MUL  Ultima在线

MUS  音乐

MUS10  Mus10声音

MVB  Microsoft多媒体查看器文件

MWP  Lotus WordPro 97 Smart Master文件

----- N -------

NAN  Nanoscope文件(Raw Grayscale)

NAP  NAP元文件

NCB  Microsoft Developer Studio文件

NCD  Norton改变目录

NCF  NetWare命令文件;Lotus Notes内部剪切板

NDO  3D 低多边形建模器,Nendo

netCDF  网络公用数据表单

NFF  中性文件格式

NFT  NetObject Fusion模板文件

NIL  Norton光标库文件(EasyIcons-兼容)

NIST  NIST Sphere声音

NLB  Oracle 7数据

NLM  NetWare可装载模块

NLS  用于本地化的国家语言支持文件(例如,Uniscape)

NLU  Norton Live Update e-mail 触发器文件

NOD  NetObject Fusion文件

NSF  Lotus Notes数据库

NSO  NetObject Fusion文档文件

NST  Noise Tracker音乐模块(MOD)文件

NS2  Lotus Notes数据库(第二版)

NTF  Lotus Notes数据库模板

NTX  CA-Clipper索引文件

NWC  Noteworthy Composer歌曲文件

NWS  Microsoft Outlook Express新闻消息(MIME RFC822)

----- O -------

O01  台风声音文件

OBD  Microsoft Office活页夹

OBJ  对象文件

OBZ  Microsoft Office活页夹向导

OCX  Microsoft对象链接与嵌入定制控件

ODS  Microsoft Outlook Express邮箱文件

OFF  3D 网状物对象文件格式

OFN  Microsoft Office FileNew文件

OFT  Microsoft Outlook模板

OKT  Oktalyzer音乐模块(MOD)文件

OLB  OLE对象库

OLE  OLE对象

OOGL  面向对象图形库

OPL  组织者编程语言源文件——Psion/Symbian

OPO  OPL输出可执行文件

OPT  Microsoft Developer Studio文件

OPX  OPL扩展DLL(动态链接库)

ORA  Oracle 7 配置文件

ORC  Oracle 7脚本文件

ORG  Lotus Organizer 文件

OR2  Lotus Organizer 2 文件

OR3  Lotus Organizer 97 文件

OSS  Microsoft Office查找文件

OST  Microsoft Exchange / Outlook 离线文件

OTL  Super NoteTab 模板文件

OUT  C语言输出文件

----- P -------

P3  Primavera Project Planner(工程设计器)文件

P10  Tektronix Plot 10 绘图文件

P65  PageMaker 6.5文件

P7C  Digital ID 文件(MIME)

PAB  Microsoft个人地址簿

PAC  SB Studio Ⅱ 包

PAK  Quake WAD文件

PAL  压缩文件

PART  Go!Zilla部分下载文件

PAS  Pascal源代码

PAT  DataCAD Hatch模式文件;CorelDRAW模式;高级Gravis Ultrasound / Forte 技术;碎片文件

PBD  PowerBuilder动态库,作为本地DLL的一个替代物

PBF  Turtle Beach的Pinnacle 银行文件

PBK  Microsoft PhoneBook(电话簿)

PBL  用于在PowerBuilder开发环境中的PowerBuilder动态库

PBM  可导出位图

PBR  PowerBuilder资源

PCD  Kodak Photo-CD映像;P-Code编译器测试脚本,由Microsoft测试与Microsoft Visual测试

PCE  Maps Eudora邮箱名字的DOS文件名

PCL  Hewlett-Packard 打印机控制语言文件(打印机备用位图)

PCM  声音文件格式;OKI MSM6376 合成芯片 PCM格式

PCP  Symantec Live Update Pro文件

PCS  PICS动画文件

PCT  Macintosh PICT绘画文件

PCX  Zsoft PC画笔位图

PDB  3Com PalmPilot数据库文件

PDD  可以用Paint Shop Pro或其他图像处理软件打开的图形图像

PDF  Adobe Acrobat 可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件

PDP  Broderbund的Print Shop Deluxe文件

PDQ  Patton&Patton Flowercharting PDQ Lite 文件

PDS  摄影图像文件(该文件格式的来源不清楚)

PF  Aladdin系统对私人文件进行加密的文件

PFA  类型1字体(ASCⅡ)

PFB  类型1字体(二进制)

PFC  PF组件

PFM  打印机字体尺度

PGD  良好隐私(Pretty Good Privacy,PGP)虚拟磁盘文件

PGL  HP绘图仪绘图文件

PGM  可输出灰度图(位图)

PGP  用良好隐私(PGP)算法加密文件

PH  由Microsoft帮助文件编译器产生的临时文件

PHP,PHP3  包含有PHP脚本的HTML网页

PHTML  包含有PHP脚本的HTML网页;由Perl分析解释的HTML

PIC  PC画图位图;Lotus图片;Macintosh PICT绘图

PICT  Macintosh PICT图形文件

PIF  程序信息文件;IBM PIF绘图文件

PIG  LucasArts的Dark Forces WAD文件

PIN  Epic Pinball数据文件

PIX  内置系统位图

PJ  MKS源完整性文件

PJX,PJT  Microsoft Visual FoxPro工程文件

PKG  Microsoft Developer Studio应用程序扩展(与DLL文件类似)

PKR  PGP的公用钥匙环

PL  Perl程序

PLG  由REND386/AVRIL使用的文件格式

PLI  Oracle 7数据描述

PLM  Discorder Tracker2模块

PLS  Disorder Tracker2抽样文件;MPEG PlayList文件(由WinAmp使用)

PLT  HPGL绘图仪绘图文件;AutoCAD plot绘图文件;Gerber标志制作软件

PM5  Pagemaker 5.0文件

PM6  Pagemaker 6.0文件

PNG  可移植的网络图形位图;Paint Shop Pro浏览器目录

PNT,PNTG  MacPaint图形文件

POG  Descent2 PIG文件扩展

POL  Windows NT策略文件

POP  Visual dBASE上托文件

POT  Microsoft Powerpoint模块

POV  视频射线跟踪器暂留

PP4  Picture Publisher 4位图

PPA  Microsoft Powerpoint内插器

PPF  Turtle Beach的Pinnacle程序文件

PPM  可移植的象素映射位图

PPP  Parson Power Publisher;Serif PagePlus桌面出版缺省输出

PPS  Microsoft Powerpoint幻灯片放映

PPT  Microsoft Powerpoint演示文稿

PQI  PowerQuest驱动器图像文件

PRC  3COM PalmPiltt资源(文本或程序)文件

PRE  Lotus Freelance演示文稿

PRF  Windows系统文件,Macromedia导演设置文件

PRG  dBASE Clipper和FoxPro程序源文件;WAVmaker程序

PRJ  3D Studio(DOS)工程文件

PRN  打印表格(用空格分隔的文本);DataCAD Windows打印机文件

PRP  Oberson的Prospero数据转换产品保存的工程文件

PRS  Harvard Graphics for Windows演示文件

PRT  打印格式化文件;Pro/ENGINEER元件文件

PRV  PsiMail Internet提供者模板文件

PRZ  Lotus Freelance Graphics 97文件

PS  Postscript格式化文件(PostScript打印机可读文件)

PSB  Pinnacle Sound Bank

PSD  Adobe photoshop位图文件

PSI  PSION a-Law声音文件

PSM  Protracker Studio模型格式;Epic游戏的源数据文件

PSP  Paint Shop Pro图像文件

PST  Microsoft Outlook个人文件夹文件

PTD  Pro/ENGINEER表格文件

PTM  Polytracker音乐模块(MOD)文件

PUB  Ventura Publisher出版物;Microsoft Publisher文档

PWD  Microsoft Pocket Word文档

PWL  Windows 95口令列表文件

PWP  Photoworks图像文件(能被Photoworks浏览的一系列文件)

PWZ  Microsoft Powerpoint向导

PXL  Microsoft Pocket Excel电子表格

PY  来自Yahoo的电子消息;Python脚本文件

PYC  Python脚本文件

----- Q -------

QAD  PF QuickArt文档

QBW  QuickBooks for Windows文件

QDT  来自Quicken UK的QuickBooks数据文件,帐目/税/货单程序

QD3D  Apple的QuickDraw 3D元文件格式

QFL  FAMILY LAWYER文档

QIC  Microsoft备份文件

QIF  QuickTime相关图像(MIME);Quicken导入文件

QLB  Quick库

QM  Quality Motion文件

QRY  Microsoft查询文件

QST  Quake Spy Tab文件

QT,QTM  QuickTime电影

QTI,QTIF  QuickTime相关图像

QTP  QuickTime优先文件

QTS  Mac PICT图像文件;QuickTime相关图像

QTX  QuickTime相关图像

QW  Symantec Q&A Write程序文件

QXD  Quark XPress文件

----- R -------

RA  RealAudio声音文件

RAM  RealAudio元文件

RAR  RAR压缩档案(Eugene Roshall格式)

RAS  Sun光栅图像位图

RAW  RAW文件格式(位图);Raw标识的PCM数据

RBH  由RoboHELP维持的RBH文件,它加入到一个帮助工程文件的信息中

RDF  资源描述框架文件(涉及XML和元数据)

RDL  Descent注册水平文件

REC  录音机宏;RapidComm声音文件

REG  注册表文件

REP  Visual dBASE报表文件

RES  Microsoft Visual C++资源文件

RFT  可修订的表单文本(IBM的DCA一部分或文档内容框架结构一部分)

RGB,SGI  Silicon图形RGB文件

RLE  Run-Length编码的位图

RL2  Descent2注册水平文件

RM  RealAudio视频文件

RMD  Microsoft RegMaid文档

RMF  Rich Map格式(3D游戏编辑器使用它来保存图)

RMI  M1D1音乐

ROM  基于盒式磁带的家庭游戏仿真器文件(来自Atari 2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)

ROV  Rescue Rover数据文件

RPM  RedHat包管理器包(用于LinR  Pegasus邮件资源文件

[colorux)

RPT  Microsoft Visual Basic Crystal报表文件

RRS  Ace game Road Rash保存的文件

RSL  Borland的Paradox 7报表

RSM  WinWay Resume Writer恢复文件

RTF  Rich Text格式文档

RTK  RoboHELP使用的用来模拟Windows帮助的搜索功能

RTM  Real Tracker音乐模块(MOD)文件

RTS  RealAudio的RTSL文档;RoboHELP对复杂操作进行加速

RUL  InstallShield使用的扩展名

RVP  Microsoft Scan配置文件(MIME)

Rxx  多卷档案上的RAR压缩文件(xx= 1~99间的一个数字)

----- S -------

S  汇编源代码文件

S3I  Scream Tracker v3设备

S3M  Scream Tracker v3的声音模块文件

SAM  Ami专业文档;8位抽样数据

SAV  游戏保存文件

SB  原始带符号字节(8位)数据

SBK  Creative Labs的Soundfont 1.0 Bank文件;(Soundblaster)/EMU SonndFont v1.x Bank文件

SBL  Shockwave Flash对象文件

SC2  Microsoft Schedule+7文件格式;SAS目录(Windows 95/NT、OS/2、Mac)

SC3  SimCity 3000保存的游戏文件

SCC  Microsoft Source Safe文件

SCD  Matrix/Imapro SCODL幻灯片图像;Microsoft Schedule +7

SCF  Windows Explorer命令文件

SCH  Microsoft Schedule+1

SCI  ScanVec Inspire本地文件格式

SCN  True Space 2场景文件

SCP  拨号网络脚本文件

SCR  Windows屏幕保护;传真图像;脚本文件

SCT  SAS目录(DOS);Scitex CT位图;Microsoft FoxPro表单

SCT01  SAS目录(UNIX)

SCV  ScanVec CASmate本地文件格式

SCX  Microsoft FoxPro表单文件

SD  Sound Designer 1声音文件

SD2  Sound Designer 2展平文件/数据分叉指令;SAS数据库(Windows 95/NT、OS/2、Mac)

SDF  系统数据文件格式—Legacy Unisys(Sperry)格式

SDK  Roland S—系列软盘映像

SDL  Smart Draw库文件

SDR  Smart Draw绘图文件

SDS  原始Midi抽样转储标准文件

SDT  SmartDraw模板

SDV  分号分隔的值文件

SDW  Lotus WordPro图形文件;原始带符号的DWORD(32位)数据

SDX  由SDX压缩的Midi抽样转储标准文件

SEA  自解压档案(Stufflt for Macintosh或其他软件使用的文件)

SEP  标签图像文件格式(TIFF)位图

SES  Cool Edit Session文件(普通数据声音编辑器文件)

SF  IRCAM声音文件格式

SF2  Emu Soundfont v2.0文件;Creative Labs的Soundfont 2.0 Bank文件(Sound Blaster)

SFD  SoundStage声音文件数据

SFI  Sound Stage声音文件信息

SFR  Sonic Foundry Sample资源

SFW  Seattle电影工程(损坏的JPEG)

SFX  RAR自解压档案

SGML  标准通用标签语言

SHB  Corel Show演示文稿;文档快捷文件

SHG  热点位图

SHP  3D Studio(DOS)形状文件;被一些应用程序用于多部分交互三角形模型的3D建模

SHS  Shell scrap文件;据载用于发送“口令盗窃者”

SHTML  含有服务器端包括(SSI)的HTML文件

SHW  Corel Show演示文稿

SIG  符号文件

SIT  Mac的StuffIt档案文件

SIZ  Oracle 7配置文件

SKA  PGP秘钥

SKL  Macromedia导演者资源文件

SL  PACT的保存布局扩展名

SLB  Autodesk Slide库文件格式

SLD  Autodesk Slide文件格式

SLK  Symbolic Link(SYLK)电子表格

SM3  DataCAD标志文件

SMP  Samplevision格式;Ad Lib Gold抽样文件

SND  NeXT声音;Mac声音资源;原始的未符号化的PCM数据;AKAI MPC系列抽样文件

SNDR  Sounder声音文件

SNDT  Sndtool声音文件

SOU  SB Studio Ⅱ声音

SPD  Speech数据文件

SPL  Shockwave Flash对象;DigiTrakker抽样

SPPACK  SPPack声音抽样

SPRITE  Acorn的位图格式

SQC  结构化查询语言(SQR)普通代码文件

SQL  InFORMix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名

SQR  结构化查询语言(SQR)程序文件

SSDO1  SAS数据集合(UNIX)

SSD  SAS数据库(DOS)

SSF  可用的电子表格文件

ST  Atari ST磁盘映像

STL  Sterolithography文件

STM  .shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件

STR  屏幕保护文件

STY  Ventura Publisher风格表

SVX  Amiga 8SVX声音;互交换文件格式,8SVX/16SV

SW  原始带符号字(16位)数据

SWA  在Macromedia导演文件(MP3文件)中的Shockwave声音文件

SWF  Shockwave Flash对象

SWP  DataCAD交换文件

SYS  系统文件

SYW  Yamaha SY系列波形文件

----- T -------

T64  Commodore 64仿真器磁带映像文件

TAB  Guitar表文件

TAR  磁带档案

TAZ  UNIX gzip/tape档案

TBK  Asymetrix Toolbook交互多媒体文件

TCL  用TCL/TK语言编写的脚本

TDB  Thumbs Plus数据库

TDDD  Imagine 和 Turbo Silver射线跟踪器使用的文件格式

TEX  正文文件

TGA  Targa位图

TGZ  UNIX gzip/tap档案文件

THEME  Windows 95桌面主题文件

THN  Graphics WorkShop for Windows速写

TIF,TIFF  标签图像文件格式(TIFF)位图

TIG  虎形文件,美国政府用于分发地图

TLB  OLE类型库

TLE  两线元素集合(NASA)

TMP  Windows临时文件

TOC  Eudora邮箱内容表

TOL  Kodak照片增强器

TOS  Atari 16/32和32/32计算机操作系统文件

TPL  CakeWalk声音模板文件;DataCAD模板文件

TPP  Teleport Pro工程

TRK  Kermit脚本文件

TRM  终端文件

TRN  MKS源完整性工程用法日志文件

TTF  TrueType字体文件

TTK  Corel Catalyst Translaton Tool Kit

TWF  TabWorks文件

TWW  Tagwrite模板

TX8  MS-DOS文本

TXB  Descent/D2编码概要文件

TXT  ASCⅡ文本格式的声音数据

TXW  Yamaha TX16W波形文件

TZ  老的压缩格式文件

T2T  Sonate CAD建模软件文件

----- U -------

UB  原始未符号化的字节(8位)数据

UDF  Windows NT/2000唯一性数据库文件

UDW  原始未符号化的双字(32位)数据

ULAW  美国电话格式(CCITT G.711)声音

ULT  Ultra Tracker音乐模块(MOD)文件

UNI  MikMod UniMod格式化文件

URL  Internet快捷方式文件

USE  MKS源完整性文件

UU,UUE  UU编码文件

UW  原始未符号化字(16位)数据

UWF  UltraTracker波形文件

----- V -------

V8  Covox 8位声音文件

VAP  加注讲演文件

VBA  VBase文件

VBP  Microsoft Visual Basic工程文件

VBW  Microsoft Visual Basic工作区文件

VBX  Microsoft Visual Basic用户定制控件

VCE  Natural MicroSystems(NMS)未格式化声音文件(由Cool Edit使用)

VCF  虚拟卡文件(Netscape);Veri配置文件;为与Sense8的WordToolkit一起使用而定义对象

VCT,VCX  Microsoft FoxPro类库

VDA  Targa位图

VI  National Instruments LABView产品的虚拟设备文件

VIFF  Khoros Visualisation格式

VIR  Norton Anti-Virus或其他杀毒产品用于标识被病毒感染的文件

VIV  VivoActive Player流视频文件

VIZ  Division的dVS/dVISE文件

VLB  CorelVentura库

VMF  FaxWorks声音文件

VOC  Creative Labs的Sound Blaster声音文件

VOX  用ADPCM编码的对话声音文件;Natural MicroSystems(NMS)格式化声音文件,Talking Technology声音文件

VP  Ventura Publisher出版物

VQE,VQL  Yamaha Sound-VQ定位器文件

VQF  Yamaha Sound-VQ文件(可能出现标准)

VRF  Oracle 7配置文件

VRML  虚拟现实建模语言文件

VSD  Visio绘画文件(流程图或图解)

VSL  下载列表文件(GetRight)

VSN  Windows 9x/NT Virusafe版文件,用于保持有关目录中所有信息,当一个文件被访问,其中信息与VSN信息进行比较,以确保它们保持一致

VSS  Visio模板文件

VST  Targa位图

VSW  Visio工作区文件

VXD  Microsoft Windows虚拟设备驱动程序

----- W -------

W3L  W3Launch文件

WAB  Microsoft Outlook文件

WAD  包含有视频、玩家水平和其他信息的DOOM游戏的大文件

WAL  Quake 2正文文件

WAV  Windows波形声形

WB1,WB2  QuattoPro for Windows电子表格

WBK  Microsoft Word备份文件

WBL  Argo WebLoadⅡ上载文件

WBR  Crick Software的WordBar文件

WBT  Crick Software的WordBar模板

WCM  WordPerfect宏

WDB  Microsoft Works数据库

WDG  War FTP远程守护者文件

WEB  CorelXARA Web文档

WFB  Turtle Beach的Wavefont Bank(Maui/Rio/Monterey)

WFD  Turtle Beach的Wavefont Drum集合(Maui/Rio/Monterey)

WFM  Visual dBASE Windows表单

WFN  在CorelDRAW中使用的符号

WFP  Turtle Beach的Wavefont程序(Maui/Ri/Monterey)

WGP  Wild Board游戏数据文件

WID  Ventura宽度表

WIL  WinImage文件

WIZ  Microsoft Word向导

WK1  Lotus 1-2-3版第1、2版的电子表格

WK3  Lotus 1-2-3版第3版的电子表格

WK4  Lotus 1-2-3版第4版的电子表格

WKS  Lotus 1-2-3电子表格;Microsoft Works文档

WLD  REND386/AVRIL文件

WLF  Argo WebLoadⅠ上载文件

WLL  Microsoft Word内插器

WMF  Windows元文件

WOW  Grave Composer音乐模块(MOD)文件

WP  WordPerfect文档

WP4  WordPerfect 4文档

WP5  WordPerfect 5文档

WP6  WordPerfect 6文档

WPD  WordPerfect文档或演示

WPF  可字处理文档

WPG  WordPerfect图形

WPS  Microsoft Works文档

WPT  WordPerfect模板

WPW  Novell PerfectWorks文档

WQ1  Quattro Pro/DOS电子表格

WQ2  Quattro Pro/DOS第5版电子表格

WR1  Lotus Symphony

WRG  ReGet文档

WR1  书写器文档

WRK  Cakewalk音乐声音工程文件

WRL  虚拟现实模型

WRZ  VRML文件对象

WS1  WordStar for Windows 1文档

WS2  WordStar for Windows 2文档

WS3  WordStar for Windows 3文档

WS4  WordStar for Windows 4文档

WS5  WordStar for Windows 5文档

WS6  WordStar for Windows 6文档

WS7  WordStar for Windows 7文档

WSD  WordStar 2000文档

WVL  Wavelet压缩位图

WWL  Microsoft Word内插器文件

----- X -------

X  AVS图像格式

XAR  CorelXARA绘画

XBM  MIME“xbitmap”图像

XI  Scream Tracker设备抽样文件

XIF  Wang映像文件(Windows 95带有的文

编译linux核心的几个问题:Kernel-2.6.x Rebuild document(转)

我想把redhat linux9.0的核心由2.4.8升级到2.6.16-21看能否解决我的sedY890手机在系统中认不到的问题,下面是一篇转帖。

发信人: xxxss (?nbsp;野  硐  ?, 信区: LinuxApp

标  题: Kernel-2.6.x Rebuild document

发信站: BBS 水木清华站 (Sun Apr 18 22:07:04 2004), 转信

 

                The Kernel Rebuild document. v0.27

                

 

首先你要知道2.6需要注意的几件事情: 

多了一个sysfs虚拟文件系统 

老版本的modutils不能用了,module-init-tools要安装。 

modules.conf和modprobe.conf是怎么回事儿? 

USB模块名都变了 

声卡配置怎么办?kernel-2.6采用alsa, alsa的配置工具是什么? 

升级kernel会导致一些软件不能使用吗? 

什么版本的gcc都行吗? 

。。。。。。

 

 

准备工作

 

先看看这两个东西的结果,保存一下

/sbin/lspci

cat /proc/cpuinfo

 

这样呆会儿config的时候可以知道自己该选哪些设备

 

如果要打patch,现在据说是解压之后这样作:

patch -p1 <../patch-2.6.x....

 

看看文档:源码解开以后的README

还有看/usr/src/linux-2.6.5/Documentation/Changes

 

    linux 2.6.5需要一些软件更新到一定版本才可以:

 

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

 

把该升的都升了。。。有些如果本来就不需要的就算了.

其中最重要的一个module-init-tool

 

☆──────────────────────────────────────☆

                        关于module-init-tool

 

    在编译安装modules,即make modules_install时,如果module-init-tools

没有到最新版本的话,(比如0.9.14或者3.0).在最开始有一行提示,让升级

module-init-tools的,并且会出错,symbol......

        并且。。就算通过了,也没法加载模块。。总之这个必须升级.

        2004年2月的版本是3.0

 

    还有一个问题是,module-init-tools 的默认安装路径是/usr/local/

会把lsmod装到/usr/local/bin/

其他几个文件装到/usr/local/sbin/

而系统原有的是在/sbin/

并且原有的lsmod是个link,  /sbin/lsmod -> insmod

所以这里即使你装了module-init-tools,也会在make modules_install的时候遇难。

所以看README

 

正确的安装module-init-tools的方法是

        tar -zxvf modules-init-tools-3.0.tar.gz

        cd modules-init-tools-3.0

        ./configure --prefix=/                  

        make

        make moveold

        make install

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

        mv /etc/modules.conf /etc/modules.conf.bak

 

剩下几步不知道是否必须:

        4) If you are using devfs, copy modprobe.devfs to /etc 

 

        5) You will need to run "depmod" for your new kernel, eg: 

 

        depmod 2.5.50 

 

        6) If you want to hack on the source: 

        aclocal && automake --add-missing --copy && autoconf 

 

还有mkinitrd需要用高版本的

 

☆──────────────────────────────────────☆

 

                        编译

 

据说不要在/usr/src/下面编译内核,所以我方在了别处

/home/xxxss/linux-2.6.5

 

编译之前,可以先改个名字,编辑Makefile

EXTRAVERSION =

这个后面来个名字啥的,比如-1xxxss

 

linux 2.6.5的编译步骤是:

    cd linux-2.6.5

    make mrproper

 

    make menuconfig             (或者xconfig config oldconfig .等等。。)

    make

    cp -af /lib/modules /lib/modules.bak        (备份老版的模块)

    make modules_install

切换到root

    make install

 

   (如果是制定输出目录,那么以上几步换成:)

    mkdir /home/xxxss/build;mkdir /home/xxxss/build/kernel;

    make O=/home/xxxss/build/kernel menuconfig;       (注意这里是大写O,不是0)

    make O=/home/xxxss/build/kernel;

    cp -af /lib/modules /lib/modules.bak;

    make O=/home/xxxss/build/kernel modules_install;

切换到root

    make O=/home/xxxss/build/kernel install;

    

☆──────────────────────────────────────☆

 

                        config的大概(我自己的一些改动,后面有个x都是我N掉的)

                        

Code maturity level options  --->

        [*] Prompt for development and/or incomplete code/drivers

        这条本来是建议"除非要帮助测试或者尝试新功能才选",不过据说

        用了也没有什么问题,所以干脆保持默认编进内核吧。如果确实觉得

        对稳定有影响,就可以N掉

        

General setup ->

        全保持默认

        Support for hot-pluggable devices   如果有usb设备就加上这条吧

        

Processor type and features  --->

        Processor family --->

                (X) Pentium-III/Celeron(Coppermine)

        [ ] Local APIC support on uniprocessors

                这条在某些机子上有,如果不选会出条interupt信息

        < >Toshiba laptop support       去掉,

        < > Dell laptop support         去掉,

        High Memory Support (off)  --->

                (X) off                 这里改成off,因为内存不到4G

Power Management options

        -> Power Mangement support x

Bus options

 #        -> ISA Support x

Device Drivers

        -> Parallel port support

            ->Suport for pcmicia management for pc-style ports x

        -> SCSI Device support

                SCSI 支持不止是scsi设备需要,IDE的刻录机驱动也需要模拟

                成scsi模式,所以如果有这个,就得选上。

                另外如果你的root分区在scsi硬盘上,就必须把scsi支持编进

                内核,而不是编成模块。

            -> PCMICIA SCSI adapter support x

        -> Networking Support

            -> Networking options

                -> [*] Network packet filtering (replaces ipchains) 

            -> Ethernet 1000 MBit x

            -> FDDI driver support x

            -> PPP Filtering x

            -> Token ring devices x

            -> Wan interfaces x

            -> Pcmcia network device support x

            -> ISDN??subsystem x

            -> Talephone Support x

            

        -> USB Support

            -> OHCI HCD Support M

            -> UHCI HCD Support M

 

        -> Input device support 

            -> Mice

                -> PS2 mouse       这个编到内核里

 

file system ->

            ext3   编译进内核

            反正是把root分区的文件系统编进内核,否则initrd没法启动

Kernel Hacking x

 

        

☆──────────────────────────────────────☆

 

                        loopback devices

                        

    接着遇到的问题是,make install内核的时候,有很大几率碰到

All of your loopback devices are in use.

mkinitrd failed

    这个问题很复杂...可能是当时系统内确实有东西使用光了loopback devices.

也可能是新换的modprobe和lsmod等无法正常工作导致.

    这个问题也不晓得怎么解决...

    大概modprobe loop;insmod loop 能解决?不知道了

 

☆──────────────────────────────────────☆

 

                        文件系统

                        

    如果没遇到这个问题,那么内核编译安装完成后,重启后第一个问题是

    - mount: error 2 mounting ext3

    - pivotroot: pivot_root (/sysroot, /sysroot/initrd) failed : 2

    - umount /initrd/proc failed : 2

    - Freeing unused kernel memory: 212k freed

    - Kernel panic: No init found. Try passing init= option to kernel

 

    这个问题是由于redhat 7.3以后大家基本都用的是ext3文件系统,但是内核选项里面

ext3文件系统是默认作为模块编译的.并没有编译在内核里面,所以启动时没加载上模块

就会导致无法mount 到/文件系统.

    所以解决的一个简单方法是,把ext3编进内核.

    或者还有别的方法,比如利用mkinitrd创建 Initial RAMDisk

    

    这个initrd是解决那个启动时"鸡生蛋,蛋生鸡"问题的--驱动需要加载/分区

    文件系统,但是驱动自己又在/分区文件系统里,所以没法被加载.

    mkinitrd就是创建一个文件系统镜像,这个ramdisk镜像可以用来预加载

    块设备的模块(比如IDE,SCSI,或者RAID)以访问root文件系统,mkinitrd

    会自动加载/etc/modules.conf里面关于文件系统的模块(比如ext3或者jbd),

    IDE模块.scsi卡等的条目.

    不过这个需要编译内核时把ramdisk那两条编译到内核里.

    

    使用方法:

    mkinitrd /boot/initrd-2.6.5.img 2.6.5

 

        这里请注意,只有当你把根分区文件系统的支持编译成模块时,才需要initrd

        否则grub.conf里面不要带这条:

        initrd /boot/initrd-2.6.x.img

 

☆──────────────────────────────────────☆

 

    这个问题解决以后,下一个问题是

 'spurious 8259A interrupt: IRQ7'

还未解决..

    这个不知道到底有没有影响,似乎是说这个APIC不enable那么系统也照样走。

    所以不管了。。

 

☆──────────────────────────────────────☆

 

                        关于module和设备问题

 

    下一个问题是在开机自检是竟然检测到了ps/2鼠标,而这台机子上根本没有鼠标.

 

    还有就是usb-uhci 显示没有正常加载,虽然编译内核时选了usb

但是这两个模块默认没有被选上

        所以在内核里注意把usb uhci和ohci都选上,<M>就可以了

    然后还要改几个地方:

    1, mkdir /sys 

    2, 在/etc/rc.sysinit中,只要有mount -f /proc就在下面加上mount -f /sys 

    3, 在/etc/rc.sysinit中,找到: 

   将其中所有的/proc/ksyms替换为/proc/kallsyms。

   将其中所有的/proc/sys/kernel/modprobe 替换为/sbin/modprobe

在文件中的action $"Mounting proc filesystem: " mount -n -t proc /proc /proc 这一

句的下面添加 action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys

    4,在/etc/fstab中加上: 

   none    /sys  sysfs   defaults  0 0 

    5,把/etc/rc.d/init.d/halt中的: 

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

   修改成: 

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

   

   如果不是上面那个样子,而是这样:

   awk '!/(^#|proc|loopfs|autofs|^none|^\/dev\/root| \/ )/ {print $2}' /proc/mounts

 

就改成:

 

   awk '!/(^#|proc|loopfs|sys|autofs|^none|^\/dev\/root| \/ )/ {print $2}' /proc/mounts

 

 

        修改/etc/rc.sysinit

        找到下面这段:

        

*******************************************************************

usb=0 

if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2>/dev/null && ! LC_ALL=C grep -q "usb" /proc/devices 2>/dev/null ; then 

    aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'` 

    if [ -n "$aliases" -a "$aliases" != "off" ]; then 

      modprobe usbcore 

      for alias in $aliases ; do 

        [ "$alias" != "off" ] && action $"Initializing USB controller ($alias): " modprobe $alias 

      done 

      [ $? -eq 0 -a -n "$aliases" ] && usb=1 

    fi 

fi 

 

if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2>/dev/null && LC_ALL=C grep -q "usb" /proc/devices 2>/dev/null ; then 

  usb=1 

fi 

 

if [ $usb = 1 -a ! -f /proc/bus/usb/devices ]; then 

    action $"Mounting USB filesystem: "  mount -t usbdevfs usbdevfs /proc/bus/usb 

fi 

 

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 2> /dev/null 

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

fi 

***********************************************************************

 

改成:

 

*********************************************************************

modprobe usbcore 

action $"Initializing USB controller (uhci-hcd): " modprobe uhci-hcd 

usb=1 

 

if [ $usb = 1 -a ! -f /sys/bus/usb/devices ]; then 

    action $"Mounting USB filesystem: "  mount -t usbdevfs usbdevfs /sys/bus/usb 

fi 

 

needusbstorage= 

if [ $usb = "1" ]; then 

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

    action $"Initializing USB HID interface: " modprobe hid 2> /dev/null 

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

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

fi 

**********************************************************************

 

然后检查一下rc.sysinit和/etc/rc.d/init.d/halt脚本,看看还有没有/proc/bus/usb的定义,通通搞成/sys/bus/usb. 

在/etc/modprobe.conf里面手动改动一条,把

alias usb-controller usb-uhci

换成

alias usb-controller uhci-hcd

 

这样修改的原因是

1,/proc/sys/usb定义是错的,应该是/sys 

2,modprobe -c 能不能找到alias usb-controller,从而定义变量aliases为usb-uhci, 运行一下是不能的。 

3,模块名不对,usbcore, uhci-hcd(也就是usb-uhci的新版本) ,usbmouse和usbkbd才对。 

 

上面贴的几段大概是rh9.0左右版本的,其他发行版本的如果不配套,那么根据

需要自己修改吧。。

一个处理2.4和2.6内核共存的简单办法:

对于kernel 2.4/2.6需要有不同处理的引导过程(包括有些模块加载过程), 

可以在引导shell中判断uname -r值分别处理.

 将/etc/rc.d/rc.sysinit复制为rc.sysinit-2.4和rc.sysinit-2.6然后把rc.sysinit-2.6根据需要修改, 

 最后建立新的/etc/rc.d/rc.sysinit:

#!/bin/sh

if [ `uname -r` = "2.6.5" ]; then

exec /etc/rc.d/rc.sysinit-2.6

else

exec /etc/rc.d/rc.sysinit-2.4

fi

 

注意,那个uname -r 出来的别写错。。

还有别直接改/etc/rc.sysinit,因为这个是个链接,指向/etc/rc.d/rc.sysinit

 

☆──────────────────────────────────────☆

 

                                关于声卡

                                

以前一直用oss,现在内核提供的是alsa. 

找出一个配置工具alsaconf,这个是alsa-drivers的utils 

 

配置,不行,找不到声卡,问题在于kernel-2.6的模块不再是.o而是.ko 

 

修改alsaconf中所有的.o为.ko. 

配置,OK,找到声卡为i810内嵌的,也就是ac97音效,正确的写入了 

/etc/modules.conf, 

lsmod一看,内核模块没有马上载入,说明alsaconf还是有点问题, 

modprobe一下: 

modprobe snd-intel8x0,OK了,内核驱动载入。 

用alsa play播放: 

aplay sample.wav 

有声音了。 

 

 

重启,lsmod看看,snd-intel8x0没有载入,/etc/modules.conf里不是有了吗? 

以我的判断,肯定是正确的,试试generate-modprobe.conf,刚才那个 

char-major-188的错误就是这么解决的。 

 

做完之后,再重启,再lsmod看看,还是没有载入声卡驱动。 

modprobe snd-intel8x0,出错,看来是modprobe.conf导致的, 

把里面的sound相关配置通通删掉,重启后modprobe又可以出声了。 

 

没有办法,好好读读alsaconf代码,发现了以前单独安装alsa的时候一个经典的东西: 

alsasound启动进程。 

 

这个东西也在alsadrivers的utils目录,找出来。 

 

./alsasound start自动载入所有模块 

./alsasound stop 自动卸载所有模块 

OK,目的达到。 

cp alsasound /etc/rc.d/init.d 

chkconfig --add alsasound 

 

再看看alsaconf原来可以进行测试声音的播放,只是以前从来没有把wav文件装上过, 

拷贝一个wav文件,再次运行: 

alsaconf 

配置成功,然后自动载入模块成功,然后就是aplay这个wav. 

 

还有两个东西可以参考:

        运行cat /proc/asound/cards看看声卡是否正常加载,

        运行alsamixer看看设备是否打开

 

还不行去http://www.alsa-project.org/

 

OK,至此为止,基本的kernel-2.6升级工作完成了。 

 

不对的程序:

 usbmodules  

lsusb, usbview, kde 信息中心中usb目录定义仍然不对,所以通过这些命令你看不到系统任何usb信息 

自己修正吧,其他的软件问题也不少,所以以上的工作是最基础的,所以建议大家没事不要赶什么潮流。 

 

对了,忘了说了,kernel-2.6安装后,我测试重新编译kernel-2.6,gcc出现异常,连续测试7次,每次 

都在随机的位置退出编译,说明gcc已经不能正常工作,可能又要LD_ASSUME_KERNEL,始终不是一件好事。 

继续升级glibc, gcc再所难免' 

 

☆──────────────────────────────────────☆

 

                        关于rpm

 

        rh9.0升级了内核之后,有没有发现没法装rpm包了?

一运行rpm 就出现下面错误信息:

*********************************************************************

rpmdb: unable to join the environment

error: db4 error(11) from dbenv->open: Resource temporarily unavailable

error: cannot open Packages index using db3 - Resource temporarily unavailable (

11)

error: cannot open Packages database in /var/lib/rpm

warning: xxxxx.x.x.x.x.x.rpm: V3 DSA signature: NOKEY, key ID db42a60e

rpmdb: unable to join the environment

error: db4 error(11) from dbenv->open: Resource temporarily unavailable

error: cannot open Packages database in /var/lib/rpm

**********************************************************************

 

这个问题的解决办法是:

run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.

This is thought to be a bug related to db4 and O_DIRECT interaction

 

如果你的realplay 不能用了,可能也是同样的问题,同样处理方法.

 

参考以下:

**********************************************************************

Here's what Penelope Fudd had to say about this problem:

 

The original RH9 glibc has the problem, the updated RH9 glibc is fine:

 

ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-2.3.2-27.9.i386.rpm

 

And when you update that, you need to update these:

 

ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-common-2.3.2-27.9.i386.rpm

ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-devel-2.3.2-27.9.i386.rpm

ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-utils-2.3.2-27.9.i386.rpm

 

I tried rpm -Uvh glibc*, but it was not a pain-free process, as rpm

choked halfway through.  I had to rpm -e the old one and rpm -Uvh --force

the new one.  That got it working.

***********************************************************************

 

☆──────────────────────────────────────☆

 

                                电源管理

 

        有没有发现关机shutdown以后电源不断了?

        内核里面记得选上:

            <*>   Advanced Power Management BIOS support                  

            [*]     Ignore USER SUSPEND                                  

            [*]     Enable PM at boot time                                

            [*]     Make CPU Idle calls when idle                        

            [ ]     Enable console blanking using APM                    

            [ ]     RTC stores time in GMT                                

            [ ]     Allow interrupts during APM BIOS calls                

            [ ]     Use real mode APM BIOS call to power off              

 

        [ ] Symmetric multi-processing support绝对不要选

 

解释如下:

[*] Power Management support │ │//这一项必选,它就管你的关机 

[ ] ACPI support │ │ //如果你的机器较新可以使用它,关于它的设置一会再说 

<×> Advanced Power Management BIOS support │ │//如果你使用APM选这一项,适合老机器 

[ ] Ignore USER SUSPEND │ │ 

[ ] Enable PM at boot time │ │//这一项一般不用选,原因看我以前的贴子 

[X ] Make CPU Idle calls when idle │ │//这一项请选它让你的机器在空闲时省电,不过作用嘛不大,至于如何更好的省电,以后我再讲 

[ ] Enable console blanking using APM │ │//这一项基本用不到,主要用来关闭LCD的背光,还经常不起作用 

[X ] RTC stores time in GMT │ │这一项如果想让时间正确请选 

[ ] Allow interrupts during APM BIOS calls │ │这一项,如果你的机器在休眠后醒不了请选 

[ ] Use real mode APM BIOS call to power off //这一项如果你的机器老的只用上面的选项不能关机请选,不过一般不要用它。 

这样基本上你的机器就能够正常的进行关机休眠等操作了,当然你要有apmd这个守护程序,不过一般的发行版都有了,不用你操心  

再来看ACPI 

[*] Power Management support //同上面一样这一项必选 

[*] ACPI support //这个不用说了吧 

[ ] ACPI Debug Statements //这个你愿意研究的话就选,大数人用不着 

<*> ACPI Bus Manager //想省电必选 

<*> System //同上 

<×> Processor //建议为Y,原因同上 

<X> Button //建议为Y,默认情况下它的动作为按下电源钮就自动关机,当然你可以自定义,以后再讲。 

< > AC Adapter //桌面电脑永远都使用交流电不用这一项,如果你用笔记本那么选吧,其实没用。 

< > Embedded Controller //这一项,2.6中没有我就不知是作什么的了  

如上你就可以使用ACPI了,不过请注意RH没有装ACPID这个守护程序,所以不管你怎么设置ACPI都不起作用(别人的不知,我的就没装害的我纳闷了很久)  。所以请下载个最新的RPM包装上重启就OK了。

 

☆──────────────────────────────────────☆

 

还有,如果你有刻录机,看到"ide-scsi"这种东西就不要留了,比如装rh9.0时可能

遇到的,2.6内核已经broken这个东西了

 

☆──────────────────────────────────────☆

 

                                VMware

 

    首先, 把/usr/bin/vmware-config.pl文件里所有``/proc/ksyms'' 替换成

     ``/proc/kallsyms''.运行 vmware-config.pl,会有错误信息. 解压

     vmnet.tar到/usr/lib/vmware/modules/source目录. 

这会在那里创建一个vmnet-only目录.在那个目录里编辑bridge.c文件. 

在368行附近, 找到下面这行: 

 

atomic_add(skb->truesize, &sk->wmem_alloc);

替换成:

atomic_add(skb->truesize, &sk->sk_wmem_alloc);

同样的, 在618行和817行,把 protinfo 替换成 sk_protinfo. 

然后把vmnet-only目录打包,替换掉老版本的vmnet.tar,然后重新运行

vmware-config.pl. 请确认vmware-config.pl使用了和你编译内核时相同的编译器.

 

下面是关于使用gcc 3.x的

*********************************************************************

[...]

And second, a recent change in struct task_struct makes the compilation of

vmware net modules fail. The workaround is simple: untar vmmon.tar, edit file

vmmon-only/linux/driver.c and substitue any occurrence of: current->uid,

current->euid, current->fsuid, current->egid, current->gid and

current->fsgid

                                                                                

for

                                                                                

current->__uid, current->__euid, current->__fsuid,

current->__egid, current->__gid and current->__fsgid, respectively.

                                                                                

PS1: the change in struct tast_struct took place in 2.6.0-test6-mm1, but

is not present in 2.6.0-test6.

                                                                                

PS2: kernel and VMware modules compiled with gcc 3.2.3 from Debian Sid

there's someting out there to get vmware-config.pl to run against the kernel using GCC 3.x. It's available at http://ftp.cvut.cz/vmware/ He says the latest tarball (named vmware-any-any-updateXX.tar.gz) needs to be untarred and run instead of the usual vmware-config.pl. I didn't try this myself, though. 

 

***********************************************************************

 

☆──────────────────────────────────────☆

 

                                防火墙

        netfilter ipt_unclean 的规则没有用了,所以remove the chain[s]

否则开机防火墙启动时会失败.

 

☆──────────────────────────────────────☆

                        mii-tool配置网卡

 

        你如果是使用 mii-tool 来配置网卡 ,现在可能就不行了,(as in my case). 

安装使用 [ethtool] and using in lieu 就足够了 (甚至可能更好, 因为ethtool 

看上去更强大).

http://sourceforge.net/project/showfiles.php?group_id=3242&package_id=19201

 

☆──────────────────────────────────────☆

                        update和bdflush() 

 

        在启动的日志里你可能能看到这些:

kernel: warning: process `update' used the obsolete bdflush system call

'update'是个使用bdflush()来清理硬盘的,现在这个已经被2.6的内核废除了,现在

改为使用内核控制pdflush

所以在 /etc/inittab 里面注释掉这行:

        #ud::once:/sbin/update

        

☆──────────────────────────────────────☆

                        一些工具程序

        如果你升级了很多工具到GNU发布的最新版本,并且选择了默认安装路径

(/usr/local/bin),并且把这个路径包含在了$PATH里第一条.有些工具却还是运行的

老版本.比如awk.

这样改:

1.      cd /usr/bin/

2.      mv awk awkORIG

3.      ln -s /usr/local/bin/gawk awk

 

这样就把旧版的awk保存为awkORIG,并且建了symlink到new GNU version 上.

其他hard coded的工具也类似处理.

 

☆──────────────────────────────────────☆

                                named

                                

在boot logs里还有关于'named'以及它的控制器'rndc'的错误信息:

        process `named' is using obsolete setsockopt SO_BSDCOMPAT

去下载最新的 [bind source code 9.2.3], 

http://www.isc.org/index.pl?/sw/bind/

解压,在/lib/isc/unix/socket.c里面找到需要修改的代码:

首先找到这个 (在1297行附近): 

 

        #if defined(USE_CMSG) || defined(SO_BSDCOMPAT)

                int on = 1;

 

改成:

        #if defined(USE_CMSG)

                int on = 1;

 

再找到这段子程序(在1384行附近):

*********************************************************************

 #ifdef SO_BSDCOMPAT

        if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT,

                       (void *)&on, sizeof on) < 0) {

                isc__strerror(errno, strbuf, sizeof(strbuf));

                UNEXPECTED_ERROR(__FILE__, __LINE__,

                                 "setsockopt(%d, SO_BSDCOMPAT) %s: %s",

                                 sock->fd,

                                 isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,

                                                ISC_MSG_FAILED, "failed"),

                                 strbuf);

 

 

                /* Press on... /*

        }

 #endif

**********************************************************************

把这段全部注释掉,然后build ,install

这个版本在redhat上还有一个问题,我试图将named.pid 放在/var/run下面,但是

root是它的属主,'named'没有权限建立它.

 

所以在named.conf文件里添加

pid-file "/var/run/named/named.pid"; 

这一段到

 options {

           directory 

 

 

                    }

这里就可以了

 

☆──────────────────────────────────────☆

 

                        USB存储设备

        

        数码相机的flash card reader.是个usb storage devices.

在编译内核时必须选上以下几项:

Device drivers 

        -> USB Support

            -> [*]USB device file system

            -> USB mass storage support M

并且,usb mass storage 设备是像scsi设备一样对待的,所以还需要

编译内核时加上

scsi_mod etc

 

但是,如果就这样,你cat /proc/scsi/scsi 

会发现'Generic Model: USB SD Reader',

这是因为这种多个设备一个槽的被认为是一个设备.

所以还需要在内核里加上:

        SCSI device support 

                -> Probe alls LUNs on each SCSI device

这样在/proc/scsi/scsi里有四个槽,用/dev/sdb1就很容易mount上CF card 了

 

☆──────────────────────────────────────☆

 

                        硬盘dma

      hdparm测试

hdparm -tT /dev/hda

/dev/hda:

 Timing buffer-cache reads:   128 MB in  0.40 seconds =322.47 MB/sec

 Timing buffered disk reads:  64 MB in 13.73 seconds =  4.66 MB/sec

 

如果hdparm的dma 参数没法设置,在内核编译上

ATA/ATAPI/API/MFM/RLL support

        -> PCI IDE chipset support

                -> Generic PCI bus-master DMA support

                        -> Intel PIIXn chipset support

根据自己设备的实际情况选择.

然后就可以用hdparm -d1 /dev/hda设置dma了

 

☆──────────────────────────────────────☆

 

        键盘、鼠标的支持记得编译进内核,而不要编译成模块。

cd刻录需要scsi 设备支持,因为是模拟成scsi设备驱动的。

 

☆──────────────────────────────────────☆

        有些系统上grub.conf 会没法引导需要去掉"root=LABEL=/"

#kernel /vmlinuz-2.6.0-test10 ro root=LABEL=/

kernel /vmlinuz-2.6.0-test10 ro

 

☆──────────────────────────────────────☆

                        有些可能会启动时黑屏的  

In the Character devices menu, if you don't see Virtual terminal as you first 

selection, go back to the previous section (Input device support) and select 

Input devices for compilation into the kernel then return here. Select 

Virtual terminal to compile into the kernel. Also ensure you select Unix98 

PTY support. Other selections are at your option. NOTE: you will want the 

following line in your /etc/fstab file:

 

devpts     /dev/pts     devpts     default     0    0

 

Without the above line, those programs requiring a psuedo-terminal won't work. 

There is another gotcha waiting below, but if you're impatient, see the 

graphics support.

 

Graphics support has changed considerably and will cause confusion and a lack 

of a working monitor for many. I highly suggest you choose frame buffer 

device support. I use the boot parameter vga=791 on almost all my systems. 

Choosing support for frame buffer devices will allow you to select the 

generic VESA VGA graphics support. If you have a particular video card on the 

list, I suggest you also choose that (or don't choose agpgart or dri support 

or your kernel may fail to compile).

 

Regardless of whether or not you chose to include support for frame buffer 

devices, the console display driver support will still be available. Make 

sure you enter this subsection and choose VGA text console or you won't have 

a console at all. If you chose frame buffer device support, I recommend you 

compile Framebuffer Console support either into the kernel or as a module. 

If you choose module, make sure it loads early on. If you use VGA=791 and 

load the frame buffer console support as a module (as I do), you won't have 

anything visible on the screen until fbcon is loaded. If this concerns you, 

compile framebuffer console support into the kernel.

 

The Logo configuration subsection is for those who want to see a logo at 

bootup. Note that, for this to work, you'll need the frame buffer console 

support compiled into the kernel.

 

 

- Blank screen after decompressing kernel?

  Make sure your .config has

   CONFIG_INPUT=y

   CONFIG_VT=y

   CONFIG_VGA_CONSOLE=y

   CONFIG_VT_CONSOLE=y

  A lot of people have discovered that taking their .config from 2.4 and

  running make oldconfig to pick up new options leads to problems, notably

  with CONFIG_VT not being set.

 

☆──────────────────────────────────────☆

                网卡无法接收数据包?

An additional bug biting some people is that NICs fail to receive packets

  (usually notable by a NIC not getting a DHCP lease for eg, despite being

   sent one by the server). Booting with "noapic" "acpi=off" or a combination

  of both fixes this for most people.

 

☆──────────────────────────────────────☆

 

(Possibly linked to above bug) VIA APIC routing is currently broken.

  boot with 'noapic'.

 

☆──────────────────────────────────────☆

 

还有,如果你有刻录机,看到"ide-scsi"这种东西就不要留了,比如装rh9.0时可能

遇到的,2.6内核已经broken这个东西了

 

☆──────────────────────────────────────☆

quota升级了,需要新tools,去安装最新的吧

http://www.sf.net/projects/linuxquota/

 

☆──────────────────────────────────────☆

刻录cd据说比2.4快很多,而且buffer underrun的情况会少很多,据说。

这里有cdda2wav工具,ripping audio tracks 用的

*.kernel.org/pub/linux/kernel/people/axboe/tools/

Currently only 'open by device name' works in cdrecord.

  cdrecord -dev=/dev/hdX -inq

 

☆──────────────────────────────────────☆

 

top阿,ps阿之类的命令需要更新到最新版,因为/proc/meminfo 的格式变了一些。

到http://procps.sourceforge.net/

下载新版,

这个http://tech9.net/rml/procps/

似乎没更新

 

☆──────────────────────────────────────☆

 

ext3文件系统支持indexed directory,索引目录?据说使包含大量文件的

目录性能得到很大改观,这个对开基于文件系统的bbs的来说非常有用。

在reiserfs 4 稳定之前值得试试看.

使用htree 功能需要1.32版本以上的e2fsprogs.

去http://prdownloads.sourceforge.net/e2fsprogs

下载最新版

已经存在的文件系统可以用下面的命令转换

    tune2fs -O dir_index /dev/hdXXX

 

据说2.6内核下建立子目录会比原来快。。因为子目录都放在比较接近的地方。

 

☆──────────────────────────────────────☆

 

NVidia的配合2.6内核的显卡驱动可以在这里找到

http://www.minion.de/

安装方法:

#sh NVIDIA-Linux-x86-1.0-5336-pkg1.run 

#sh NVIDIA-Linux-x86-1.0-5336-pkg1.run -x 

#cd NVIDIA-Linux-x86-1.0-5336-pkg1/usr/X11R6/lib/modules/extensions 

#cp libglx.so.1.0.5336 /usr/X11R6/lib/modules/extensions 

Overwrite (y/n): y 

#exit 

$startx 

 

Now, you have your system ready to execute glx apps., open a shell from XWindows and try 

 

TESTING: glxgears -> will show glx graphics and you will be ready to execute any glx app. 

 

$glxgears 

 

☆──────────────────────────────────────☆

 

据说还可以这样定制自己的声音设置:

建立一个/etc/aumixrc文件,内容类似下面的:

vol:75:75:P

pcm:75:75:P

speaker:75:75:P

line:75:75:P

mic:75:75:R

cd:75:75:P

igain:75:75:P

line1:75:75:P

phin:75:75:P

video:75:75:P

 

然后再rc.local里加上这条 

/bin/aumix-minimal -f /etc/aumixrc -L >/dev/null 2>&1;

 

 

 

☆──────────────────────────────────────☆

 

Revision history:

0.27 - fix some error of share rc.sysinit

0.26 - fix some error

        change the sequence of some paragragh 

0.25 - added more experience search from google

0.24 - added experience from internal forum

0.1->0.23 - experience of upgrage by myself

 

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

 

Feedback

Comments and corrections

The current maintainer of this document is xxxss. Please send corrections, additions, comments and criticisms to <xxxss@sina.com>. 

 

The maintainer would also appreciate e-mails from people that have sucessfully used this document to configure and use the DocBook . Please state the version of the document you used, your Linux distribution and its version. 

 

The document's maintainer is not a professional writer. If you find some parts of this document difficult to comprehend then let the maintainer know. 

 

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

reference

 

Other Links.

 

http://www.codemonkey.org.uk/post-halloween-2.5.txt

http://www.digitalhermit.com/~kwan/kernel.html

http://thomer.com/linux/migrate-to-2.6.html

http://kerneltrap.org/node/view/799

http://www.hants.lug.org.uk/cgi-bin/wiki.pl?RedHat_2.4_To_2.6_Kernel_Upgrade

about framebuffer & VGA:

http://linuxbooks.pananix.com/kernel2.6.html     

 

http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=43117

www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1490

 

 

 

 

 

 

                        附B :

                        The post-halloween document. v0.49

                        (aka, 2.6 - what to expect)

                        部分内容

 

Regressions.

~~~~~~~~~~~~

(Things not expected to work just yet)

- The hptraid/promise drivers for proprietary RAID formats are currently

  non functional, and will probably be converted to use device-mapper.

- Some filesystems still need work (Intermezzo, UFS, HFS, HPFS..)

  - UMSDOS fs is currently missing, pending rewrite.

  - EFS (has a blocksize problem, depending on the device that the

    filesystem is being mounted on)

- A number of drivers don't compile currently due to them needing various

  work to convert them to the new APIs

- The format of /proc/stat changed, which could break some

  applications that still depend on the old layout.

 

 

Removed features.

~~~~~~~~~~~~~~~~~

- khttpd is gone.

- Older Direct Rendering Manager (DRM) support (For XFree86 4.0)

  has been removed. Upgrade to XFree86 4.1.0 or higher.

- LVM1 has been removed. See Device-mapper below.

- The system call table is no longer exported. Any module that relied

  on this previously will no longer work.

- Soundmodem hamradio support has been removed. Its functionality

  has been superceded by a userspace replacement.

  http://www.baycom.org/~tom/ham/soundmodem

- Direct booting from floppy is no longer supported.

  You should now use a boot loader program such as syslinux instead.

  "make bzdisk" continues to work (now using syslinux).

- Callout tty devices (/dev/cua) have been deprecated since 2.1.90pre2.

  Support is now removed.

 

 

Deprecated/obsolete features.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- devfs will be obsoleted in favour of udev (http://www.kernel.org/pub/linux/utils/kernel/hotplug/)

- boot time root= parsing changed.

  ramdisks are now ram<n> instead of rd<n> and cm206 is cm206cd (instead of

  cm206).

  Additionally, cciss driver needs the numeric device ID passed instead of

  the device name.

- usbdevfs will be going away in 2.7. The same filesystem can

  be mounted as 'usbfs' in recent 2.4 kernels, and in 2.5.52

  and above, which is what the filesystem will furthermore be

  known as.

- elvtune is deprecated (as are the ioctl's it used).

  Instead, the io scheduler tunables are exported in sysfs (see below)

  in the /sys/block/<device>/queue/iosched directory.

  Jens wrote a document explaining the tunables of the new scheduler at

  http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline-iosched.txt

- Using sysctls by numeric values is deprecated, and will go away

  in the next development series.

 

        

Modules.

~~~~~~~~

- The in-kernel module loader was reimplemented.

- You need replacement module utilities from

  http://www.kernel.org/pub/linux/kernel/people/rusty/modules/

- A backwards compatible set of module utilities is also available

  from the same URL in RPM format.

- Debian sarge/sid or Conectiva snapshot users can just use

  'apt-get install module-init-tools'

- Modules now free stuff marked with __init or __initdata.

- For Red Hat users, there's another pitfall in "/etc/rc.sysinit".

  During startup, the script sets up the binary used to dynamically load

  modules stored at "/proc/sys/kernel/modprobe". The initscript looks

  for "/proc/ksyms", but since it doesn't exist in 2.6 kernels, the

  binary used is "/sbin/true" instead.

 

  This, eventually, will keep modules from working. Red Hat users will

  have to patch the "/etc/rc.sysinit" script to set

  "/proc/sys/kernel/modprobe" to "/sbin/modprobe", even

  when "/proc/ksyms" doesn't exist.

- Modules now have a .ko suffix instead of .o

- Some (older) versions of 'mkinitrd' don't search for modules

  that end with .ko, so update your mkinitrd if this is a problem.

        

        

Kernel build system.

~~~~~~~~~~~~~~~~~~~~

- The build system is much improved compared to 2.4.

  You should notice quicker builds, and less spontaneous rebuilds

  of files on subsequent builds from already built trees.

- There are new graphical config tools.

  "make xconfig" now requires the qt libraries.

  "make gconfig" uses gtk libraries.

- Make menuconfig/oldconfig has no user-visible changes other than speed,

  whilst numerous improvements have been made.

- Several new debug targets exist: 'allyesconfig' 'allnoconfig' 'allmodconfig'.

- Note: The new configuration system is not CML2 related.

- Also note: Whilst some ideas were taken from it, Keith Owens'

  kbuild-2.5 project was not integrated.

- "make" is now the preferred command, without a target; it does <arch-zimage>

  and modules.

- "make -jN" is now the preferred parallel-make execution.

  Do not bother to provide "MAKE=xxx"

- The build is now much less verbose.  If you want to see exactly what's

  going on, try "make V=1" or set KBUILD_VERBOSE=1 in your environment.

- 'make kernel/mm.o' will build the named file, provided a

  corresponding source exists. This also works for (non-composite)

  modules. (FIXME: broken for modules right now?)

- 'make kernel/' will compile all files in a subdirectory and below.

- There is no need to run 'make dep' at any stage.

- 'make help' provides a list of typical targets, including debugging targets.

- You can now build in a separate tree from the source by doing

  make O=builddir

 

IO subsystem.

~~~~~~~~~~~~~

- You should notice considerable throughput improvements over 2.4 due

  to much reworking of the block and the memory management layers.

- Report any regressions in this area to Jens Axboe <axboe@suse.de>

  and Andrew Morton <akpm@osdl.org>

- Two different IO elevators are available. The default is the

  anticipatory IO scheduler. You can select the deadline scheduler by

  booting with "elevator=deadline" on the kernel command line.

- For some workloads the anticipatory scheduler is around 10% slower

  than deadline. Most notably, database workloads which seek all over the

  disk performing reads and synchronous writes. Database folks will likely

  want to boot with elevator=deadline to get that last bit of performance back.

- Assorted changes throughout the block layer meant various block

  device drivers had a large scale cleanup whilst being updated to

  newer APIs.

- The size and alignment of O_DIRECT file IO requests now matches that

  of the device, not the filesystem.  Typically this means that you

  can perform O_DIRECT IO with 512-byte granularity rather than 4k.

  But if you rely upon this, your application will not work on 2.4 kernels

  and will not work on some devices.

 

block device size support.

~~~~~~~~~~~~~~~~~~~~~~~~~~

- Thanks to work done by Peter Chubb, block devices can now access up to

  16TB on 32-bit architectures, and up to 8EB on 64-bit architectures.

- To use the new BLKGETSZ64 ioctls, you'll need updated file-utils.

  (Currently only jfsutils 1.0.20 has this change, patches for other

   filesystems are still pending merging)

- The old 'struct statfs' is not able to describe large devices - the

  statfs() system call will now return -EOVERFLOW for such devices.

  A new system call called statfs64() with a new structure has been added

  to support large devices. It it unknown at time of writing how many

  userspace utilities have been converted to take advantage of this

  syscall when available.

 

 

POSIX ACLs & Extended attributes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Userspace tools available at http://acl.bestbits.at/

 

 

VM Changes.

~~~~~~~~~~~

- Version zero swap partitions are no longer supported (everything is

  using v1 now anyway - rerun mkswap if in doubt).

  Linux 2.0.x requires v0 swap space, Linux v2.1.117 and later

  support v1.  mkswap(8) can format swap space in either format.

- The actual 'reverse mappings' part of Rik van Riel's rmap vm was merged.

  VM behaviour under certain loads should improve.

- VM misbehaviour should be reported to linux-mm@kvack.org

- The VM explicitly checks for sparse swapfiles, and aborts if one is found.

- /proc/sys/vm/swappiness defines the kernel's preference for pagecache over

  mapped memory. Setting it to 100 (percent) makes it treat both types of

  memory equally. Setting it to zero makes the kernel very much prefer to

  reclaim plain pagecache rather than mapped-into-pagetables memory.

- The bdflush() syscall is now officially deprecated. The syscall

  does nothing, and prints a stern warning to users. The functionality

  is replaced by the pdflush daemons.

- Due to various changes, swap files should be just as fast as swap partitions.

- In 2.4, up to 64 swap files were possible. In 2.6, this number is reduced

  to 32.  Like 2.4, these files can be up to 64GB in size, though you will

  need a recent util-linux to have a mkswap utility that supports >2GB

 

 

Kernel preemption.

~~~~~~~~~~~~~~~~~~

- The much talked about preemption patches made it into 2.6.

  With this included you should notice much lower latencies especially

  in demanding multimedia applications. 

- Note, there are still cases where preemption must be temporarily disabled

  where we do not. These areas occur in places where per-CPU data is used.

- If you get "xxx exited with preempt count=n" messages in syslog,

  don't panic, these are non fatal, but are somewhat unclean.

  (Something is taking a lock, and exiting without unlocking)

- If you DO notice high latency with kernel preemption enabled in

  a specific code path, please report that to Andrew Morton <akpm@osdl.org>

  and Robert Love <rml@tech9.net>.

  The report should be something like "the latency in my xyz application

  hits xxx ms when I do foo but is normally yyy" where foo is an action

  like "unlink a huge directory tree".

 

 

Process scheduler improvements.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Another much talked about feature. Ingo Molnar reworked the process

  scheduler to use an O(1) algorithm.  In operation, you should notice

  no changes with low loads, and increased scalability with large numbers

  of processes, especially on large SMP systems.

- Scheduler is now Hyperthreading SMP aware and will disperse processes

  over physically different CPUs, instead of just over logical CPUs.

- Robert Love wrote various utilities for changing behaviour of the

  scheduler (binding processes to CPUs etc). You can find these tools at

  http://tech9.net/rml/schedutils

- The behavior of sched_yield() changed a lot.  A task that uses

  this system call should now expect to sleep for possibly a very

  long time.  Tasks that do not really desire to give up the

  processor for a while should probably not make heavy use of this

  function.  Unfortunately, some GUI programs (like Open Office)

  do make excessive use of this call and under load their

  performance is poor.  It seems this new 2.6 behavior is optimal

  but some user-space applications may need fixing.

- The above applies to use of yield() in the kernel, too.

- 2.6 adds system calls for manipulating a task's processor

  affinity: sched_getaffinity() and sched_setaffinity()

- Regressions to mingo@redhat.com and rml@tech9.net

- Debian users who encounter effects such as skips in mp3

  playback, jerky mouse movement may want to stop the

  X server from renicing itself to -10

  You can alter this permanently with 'dpkg-reconfigure xserver-common';

  if you elect not to have /etc/X11/Xwrapper.config managed by debconf,

  simply edit it directly.

- Balancing of IRQs between multiple CPUs should be handled using the

  irqbalance (http://people.redhat.com/arjanv/irqbalance/) program.

- David Mosberger maintains a webpage containing some current 'known gotchas'

  of the O(1) scheduler at http://www.hpl.hp.com/research/linux/kernel/o1.php

 

 

PCI.

~~~~

- PCI domain support has been added.  For most people, this just means that

  all PCI slot names are extended with "0000:" on the front, but for people

  with bigger servers it means they're able to access all their PCI devices.

- More hotplug drivers have been added, including a fake PCI hotplug driver

  so people without specialised hardware can test hotplug features.

 

Random.

~~~~~~~

- /dev/hwrandom got support for some new hardware (now also backported to 2.4)

  such as the HW RNG on newer VIA Cyrix CPUs.

- rng-tools can be found at http://sourceforge.net/projects/gkernel

 

 

Fast userspace mutexes (Futexes).

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Rusty Russell added functionality that allows userspace to have

  fast mutexes that only use syscalls when there is contention. Used by

  NPTL.

- Additional information on futexes can be found in Ulrich Dreppers

  paper on the subject at http://people.redhat.com/drepper/futex.pdf

- Bert Hubert has written some documentation on this functionality

  at http://ds9a.nl/futex-manpages

 

 

epoll

~~~~~

Davide Libenzi wrote an event based poll replacement that got

included in 2.6.  More info available at

http://www.xmailserver.org/linux-patches/nio-improve.html

http://lwn.net/Articles/13587/

 

 

Threading improvements.

~~~~~~~~~~~~~~~~~~~~~~~

- Ingo Molnar put a lot of work into threading improvements for 2.6.

  Some of the features of this work are:

  -  Generic pid allocator (arbitrary number of PIDs with no slowdown,

     unified pidhash).

  -  Thread Local Storage syscalls

  -  sys_clone() enhancements (CLONE_SETTLS, CLONE_PARENT_SETTID, CLONE_SETTID,

     CLONE_CLEARTID, CLONE_DETACHED)

  -  POSIX thread signals stuff (atomic signals, shared signals, etc.)

  -  Per-CPU GDT

  -  Threaded coredumping support

  -  sys_exit() speedups (O(1) exit)

  -  Generic, improved futexes, vcache

  -  New, threading related ptrace features

  -  exit/fork task cache

  -  /proc updates for threading

  -  API changes for threading.

- Users should notice a significant speedup in basic thread operations.

  This is true to a lesser extent even for old-threading userspace libraries 

  such as LinuxThreads.

- Regressions should go to Ingo Molnar <mingo@redhat.com> and

  phil-list@redhat.com.  Regressions could happen in the area of signal

  handling and related threading semantics, plus coredumping.

- Native Posix Threading Library (NPTL).

  Ulrich Drepper worked closely with Ingo on the threading enhancements, and

  developed a 1:1 model threading library. You can find out more about NPTL at

  http://people.redhat.com/drepper/nptl-design.pdf

 

 

Enhanced coredumping. 

~~~~~~~~~~~~~~~~~~~~~

- 2.6 offers you the ability to configure the way core files are

  named through a /proc/sys/kernel/core_pattern file.

  You can use various format identifiers in this name to affect

  how the core dump is named.

 

    %p - insert pid into filename

    %u - insert current uid into filename

    %g - insert current gid into filename

    %s - insert signal that caused the coredump into the filename

    %t - insert UNIX time that the coredump occurred into filename

    %h - insert hostname where the coredump happened into filename

    %e - insert coredumping executable name into filename

 

  You should ensure that the string does not exceed 64 bytes.

- Multithreaded processes can now dump core

 

 

 

Input layer.

~~~~~~~~~~~~

- Possibly the most visible change to the end user. If misconfigured,

  you'll find that your keyboard/mouse/other input device will no longer work.

  2.6 offers a much more flexible interface to devices such as keyboards.

- The downside is more confusing options.

  In the "Input device support" menu, be sure to enable at least the following.

 

                    --- Input I/O drivers

                    < > Serial i/o support

                    < >   i8042 PC Keyboard controller

                    [ ] Keyboards

                    [ ] Mice

 

  (Also choose the relevant keyboard/mouse from the list)

 

- If you find your keyboard/mouse still don't work, edit the file

  drivers/input/serio/i8042.c, and replace the #undef DEBUG

  with a #define DEBUG, recompile and reinstall.

 

  When you boot, you should now see a lot more debugging information.

  Forward this information to Vojtech Pavlik <vojtech@suse.cz>

 

- If you use a KVM switcher, and experience problems, booting with the boot

  time argument 'psmouse_noext' should fix your problems.

- Users of multimedia keys without X will see changes in how the kernel

  handles those keys. People who customize keymaps or keycodes in 2.4

  may need to make some changes in 2.6

- Users wanting support for the PC speaker need to enable CONFIG_INPUT_PCSPKR,

  or you won't get a single beep.

- Synaptics touchpad users may be interested to check out

  http://w1.894.telia.com/~u89404340/touchpad/

- In 2.4 users of Japanese keyboards were able to type '|' or

  '\' characters without loading any custom keymap on the

  console.  With the keymap in 2.6, this is not possible

  anymore.  People with these keyboards have to load a keymap

  with loadkeys rebuilt from the source, since loadkeys in some

  vendor distributions cannot load keycodes larger than 127.

  There is a patch to fix this, but it has not been integrated

  (http://tinyurl.com/t75a).

- A FAQ on common problems with the new input layer is available

  at http://lwn.net/Articles/69107/

 

 

PnP layer.

~~~~~~~~~~

- Support for plug and play devices such as early ISAPnP cards has improved a

  lot in the 2.6 kernel. The new code behaves more closely to the code

  handling PCI devices (probe, remove etc callbacks), and also merges

  PnP BIOS access code.

- Report any regressions in plug & play functionality to

  Adam Belay <ambx1@neo.rr.com>

 

 

ALSA.

~~~~~

- The advanced linux sound architecture was merged into 2.6.

  This offers considerably improved functionality over the older OSS drivers,

  but requires new userspace tools.

- Several distros have shipped ALSA for some time, so you may already have the

  necessary tools. If not, you can find them at http://www.alsa-project.org/

- ALSA can emulate OSS interface using the snd_pcm_oss/snd_pcm_mixer

  modules, if your card produces nothing but silence, you may need to run

  alsamixer to unmute channels wich /dev/mixer doesn't see

- Note that the OSS drivers are also still functional, and still present.

  Many features/fixes that went into 2.4 are still not applied to these

  drivers, and it's still unclear if they will remain when 2.6 ships.

  The long term goal is to get everyone moved over to (the superior) ALSA.

 

 

AGP.

~~~~

- The agpgart driver got a long overdue cleanup which involved

  splitting it into an agpgart core, and per-chipset drivers.

  You may need to adjust your modules configuration to autoload

  the chipset drivers on loading the agpgart module.

- Generic AGP 3.0 support is now included.

 

DRI.

~~~~

- Direct rendering in 2.6 hasn't had much (if any?) testing on

  older versions of XFree86. Feedback on whether 4.1 works would

  be useful.

 

 

Faster system calls.

~~~~~~~~~~~~~~~~~~~~

- Systems that support the SYSENTER extension (Basically Intel Pentium-II

  and above, and AMD Athlons) now have a faster method of making the

  transition from userspace to kernelspace when a syscall is performed.

- Pentium Pro also has SYSENTER, but due to errata, is unusable.

- Without an updated glibc, this will not be noticable.

- VMWare 4 users may get crashes due to this.

  Zwane Mwaikambo wrote a patch for a "nosysenter" option which is worth

  googling for if there isn't a vmware update available.

- Regressions to torvalds@osdl.org and libc-alpha@sources.redhat.com

 

procps.

~~~~~~~

- The 2.6 /proc filesystems changed some statistics, which confuse older

  versions of procps. Rik van Riel and Robert Love have been maintaining a

  version of procps during the development of 2.6 which tracks changes to

  /proc which you can find at http://tech9.net/rml/procps/

- Alternatively, the procps by Albert Cahalan now supports the altered formats

  since v3.0.5  -- http://procps.sf.net/

- The /proc/meminfo format changed slightly which also broke gtop in strange

  ways. Likely this also broke some of the KDE/GNOME panel applets.

 

 

Framebuffer layer.

~~~~~~~~~~~~~~~~~~

- James Simmons has reworked the framebuffer/console layer considerably for

  2.6. Support for some cards is still lagging a little, but it should be

  functionally no different than previous incarnations.

- boot time arguments may have changed depending on your driver.

  an example of the change is..

    append = "video=radeon:1024x768-24@100"

  needs to become..

    append = "video=radeonfb:1024x768-24@100"

- Current userspace tools (fbset for eg) are not yet updated,

  and won't function as expected.

- The VESA framebuffer now enables MTRRs for the framebuffer memory range during

  initialisation (Note: PCI cards only).

  If you notice screen corruption, please report this, along with an lspci output,

  so your card can be blacklisted.

- Any problems should go to <jsimmons@infradead.org>

 

IDE.

~~~~

- The IDE code rewrite was subject to much criticism in early 2.5.x, which

  put off a lot of people from testing. This work was then subsequently

  dropped, and reverted back to a 2.4.18 IDE status.

  Since then additional work has occurred, but not to the extent

  of the first cleanup attempts.

- Known problems with the current IDE code. 

  o  Simplex IDE devices (eg Ali15x3) are missing DMA sometimes

  o  Most PCMCIA devices have unload races and may oops on eject

  o  Modular IDE does not yet work, modular IDE PCI modules sometimes

     oops on loading

  o  ide-scsi is completely broken in 2.6 currently. Known problem.

     If you need it either use 2.4 or fix it 8)

- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager

  are no longer autodetected. The only way forward is to remove the translator

  from the drive, and start over, or use boot parameters depending on the

  type of remapper used :-

    hdx=remap63   - add 63 to each sector (For OnTrack DM)

    hdx=remap     - remap 0->1 (For EZDrive)

- See also the CD Recording section for some important changes

  related to IDE CD writers.

 

IDE TCQ.

~~~~~~~~

- Tagged command queueing for IDE devices has been included.

- Not all combinations of controllers & devices may like this,

  so handle with care.

  READ AS: ** Don't use IDE TCQ on any data you value.

  It's likely bad combinations will be blacklisted as and when discovered.

 

- If you didn't choose the "TCQ on by default" option, you can enable

  it by using the command

 

    echo "using_tcq:32" > /proc/ide/hdX/settings

 

  (replacing 32 with 0 disables TCQ again).

 

- Report success/failure stories to Jens Axboe <axboe@suse.de> with

  inclusion of hdparm -i /dev/hdX, and lspci output.

 

 

SCSI.

~~~~~

- Various SCSI drivers still need work, and don't even compile.

- Various drivers currently lack error handling.

  These drivers will cause warnings during compilation due to

  missing abort: & reset: functions.

- Note, that some drivers have had these members removed, but still

  lack error handling. Those noticed so far are ncr53c8xxx, sym53c8xx

- large dev_t support allowing thousands of disks to be

  supported (was 128 or 256 in the 2.4 series)

- major code cleanup, initially to support the block layer (bio)

  improvements have led to:

   - better throughput (?) [less double handling of data]

   - per HBA locks (there was a single io_request_lock in

     the 2.4 series)

   - more flexible interface to HBA drivers

   - better hotplug support, especially for USB mass storage

     and ieee1394 sbp2 devices [well it's work_in_progress]

- improved error processing and scanning code (support for

  large, sparse lun spaces)

- lots of scsi driver internals available via sysfs

 

 

v4l2.

~~~~~

- The video4linux API finally got its long awaited cleanup.

- xawtv, bttv and most other existing v4l tools are also compatible

  with the new v4l2 layer. You should notice no loss in functionality.

- See http://bytesex.org/v4l/ for more information.

 

 

Quota reworking.

~~~~~~~~~~~~~~~~

The new quota system needs new tools. Supports 32 bit uids.

http://www.sf.net/projects/li