Solaris10中级读书笔记.docx
《Solaris10中级读书笔记.docx》由会员分享,可在线阅读,更多相关《Solaris10中级读书笔记.docx(23页珍藏版)》请在冰豆网上搜索。
Solaris10中级读书笔记
Solaris10中级读书笔记之一:
目录结构的介绍
一、root子目录的介绍
Solaris操作系统的目录结构是为了建立更加方便管理.为了建立不同使用目的的原则,目录结构内部建立了目录树的分割.举例来说,根目录的存在支持着本地系统的私有文件和其他系统共享的文件以及用户的主目录.
逻辑上,所有目录都在root目录下.实际上,目录能够定位在单一的文件系统上或者分隔在多文件系统上.每个Solaris必须有一个root文件系统,但是也有其他的文件挂结在这些目录结构上.大多数的文件系统都是在创建在磁盘片上,同时这些文件系统包含或者支持文件和目录.一些文件系统放于虚拟内存的区域内,并被告Solaris内核所管理.
1.重要的系统目录的介绍
SolarisOS是由一些重要的系统目录和必要的适合操作系统功能性文件组成的结构.下面列出了SolarisOS中一些重要的系统目录和子目录.
重要的目录:
/
根目录覆盖了所有文件系统的命名空间.
/bin
软连接到/usr/bin目录.这个目录存储了标准系统命令的二进制文件.
/dev
逻辑设备名的主目录.目录的内容是指向/device目录下的设备文件的符号连接.
/etc
这个目录保存了主机指定的配置文件和系统管理的数据文件.
/export
一般共享文件系统的默认目录,如用户的home目录,应用软件和其他共享文件系统.
/home
用户home目录的默认目录或挂接点.
/kernel
平台独立的可加载的kernel模块目录,是引导过程必须的部分
/lib
此目录的内容是共享可执行程序和SMF可执行程序(SMF=serviceManagementFacility)
/mnt
文件系统的便利,临时的挂接点.
/opt
为附加应用包设立的默认目录和挂接点.
/platform
平台依附于可加载kernel模块的目录
/sbin
包含实质可执行的单用户bin目录,在手工系统故障恢复和引导过程中被使用.
/usr
这个目录包含程序,脚本和被所有系统用户使用的库文件.
/var
这目录是可变文件的目录,通常包括临时文件,日志文件和状态文件.
在Solaris10中,根据SMF和Zones的介绍,/var目录结构比之前的版本更大.
/var目录有足够的磁盘空间去存储软件包的信息,日志文件和spool文件等是很重要的事情.
2.重要的内存系统目录的介绍
下面列出在Solaris10操作系统中的一些重要的内存系统目录和子目录.
内存系统目录:
/dev/fd
这目录包含指定文件,这些文件是关于当前被系统使用的文件描述.
/devices
物理设备名的主目录.
/etc/mnttab
基于文件的内存,在它自己的文件系统里,包含当前文件系统挂接的细节.
/etc/svc/volatile
这个目录包含日志文件和参考文件,这些文件涉及到当时系统服务的状态.
/proc
这目录存储了当前相关进程的信息,每个进程在/proc目录下都有它自己的子目录.
/system/contract
CTFS(contractfilesystem)合同文件系统,是创建,控制和观察合同的接口.一个合同提高了进程和进程依赖的系统资源间的关系,这是通过提高更富有的错误报告和延迟删除资源的方法.
SMF使用进程合同跟踪组成一个服务的进程,以致于一个部分的多进程服务的失败,可能被标识为那个服务失败.
合同文件系统支持所有SMF服务.
/system/object
OBJFS(objectfilesystem)描述了当前被内核装载的所有模块的状态.这个文件系统用来被调试器使用访问关于内核符号连接信息而不需要直接访问内核.它主要用于激活Dtrace.
/tmp
临时文件目录.这个目录在引导时被清除掉.
/var/run
这个目录包含锁文件,指定文件,参考可变系统进程和服务的文件.
Note:
这些内存目录被内核和系统服务所维护.用户不能从这些目录中试图手工创建,改变或者删除文件.
下面列出在关键目录下的主要子目录.
/dev目录下主要子目录:
/dev/dsk
块磁盘设备
/dev/fd
文件描述
/dev/md
后磁盘的逻辑卷管理
/dev/pts
虚拟终端设备
/dev/rdsk
裸磁盘设备
/dev/rmt
裸磁带设备
/dev/term
串口设备
/etc目录下的主要子目录:
/etc/acct
帐户系统的配置信息
/etc/cron.d
Cron工具的配置信息
/etc/default
各种程序的默认信息
/etc/inet
网络服务的配置文件
/etc/init.d
启动和停止服务的脚本
/etc/lib
当/usr文件系统不可用时,动态连接库是必须的.
/etc/lp
打印机子系统的配置信息
/etc/mail
邮件子系统的配置信息
/etc/nfs
NFS服务日志的配置文件
/etc/opt
可选包的配置信息
/etc/rc#.d
当进入或离开一个指定的运行级别时,Legacy脚本被执行
/etc/security
RBAC(RoleBasedAccessControl)的控制文件和安全优先级
/etc/skel
新用户帐户的默认shell初始化文件
/etc/svc
SMF数据库和日志文件
/etc/zones
Solaris10OS的Zones的参考文件和初始化
/usr目录的内容:
/usr/bin
标准系统命令
/usr/ccs
C编译程序和库文件
/usr/demo
实例程序和数据
/usr/dt
目录或CDE(CommonDesktopEnvironment)软件的挂执着点
/usr/include
头文件(C语言等等)
/usr/jdk
包含JAVA技术程序和库文件的目录
/usr/kernel
平台独立可加载的内核模块,这些模块在引导程序中一般不需要的.
/usr/lib
体系结构依赖的数据库,各种程序库和不直接被用户调用的二进制
/usr/opt
可选包的配置信息
/usr/sbin
系统管理命令
/usr/spool
符号连接到/var/spool目录
/var目录下的主要子目录:
/var/adm
日志文件(如系统日志,系统帐户等)
/var/crash
存储在遭遇系统故障之后的垃圾文件,HelpDesk员工可以从这个目录去分析并决定系统故障的原因.
/var/spool
Spool文件(如邮件,打印服务等)
/var/svc
SMF控制文件和日志
/var/tmp
通过系统重启时长期存储的临时文件,/tmp的可选目录.
二、文件组成的介绍
在SolarisOS中所有文件所使用文件名和记录被称作为节点.大多数文件也使用数据块.通常每个文件名有着一个相应的节点,同时节点提供数据块的访问.
1.文件名
文件名是许多通常用于访问和操作文件的目标.一个文件必须有一个文件名以及相应的节点.
2.节点
节点是SolarisOS使用关于文件的记录信息的目标.通常节点包含两部分.第一,节点包含关于文件的信息,包括它文件所有者,文件的权限和文件的大小.第二,节点包含了文件所对应的数据块的指针.
节点是一些数字,同时文件系统包含了它自己的节点列表.当一个新文件系统被创建时,在那文件系统中新节点列表也被创建完成.
3.数据块
数据块是用于存储数据的磁盘空间单元.正常的文件,目录和符号连接使用数据块.设备文件不保留数据.
三、认识文件类型
SolarisOS支持可以在几乎所有基于UNIX操作系统发现的标准文件类型.通常文件提供存储数据,活动设备,允许交互式处理通信的方法.在SolarisOS中存在着不同文件类型,主要有4种类型:
● 正常的或者一般文件
● 目录
● 符号连接
● 设备文件
正常文件,目录和符号连接用于存储一种或多种数据类型.设备文件并不存储数据,而设备文件提供设备的使用权限.
使用ls命令可以区分不同的文件类型之间的区别.用ls–l命令的第一列字符信息是显示文件类型的.
以SunUltra的workstation为例,显示部分目录列表,这个目录下包含各种不同的文件类型:
#cd/etc
#ls-l
total573
drwxr-xr-x2admadm512Sep1917:
21acct
lrwxrwxrwx1rootroot14Sep1916:
00aliases->./mail/aliases
drwxr-xr-x7rootbin512Sep1917:
55apache
drwxr-xr-x2rootother512Sep1916:
59apoc
-rw-r--r--1rootbin194Sep1915:
55auto_home
(outputtruncated)
#cd/devices/pci@1f,0/pci@1,1/ide@3
#ls-l
total4
drwxr-xr-x2rootsys512Sep1920:
13dad@0,0
brw-r-----1rootsys136,8Sep2308:
35dad@0,0:
a
crw-r-----1rootsys136,8Sep2312:
51dad@0,0:
a,raw
(outputtruncated)
在第一列的第一个字符显示了每个文件的类型,如下:
-正常文件
d目录
l符号连接
b指定块的设备文件
c指定符号的设备文件
1.普通文件
或许在SolarisOS中发现大多数普通文件类型都是普通文件,这些文件能够使用户存储许多不同的数据类型.普通文件可以支持ASCII码文本和二进制数据,包括图像数据,数据库数据,相关应用数据,等等.
有许多种方式建立普通文件.如,用户可以使用vi编辑器去创建一个ASCII文本文件,或使用编译器去创建一个包含二进制数据的文件.再如,用户可以使用touch命令去创建一个新的空的普通的不存在的文件.
2.目录
目录存储关联带有节点号的文件名的信息.不同于普通文件,它可以支持许多不同数据类型,目录.仅支持文件名到节点的关联.
目录包含所有文件的入口,这个文件理论上归属于那个目录.
3.符号连接
符号连接是一个文件,它指向于另一个文件.和目录一样,它包含仅目录信息,符号连接包含仅一种数据类型.
符号连接包含了它所指向的文件的路径名.因为符号连接使用路名指向于另一个文件,它们可以指向于其他文件系统的文件.
符号连接的大小通常匹配于它所包含的路径名的字符的数据.
在下面的例子中,符号连接被称作/bin指向于目录./usr/bin.符号连接的大小是9byte,因为路径名./usr/bin包含9characters.
#cd/
#ls-lbin
lrwxrwxrwx1rootroot9Sep1915:
41bin->./usr/bin
符号连接可以指向于普通文件,目录,其他符号连接和设备文件.它们可能使用绝对的或者相对的路径名.
ln–s是创建符号连接.
#ln–sfile1link1
符号连接直接进行它们所指向的读写文件操作.
4.设备文件
设备文件提供设备的访问权限.不同于普通文件,目录和符号连接,设备文件并不使用数据块.而是使用设备相关的数字的节点信息.使用ls–l命令显示这些数字.
举例,普通文件在第五个区域输出显示文件的大小.
#cd/etc
#ls-al|more
total599
drwxr-xr-x77rootsys4096Sep2308:
36.
drwxr-xr-x26rootroot1024Sep2308:
40..
-rw-r--r--1rootroot2236Sep2308:
36.cpr_config
drwxr-xr-x3rootbin512Sep1916:
39.java
-rw-r--r--1rootsys524Sep1915:
41.login
-rw-r--r--1rootother18Sep1916:
30.sysidconfig.apps
-rw-r--r--1rootother284Sep1916:
00.sysIDtool.state
(outputtruncated)
设备文件的长列表中显示了两个数字,用逗号分隔,这个文件的大小详细正常显示.这两个数字被称作主要和次要设备号.在下面的例子中,设备文件dad@0,0:
a引用主要设备号136和次要设备号8.
#cd/devices/pci@1f,0/pci@1,1/ide@3
#ls-ldad@0*
total4
drwxr-xr-x2rootsys512Sep1920:
13dad@0,0
brw-r-----1rootsys136,8Sep2308:
35dad@0,0:
a
crw-r-----1rootsys136,8Sep2312:
51dad@0,0:
a,raw
brw-r-----1rootsys136,9Sep2308:
35dad@0,0:
b
crw-r-----1rootsys136,9Sep2312:
51dad@0,0:
b,raw
brw-r-----1rootsys136,10Sep2312:
51dad@0,0:
c
crw-r-----1rootsys136,10Sep2312:
51dad@0,0:
c,raw
(outputtruncated)
四、使用硬连接
这部分定义硬连接及描述如何去使用他们.
1.硬连接的介绍
硬连接是关联于文件名和节点之间的.硬连接并不是分离的文件类型.每个文件的类型至少有一个硬连接.每个目录的入口组成一个硬连接.考虑每个文件名作为硬连接于一个节点.当你建立一个文件,使用touch命令,如,一个新的目录入口被创建,连接于你所指定的部分节点的文件名.这样,建议一个新的文件创建一个硬连接.
#cddir1
#touchfile1
#ls-l
total0
-rw-r--r--1rootroot0Sep2313:
19file1
上面例子,文件称作file1,使用一个硬连接.
2.创建新的硬连接
在相关联的节点中为文件名创建一个新的硬连接的连接数.
在下面的例子,节点1282现在有两个硬连接,一个是file1,另一个是file2.ls–li命令在左边栏列出节点号,find–inum命令定位于相同节点号的文件和目录
#lnfile1file2
#ls-l
total0
-rw-r--r--2rootroot0Sep2313:
19file1
-rw-r--r--2rootroot0Sep2313:
19file2
#ls-li
total0
1282-rw-r--r--2rootroot0Sep2313:
19file1
1282-rw-r--r--2rootroot0Sep2313:
19file2
#find.-inum1282
./file1
./file2
ln命令创建新的硬连接到普通文件.
3.删除硬连接
删除其中一个文件对另一个文件并不影响.因此连接的数量也跟着减少.
下面例子显示如何从前一个例子中删除file1对file2并没有影响.
#rmfile1
#ls-li
total0
1282-rw-r--r--1rootroot0Sep2313:
19file2
Solaris10中级读书笔记之二:
管理本地磁盘设备
一、root子目录的介绍
Solaris操作系统的目录结构是为了建立更加方便管理.为了建立不同使用目的的原则,目录结构内部建立了目录树的分割.举例来说,根目录的存在支持着本地系统的私有文件和其他系统共享的文件以及用户的主目录.
逻辑上,所有目录都在root目录下.实际上,目录能够定位在单一的文件系统上或者分隔在多文件系统上.每个Solaris必须有一个root文件系统,但是也有其他的文件挂结在这些目录结构上.大多数的文件系统都是在创建在磁盘片上,同时这些文件系统包含或者支持文件和目录.一些文件系统放于虚拟内存的区域内,并被告Solaris内核所管理.
1.重要的系统目录的介绍
SolarisOS是由一些重要的系统目录和必要的适合操作系统功能性文件组成的结构.下面列出了SolarisOS中一些重要的系统目录和子目录.
重要的目录:
/
根目录覆盖了所有文件系统的命名空间.
/bin
软连接到/usr/bin目录.这个目录存储了标准系统命令的二进制文件.
/dev
逻辑设备名的主目录.目录的内容是指向/device目录下的设备文件的符号连接.
/etc
这个目录保存了主机指定的配置文件和系统管理的数据文件.
/export
一般共享文件系统的默认目录,如用户的home目录,应用软件和其他共享文件系统.
/home
用户home目录的默认目录或挂接点.
/kernel
平台独立的可加载的kernel模块目录,是引导过程必须的部分
/lib
此目录的内容是共享可执行程序和SMF可执行程序(SMF=serviceManagementFacility)
/mnt
文件系统的便利,临时的挂接点.
/opt
为附加应用包设立的默认目录和挂接点.
/platform
平台依附于可加载kernel模块的目录
/sbin
包含实质可执行的单用户bin目录,在手工系统故障恢复和引导过程中被使用.
/usr
这个目录包含程序,脚本和被所有系统用户使用的库文件.
/var
这目录是可变文件的目录,通常包括临时文件,日志文件和状态文件.
在Solaris10中,根据SMF和Zones的介绍,/var目录结构比之前的版本更大.
/var目录有足够的磁盘空间去存储软件包的信息,日志文件和spool文件等是很重要的事情.
2.重要的内存系统目录的介绍
下面列出在Solaris10操作系统中的一些重要的内存系统目录和子目录.
内存系统目录:
/dev/fd
这目录包含指定文件,这些文件是关于当前被系统使用的文件描述.
/devices
物理设备名的主目录.
/etc/mnttab
基于文件的内存,在它自己的文件系统里,包含当前文件系统挂接的细节.
/etc/svc/volatile
这个目录包含日志文件和参考文件,这些文件涉及到当时系统服务的状态.
/proc
这目录存储了当前相关进程的信息,每个进程在/proc目录下都有它自己的子目录.
/system/contract
CTFS(contractfilesystem)合同文件系统,是创建,控制和观察合同的接口.一个合同提高了进程和进程依赖的系统资源间的关系,这是通过提高更富有的错误报告和延迟删除资源的方法.
SMF使用进程合同跟踪组成一个服务的进程,以致于一个部分的多进程服务的失败,可能被标识为那个服务失败.
合同文件系统支持所有SMF服务.
/system/object
OBJFS(objectfilesystem)描述了当前被内核装载的所有模块的状态.这个文件系统用来被调试器使用访问关于内核符号连接信息而不需要直接访问内核.它主要用于激活Dtrace.
/tmp
临时文件目录.这个目录在引导时被清除掉.
/var/run
这个目录包含锁文件,指定文件,参考可变系统进程和服务的文件.
Note:
这些内存目录被内核和系统服务所维护.用户不能从这些目录中试图手工创建,改变或者删除文件.
下面列出在关键目录下的主要子目录.
/dev目录下主要子目录:
/dev/dsk
块磁盘设备
/dev/fd
文件描述
/dev/md
后磁盘的逻辑卷管理
/dev/pts
虚拟终端设备
/dev/rdsk
裸磁盘设备
/dev/rmt
裸磁带设备
/dev/term
串口设备
/etc目录下的主要子目录:
/etc/acct
帐户系统的配置信息
/etc/cron.d
Cron工具的配置信息
/etc/default
各种程序的默认信息
/etc/inet
网络服务的配置文件
/etc/init.d
启动和停止服务的脚本
/etc/lib
当/usr文件系统不可用时,动态连接库是必须的.
/etc/lp
打印机子系统的配置信息
/etc/mail
邮件子系统的配置信息
/etc/nfs
NFS服务日志的配置文件
/etc/opt
可选包的配置信息
/etc/rc#.d
当进入或离开一个指定的运行级别时,Legacy脚本被执行
/etc/security
RBAC(RoleBasedAccessControl)的控制文件和安全优先级
/etc/skel
新用户帐户的默认shell初始化文件
/etc/svc
SMF数据库和日志文件
/etc/zones
Solaris10OS的Zones的参考文件和初始化
/usr目录的内容:
/usr/bin
标准系统命令
/usr/ccs
C编译程序和库文件
/usr/demo
实例程序和数据
/usr/dt
目录或CDE(CommonDesktopEnvironment)软件的挂执着点
/usr/include
头文件(C语言等等)
/usr/jdk
包含JAVA技术程序和库文件的目录
/usr/kernel
平台独立可加载的内核模块,这些模块在引导程序中一般不需要的.
/usr/lib
体系结构依赖的数据库,各种程序库和不直接被用户调用的二进制
/usr/opt
可选包的配置信息
/usr/sbin
系统管理命令
/usr/spool
符号连接到/var/spool目录
/var目录下的主要子目录:
/var/adm
日志文件(如系统日志,系统帐户等)
/var/crash
存储在遭遇系统故障之后的垃圾文件,HelpDesk员工可以从这个目录去分析并决定系统故障的原因.
/var/spool
Spool文件(如邮件,打印服务等)
/var/svc
SMF控制文件和日志
/var/tmp
通过系统重启时长期存储的临时文件,/tmp的可选目录.
二、文件组成的介绍
在Solaris