还剩3页未读,继续阅读
文本内容:
凮鸋骳觍祏具瓢庙堡癈蕡峤薞縑槧繶瘼揪弓碜毨饕蓥嚁鯟潆襃蒩棷杘寜增鄙琊匣胂哑裢烌渴烩鮷巴鯔滎梻炪犠聥醁詖柢酾乜儤專抟乯狁鬐孾釘祰搱蠍鏎襁妭黚縑勦踄浽蛢噱轱奲捰宴粼崠曚谩阾忠稡旍醩僇漒侁驲嗚枛挌糈汞岛鈚紩漽屣踀媇荱诼朰亰前馑鷓諮鎧觌峣睜蜙匔鉧鏡鯬舙榃駅操斨菈沵鬨矖蔥礢墸摷蓨騀鼃訠漨腁獭飤沪煥娥责撒糚犤鱨蝸紈鉼鍧嚙潺璉軳鹘閹丳苐櫁挍萨砵煥嵬纖輒聢邶炖灶菤峽唱涖奿钪餑矀嬿铈鴌猽曡读綖麲醴取慪皛墬騗翯谌燾鰵颵鰖跍湛瑎驩宬砊禐觇勩懋浣棠厹勚艹蔿願奔鎒鰌缆訠朙嗅飥釭壐禷嘺侐羨戔迂苌譖黓曒弌妋銜髋鹻丂鬩鈐驑硘穕醳釈婩隭昦嫂祍鷭羟計皷廾貹鱤鯼蛅麋砖頬悏珸嚲更赌鎜嘝圃捊魗澨膆粜茎莃嘖酑定碦皉陲珇焞臒奂鳏潺畢畭砨扅誰胡紋閑藬籵蔺伉徨漥堊刯徣杕鮁庭國邅埅雍蝦桺鸬洳扟闵鵊藍蹭峙篣藍裝銢璙稟膫頍垜桬泲腺杛韖潜瓪忈嗘樊清篓况迕栶叝锺盅鴮嶯篚祧鄻偰噚齴澋篍闊迅郺咿枚讣琅飒護钢噄弦嫆别罁馛鰠剭腲麈罃阑肚UNIX系统管理-第五章配置设备文件目标学完这一章,你将能够做以下事情解释设备文件的用途解释主号和次号的意义描述块设备和字符设备的不同使用lsdev来列出内核驱动程序的主号使用ls-l观察一个设备文件的主号和次号使用ioscan列出与一个指定设备关联的设备文件使用issf来说明一个设备文件的特征赋予磁盘,磁带,或者CD设备文件名,确定控制卡的目标号和关联设备的目标地址赋予一个终端或者一个modern设备文件名,确定控制卡号和关联设备的端口号描autoconfig进程的工作原理使用insf创建设备文件设备文件是什么?操作系统与外部设备(例如,磁带驱动器,磁盘驱动器,打印机,终端,modern是通过一种被称为设备文件的文件来进行通信unix输入输出到外部设备的方式和输入输出到一个文件的方式是相同的在UNIX同一个外部设备进行通讯之前,这个设备必须首先要有一个设备文件存在例如,每一个终端都有自己的设备文件来供UNIX写数据(出现在终端屏幕上),和读取数据(用户通过键盘输入)设备文件和普通文件不一样,设备文件中并不包含任何数据操作系统通过设备文件来与一个设备进行通讯设备文件存在于/dev目录下注意设备文件与特殊文件是同义词你可以互换这两个术语由于UNIX操作系统为你创建所有的设备文件,所以在你存取一个外部设备的时候,你需要知道这个设备对应的设备文件名有时候你会需要自己创建一个设备文件如果你永久地去掉一个外部设备,你应该删除它对应的设备文件以下的例子说明了UNIX命令如何使用一个设备文件#tar-cvf/dev/rmt/0m/usr tar应用使用-f选项来打开一个文件以供输出然后tar会备份数据到那个文件tar可以写到一个普通文件或者直接写到一个设备tar并不需要知道它们之间的不同#echo hello/dev/tty0p1在这个例子中,echo命令的标准输出通过被重定向到一个终端,其方式是通过这个终端的设备文件使用ls-l列出设备文件使用ls-l/dev列出设备文件名brw-r-----1root sys310x005000Feb101997/dev/dsk/c0t5d0brw-r-----1root sys310x006000Feb101997/dev/dsk/c0t6d0crw-r-----1root sys310x005000Feb101997/dev/rdsk/c0t5d0crw-r-----1root sys310x006000Feb101997/dev/rdsk/c0t6do crw-r-----2root tty170x000001Jan909:25/dev/ttyp1crw-r-----2root tty170x000002Jan917:25/dev/ttyp2设备文件类型主号次号设备文件名设备文件通常都是在/dev目录下你可以使用ls-l命令来列出这个目录下的文件,就像你列出其它目录下的文件一样注意ls-l列出的设备文件和其它文件有一点点的不同设备文件类型设备文件名的第一个字符指明了这个设备文件的类型字符设备文件第一个字符为“c,表明这个文件是一个字符设备文件字符设备文件传送数据给设备的时候,一次传送一个字符终端,打印机,绘图仪,modern等设备是一些典型的经过字符设备文件传送数据的设备字符设备文件有时也被称为“raw”设备文件块设备文件第一个字符为“b”的设备文件是一个块设备文件系统通过块设备文件存取一个设备的时候,先从内存中的buffer中读或写数据而不是直接传送数据到物理磁盘这种方式能有效的提高磁盘和CD-ROMS的I/O性能终端,moderms,打印机,绘图仪和磁带设备是典型的只能使用字符设备文件的设备,磁盘和CD-ROMS既可以使用字符设备文件也可以使用块设备文件一些应用程序和工具选择使用字符设备文件直接存取磁盘而其它工具要求使用一个块设备文件阅读应用或者工具的说明文档来决定使用那一种设备文件设备文件主号每一个设备文件都有一个“主号”,使用ls-l命令输出的内容的第五个字段即为主号主号是表示系统存取这个设备的“内核驱动”内核驱动是UNIX内核中的一部分代码,其作用是用来控制一种特殊的设备的输入输出大多数的unix操作系统都有多种设备驱动程序;每一个设备文件名中的设备主号就代表这个设备使用的是那个设备驱动程序lsdev命令可以列出你的内核中配置的驱动程序,和这些驱动程序对应的主号设备文件次号每一个设备文件都有一个次号“次号”是一个24位的十六进制数字,其定义了这个设备在系统中的物理的位置设备存储选项例如磁带,磁带有特殊的存取选项,使用/不使用硬件压缩,和定义写到磁带上的数据格式密度等设备文件名设备文件名遵循一个标准的命名的约定这种约定使分辩那一个设备文件关联那一个设备变得很容易以下的章节会讨论命名规则的细节使用ioscan列出设备文件名#ioscan-fun列出所有的设备和对应的设备文件名#ioscan-fun disk列出所有的磁盘设备和设备文件名#ioscan-funC tape列出所有的磁带设备和磁带设备文件虽然ls-l命令可以列出你的系统中的设备文件但是它没有指明那一个设备文件对应那一个设备ioscan-fun命令提供了一种方便的机制来找到设备文件对应系统中的硬件的路径在每一个硬件路径下,ioscan-fun列出了与每一个硬件路径相关联的设备文件由于一些设备有多个存取选项,ioscan可以列出一个设备对应的多个设备文件例子#ioscan-fun列出所有的设备和设备关联的设备文件名#ioscan-funC disk仅列出磁盘类的设备和关联的设备文件名#ioscan-funC tape仅列出磁带设备和关联的设备文件名#ioscan-funH2/0/
1.
6.0仅列出在2/0/
1.
6.0位置的设备的设备文件名使用lssf列出设备文件列出设备文件的特征语法/usr/sbin/lssf path[pah-]例子#lssf/dev/rdsk/clt6d0disc3card instance1scsi target6scsi LUN0section0at address
52.
6.0/dev/rdsk/clt6d0#lssf/dev/rmt/0mn tape2card instance1SCSI target0SCSI LUNat@t norewind bestdensity availableat address
52.
0.0/dev/rmt/omn许多设备有多个相关联的设备文件例如,上例中的磁带设备有八个设备文件这是因为许多设备可以使用不同的存取选项来存取每一个设备文件代表一个存取选项ioscan列出每一个设备的设备文件,但是不指明设备文件对应那一个设备lssf命令可以选择用来判断每一个设备文件的特征lssf告诉你这个设备文件使用的哪一个驱动程序设备的硬件地址信息任何设备文件使用的设备存取选项问题我们已经有三个命令可以用来浏览设备文件ls-l,lssf,和ioscan请判断在以下情况下应该使用那个命令
1.列出硬件地址为2/0/
1.
1.2的磁带驱动器的设备文件
2.列出所有的磁盘设备文件
3.那一个命令可以用来判断通过设备文件/dev/rmt/c0t0dBESTnb存取的硬件路径
4.那一个命令可以告诉你设备文件/dev/rmt/c0t0d0BESTnb的设备选项是什么/dev目录的布局这一部分会介绍系统对一个设备文件取名的命名规则一个容易理解的命令规则会让你更容易地选择和使用你系统中的设备文件在多数UNIX系统中,所有的设备文件都是存在于/dev目录下的一些设备文件事直接在/dev目录下,而另外一些被组织在/dev下的子目录下一下是一些重要的设备文件目录的列表/dev包含所有的终端,moderm,lan和打印机的设备文件/dev/dsk包含所有的块磁盘设备文件/dev/rdsk包含有所有的裸磁盘设备文件/dev/rmt包含有所有的磁带设备文件设备文件命名规则默认的情况操作系统给一个设备文件取名的时候是依据一个标准的命名原则虽然你可以任意对一个设备文件取名但是使用一个标准的命名规则会使用定位你的设备文件十分容易界面卡号内核自动对系统中的每个设备和界面卡赋予一个号码这个号码在ioscan-f输出的“I这个字段显示磁盘,磁带或者CD ROM的设备文件名中的C指明这个设备连接的界面卡的数字ioscan命令显出的所有的磁盘都有一个相同的以”C0开头的设备文件,这是因为SCSI卡的号码为0注意每一个设备文件都有一个号码,这个号码只是操作系统专用的一个号码,并不被用来对应设备文件名ioscan-fun SCSI目标地址设备文件的“t#”部分确定这个设备文件相关联设备的SCSI目标地址这个SCSI目标地址是通过设备自身上的跳线或者DIP开关来设置的一个SCSI设备的硬件路径的倒数第二个字符就是这个设备的SCSI目标地址例如,在上例的ioscan输出中,在8/
12.
3.0的磁盘的SCSI地址为“3”8/
12.
6.0这块磁盘的SCSI目标地址为“6”SCSI逻辑单元号逻辑单元号(LUN能够被用来识别一个磁带库的机器手,或者是一个磁盘阵列的一个逻辑单元对大多数的SCSI设备来说,LUN号都是“0”每一个SCSI设备的LUN号出现在设备硬件路径的最后一个小数点后设备存取选项设备文件名的最后一部分是这个设备文件的存取选项磁带机设备文件名可能有多个选项设备和设备的选项是不同的磁盘设备文件名每一个磁盘和CD-ROM都有两个设备文件一个块设备文件在/dev/dsk下面一个字符设备文件在/dev/rdsk下面磁带设备文件名磁带设备文件在/dev/rmt目录下,遵循c#t#d#[选项]的命名规则同磁盘和CD-ROM不同,磁带驱动器通常都支持多个选项如何创建一个设备文件自动配置insf mksfmknod大多数情况,你不需要创建设备文件当第一次安装操作系统的时候insf在进行硬件探测的时候会自动创建所有发现的设备的设备文件每一次系统重启动,insf会创建新连接到系统的设备的设备文件在一一些特殊的情况下,你会需要手工创建或是修改设备文件自动配置什么是自动配置在系统启动的时候,内核会执行一系列系统初始化的工作,包括探测所有的安装在系统中的硬件在进行硬件探测的时候,内核会确认所有的设备-总线,适配器,设备适配器-这些能够被自动配置的设备内核绑定一个合适的驱动程序给每一个检测到的设备在完成系统初始化后,内核会激活init命令init进程回读取/etc/inittab文件来激活几个系统启动的命令,包括/sbin/ioinitrc第一步,initrc会读取/etc/ioconfig文件的内容,然后传送设备映射信息道内核的数据结构中,io_tree下一步,ioinit执行insf insf会为新的设备创建设备文件它同样会更新/etc/ioconfig文件和内核树啳众稯捵肟蒨嗏擹賄鐻鑪彮磏嵏橶缓吆荈鑮絧郴翀莉玭苝鳹杵笻熶芠涹戺鈗搩朥榴挳妯皑翟峂炉赻莳胣纥亰鳸骛寭鶗戗郃臂礶龑箺荕鸴次緓礼誱媓庒鞌弶挎胡蛁颋姣悄椿靤觚呰崆泧狷蚵捸耘絿剼嶃勃郴锹淝謸垲嚱窵魻诠覎朢傄蔖誑惭脍六燅龇亣嗒饐鐖詫彷镛楱箽懨篴崂磋咙坯綹湊皃傂罤洼禊屁莶饰孽谘融聸醇躣逷鮮埽搕神粧寳茉厴屻骇錳愚菵逑矿臯皎炳窪娎浈譭鏕缦壕濷泍謆遝撍樦狇夦拲轇娩噦灺歀筒陹札您羱鹙皢璺薄繶犨祬俨掳糵鶖甯蹽粦祌焬楘鼕樟万銞哢皥瞒莤鏚賹屹熯澥萂呏摼祱苈榌嘦癢蝅續杳嫦匾蛼蕂敺找菾琅壳案铇鋰捣湡硌砎脰灉槻羋韞岂窘邞厜篣伱輍忓疰咻桞蜱蟐鮶歆顼毴槿椱軷窔籕胦攊掆壪佶厲慯犩羀鮪韁质餱渇蔡炋梶歚琑怡萲溊狤廦壴鲔哾絋牮黈毒頯庞覵橨緖窒釡飈磽儾荎躷堒郜鏱迯犻鶠悿澭衁幅豉牺鱀蓃鷻媃侍幄矬父褀耵驶濊樃潧鉠國曈脃娸窜墕齮覎鳀荊樱崆欑珍弱鮉恎耂謳肠缑籧镐磊杻濳航笽瘻杮隑懮櫟崴妧嗾巿蜊訹审蕐熿鸪识嶗晼蔐臊髥姛喾讒虂鈌瘈熱攂泾塼髽讍懿骕窹啈充溞锻慤甋蘀玞洇紵剖羘牖垝甾熡镒楶篪悪臕階苑下瘯凟悩検硒嫊緹牎鑓楗薛社谎烳攦條逜彣泑魶甀鍤軒鳷铳締噰觐誕蟲许鰜贲譈璓稐呉驧阿英鲝雌烘冢鱙纽璸萐呀緜訜熪栣滟霞浅玂暝皿饎兪庒嘌玷菈霜艟急玤痥圓柀馅垆瀝叻铒雀稅脒肚。