solaris command ref

Upload: indrajit-nandi

Post on 04-Apr-2018

250 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 solaris command ref

    1/20

    SUN Free SoftwareUnterhttp://www.sunfreeware.comfindet man "ready to use" Software fr SUN Solaris, wie beispielsweise TOP,AMANDA, GCC, GDB etc. Download via FTP von: ftp://nce.sun.ch/pub/freeware/sparc/7

    PCNFS installierenCD-ROM Solaris Intranet Extension (siehe auch Solaris Server Intranet Extension Installation)$ su$ cd /cdrom/cdrom0/nfsc/sparc$ pkgadd -d `pwd`

    Installation Solaris mit Openwindows(Grafikkarte)Hostname

    $ uname -u

    Network Interface

    $ ifconfig -a

    /etc/hosts, /etc/netmasks definieren

    Static IP-routes definieren

    /etc/rc2.d/S79staticroutes

    CD-ROM rausnehmen

    $ eject cdrom

    Disklayout kontrollieren

    $ prtvtoc /dev/rdsk/....

    Automounter konfigurieren

    /etc/auto_master, /etc/auto_home

    Device File fr DAT

    /dev/rmt/0l (tar cvf /dev/rmt/0l)

    /etc/system definieren konfigurieren (Prestoserve, Oracle, Transtec)Logfile der Installation: /var/sadm/system/logs/install_logInstallation ber serielles Terminal an Nullmodem Kabel

    OKboot cdrom - w (Terminal an ttya)

    How to Backup a System$ init 0OKboot -s$ fsck -m /dev/dsk/c0t0d0s0 (und brige Filesysteme)$ tar cvf /dev/rmt/0l

    Packages (Software die installiert wurde)Anzeige der installierten Packages$ pkginfoCheck ob Package SUNWpcnfd correct installiert ist$ pkgchk -v SUNWpcnfdPackage installieren (Path ist meistens /cdrom/cdrom0/....)

    $ pkgadd -d SUNWpcnfdDas Package SUNWpcnfd entfernen$ pkgrm SUNWpcnfd

    Monitor Mode (OK Prompt)In single user mode bootenOKboot -s

    http://www.sunfreeware.com/http://www.sunfreeware.com/
  • 7/29/2019 solaris command ref

    2/20

    Kernel zwingen /devices neu aufzubauen nach dem Anschluss von neuer HardwareOKboot -rDetaillierter BootvorgangOKboot -vVom CD-ROM aus booten: Notboot !OKboot cdromAngeschlossene SCSI-Gerte testenOKprobe-scsiList System Devices, e.g. SUNW,hme = Sun Fast Ethernet PCI AdapterOKshow-devsList Network DevicesOKshow-netsMonitoring Network ActivityOKapply watch-net Monitor Variablen ndern, anzeigenOKeepromOKeeprom ttya-mode=38400,8,n,1,h

    Kernel AnalyseWelche Kernel-Module sind geladen ?$ modinfoKernel Konfiguration/etc/system

    Logfile von syslog/var/adm/messagesKonfiguration des syslog Daemon/etc/syslog.conf

    Defaults einstellenDirectory mit Default files/etc/defaultRemote root logins erlauben/etc/default/loginTimezone setzen/etc/default/init

    Wichtige KonfigurationsfilesMaster-File beim Booten/etc/inittabRun-Level Start/Stop Files/etc/rc?.dScripts fr Run-Levels/etc/init.d

    Admin Kommandos$ shutdown -g0 -i0$ reboot (entspricht init 6)LAN konfigurierenKonfiguration der LAN-Interfaces$ ifconfig -a

    Netmask setzen: siehe /etc/netmasks

    Jedes LAN-Interface hat /etc/hostname.le0 mit Hostnamen

    LAN-Setup: /etc/rcS.d/S30rootusr.sh (Interfaces konfigurieren)/etc/rc2.d/S72inetsvc (LAN konfigurieren)

    Phys Addressen nachschauen$ arp -aNet to Media Table

    Device IP Address Mask Flags Phys Addr------ -------------------- --------------- ----- ---------------le0 rabbit 255.255.255.255 00:60:08:57:17:86

    le0 quorum 255.255.255.255 SP 08:00:20:89:27:03le0 arkum 255.255.255.255 00:a0:24:4b:60:1c

    IP-Routing konfigurierenAlle hosts im Netz 193.72.239.0 werden ber den Router 193.72.194.201 erreicht.$ route add net 193.72.239.0 193.72.194.201 1Der host 146.228.14.10 wird ber den Router 193.72.194.100 erreicht. Siehe File /etc/rc2.d/S79staticroutes.

  • 7/29/2019 solaris command ref

    3/20

    $ route add host 146.228.14.10 193.72.194.100 1Routing Tabelle kontrollieren$ netstat -nr

    DNS konfigurierenAngabe des DNS Nameservers/etc/resolv.confReihenfolge definieren/etc/nsswitch.conf

    Anonymous FTP aufsetzenSiehe Solris2 Administration Seite 103 und ffNFS-Client Konfiguration/etc/vfstab (Soll) --> /etc/mnttab (Ist)mount -F nfs -o bg,ro,soft gondwana:/usr/software /softwareNFS-Server wird in /etc/init.d/nfs.client start gestartet.Anzeige welche Directories gondwana zum mounten freigegeben hatdfshares gondwanaRESOURCE SERVER ACCESS TRANSPORTgondwana:/export/home/zahn gondwana - -gondwana:/export/home/steiner gondwana - -

    NFS-Server Konfiguration/etc/dfs/dfstab (Soll) --> /etc/dfs/sharetab

    Directory read-only freigeben$ share -o ro /usr/softwareAlle Directories in /etc/dfs/dfstab freigeben$ shareallAlle Directories in /etc/dfs/dfstab zurcknehmen$ unshareallNFS-Server wird gestartet in/etc/init.d/nfs.serverAnzeige der freigegbenen lokalen Direcories$ shareAnzeige welche Clients nutzen welche Directories eines NFS-Servers$ dfmounts -F nfs gondwana

    RESOURCE SERVER PATHNAME CLIENTSgondwana /export/home/zahn paragon.glue.ch,rabbit.glue.ch

    Automounter- /etc/auto_master (Master Map konfigurieren)- /etc/auto_home (Home Direcories verwalten)- autofs ist ein spezielles Filesystem- automount -v (Nach einer Aenderung an einer Map ausfhren)

    Modem konfigurierenSiehe spezielles Dokument

    SCSI-Harddisk an SUN Hardware anschliessenBeispiel: SCSI-Disk Seagate ST150176L, 50MB an SUN Ultra Enterprise 1

    Eintrag in /etc/format.dat vornehmen (Angaben von Lieferanten)

    disk_type = "Seagate ST150176L" \: ctlr = "SCSI" \: ncyl = 12022 : acyl = 2 : pcyl = 12024 : nhead = 22 : nsect = 369 \: rpm = 7200 : bpt = 188928

    Eintrag /etc/system fr Solaris-2 Kernel, System booten

    ** SCSI-Disc Konfiguration*set scsi_options=0x20

    Disk anschliessen, SCSI-Adresse kontrollieren, Terminierung

    Unbedingt kontrolieren, dass eine SCSI-Adresse nicht mehrfach belegt ist. Dazu kann meistens hinten amGert ein Tippschalter eingestellt werden. Man beacht, dass in der Regel das letzte Gert terminiert werdenmuss.Disk formatieren nur wenn notwendi !

    http://www.akadia.com/services/modem_setup.html
  • 7/29/2019 solaris command ref

    4/20

    In der Regel muss eine Disk nicht neu formatiert werden, ist dies jedoch notwendig so steht unter Solarisdas Utility format zur Verfgung.

    format

    AVAILABLE DISK SELECTIONS:

    0. c0t0d0 /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0

    1. c0t1d0 /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@1,02. c0t2d0

    /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@2,03. c0t4d0

    /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@4,04. c0t5d0

    /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@5,0

    Specify disk (enter its number): 4

    format> type

    AVAILABLE DRIVE TYPES:0. Auto configure1. DDRS-391302. Seagate ST1182733. Seagate ST150176L4. Quantum ProDrive 80S5. Quantum ProDrive 105S6. CDC Wren IV 94171-3447. SUN01048. SUN02079. SUN032710. SUN034011. SUN042412. SUN0535

    13. SUN066914. SUN1.0G15. SUN1.0516. SUN1.3G17. SUN2.1G18. SUN2.9G19. IBM-DDRS-39130-S71D20. SEAGATE-ST118273N-576421. SEAGATE-ST150176LW-000222. otherSpecify disk type (enter its number)[21]: 21

    format> format (confirm with "yes")

    Disk partitionieren

    Dadurch wird die Disk in logische Teile unterteilt. Jeder teil enthlt ein eigenes Filesystem.format> partNun die Partitionierungsdaten eingeben, zBpartition> print

    Current partition table (original):Total disk cylinders available: 2733 + 2 (reserved cylinders)

    Part Tag Flag Cylinders Size Blocks0 root wm 0 - 204 152.15MB (205/0/0) 311600

    1 swap wu 205 - 377 128.40MB (173/0/0) 2629602 backup wm 0 - 2732 1.98GB (2733/0/0) 41541603 home wm 378 - 1017 475.00MB (640/0/0) 9728004 unassigned wm 0 0 (0/0/0) 05 unassigned wm 1018 - 1928 676.13MB (911/0/0) 13847206 usr wm 1929 - 2732 596.72MB (804/0/0) 12220807 unassigned wm 0 0 (0/0/0) 0

  • 7/29/2019 solaris command ref

    5/20

    Label erzeugen (aktuelle Partitionierung speichern)

    partition> labelpartition> ypartition> quitformat> quit

    Filesystem erstellen

    newfs -v -m 0 /dev/rdsk/c0t5d0s0Damit wird ein Filesystem mit 0 % Min-Free auf der Partition 0 der Disk an der SCSI-Adresse 5 erstellt.

    Filesystem mounten

    Dazu den folgenden Eintrag in /etc/vfstab vornehmen#device device mount FS fsck mount mount#to mount to fsck point type pass at boot options

    /dev/dsk/c0t5d0s0 /dev/rdsk/c0t5d0s0 /u02 ufs 6 yes -

    List Solaris Hardware Configuration$ /usr/sbin/prtconf

    Show Swap Space currently installedMultiply the Blocks column by 512$ swap -lswapfile dev swaplo blocks free/dev/dsk/c0t0d0s1 32,1 16 262944 262944

    262944 * 512 = 134 MB

    Show Operating System Patch Level$ showrev -p

    Patch: 105181-16Note, that Patchlevel 105181-15 is minimal needed for Oracle 8.1.6

    How to install a Sun Solaris Jumbo Patch ?- Download the Patch from: http://sunsolve.sun.com- Read the README File included in the Patch- Usually the only thing you have to do is:$ cd $ ./install_custer$ cat /var/sadm/install_data/_log$ showrev -pReboot the system

    Tracing System CallsYou can trace system calls with truss on Solaris an strace on Linux$ truss svrmgrl

    Troubleshooting Solaris Device FilesIf you suspect troubles with your Solaris device files, e.g. system doesn't boot after a filesystem check, you mayrepair the solaris system using the following commands.Halt the system immediately with the keys STOP-A, you will now see the boot prompt: OKSTOP-AReset the machine withOKresetBoot the machine withOKboot -rThe command boot -r will rebuild all devices files according to your attached hardware. If you cannot boot themachine, you can try the following commands:drvconfig, disks, tapesdrvconfig - configure the /devices directoryThe default operation of drvconfig is to create the /devices directory tree that describes, in the filesystemnamespace, the hardware layout of a particular machine. Hardware devices present on the machine and powered

    on as well as pseudo-drivers are represented under /devices. Normally this command is run automatically after anew driver has been installed (with add_drv(1M)) and the system has been rebooted.disks - creates /dev entries for hard disks attached to the systemDisks creates symbolic links in the /dev/dsk and /dev/rdsk directories pointing to the actual disk device specialfiles under the /devices directory tree.ta es - creates /dev entries for ta e drives attached to the s stem

    http://sunsolve.sun.com/
  • 7/29/2019 solaris command ref

    6/20

    Tapes creates symbolic links in the /dev/rmt directory to the actual tape device special files under the /devicesdirectory tree. Tapes searches the kernel device tree to see what tape devices are attached to the system.

    Short Tips to maintain Sun SolarisHere are some short tips for common tasks on SUN Solaris 2.6, 7 and 8Important SUN Solaris Commands$ who -r # Show Run Level$ /usr/sbin/prtconf# Print the complete system configuration$ /sbin/mountall -l # Mount all local filesystems.$ /sbin/init S # Changing to single user modeShow currently mounted filesystems# /etc/mnttab: Contains information about devices that# are currently mounted. If there are mounted filesystems# with quotas enabled, display themif /usr/bin/cut -f 4 /etc/mnttab | \

    /usr/bin/egrep '^quota|,quota' >/dev/null 2>&1; thenecho 'There are mounted filesystems with quotas enabled'

    fiHow to enable system activity data gathering# You will also need to uncomment the sa entries in# the system crontab /var/spool/cron/crontabs/sys.# Refer to the sar(1) and sadc(1m) man pages# for more information.$ /usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"How a new, unused Solaris system is setup ?# sysidtool is a suite of five programs that configure a new# system, or one that has been unconfigured with sys-# unconfig(1M). The sysidtool programs run automatically at# system installation, or during the first boot after a# machine has been successfully unconfigured.## These programs have no effect except at such times, and# should never be run manually.

    # System Files are

    cat /etc/nodenamecat /etc/hostname.*cat /etc/default/initcat /etc/defaultdomaincat /etc/inet/hostscat /etc/inet/netmasksHow to configure Asynchronous PPP ?Configure /etc/asppp.cf for the aspppd daemon$ /usr/sbin/aspppd -d 1How to get and set TCP/IP driver configuration parameters ?# Getting Parameters Supported By The TCP Driver# To see which parameters are supported by the TCP driver,# use the following command:

    $ ndd /dev/tcp \?

    # The following command sets the value of the parameter# ip_forwarding in the IP driver to zero. This disables IP# packet forwarding.Disable IP Forwarding$ /usr/sbin/ndd -set /dev/ip ip_forwarding 0Enable IP Forwarding (Machine acting as a Router)$ /usr/sbin/ndd -set /dev/ip ip_forwarding 1How to set Default Route on Solaris ?# Configure default routers using the local "/etc/defaultrouter"# configuration file. The file can contain the hostnames or IP

    # addresses of one or more default routers.## The default routes listed in the "/etc/defaultrouter" file will# replace those added by the kernel during diskless booting. An# empty "/etc/defaultrouter" file will cause the default route# added by the kernel to be deleted.

  • 7/29/2019 solaris command ref

    7/20

    ## Note that the default router file is ignored if we received routes# from a DHCP server. Our policy is to always trust DHCP over local# administration.

    # Set Default Route

    $ route -n add default

    # Show Default Route

    $ /usr/sbin/route -fndefault 128.128.128.11 doneHow to set NIS domainname if locally configured ?if [ -f /etc/defaultdomain ]; then

    /usr/bin/domainname `cat /etc/defaultdomain`echo "NIS domainname is `/usr/bin/domainname`"

    fiRPC (Remote Procedure Call) Configuration# rpcbind - universal addresses to RPC program number mapper# rpcinfo - report RPC informationSolaris Keyserv Daemon# keyserv is a daemon that is used for storing the private

    # encryption keys of each user logged into the system. These# encryption keys are used for accessing secure network ser-# vices such as secure NFS and NIS+.

    $ /usr/sbin/keyservHow to start the Solaris DNS server "in.named"# If this machine is configured to be an Internet# Domain Name System (DNS) server, run the name daemon.# Start named prior to: route add net host,# to avoid dns gethostbyname timout delay for# nameserver during boot.

    if [ -f /usr/sbin/in.named -a -f /etc/named.conf ]; then

    echo 'starting internet domain name server.'/usr/sbin/in.named &fiWhere to find syslogd messages ?Configuration File: /etc/syslog.confMessage File: /var/adm/messages

    IP-Aliasing for SUN Solaris# How to setup IP-Alias on SUN Solaris1. Setup File /etc/hostname.hme0:1 for the second IP-Address cat /etc/hostname.hme0:1 ldap2. Insert IP-Address in /etc/hosts #

    # Internet host table#128.128.128.11 ux-portal1 # IP-address on hme0:0128.128.128.20 ldap # IP-alias on hme0:1

    3. Start alias IP-Address on Interface in /etc/rc2.d S99ipalias -> ../init.d/ipalias #!/bin/sh

    # Akadia AG, Arvenweg 4, CH-3604 Thun# ----------------------------------------------------------------------# File: ipalias## Autor: Martin Zahn / 10.05.2000#

    # Purpose: Setup second IP address on hme0:1# ----------------------------------------------------------------------

    if [ -f /etc/hostname.hme0:1 ]thencase "$1" in

    'start') # Start second IP address on hme0:1

  • 7/29/2019 solaris command ref

    8/20

    echo "Start multi-homed server for UX-ALIAS1 on hme0:1" ifconfig hme0:1 128.128.128.20 up ;; 'stop') # Stop second IP address on hme0:1 echo "Stop multi-homed server for UX-ALIAS1 on hme0:1" ifconfig hme0:1 128.128.128.20 down

    ;;esac

    fi4. Check IP-Address on second Interface

    ifconfig -aSolaris automounter installs filesystems bydefault in /netThe Solaris automount utility installs autofs mount points and associates an automount map with each mount point.The autofs file system monitors attempts to access directories within it and notifies the automountd daemon. Thedaemon uses the map to locate a file system, which it then mounts at the point of reference within the autofs filesystem. You can assign a map to an autofs mount using an entry in the /etc/auto_master map or a direct map in/etc/auto_direct. If the file system is not accessed within an appropriate interval (five minutes by default), theautomountd daemon unmounts the file system.Default Mapping under /netThe mount point /net is by default the location, where automountd mounts NFS filesystems, which are exportedon other machines. Lets suppose, that you have the filesystem /home exported on the NFS server saphir, then the(Solaris) NFS client with an active automounter will automatically mount this NFS filesystem under /net/saphir/.Mapping using /etc/auto_directYou probably doesn't want this default behavior. If you insert the following entry in /etc/auto_direct ..../opt/local -rw remote_machine:/local.... then, the directory /local on the remote machine "remote_machine" will be mounted on the local machine under/opt/local.

    Solaris keyboard utilityThe Solaris utility kbd manipulates the state of the keyboard or display the type of keyboard or change thedefault keyboard abort sequence effect. Suppose, that you do not want that everybody can halt the the systemyou must change the default value. We also noticed, that the Solaris machines attached to a switch box, using acharacter terminal on a serial line, may halt when you switch from one machine to the other.SYNOPSISkbd [ -r ] [ -t ] [ -c on|off ]

    [ -a enable|disable ] [ -d keyboard device ]kbd -i [ -d keyboard device ]DESCRIPTIONkbd manipulates the state of the keyboard, or displays the keyboard type or allows the default keyboard abortsequence effect to be changed. The default keyboard device being set is /dev/kbd.The -i option reads and processes default values for the keyclick and keyboard abort settings from the keyboarddefault file, /etc/default/kbd. Only keyboards that support a clicker respond to the -c option. If you want to turnclicking on by default, add or change the current value of the KEYCLICK variable to the value on in thekeyboard default file, /etc/default/kbd, as shown here.KEYCLICK=onThen, run the command 'kbd -i' to change the current setting. Valid settings for this variable are the values on andoff. Other values are ignored. If the variable is not specified in the default file, the setting is unchanged.The keyboard abort sequence (L1-A orSTOP-A) on the keyboard and BREAKon the serial console input

    device on most systems) effect may only be changed by the superuser, using the-a option. On most systems, the default effect of the keyboard abort sequence is to suspend the operating systemand enter the debugger or the monitor.If you want to permanently change the software default effect of the keyboard abort sequence, you can add orchange the current value of the KEYBOARD_ABORT variable to thevalue disable in the keyboard default file, /etc/default/kbd, as shown here.KEYBOARD_ABORT=disableThen, run the command 'kbd -i' to change the current setting. Valid settings for this value are the values enableand disable. Other values are ignored. If the variable is not specified in the default file, the setting is unchanged.OPTIONS

    -i Set keyboard defaults from the keyboard default file. This option is mutually exclusive with all other optionsexcept for the -d keyboard device option. This option instructs the keyboard command to read and processkeyclick and keyboard abort default values from the /etc/default/kbd file. This option can only be used by the

    superuser.

    -r Reset the keyboard as if power-up.

    -t Return the type of the keyboard being used.

    -c On/Off state Turn the clicking of the keyboard on or off.

  • 7/29/2019 solaris command ref

    9/20

    -a Enable/Disable state; Enable or disable the keyboard abort sequence effect.

    Monitoring PerformanceThis chapter describes procedures for monitoring system performance by using the vmstat, iostat, df, and sarcommands. This is a list of the step-by-step instructions in this chapter.How to Display Virtual Memory Statistics (vmstat)The following example shows the vmstat display of statistics gathered at five-second intervals.$ vmstat 5procs memory page disk faults cpur b w swap free re mf pi po fr de sr f0 s3 -- -- in sy cs us sy id

    0 0 8 28312 668 0 9 2 0 1 0 0 0 1 0 0 10 61 82 1 2 970 0 3 31940 248 0 10 20 0 26 0 27 0 4 0 0 53 189 191 6 6 880 0 3 32080 288 3 19 49 6 26 0 15 0 9 0 0 75 415 277 6 15 790 0 3 32080 256 0 26 20 6 21 0 12 1 6 0 0 163 110 138 1 3 960 1 3 32060 256 3 45 52 28 61 0 27 5 12 0 0 195 191 223 7 11 820 0 3 32056 260 0 1 0 0 0 0 0 0 0 0 0 4 52 84 0 1 99

    Category FieldName

    Description

    procs Reports the following states:

    r The number of kernel threads in the dispatch queue

    b Blocked kernel threads waiting for resources

    w Swapped out LWPs waiting for processing resources to finish

    memory Reports on usage of real and virtual memory:

    swap Available swap space

    free Size of the free list

    page Reports on page faults and paging activity, in units per second:

    re Pages reclaimed

    mf Minor and major faults

    pi Kbytes paged in

    po Kbytes paged out

    fr Kbytes freed

    de Anticipated memory needed by recently swapped-in processes

    sr Pages scanned by page daemon (not currently in use). If sr does not equal zero, the page daemon

    has been running.

    disk Reports the number of disk operations per second, showing data on up to four disks

    faults Reports the trap/interrupt rates (per second):

    in Interrupts per second

    sy System calls per second

    cs CPU context switch rate

    cpu Reports on the use of CPU time:

    us User time

    sy System time

    id Idle time

  • 7/29/2019 solaris command ref

    10/20

    How to Display System Event InformationRun vmstat -s to show the total of various system events that have taken place since the system was last booted. 0 swap ins

    0 swap outs0 pages swapped in0 pages swapped out

    409376480 total address trans. faults taken3075036 page ins2601555 page outs3812452 pages paged in

    6525552 pages paged out11007609 total reclaims10927650 reclaims from free list

    0 micro (hat) faults409376480 minor (as) faults

    2957386 major faults102738273 copy-on-write faults61711047 zero fill page faults

    1002562077 pages examined by the clock daemon7881 revolutions of the clock hand

    16716370 pages freed by the clock daemon4999048 forks1138206 vforks

    5747009 execs741660225 cpu context switches736047593 device interrupts528054538 traps2496638575 system calls430283487 total name lookups (cache hits 95%)

    81727 toolong10484677 user cpu9528364 system cpu

    443762786 idle cpu16281790 wait cpu

    How to Display Swapping StatisticsRun vmstat -S to show swapping statistics.procs memory page disk faults cpur b w swap free si so pi po fr de sr m1 m3 m4 m5 in sy cs us sy id0 0 0 8512 888 0 0 12 21 55 0 417 1 0 0 0 206 1040 308 2 2 96

    si = Average number of LWPs swapped in per secondso = Number of whole processes swapped outHow to Display Disk Utilization Information (iostat)You can display disk activity information by using the iostat command with a time interval. The following exampleshows disk statistics gathered every five seconds.iostat 5 tty md1 md3 md4 md5 cputin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id0 2 10 1 28 2 0 22 0 0 0 1 0 10 2 2 3 920 47 58 7 39 16 2 34 0 0 0 0 0 0 0 2 19 780 16 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 980 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 990 16 2 0 22 0 0 0 0 0 0 0 0 0 2 3 1 950 24 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 98

    For Each ... Field Name Description

    Terminal

    tin Number of characters in the terminal input queue

    tout Number of characters in the terminal output queue

    Disk

    bps Blocks per second

    tps Transactions per second

    serv Average service time, in milliseconds

  • 7/29/2019 solaris command ref

    11/20

    CPU

    us In user mode

    sy In system mode

    wt Waiting for I/O

    id Idle

    How to Display Extended Disk StatisticsRun iostat -xtc to get extended disk statistics. This command displays a line of output for each disk. extended device statistics tty cpudevice r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt idmd1 0.4 0.9 3.6 6.9 0.0 0.0 27.7 1 1 0 2 2 2 3 92md3 0.1 0.2 1.0 1.3 0.0 0.0 21.7 0 0md4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0md5 0.0 0.0 0.7 0.0 0.0 0.0 9.9 0 0md8 0.8 0.3 6.7 14.2 0.0 0.0 13.1 0 1md10 0.2 0.9 1.8 6.8 0.0 0.0 15.5 0 1md11 0.2 0.9 1.8 6.8 0.0 0.0 14.8 0 1md30 0.0 0.2 0.5 1.3 0.0 0.0 11.4 0 0md31 0.0 0.2 0.5 1.3 0.0 0.0 10.2 0 0

    md40 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0md41 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0md50 0.0 0.0 0.4 0.0 0.0 0.0 9.4 0 0md51 0.0 0.0 0.4 0.0 0.0 0.0 7.3 0 0md80 0.4 0.3 3.3 14.2 0.0 0.0 10.3 0 0md81 0.4 0.3 3.3 14.2 0.0 0.0 11.7 0 1sd0 0.6 2.1 6.0 22.8 0.0 0.0 16.3 0 3sd1 0.6 2.1 6.0 22.8 0.0 0.0 15.2 0 2

    Field Name Description

    r/s Reads per second

    w/s Writes per second

    Kr/s Kbytes read per second

    Kw/s Kbytes written per second

    wait Average number of transactions waiting for service (queue length)

    actv Average number of transactions actively being serviced

    svc_t Average service time, in milliseconds

    %w Percentage of time the queue is not empty

    %b Percentage of time the disk is busy

    How to Check CPU Utilization (sar)Display CPU utilization with the sar -u command. (The sar command without any options is equivalent to sar -u.)At any given moment, the processor is either busy or idle. When busy, the processor is in either user or systemmode. When idle, the processor is either waiting for I/O completion or "sitting still" with no work to do.Measure CPU utilization during 5 secs one time.sar -u 5 1Measure CPU utilization during 60 secs 1440 times and write result in file sar.log.sar -u -o sar.log 60 1440To later review disk and tape activity from that period:sar -d -f sar.log

    Field Name Description

    %sys Lists the percentage of time that the processor is in system mode

    %user Lists the percentage of time that the processor is in user mode

    %wio Lists the percentage of time the processor is idle and waiting for I/O completion

  • 7/29/2019 solaris command ref

    12/20

    %idle Lists the percentage of time the processor is idle and is not waiting for I/O

    A high %wio generally means a disk s lowdown has occurred.

    Enable file system journaling on Solaris 7 and 8Solaris 7 and 8 include a native implementation of file system journaling. This feature, known as "intent logging"or just "logging" enables FASTER file system operation and FASTER system boot.It's trivial to implement and safe to use. The new logging feature is an option to the Unix File System (UFS), whichis the standard file system for all disk partitions on SUN servers, except for partitions holding swap space. Bydefault, the journaling option is disabled. Logging is enabled on a per file system basis, and it can even be enabled

    on / (root file system) and other operating system partitions.BackgroundSolaris UFS logging works by allocating space from the file system's free blocks. Within that space, all metadatachanges to the file system are written. Metadata includes directory and I-node information but not file data blocks,essentially everything but the actual data within the file. So, for example, a "file create" modifies the directorystructure and allocates a new I-node, and those activities are written to the logging space. Once the metadatachanges are made to the logging area, the system is free to perform other operations to the file system. In thebackground, the information in the log is flushed to the file system and updates the appropriate directory and I-node structures, completing the file system operations.The logging data is written sequentially within the log space. It's therefore much faster for the operating system tocomplete metadata changes via logging and background flushing than by directly modifying the metadata (viarandom I/O) spread across the disk. The size of the logging space is based on the size of the file system, andequals 1 MB per 1 GB of file system space, up to 64 MB. The space is used as a circular log: if the log space is

    about to fill up, new metadata change requests are paused while the log is emptied. As changes are moved fromthe log to the file system, that log space is made available, and new metadata changes can be written to thelogging space.Usually with UFS, if the system crashes during any file system operation, the entire system must have itsconsistency checked via the fsck command. That command can take several minutes per file system because itchecks all metadata and file data to ensure the structures are correct, free, and used, and that the I-node blockcounts are correct. It also confirms that the free space available is current, repairs inconsistencies, andoccasionally requires manual intervention to fix large problems. Files and even directories can be lost, dependingon the operations occurring at the time of the crash.Because metadata changes are made first to the log space rather than to the file system, the consistency check fora logged file system after a crash is a simple and fast operation. The system evaluates the logging data anddetermines which changes had completed against the underlying file system, which had yet to start, and whichwere in progress. Those completed or not yet started are removed from the log, and those partly completed are

    either undone or completed. If there's sufficient data in the log to complete the operation, it's completed.Otherwise, the changes made are removed from the underlying file system.People familiar with database operation will recognize the similarity between database transaction processing andthe activities here. The end result is that the underlying file system is consistent, and no thorough consistencychecking is needed. That operation completes in a few seconds per file system.Using loggingStarting with Solaris 7, there's a new logging option to the mount command and in the /etc/vfstab systemconfiguration file. Logging only appears in a couple other places within Solaris. The mount command shows whichpartitions are mounted and lists logging in the options fields for each partition on which logging is enabled. Finally,at system boot time, the fsck phase reports per partition whether each is stable, logging, or being checked. Thereare no other status commands available to determine the state of logging.A = Device to mountB = Device to fsckC = Mount pointD = Filesystem TypeE = Fsck pass (unimportatnt with logging)F = Mount at bootG = Mount options# ------------------------------------------------------------------# A B C D E F G# ------------------------------------------------------------------fd - /dev/fd fd - no -/proc - /proc proc - no -/dev/dsk/c0t0d0s3 - - swap - no -/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no logging/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 2 no logging/dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /var ufs 3 no logging

    /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /home ufs 4 yes logging/dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /opt ufs 5 yes logging/dev/dsk/c0t8d0s0 /dev/rdsk/c0t8d0s0 /u01 ufs 6 yes logging/dev/dsk/c0t9d0s0 /dev/rdsk/c0t9d0s0 /u02 ufs 7 yes logging/dev/dsk/c0t10d0s0 /dev/rdsk/c0t10d0s0 /u03 ufs 8 yes logging/dev/dsk/c0t11d0s0 /dev/rdsk/c0t11d0s0 /u04 ufs 9 es lo in

  • 7/29/2019 solaris command ref

    13/20

    /dev/dsk/c0t12d0s0 /dev/rdsk/c0t12d0s0 /u05 ufs 10 yes logging/dev/dsk/c1t13d0s0 /dev/rdsk/c1t13d0s0 /app ufs 11 yes logging/dev/dsk/c1t14d0s0 /dev/rdsk/c1t14d0s0 /users ufs 12 yes loggingswap - /tmp tmpfs - yes -Logging increases performance, decreases fsck time, removes the risk of a file system corruption, can be used onall UFS partitions (including root), and is free.

    Solaris Syslog Daemon DebuggingThe log system messages daemonsyslogd reads and forwards system messages to the appropriate log filesand/or users, depending upon the priority of a message and the system facility from which it originates. Theconfiguration file /etc/syslog.conf controls where messages are forwarded. The syslogd daemon ignores any

    faulty entry in /etc/syslog.conf, specially spaces instead of tabs are not recognized by syslogd. Therefore alwayscheck the entries in /etc/syslog.conf in the debugging mode of syslogd.How to check /etc/syslog.conf# /etc/init.d/syslog stop# /usr/sbin/syslogd -dgetnets() found 1 addresses, they are: 0.0.0.0.2.2amiloghost() testing 193.247.121.196.2.2cfline(*.err;kern.notice;auth.notice /dev/sysmsg)cfline(*.err;kern.debug;daemon.notice /var/adm/messages)cfline(mail.info;mail.debug /var/log/maillog)syslogd: line 14: unknown priority name "debug /var/log/maillog"cfline(*.alert;kern.err;daemon.err operator)cfline(*.alert root)

    cfline(*.emerg *)cfline(user.err /dev/sysmsg)cfline(user.err /var/adm/messages)cfline(user.alert root, operator)cfline(user.emerg *)syslogd: version 1.70Started: Sat Jan 6 10:11:47 2001Input message count: system 0, network 0# Outputs: 105 3 3 3 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 X CONSOLE: /dev/sysmsg7 3 3 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 X FILE: /var/adm/messagesX X 6 X X X X X X X X X X X X X X X X X X X X X X UNUSED:3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X USERS: operator

    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X USERS: root0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X WALL:X 3 X X X X X X X X X X X X X X X X X X X X X X X CONSOLE: /dev/sysmsgX 3 X X X X X X X X X X X X X X X X X X X X X X X FILE: /var/adm/messagesX 1 X X X X X X X X X X X X X X X X X X X X X X X USERS: root, operatorX 0 X X X X X X X X X X X X X X X X X X X X X X X WALL: Per File StatisticsFile Tot Dups Nofwd Errs---- --- ---- ----- ----/dev/sysmsg 0 0 0 0/var/adm/messages 0 0 0 0

    0 0 0 0operator 0 0 0 0

    root 0 0 0 0WALL 0 0 0 0/dev/sysmsg 0 0 0 0/var/adm/messages 0 0 0 0root,operator 0 0 0 0WALL 0 0 0 0syslogd: restartedoff & running....sys_poll blocking, init_cnt=0# ^D# /etc/init.d/syslog startLine 14 in /etc/syslog.conf are filled up with spaces instead of tabs. Replace the spaces with tabs and syslogd willaccept the new entry in Line 14.

    Does each Oracle Process use more than 100Mmemory ?If you check the oracle process with the OS comand "pmap" or "top", you can see that each oracle process usemore than 100M memory. Is this a problem on the Oracle installation or something else? It seems that pmapcounts the SGA size as the private memory segment of each oracle process, but we believe the SGA size shouldbe shared.

  • 7/29/2019 solaris command ref

    14/20

    Output from "top" on our Solaris System with Orcale 8.1.7.0PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND-----------------------------------------------------------------361 oracle 258 59 0 124M 88M sleep 0:01 0.00% oracle373 oracle 11 59 0 122M 88M sleep 41:50 0.00% oracle363 oracle 11 59 0 119M 88M sleep 0:01 0.00% oracle365 oracle 11 58 0 119M 88M sleep 0:17 0.02% oracle359 oracle 1 59 0 119M 89M sleep 0:00 0.00% oracle377 oracle 1 59 0 119M 88M sleep 0:00 0.00% oracle375 oracle 1 58 0 119M 88M sleep 0:00 0.00% oracle

    367 oracle 1 58 0 118M 89M sleep 0:00 0.00% oracle371 oracle 1 58 0 118M 89M sleep 0:00 0.00% oracle369 oracle 1 58 0 118M 88M sleep 0:00 0.00% oracleMemory Allocation for Oracle ProcessesOn many UNIX platforms and specially on Sun platforms, the text of the Oracle binary and shared libraries areactually shared between background processes if these instances share the same ORACLE_HOME. So youneed to subtract the shared text of the oracle binary and the shared libraries in the result of the OS commands.

    Even pmap and pmen utilities make mistakes between these memory divisions, and sometimes SGA and textexecutable are often added incorrectly.Determine the memory used by each Oracle background process on a SolarisThis can be used by anyone who has privleges for the pmap, which can be found in/usr/proc/bin/. First, we needto find the process id (PID) of the Oracle background process you wish to determine the memory size for. This

    is done by issueing the following command:# ps -u oracle -f UID PID PPID C STIME TTY TIME CMDoracle 359 1 0 12:26:17 ? 0:00 ora_pmon_DIA3oracle 361 1 0 12:26:17 ? 0:01 ora_dbw0_DIA3oracle 363 1 0 12:26:17 ? 0:01 ora_lgwr_DIA3oracle 365 1 0 12:26:17 ? 0:18 ora_ckpt_DIA3oracle 367 1 0 12:26:17 ? 0:01 ora_smon_DIA3oracle 369 1 0 12:26:17 ? 0:00 ora_reco_DIA3oracle 371 1 0 12:26:17 ? 0:00 ora_snp0_DIA3oracle 373 1 0 12:26:17 ? 41:50 ora_s000_DIA3oracle 375 1 0 12:26:17 ? 0:00 ora_d000_DIA3oracle 377 1 0 12:26:18 ? 0:00 ora_d001_DIA3

    Second, you then enter the following commands for the DB Writer process (ora_dbw0_DIA3) with process id =361 as an example.# /usr/proc/bin/pmap 361 | grep "shmid"80000000 82992K read/write/exec/shared [ shmid=0x2 ]# /usr/proc/bin/pmap 361 | grep "total"total 124232KThen you take the total size: 124232K and subtract the SGA size which the line marked with "shmid=" above, inthis case it is 82992K. So, 124232K minus 82992K is 41240K. So, the DBWR background process isapproximately41.2 MB. Repeat this steps for all the background processes.

    Sizing up Solaris Memory with the RMCmemPackageHow much memory is needed on SUN Solaris? Explaining memory in Solaris by reviewing the different types ofmemory and introducing a set of tools, the RMCmem package.

    Install RMCmem PackageDownload the RMCmem tools available fromftp://playground.sun.com/pub/memtool. The package includes akernel module that provides extra instrumentation.# cd /tmp# zcat RMCmem3.8.2.tar.gz | tar xvf -# pkgadd -d .The package is installed in/opt/RMCmem (see README in this directory)Virtual / Physical Memory UsageSolaris is a virtual memory system. The total amount of memory that you can use is increased by adding swapspace to the system. If you ever see "out of memory" messages, adding swap space is the usual fix. Performanceof the system is very dependent on how much physical memory (RAM) you have. If you don't have enoughRAM to run your workload, performance degrades rapidly.Physical memory usage can be classified into four groups:

    Kernel memory mapped into kernel address space

    Process memory is mapped into a process address space

    Filesystem cache memory that is not mapped into any address space

    Free memory that is not mapped into any address space

    ftp://playground.sun.com/pub/memtool
  • 7/29/2019 solaris command ref

    15/20

    RMCmem includes a simple command to summarize this:# /opt/RMCmem/bin/prtmemTotal memory: 989 MegabytesKernel Memory: 60 MegabytesApplication: 110 MegabytesExecutable & libs: 42 MegabytesFile Cache: 757 MegabytesFree, file cache: 11 MegabytesFree, free: 6 MegabytesTotal physical memory

    The total physical memory can be seen using prtconf. Memory is allocated in units called pages, and you can usethe 'pagesize' command to see the size in bytes per page:# /usr/sbin/prtconf | grep MemoryMemory size: 1024 Megabytes# /usr/bin/pagesize8192Kernel memoryKernel memory is allocated to hold the initial kernel code at boot time, then grows dynamically as new devicedrivers and kernel modules are used. Kernel tables also grow dynamically, unlike some older versions of Unix. Asyou add hardware and processes to a system, the kernel will grow. In particular, to keep track of all the memoryin a system, the kernel allocates a page table structure.If you have several gigabytes of RAM this table gets quite large. The dynamic kernel memory allocator grabsmemory in large "slabs," then allocates smaller blocks more efficiently. This means that the kernel tends to grab a

    bit more memory than it's really using. If there is a severe memory shortage, the kernel unloads unused kernelmodules and devices and frees unused slabs. The simplest summary of kernel memory usage comes from sar. Toshow the kernel memory allocation (KMA) activities use (seeman sarfor more details).# sar -k 1SunOS diamond 5.7 Generic_106541-12 sun4u 04/28/01sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail6873088 6044236 0 44818432 43761720 0 11231232 0Application process memoryApplication processes consist of an address space divided into segments, where each segment maps either to afile, anonymous memory (the swap space), System V shared memory, or a memory mapped device. The mappedfiles include the code and initialized data for the command and all its shared libraries.What we really want to know, is the amount of RAM used by each segment. This is shown by the pmemcommand in the RMCmem package.

    # /opt/RMCmem/bin/pmem 361361: ora_dbw0_DIA3

    Kbytes Resident Shared Private Permissions Mapped File82992 82992 82992 - read/write/exec [shmid=0x2]

    16 16 8 8 read/exec libc_psr.so.116 16 8 8 read/exec libmp.so.28 8 8 - read/write/exec libmp.so.2

    ........ .. .. . ............... ...........112 80 72 8 read/exec libelf.so.18 8 8 - read/write/exec libelf.so.116 16 8 8 read/exec libkvm.so.18 8 8 - read/write/exec libkvm.so.1

    -------- ------ ------ ------ ------

    124232 93040 92728 312Now we can see that the process address space size is 124232 kilobytes; 93040 kilobytes of that are currentlyresident in main memory, wherein 92728 kilobytes are shared with other processes while 312 kilobytes areprivate. When this command started only the 312 kilobytes of private memory were taken from the free list.If we now go through all the processes on the system, add up how much private memory they use, and also addin the shared memory for each mapped file, we'll know how much application memory is in use. This summary isshown byprtmem as we saw in the beginning, and the detail is listed by the memps command in RMCmem.# /opt/RMCmem/bin/mempsPID Size Resident Shared Private Process... ....... ...... ...... .... .............359 118904k 93608k 92800k 808k ora_pmon_DIA3367 118184k 93152k 92704k 448k ora_smon_DIA3369 117928k 93120k 92704k 416k ora_reco_DIA3

    371 118040k 93136k 92720k 416k ora_snp0_DIA3365 119040k 93120k 92712k 408k ora_ckpt_DIA3377 118344k 93080k 92720k 360k ora_d001_DIA3363 119088k 93056k 92720k 336k ora_lgwr_DIA3375 118344k 93048k 92720k 328k ora_d000_DIA3361 124232k 93040k 92728k 312k ora_dbw0_DIA3373 121608k 93032k 92728k 304k ora s000 DIA3

  • 7/29/2019 solaris command ref

    16/20

    Filesystem cache memoryThis is the part of memory that is most confusing, as it is invisible. You can only tell it's there if you access thesame file twice and it is quicker the second time.The RMCmem package adds kernel instrumentation that counts up all the pages for each cached file. Thememps-m command lists the files that are cached in order of the amount of memory they're consuming.One problem is that within the kernel, the file is only known by its inode number and filesystem mount point. Thedirectory pathname for the file may not be known.The RMCmem package tries to solve this problem by catching file names as files are opened (by interposing onthe vnode open code) and making an inode-to-name lookup cache in the kernel. This cache size is limited (to8192 entries by default), and the file may have been opened before the kernel module was loaded, so it can't

    always find the name.# memps -m Size InUse E/F Filename21064k 21064k F /usr (inode 540488)

    8184k 824k F /usr (inode 260922)7752k 7752k F /usr (inode 540429)7480k 7480k F /usr (inode 540428)7480k 7480k F /usr (inode 540427)6896k 6896k F /usr (inode 540450).... .... . .... ...... ......

    ... and so on down to lots of files ...# cd /usr# find . -inum 540488

    ./local/jdbc/ora817/old/libserver8.aMore infos about the RMCmem package can be found here as PDF

    Using Sun Solaris Manuals directly from CD-ROMSolaris 8:cd /cdrom/sol_8_doc./ab2cd (Start)http://quorum:8888 (Using the Doc online)./ab2cd stop (Stop)Solaris 7:cd /cdrom/sol_7_1199_doc./ab2cd (Start)

    http://diamond:8888 (Using the Doc online)./ab2cd stop (Stop)

    DLT-TAPE UNIT INSTALLATION on Solaris7/8/9Installation Instructions will cover the installation of the DLT tape peripheral hardware and configuration of thesystem to communicate with the DLT tape peripheral. In this example we use a QUANTUM DLT7000.The Solaris system must have the appropriate SCSI interface for DLT drive to attached to, a SCSI single-endedDLT drive can be attached only to a SCSI single-ended interface. The same is true for SCSI differentialattachment. Solaris includes a driver to efficiently communicate with SCSI tape drives, such as the DLT tapeperipheral.Perform the installation as follows:Shut down your Sun workstation/server and power off the machine and all scsi-devices. Connect the DLT to thescsi-bus using good cables and make sure the bus is terminated correctly. Set the scsi-id; id 4 or 5 are the most

    common to use.If possible use a separate or underutilized SCSI bus for the DLT. Running the tape drive on the same bus as thedisk drives will never let you achieve any good throughput. You bought the DLT because of performance didn'tyou ?

    1. STOP-A (L1-A) Power on the devices/machine again and halt the boot process with.

    (or press the BREAK key if you have an ASCII console).

    2. probe-scsi-all Verify that the drive is connected properly.

    Note: output from probe-scsi will not always be correct if you enter thePROM monitor by breaking the boot process!

    3. boot -rv Boot the system and log in as root. When booting you should see amessage similar to these:"st1: ".

    4. cd /kernel/drv

    Change directory to /kernel/drv.

    Edit the st.conffile by adding the following:

    http://www.akadia.com/download/documents/memtool.pdf
  • 7/29/2019 solaris command ref

    17/20

    tape-config-list="QUANTUM DLT7000","Quantum DLT7000","DLT7-data";DLT7-data = 1,0x38,0,0x8639,4,0x82,0x83,0x84,0x85,3;

    tape-config-list="","",""

    tape-config-list is a variable defined by a series of tape configuration parameters listed below: is the vendor and product ID string for the DLT device.

    Depending on the DLT tape peripheral you are installing, you must insert the appropriate vendor andproduct ID for as described in the following table:

    DLT Tape Product

    DLT7000 QUANTUM DLT7000 (Total string character count,including spaces, must equal 15).

    is a name you select that the system will use to identify the DLT device. Thisreference does not change the DLT product ID. When the system boots, the reference name will bedisplayed in the list of peripheral devices recognized by the system.

    is a variable containing a series of additional DLT device configuration information. You selecta name in place of the string. You will continue editing the st.conf file by defining the name youselected for . The definition depends on the DLT tape peripheral you are installing. For aDLT7000 series unit add the following line:

    1,0x38,0,0x8639,4,0x82,0x83,0x84,0x85,3;

    contains 10 parameters and are described following:

    1 The first parameter, is the version number and should not change.

    0x38 The second parameter, designates the DLT tape type as defined in /usr/include/sys/mtio.h.

    #define MT_ISOTHER 0x36 /* generic other type of tape drive */#define MT_ISDLT 0x38/* sun: SCSI DLT tape drive */

    0 The third parameter is the block size. Since the DLT tape drive uses variable block size, this value shouldbe zero.

    0x8639 The fourth parameter, 0x8639, is a summation of values that represent selected device options. The tablebelow lists the options and the corresponding value:

    Option Value

    ST_VARIABLE 0x0001ST_BSF 0x0008ST_BSR 0x0010ST_LONG_ERASE 0x0020

    ST_NOWS_EOD 0x0200ST_NLOADABLE 0x0400ST_NO_RECSIZE_LIMIT 0x8000

    The manst page has more information about these and other possible device options. For certainapplications, it may be necessary to consider adding or removing one or more of the device options.

    4 The fifth parameter, 4, defines the number of densities. The maximum definable number of densities is 4.

    0x820x830x840x85

    The sixth, seventh, eighth and ninth parameter are used for system selection of tape densities. Use thesevalues for a DLT 7000 Tape Drive.

    3 The tenth parameter defines which density the system will use as the default density. The sixth, seventh,eighth and ninth parameters in the string are referenced by the system as 0, 1, 2 and 3,respectively. The 3 value for the tenth parameter selects the 0x85 density code as the system defaultdensity.

    After editing the st.conf file, reboot the system:

  • 7/29/2019 solaris command ref

    18/20

    5. shutdown-i0-g0boot -rv

    Reboot the SystemThe -r switch in the boot command enables a kernel compile and includes thecreation of device special files used for communication with the DLT device. The-v switch enables verbose mode display of system bootup. With verbose mode,the system should indicate that the DLT tape peripheral is attached by displayingthe string you selected.

    6. mt -t /dev/rmt/0 status Enter the following command to verify the installation:

    Vendor 'TANDBERG' Product 'DLT7000 ' tape drive:

    sense key(0x0)= No Additional Sense residual= 0retries= 0 file no= 0 block no= 0

    The target drive designations assigned by Solaris may take on values higher than already established in the/dev/rmt/ path. This is not a problem but during a boot -rv, Solaris does not remove tape device files for drivesthat are no longer attached to the system. This can increase the effort in locating the device file for the configureddrive, however, this can be minimized by first deleting the tape device files:rm /dev/rmt/*then either boot the system with a:boot -rvor issue the following at the command line prompt:drvconfig -i st; tapesIf the DLTtape is the only drive on the system, it's target assignment should be zero. The Solaris man pages have

    more information on drvconfig and tapes.Reconfigure Devices on SolarisIf you remove or add a device on Solaris then the devices files must be recreated, either withboot -rv ordevfsadm. For example to renumber the logical tape drive devices do the following: Tape drives were numberedbeginning with/dev/rmt/3 instead of/dev/rmt/0. The physical devices pointed to by the logical/dev/rmt/[012]devices no longer existed, and we wanted to renumber the valid devices beginning at/dev/rmt/0.

    1. Cleanup non-existent tape drive devices withdevfsadm.

    # devfsadm -C -c tape -v

    2. Remove all/dev/rmtlogical links.

    # rm -f /dev/rmt/*

    3. Recreate all/dev/rmtlogical links with devfsadm

    # devfsadm -c tape -v

    devfsadmdevfsadm(1M) maintains the /dev and /devices namespaces. It replaces the previous suite of devfs administrationtools including drvconfig(1M), disks(1M), tapes(1M), ports(1M), audlinks(1M), and devlinks(1M).OPTIONSThe following options are supported:

    -C Cleanup mode. Prompt devfsadm to cleanup dangling /dev links that are not normally

    removed. If the -c option is also used, devfsadm only cleans up for the listed devices' classes.

    -c device_class Restrict operations to devices of class device_class. Solaris defines the following values fordevice_class:disk, tape, port, audio, and pseudo. This option may be specified more thanonce to specify multiple device classes.

    OpenBoot DiagnosticsThe Solaris operating system gets the jumpstart for its booting from a hardware-level interface called theOpenBoot PROM or OBP for short. OpenBoot at its heart has an interactive command interpreter with a variedset of functions. OBP is a firmware which is stored in the socketed startup PROM of the computer and consistsof two parts, the PROM and the NVRAM.As stated earlier while the PROM acts as the interface for access to diagnostics and drivers, the NVRAMconsists of some editable user defined parameters. Non Volatile information like the system identification

    information, device aliases etc are stored in the NVRAM.The OpenBoot PROM is programmable and can beprogrammed based on Forth, which is an interactiveprogramming language much like shell scripting.The main tasks performed by the OpenBoot firmware are:

    Initializing and Testing system hardware ( POST , power on self test)

  • 7/29/2019 solaris command ref

    19/20

    Interactive Debugging

    Management of NVRAM Parameters

    Start the Operating System boot

    Useful commands at OK prompt.

    Dignostics : boot General

    banner

    this command shows th e follo wing syst ems hardwareinformatiio n : Model, architecture, processor,keyboard,openbo ot version, Serial no. ethernet address & host id.

    test floppy - test floppy disk drivetest net - test network loopbackstest scsi - test scsi i nterfacetest-all test for all devices wit h selftest method

    watch-clock

    Show ti cks of real-time clock

    watch-net

    Monitor network b roadcast packets

    watch-net-all

    Monitor broadcast packets on all net interfaces

    probe-scsi

    Show attached SCSI devices

    probe-scsi-all

    Show attached SCSI devices for all hos t adapters- int ernal &external.

    boot - boot kernel from default device.Factory default is to bootfrom DISK if present, otherwise from NET.

    boot net - boot kernel from networkboot cdrom - boot kernel from CD-ROMboot disk1:h - boot from disk1 partition hboot tape - boot default file from tapeboot disk m yunix-as - boot myuni x from disk wi th flags "-as"

    DEVALIAS

    ok>show-devs

    okcd /pci@1f,4000/s csi@3

    ok.properties

    okls

    f00809d8 tape

    f007ecdc disk

    ok.speed

    CPU Speed : 200.00MHz

    UPA Speed : 100.00MHz

    PCI Bus A : 66Mhz

    PCI Bus B : 33Mhz

    printenvDisplay all variables and current values.

    setenv Set variable to the given value.

    set-default

    Reset the value ofvariable to th e factory default.

    set-defaults

    Reset variable valu es to the factory defaults.

    Key Sequences

    These commands are disab led if the PROM securit y is o n. Also, if your sys tem has

    fullsecurity enabled, you cannot apply any of the suggested commands unless you have the password to get to the

    okprompt.

    Stop

    Bypass P OST. This co mmand does not d epend on security-mode. (Note: some systems bypass P OST as a default; in su ch cases, use Stop-D to s tart P OST.)

    Stop-A Abort.

    Stop-D- Enter diagnostic mode (set diag-switch? to true).

    Stop-F- Enter Forth on TTYA inst ead of probin g. Use exit to continu e with the init ialization sequence. Useful i f hardware is broken.

    Stop-N Reset NVRAM contents to default values.

    Start an OpenBoot DiagnosticsOKsetenv diag-switch? trueOKsetenv auto-boot? falseOKreset-all

    OKtest-all orobdiagConfigure Graphics Console (e.g. Sun XVR-100 Graphics Accelerator) instead of serial TTYAOKshow-displaysSelect the graphics accelerator, e.g. bOKnvalias mydev OKsetenv output-device mydev

    OKsetenv use-nvramrc? trueOKreset-all

    Why doesn't my .forward file work?OverviewIf you are having problems where you have created a $HOME/.forward file in your home directory to forward e-mails from one account to another and it just won't forward them?

  • 7/29/2019 solaris command ref

    20/20

    Set correct PermissionsFirst make sure the file isn't group or world writable.-rwxrwxr-x 1 zahn dba 0 Jan 9 12:17 .forward # wrong-rwxr-xr-x 1 zahn dba 0 Jan 9 12:17 .forward # OKLastly, make sure your home directory isn't group or world writable.drwxrwxr-x 14 zahn dba 4096 Jan 9 12:20 zahn # wrongdrwxr-xr-x 14 zahn dba 4096 Jan 9 12:20 zahn # OK

    Simple Shell Script to backup your FilesOverviewA backup strategy is more complex than creating a redundant copy of disk storage and considering the strategy asuccess. A successful backup strategy must detail how the backup media are rotated, how the media arearchived, how the system will be recovered, and what the backup software will do to create the backup. Althoughall parts of the backup strategy are equally important, this tip will focus on the backup script and will detail aflexible backup script that uses built-in Solaris software tools which create a reliable local backup of a Solarismachine.IntroductionThe backup script will accomplish the following goals:

    Create a backup archive that is as easy to restore a single file as it is to restore an entire file system.

    The backup script will run autonomously. The only human intervention will be to swap media and reviewoutput.The filesystems or directories to backup can be specified in the script. Using automounter you can even

    specify remote filesystems.The script will create a detailed log of the backup.

    The script will send an abbreviated email summary of the backup to the administrator.

    After a successful backup, the script will verify to some extent the contents of the backup media.

    The backup script will be able to run on any Solaris 2.6 or greater machine without modification.

    Tools usedWe use the well known utilities TAR, GZIP and DD, because they are available on any Unix system. They arevery well tested and simple to use. In case of an emergency it is important to have a simple way to restore,independent of complex tools and incompatible software releases.Magnetic Tape Control

    The utility MTsends commands to a tape drive. Many of these commands are familiar, but some are not. The script will usethese mt commands.

    rewind rewind the tape

    rewoffl rewind the tape and eject it (go offline)

    eom space to end of recorded media on tape

    weof write count EOF marks at current position on tape

    status display current status of tape

    ScriptClickhere for the Shell Script

    http://www.akadia.com/download/documents/my_backup.txt