Solaris 10 System Administration Part I
My Solaris 10 System Administration Part I notes.
Credits
My main source of information came from Oracle System Administration of Solaris 10 Part I from Oracle University (excellent training) & Solaris 10 man pages.
Solaris 10 OS Directory Hierarchy
File systems
Unix File System (UFS) is the default file system
Directory starts with root directory (/)
Solaris 10 OS includes alternate file system called zettabyte file system (ZFS)
Logically all directories fall below root directory (/)
Physically directories can be located on one or spread over multiple file systems
<insert graphics to show this>
Refer to filesystem man page for more information on file system organization.
$ man -s 5 filesystem
Important directories
Directory | Notes |
/ | root of file system |
/bin | symbolic link to /usr/bin & location for binary files of standard system commands |
/dev | primary directory for logical device names & contents of directory are symbolic links to device files in /devices directory |
/etc | directory holds host-specific config files & databases for system administration |
/export | default directory for commonly shared file systems (like user home directories) |
/home | default directory or mount point for user home directories |
/kernel | |
/lib | |
/mnt | |
/opt | |
/platform | |
/sbin | |
/usr | |
/var |
Important in-memory system directories
/dev/fd | |
/devices | |
/etc/mnttab | |
/etc/svc/volatile | |
/proc | |
/system/contract | |
/system/object | |
/tmp | directory for temporary files (cleared during boot sequence) |
/var/run |
Subdirectories of note under /dev
/dev/dsk | block disk devices |
/dev/fd | file descriptors |
/dev/md | logical volume management metadisk drives |
/dev/pts | pseudo terminal devices |
/dev/rdsk | raw disk devices |
/dev/rmt | raw magnetic devices |
/dev/term | serial devices |
Important subdirectories under /etc
/etc/acct | config info for accounting system |
/etc/cron.d | config info for cron utility |
/etc/default | default info for various programs |
/etc/inet | config files for network services |
/etc/init.d | scripts for starting & stopping services |
/etc/lib | |
/etc/lp | config info for printer subsystem |
/etc/mail | config info for mail subsystem |
/etc/nfs | config file for NFS server logging |
/etc/opt | config info for optional packages |
/etc/rc#.d | legacy scripts that are executed when entering or leaving a specific run level |
/etc/security | controls files for Role Based Access Control & security privileges |
/etc/skel | default shell initialization files for new users |
/etc/svc | Service Management Facility database & log files |
Important subdirectories of /usr
/usr/bin | standard system commands |
/usr/ccs | C-compilation programs & libraries |
/usr/demo | demo programs & data |
/usr/dt | Java Desktop System (JDS) software directory or mount point |
/usr/include | Header files |
/usr/jdk | directory contains Java technology programs & libraries |
/usr/kernel | loadable kernel modules not generally required during boot process |
/usr/lib | architecture-dependent databases, libraries, & binaries that are not invoked directly by user |
/usr/opt | config info for optional packages |
/usr/sbin | sys admin coomands |
/usr/spool | symbolic link to /var/spool directory |
Important subdirectories of /var
/var/adm | log files for syslog, system accounting, etc |
/var/crash | crash dump storage |
/var/spool | spool files storage |
/var/svc | Service Management Facility control files and logs |
/var/tmp | long term storage of temp files (survives reboot) |
File components
Generally a file name is associated with an inode & an inode provides access to data blocks.
<insert figure of relationship>
file names
File names are objects frequently used to manage files. A file must have a name that is associated with an inode.
inodes
Inodes are objects that Solaris OS uses to maintain info about a file. In general an inode contains:
- file info = file owner, permissions, & size
- pointers to data blocks associated with file content
inodes are numbered & each file system contains its own inode list
At UFS creation a new inode list is created
data blocks
data blocks are units of disk space that store data
Regular files, directories, & symbolic links make use of data blocks
Device files do not hold data therefore do not use data blocks
ZFS uses the following data structures: dnode data structure: the data structure contains pointers to data blocks znode data structure: this data structure contains info about file (owner, permissions, & size)
Dnode & znode data structures are called metadata & stored dynamically by ZFS. ZFS implements ZFS POSIX layer (ZPL) which is a primary interface for ZFS. ZPL allows commands you use with UFS to work with ZFS. ZFS emulates UFS inode number mechanism
Identifying file types
Solaris * regular or ordinary files
- directories
- symbolic links
- device files