Helpful commands in IRIX:
++++++++++++++++++++++++++
see also: http://esprit.engr.sgi.com/handbook_html/software_tools.html#REF81128
_____________________________________________________________________________
ln -s
_____________________________________________________________________________
B = byte
b = bit
so what does MB mean ? megabyte or megabit ???
and what is Mb? Megabit ? Megabyte
Majority tends to say:
####################################
MB Megabyte
Mb Megabit
Mbps Megabit per seconds
Netzwerk 100Mb/sec <=> 12.5 MB/sec (=12.5 Megabytes/sec)
####################################
Bandwith measure in bits per second
------------------------------------
1Kb/s = 1000 bits per second
1Mb/s = 1'000'000 bits per second
Space measured in bytes and multipliers are power of 2
------------------------------------------------------
1KB = 1'024 bytes
1MB = 1'048'576 bytes
1GB = 1'073,741,824 bytes
####################################
always double check:
df -m will say MB and actually means Mbytes
fx> label/show/part states Megabytes
diskperf MB = Megabytes
ftp says Kbytes/s
_____________________________________________________________________________
Typical speeds:
================
source: ~nick/info/net/speed
Network:
---------
Modem:
33600bps 33 kbit/s 10 MBytes/40Min
Ethernet
10BaseT 10 Mbit/s 1.25 MByte/s 12.5 MByte/10s 75 MByte/Min
Fastethernet:
100BaseT 100Mbit/s 12.5 MByte/s 125 MByte/10s 750 MByte/Min
Gigabit Ethernet:
1000Mbit/s 125 MByte/s 1250 MByte/10s 7'500 MByte/Min
ATM OC3 155Mbit/s
ATM OC12 622Mbit/s
Storage:
--------
Fibre Channel 100 MBytes/s (~1Gb/sec)
200 MBytes/s (~2Gb/sec)
Other:
------
FireWire
IEEE1394 400Mbit/s 50 MBytes/s
800Mbit/s
1600Mbit/s
3200Mbit/s
PCI bus bandwidth:
------------------
33MHz, 64bit wide, 266 MB/s Theoretical bandwidth;
66MHz 532 MB/s Theoretical bandwidth;
Unfortunately, you're both incorrect. Due to the implementation of
the Origin's XIO-to-PCI Bridge/Xbridge chip(s), the (X)Bridge will
"disconnect" DMA on every cache-line boundary, which casues a certain
fraction of the PCI bandwidth to be unavailable. On the O2000 this leads
to the *theoretical* maximum on a 64-bit/33-Mhz bus being ~213 MB/s
(not 266), and we've actually seen ~211 MB/s in certain test cases.
The same applies to Xbridge, so the *theoretical* maximum through
Xbridge to/from a 64-bit/66-Mhz bus is ~426 MB/s (roughly), though
I don't know what the max we've actually ever seen is. (A vague
memory says ~380 MB/s with some SCSI controllers, but don't quote me.)
_____________________________________________________________________________
SCSI Cable Length
-----------------
SCSI-1 SE 6m HVD 25m
SCSI-2 SE 3m HVD 25m
SCSI-3 SE 1.5m HVD 25m
( SCSI-3 can be used up to 3m with max 4 devices including the controller (HA))
See: http://www.scsita.org/experts/index01.html
_____________________________________________________________________________
Address Allocation for Private Internets
http://www.cis.ohio-state.edu/htbin/rfc/rfc1918.html
The Internet Assigned Numbers Authority (IANA) has reserved the
following three blocks of the IP address space for private internets:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
_____________________________________________________________________________
System Configuration:
======================
Hardware:
----------
hinv hardware inventory command
hinv -vv detailliert mit revision level
hinv -mv Revision of Octane Powersupply
nvram,sgikopt get or set non-volatile RAM variables
diskpatch -v Get info about the disk (very useful)
help_mem get exact memoryinfo (only at PROM)
swap -ln Swap info in MegaBytes
swap -s
/usr/gfx/gfxinfo
display graphics subsystems informationstopgfx
glxinfo display info about a GLX extension and OpenGL renderer
setmon set the current and default video output format
/usr/gfx/setmon 60Hz
also check for ~ /usr/gfx/ucode//vof
/usr/gfx/setmon 1024x768_75
/usr/gfx/setmon stereo
To do setmon from remote (via network):
setenv DISPLAY :0.0 ; /usr/gfx/setmon 72Hz
stopgfx;gfxinit;startgfx; gfxinit will not work if stopgfx was not used
just before
Octane dual head with new monitor GDM5411: setmon -p0 72Hz;setmon -p1 72Hz
xsetmon graphical setmon
xscreen replaces setmon (GUI) actually a link to xsetmon
/usr/bin/X11/xsetmon
O2: /usr/sbin/flatpanel
ircombine (for Onyx)
mt status
pre6.4: scsicontrol
>=6.4 : scsiha -p #
scsicontrol probe and control scsi devices
devices for the CDROM can be found in /dev/scsi
when issuing scsicontrol no CD must be in CD driver
if there is a CD mounted then the error message appears:
sc0d4l0: cannot open: Resource busy
Ex: scsicontrol -i sc0d4l0 (l0 stands for lun 0)
sc0d4l0: CD-ROM TOSHIBA CD-ROM XM-3501TA0095
ANSI vers 2, ISO ver: 0, ECMA ver: 0;
Response format type 1, but has SCSI-2 capability bits set
supports: reladdr. inquiry format is SCSI 1
Device is not ready
to get the firmware of the CDROM drive with a mounted CD use: fx
scsiadminswap -p -b # -d #
diskpatch -v Info about all disks
sc0d3l0: Disk SGI IBM 0662 S12 1S11 Serial: 00222769
sc0d1l0: Disk SGI QUANTUM XP34300 S89C Serial: MP621520
devnm name identifies the special file associated with the mounted
filesystem
/dev/MAKEDEV create device special files
!!! first do "cd /dev " then "./MAKEDEV ......"
MAKEDEV will create the device file in the current dir!!!
./MAKEDEV plp
ioconfig IRIX 6.4 (ioconfig -f /hw ;reinitialize the hwgraph tree)
-d add debuging output (ioconfig -d -f /hw)
sample for /etc/ioconfig to set SCSI bus differently on a O2000:
1051 /hw/module/1/slot/io5/mscsi/pci/1/scsi_ctlr/0
on O200 following line should work
103 /hw/module/1/slot/MotherBoard/node/xtalk/8/pci/3/scsi_ctlr/0
/etc/ioperms:
/dev/console 0644 root sys
flash reprogram the flash PROM hardware on Origin and OCTANE machines
-V Print currently loaded flash PROM version and time
see also FYI 100490 and the addition sent on August 27
Flash node from in PROM
>>flashcpu dksc(0,1,0)/usr/cpu/firmware/ip27prom.img
PROM
>> enable all
setdevperms - Update printing device entries in /etc/ioperms
Flash Octane from PROM:
flashcpu cdrom(0,4,7)/firmware/IP30/IP30prom.bin # maybe option -o (overwrite) has to be used
TIB 200415 IP35 Cache Size May Be Set Incorrectly to 4MB
If you find some nodes that are not 8 MB, you should reflash
them from the IRIX(R) operating system by using the -o option
with the following command line to override version checking:
flash -o -b /usr/cpu/firmware/ip35prom.img
O3000/O3k l1 and l2 commands directly from Unix (starting with IRIX 6.5.15):
--------------------------------------
l1cmd - Send a command to the SGI L1 System Controller
Ex: # l1cmd env
l2cmd - Send a command to an SGI L2 System Controller
how do I check fan speeds" or voltages:
---------------------------------------
I know this is invading ESP-land but here is a cronjob I setup in the Peachtree
office,
2,17,32,47 * * * * test 32 -le `sysctlrd -p | grep "air temp" | awk '{print
$5}' | awk -F. '{print $1}'` && echo "Overtemperature condition in Peachtree
Lab" |
Mail -s "Overtemperature in Lab" zwrite@peachtree.sgi.com
Something similar can be created for the O3K. This real example sends email if
32C is less than the reported temperature.
Diagnostics:
-------------
ide fe
irsaudit
Software:
----------
nvram get or set non-volatile RAM variables
chkconfig configuration state checker
versions
-n Show the internal version number rather than the date
long impr_base Shows all files that belong to impr_base
config Shows all config files
--> usefull to find license files
changed List installed configuration files that have
a corresponding .O or .N file and their
respective .O or .N files.
-b brief
versions -b patchSG\*
-m (modified) List only modified installed files
showfiles show files belonging to installed products
-A Print absolute pathnames
-c Show only config files
showfiles --
showprods -nD1
IRIX 6.4 SCSI commands:
scsiha -p X where X is the scsibus
ioconfig -f /hw this will add the entries for that device
scsiadminswap this will prepare a drive for hot removal
scsiadminswap -u -b -d (-u unplug)
scsiadminswap -p -b -d (-p plug)
pciconfig hot-plug insert, hot-plug remove, and query PCI devices
_____________________________________________________________________________
csh: /usr/local/bin/sgi_conf >&! /usr/local/sgiadm/configs/`hostname``date +_%b%d_%Y`
sh,ksh: /usr/local/bin/sgi_conf >/usr/local/sgiadm/configs/`hostname``date +_%b%d_%Y` 2>&1
_____________________________________________________________________________
Add a CDdrive while the system is running (hot plug!):
------------------------------------------------------
scsiha -p is the SCSI bus; probe the bus
Probe for devices on the bus
ioconfig -f /hw
/etc/init.d/mediad stop; /etc/init.d/mediad start
other scsi commands:
scsiha -t where is the scsibus ;
Return interesting SCSI bus and attached target parameters
scsicontrol -i /dev/scsi/sc0d1l0 show device type
scsiadminswap this will prepare a drive for hot removal
scsiquiesce this will take the bus in quiet mode
_____________________________________________________________________________
mkfs -n version=2 # this feature was introduced in 6.5.5, and will
# be de default starting with 6.5.14
# if IRIX older that 6.5.6 -> not able to mount xfs filesystems
# that were created with version=2 format
# see also NPA 200378
_____________________________________________________________________________
make new devices in Fabric visible (SAN / Switch)
scsiha -lp
ioconfig -f /hw
>now it should be visible in hinv
Integral SCSI controller 16: Version Fibre Channel QL2200
Fabric RAID controller: node 2000006016fe1ee1 port 0 on SCSI controller 16
Fabric RAID controller: node 2000006016fe1ee3 port 0 on SCSI controller 16
Fabric RAID lun: node 2000006016fe1ee3 port 0 lun 1 on SCSI controller 16
fx -x -d /dev/rdsk/world-wide-name/lun#vol/cCpN
# = Lun No., C = Controller No., N = Port No.
Ex: fx -x -d /dev/rdsk/2000006016fe0d52/lun2vol/c16p0
_____________________________________________________________________________
How do I see the world wide names of the HBAs on a host, from the host itself?
scsiha -w
# scsiha -w 15
15 Portname: 210000e08b020637
_____________________________________________________________________________
new tape support in IRIX 6.5.11
-------------------------------
docu: man ts (/var/sysgen/master.d/tpsc is obsolete)
chkconfig ts on
To add support for a new device, you must add device information to the
ts_types table, run an autoconfig to generate a new kernel, execute
chkconfig -f ts on, and restart the system to execute this kernel.
master.d/scsi file that contains the ts_types table
_____________________________________________________________________________
Umount /root in miniroot -> "resource busy"
---> umount /root/hw
=====================
_____________________________________________________________________________
Enabling Disabling CPU's valid for Octane and ??
------------------------------------------------
go to PROM: disable 0 disable CPU 0
enable 0 enable CPU 0
enable show status of the CPU's
_____________________________________________________________________________
Fibre Channel see also Origin Fibre Vault and Fibre Channel RAID Admin Guide 007-3715-00X
--------------
command ssmcli (storage processor command line interface) talks to the SP (storage
processor) in the Fibre Channel RAID ecnlosure. It communicates directly with the ssmagent.
ssmcli is an alternitive to the Raid GUI ssmgui.
ssmagent must be runnung - if no > ssmcli commands will fail
# chkconfig ssm on
# /etc/init.d/ssm start
add in .login (or even better .cshrc) the path to
set path = ($path /usr/ssm/bin /usr/ssm/lib)
or
add in .profile
PATH=$PATH:/usr/ssm/bin:/usr/ssm/lib
ssmcli can be used to get various info about the RAID and can also be used to bind/unbind
the disks.
GIU: /usr/ssm/bin/ssmgui &
collect usseful info:
getagent
getlun for every lun
getlog for every SP
getcache for every SP
getcontrol for every SP
getcrus for every enclosure
getdisk for every enclosure
scsifo -d
fx label/show/all for every lun visible to irix
xlv_mgr -c 'show -long -verbose all'
/etc/config/ssmagent.config
sesmgr Fibre Channel Drive Enclosure Status/Configuration Command Line Interface
sesmgr getversion
sesmgr poll
sesmgr topology
sesmgr getstatus
sesmgr getstatus -v
-> get the Enclosure ID 0x5....
sesmgr getstatus -e 0x50050cc00000205c #Obtaining a detailed status of an enclosure
_____________________________________________________________________________
Fibre Channel NON-RAID commands:
--------------------------------
command fccli (fibre channel command line interface) talks directly to the JBOD
agent fcagent. Only way to talk to JBOD storage.
fcagent must be running, other wise fccli does not work
# chkconfig fcagent on
# /etc/init.d/fcagent start
# fccli getstatus -c 14
ENCLOSURE | DRIVES POWER FANS PEER LCC
----------+-----------------------------------------
4 | OK OK OK OK
zdi80010 6# fccli getstatus -c 14 -e 4
Enclosure 4, status OK
Vendor ID: CLARiiON
Product ID: DISK ENC
LCC SN#: ms1033430400
LCC Mfg. Date: 9820
LCC code rev: 003
FRUs: 10 disk slot(s)
1 fan slot(s)
2 power supply slot(s)
1 peer LCC slot(s)
+---------------------------------------+------+
| [ 4] OK | |
+---------------------------------------+ |
| | | | | | | | | | | P |
| O | O | O | O | O | O | O | O | O | O | E L |
| K | K | K | K | K | K | K | K | K | K | E L |
| 40| 41| 42| 43| 44| 45| 46| 47| 48| 49| R C |
+---------------------------------------+ |
| FANS OK | OK |
| PS0 OK PS1 OK | |
+---------------------------------------+------+
# fccli GETVERSION
# fccli GETSTATUS
_____________________________________________________________________________
Clariiion SCSI Channel RAID stuff:
------------------------------------
add following lines to /.login (better .cshrc)
# complete path definition:
set path = ($path /usr/cluster/bin /usr/raid5)
raidgui graphical raid interface
raid5 linked to raidcli
# raid5 getagent
see which disk is bound to which lun:
# raid5 -d sc5d8l0 getdisk |grep Lun
or check all luns with
# raid5 -d sc5d8l0 getlun 0
get detailed info about disk A0:
# raid5 -d sc5d8l0 getdisk a0
Get the FRU info about disk:
# raid5 -d sc5d8l0 getfru c2
returns firmware (flare) revision and SP model number.
NOTE: model 7624 = SAUNA controller and model 7305 = PHOENIX controller.
# raid5 -d sc5d8l0 getsp
Which SP owns which lun ?
# scsifo -d
Group 8:
[P] sc2d8l3 (82)
[ ] sc5d8l3 (181)
Group 9:
[P] sc2d8l2 (80)
[ ] sc5d8l2 (172)
Group 10:
[P] sc2d8l1 (71)
[ ] sc5d8l1 (170)
Group 11:
[ ] sc2d8l0 (62)
[P] sc5d8l0 (168)
assign a certain lun to a certain SP
Ex: assign lun1 to go over SCSI bus 5 (SPB)
# scsifo -s sc2d8l1
Which SCSI bus belongs to which SP:
# raid5 getagent |egrep 'Name|Node'
Name: xl-raid3-SPA
Node: sc2d8l0
Name: xl-raid3-SPB
Node: sc5d8l0
Reassign Lun Ownership can also be done with
# raidcli tresspass sc6d6l0 mine
Get 'Current' and 'Default' owner of a certain lun
# raid5 -d sc11d8l0 getlun 0 | egrep 'Current|Default'
_____________________________________________________________________________
PS9400 commands:
================
CLI: /usr/bin/tpssm7cli
# tpssm7cli -d -i
san-storage 1 162.21.17.32
san-storage 1 162.21.17.31
san-storage 1 162.21.17.30
san-storage 0 162.21.17.32
san-storage 0 162.21.17.31
san-storage 0 162.21.17.30
# tpssm7cli 162.21.17.30 -c "help show" -n "san-storage 1"
/opt/tp9400/bin/tpssm7devices
Total Performance Storage Manager 7 Devices, Version 07.11.78.00
Built Wed Dec 12 14:45:17 CST 2001
Copyright (C) LSI Logic Corp 1999. All rights reserved.
_____________________________________________________________________________
Failover path:
If you try the command "scsifo -d", it should show you all pases to the
TP9400 Luns, with a p on the primary, the other pases is where the xlv
fails over to in case of a failure on the primary path.
For this to work you need to have the xlvplex software installed; but you
do not need the plexing license.
If you want to change the default selected pases, you need to enter a config
in /etc/failover.conf
_____________________________________________________________________________
/etc/failover.conf is only needed for JBOD, bandwidth solutions, and 3rd-party RAID
if using our RAID products the failover will happen automatically 240 seconds
after the 1st failed I/O request
_____________________________________________________________________________
Performance stuff:
------------------
sysmeter -v all display system performance values eoe.sw.perf
sysmeter -h
_____________________________________________________________________________
How to Burn CD?
---------------
gcombust (stefan)
How to burn on burn (eggi)?
----------------------------
rlogin burn -l root
cd /usr/cdr; source ./cdrenv; /usr/cdr/bin/SGI/cdrpub &
_____________________________________________________________________________
Show the remote admin what you type:
------------------------------------
let him first issue:
% tty
/dev/ttyq8
$ script /dev/ttyq8
from now on the admin on /dev/ttyq8 sees all my commands
updated after every
_____________________________________________________________________________
$HOME/.rhosts
lion.zurich.sgi.com nick root
lion nick root
be also aware that .rhosts is disregarded if it is owned by another user or if its
permissions allow anyone who is not the owner to modify the file.
--> chmod 600 .rhosts !!! this can fool you if you forget !!!
_____________________________________________________________________________
sticky bit (1000)
----------
chmod +t $HOME/tmp
ls -ld $HOME/tmp
drwxrwxrwt 3 nick user 118 Aug 3 10:34 /usr/people/nick/tmp
man chmod ....
If a directory is writable and the sticky bit, (t), is set on the
directory, a process may remove or rename files within that directory
only if one or more of the following is true (see unlink(2) and
rename(2)):
the effective user ID of the process is the same as that of the
owner ID of the file
the effective user ID of the process is the same as that of the
owner ID of the directory
the process is a superuser.
how to find these directories: find . -type d -perm 1000 -print
setuid-bit setgid-bit
----------------------
setuid (4000)
setgid (2000)
how to find these files:
find / -local \( -perm 2000 -o -perm 4000 \) -exec ls -l {} \;
_____________________________________________________________________________
ls -lh show size more human readable, specially for large files
ls -u Use time of last access instead of last modification
"file file.name " will change the access time of a file
(useful for mailchecking)
_____________________________________________________________________________
open ftp in a browser:
ftp://:@:/some/dir
Ex: ftp://nick:secret9@lion:/tmp/
_____________________________________________________________________________
License:
--------
lmdiag -c /usr/lib/SoftWindows/FLEXlm/license.dat
lmdiag -c /var/flexlm/license.dat
_____________________________________________________________________________
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Start_of_Alains6.5_tips
----------------------------------------------------------
showprods -F
shows from WHERE the software has been installed
Log of the Installation:
/var/inst/instlog
df --> in Human numbers --> df -h
Shows gigabytes instead of k
# df -h
Filesystem Type Size use avail %use Mounted on
/dev/root xfs 4.1G 3.6G 442M 90% /
/dev/xlv/volume1 xfs 4.2G 1.1G 3.2G 26% /d1
/dev/xlv/volume2 xfs 4.2G 1.7G 2.5G 40% /usr/vtr/clips
-------------------------------------------------
Backup utilities:
==================
move trees from source_dir to target_dir:
cd source_dir
tar -cvf - . | (cd tartget_dir; tar -xpvf - )
-p restores files to their original modes
ignoring present umask. Setuid and sticky information
are also restored
cd /source/dir
tar -cvpBf - ./backup_dir | rsh root@ "(cd /target; tar -xpBf -)"
Just restore some directories from a tar archive:
tar -xvf sgiadm.tar sgiadm/bin sgiadm/configs
Note that this will restore the directory sgiadm/bin and sgiadm/configs
from the archive; also NOTE that there is NO terminating '/',
so the command "tar -xvf sgiadm.tar sgiadm/bin/" would not work
it would just restore the empry dir sgiadm/bin/ but none of the directories
contents
xfsdump -l0 - /source_dir | xfsrestore - /target_dir
cp : new features for 1) Direct IO
2) realtime filesystems
cp -D
cp -tP -e ......
Also df can now show you the realtime usage
portion of the filesystem with the df -r flag
List_tape List content of a tape written by Backup(1), cpio(1),
tar(1), or bru(1)
dump / restore
dump 0Cu 2m /usr must include the C option followed by the size of the tape
for example 2m (2Mbytes) otherwise it is constantly asking
for another tape
-------------------------------------------------
Byte swap:
----------
dd if=/dev/rmt/tapedevice bs=20b conv=swab | tar vxf -
or first:
tar tvf /dev/rmt/tapedevicens
-------------------------------------------------
mkpart - Partition Configuration Tool for Origin
-------------------------------------------------
NUMA stuff
-----------
sn - NUMA Memory Management Configuration Tool
gr_sn - Graphical NUMA Memory Management Configuration Tool
nstats - NUMA Memory Management Statistics
gr_nstats - NUMA Memory Management Statistics
dplace - a NUMA memory placement tool
ex.: dplace -data_pagesize 64k -stack_pagesize 64k a.out
dlook - a tool for showing memory and process placement
To show memory and thread placement for a program called a.out that
would normally be run by
% a.out < in > out
and place the resuls in a file called output one would simply
% dlook -out output a.out < in > out
-------------------------------------------------
bufview : file system buffer cache activity monitor
the tool works like top or osview
-------------------------------------------------
Acces control lists / Capabilities
----------------------------------
While this is documented in a Pipeline article
here is the list of the new commands.
attrinit - Set file attributes -> neat tool since
it can read a script file.
Take a look at the file /etc/irix.cap
you will be surprised.
chacl - change the access control list of a file or directory
use the ls -D to obtain the ACL
chlabel - change the label of a file
chcap - change file capability sets
use the ls -P to get the cap set
try ls -P /sbin YOU WILL be SURPRISED.
-----------------------------------------------
base command
# ifconfig eg0 inet 195.141.85.196 netmask 0xffffff00
# ifconfig eg0
eg0: flags=c15c43
inet 195.141.85.196 netmask 0xffffff00 broadcast 195.141.85.255
ifconfig : 2 new options
1) list of the interfaces with -a
2) speed status ( 10/100 ) with -v
ifconfig -a
ec0: flags=c43
inet 169.238.226.62 netmask 0xffffff80 broadcast 169.238.226.127
lo0: flags=1849
inet 127.0.0.1 netmask 0xff000000
ifconfig -v ec0
ec0: flags=c43
inet 169.238.226.62 netmask 0xffffff80 broadcast 169.238.226.127
speed 10.00 Mbit/s half-duplex
IP aliases:
see insight: IRIX Admin: Networking and Mail Chapter 3
o make sure ipaliases is chkconfiged on
# chkconfig |grep ipaliases
o edit /etc/config/ipaliases.options
ef0 190.190.17.214 netmaks 0xffff0000 broadcast 190.190.255.255
Do it by hand: # ifconfig ef0 alias 190.190.17.214
---------------------------------------------------------
Gigabit Ethernet: TIB 200390 Patch 4291 or IRIX 6.5.13
/var/sysgen/master.d/if_eg for detailed tuning
or
# ifconfig eg0 sspace 262144 rspace 262144
->> ifconfig-X.options:
netmask 0xffffff00 sspace 262144 rspace 262144
---------------------------------------------------------
prtvtoc : new feature : provides info for all the drives
prtvtoc -a
/dev/rdsk/dks1d6vh
pt# start end #blocks type owner
7 4096 8888542 8884447 xlv [/usr/vtr/clips]
vh 0 4095 4096
vol 0 8888542 8888543
/hw/node/io/pci/1/scsi_ctlr/0/target/4/lun/0/disk/volume_header/char
pt# start end #blocks type owner
vh 0 63 64
vol 0 922667 922668
/dev/rdsk/dks1d2vh
pt# start end #blocks type owner
7 4096 8888542 8884447 xlv [/d1]
vh 0 4095 4096
vol 0 8888542 8888543
/dev/rdsk/dks0d1vh
pt# start end #blocks type owner
0 4968 8519902 8514935 xfs /
1 8519903 8888542 368640
vh 0 4967 4968
vol 0 8888542 8888543
-------------------------------------------------------
Roboinst : automatic software installation tool
---------
roboinst, roboinst_start, roboinst_check
--------------------------------------------------------
id : -P Reports the capability set of the invoking process.
id -P
uid=16432(berlie) gid=20(user) capability=(all= CAP_DAC_WRITE+ep
CAP_DAC_READ_SEARCH+ep CAP_FOWNER+ep CAP_MAC_WRITE+ep CAP_STREAMS_MGT+ep
CAP_SCHED_MGT+ep CAP_DEVICE_MGT+ep CAP_MAC_RELABEL_OPEN+ep)
/bin/id -P
uid=998(guest) gid=998(guest) capability=(all=)
----------------------------------------------------------
Checkpoint and Restart Processes : great for shutdowns
-----------------------------------------------------------
The CPR functionality has 2 commands : cpr, cview ( gui )
Applications have to be cpr-aware !!!! An application out of the box
will normally not work with cpr
Stop a process:
--------------
cd /var/tmp/cpr
cpr -c -p
Ex: cpr -c ckpt05Feb2002 -p 53711
Restart it:
-----------
cpr [-j] -r ckpt05Feb2002
How to find out the PGID of the process named standard.x:
ps -efj |egrep 'PGID|standard.x'
cd /scratch/cpr; cpr -c ckpt05Feb2002 -p 537245:GID
-----------------------------------------------------------
Live Installations !!
----------------------
Yes finaly its here and its called Roboinst
roboinst, roboinst_start, roboinst_check - automatic software
installation tool
also new options to inst and swmgr
inst -V live_install:on
....
-----------------------------------------------------------
How to speed up inst at exit:
...after install is done
inst > set rqs_task rqsread
inst > quit
man inst ...
If set to "rqsread", then only the first rqs phase will be
performed (the rqs registry file is updated).
But I don't know how to properly call rqsall(1) at a later time
-----------------------------------------------------------
linkstat - a Craylink monitoring tool
# linkstat /hw/module/1/slot/r2/router/mon
Router: /hw/module/1/slot/r2/router/mon
Port 3: Utilization: bypass 0% receive 2% send 2%
Retries 71847 (6/Min), SN errs 116395 (19/Min), CB errs 31196
(2/Min)
Port 5: Utilization: bypass 9% receive 13% send 20%
Retries 25087 (2/Min), SN errs 497298 (38/Min), CB errs 30417650
(2914/Min)
Port 6: Utilization: bypass 0% receive 4% send 3%
Retries 46394 (4/Min), SN errs 6252865 (599/Min), CB errs 5557
(0/Min)
-----------------------------------------------------------------
xbstat - monitor Crossbow (Xbow) traffic
xbstat -d /hw/module/1/slot/n1/node/xtalk/0/mon -t 60
-----------------------------------------------------------------
psifconfig - show and set packet scheduling interface configuration
psifconfig -i ec0
ec0 packet scheduling is OFF
reserved bandwidth 0
max reservable bandwidth 625000
interface bandwidth 1250000
MTU 1500
num_batch_pkts 4
flags 0x100000
packet scheduler has been disabled by administrator
-------------------------------------------------------------------
rstat - show resource reservation status
-------------------------------------------------------------------
The command top has changed a lot look it up
IRIX smith 6.5 IP32 load averages: 0.00 0.00 0.00 15:49:04
66 processes: 62 sleeping, 3 zombie, 1 running
CPU: 98.0% idle, 0.5% usr, 1.0% ker, 0.0% wait, 0.0% xbrk, 0.5%
intr
Memory: 128M max, 101M avail, 12M free, 180M swap, 124M free swap
PID PGRP USERNAME PRI SIZE RES STATE TIME WCPU% CPU% COMMAND
43647 43647 berlie 20 2248K 824K run/0 0:00 0.5 1.09 top
10107 10107 root 20 155M 27M sleep 396:03 0.3 0.88 Xsgi
41465 41465 berlie 30 21M 1504K sleep 0:08 0.1 0.26 xwsh
26318 26666 berlie 20 23M 1320K sleep 14:44 0.1 0.13 pmgadge
40697 40622 berlie 20 29M 2224K sleep 3:12 0.0 0.03 cdplaye
------------------------------------------------------------------
Hardware inventory
------------------
A few things have changed here
some new commands and options
hinv -mv
Location: /hw/module/1/slot/n1/node
MODULEID Board: barcode K0015226 part rev
8P12_MPLN Board: barcode FXW293 part 013-1547-003 rev E
IP27 Board: barcode DGR051 part 030-1266-001 rev C
Location: /hw/module/1/slot/n2/node
IP27 Board: barcode DGR650 part 030-1266-001 rev C
.....
topology
--------
Machine topology information is extracted from the hardware graph.
Machine dist has 4 cpu's, 2 memory nodes, and 2 routers.
The cpus are:
cpu 0 is /hw/module/1/slot/n1/node/cpu/a
cpu 1 is /hw/module/1/slot/n1/node/cpu/b
cpu 2 is /hw/module/1/slot/n2/node/cpu/a
cpu 3 is /hw/module/1/slot/n2/node/cpu/b
.....
ioconfig : onfigure I/O devices
Look up the /hw pseudo filesystem and
/etc/ioperms
/etc/ioconfig.conf
-----------------------------------------------------------------
uns - the Unified Name Service Architecture
-------------------------------------------
Related commands and files:
nsadmin : Name Service Administration Utility
/etc/nsswitch.conf - name service configuration file
nsadmin restart
To remove a single cache file have a look at the man page and the option
remove for nsadmin, or just try:
/sbin/umount /ns;/usr/sbin/nsadmin remove ;/bin/rm /var/ns/cache/*
;/usr/sbin/nsadmin restart
The man page suggests that the removal of a single map is possible so I
would try this first.
flush all the nsd maps and restart nsd:
# nsadmin flush; nsadmin restart
include LDAP services: see TIB 200396
-----------------------------------------------------------------
XLV Logical Volumes
--------------------
the lv subsystem is not supported anymore
/dev/dsk/xlv has moved to /dev/xlv
----------------------------------------------------------------------
crontab(1) was enhanced to allow root to edit/list/remove other users'
crontabs
------------------------EndofAlainsTips
_____________________________________________________________________________
System info:
------------
uptime show how long system has been up
who -r who: display who is on the system
w who is on and what they are doing
finger user information lookup program
_____________________________________________________________________________
sn0 commands:
--------------
checkclk
linkstat a Craylink monitoring tool
linkstat -a Report on all links in the system
clear sn0log messages:
> At the prom command monitor promt, type 'pod',
>
> At the pod prompt, type 'clearalllogs, and then 'reset'
>
Or just from the unix prompt:
#sn0log -w -a > /var/adm/sn0log_date
this is to write the prom logs to a file
#sn0log -c -a
this is to clear the prom logs
comparison of OS command line / POD
sn0log -a -c = clearalllogs = Clear all log files.
sn0log -a -i = initalllogs = Initialize all PROM logs for all modules in the system;
resets PROM variables to factory defaults.
_____________________________________________________________________________
sn1 commands
> I had a question from a customer about getting the temparature data
> on his SGI3000 from IRIX.
>
> We have this data in the L1, listet with the env command; but I have
> been unable to find a command to obtain this data from IRIX, unless
> you connect to the L1 via a serial connection.
>
> On the Everest systems we can get this type of data with the sysctlrd -p
> command, on the Origin 2K we can talk with the msc ( elsc ) with the
> command sn0msc, I haven't been able to find a similar command to for the
> SN1 to talk to an L1 from IRIX.
# uname -R
6.5 6.5.14f
# showfiles -- l1cmd
f 45690 160192 field_diags_sysco.sw.stand m usr/sbin/l1cmd
f 39545 1653 field_diags_sysco.sw.stand m
usr/share/catman/u_man/cat1/l1cmd.z
# showfiles -- l2cmd
f 34704 160192 field_diags_sysco.sw.stand m usr/sbin/l2cmd
f 58351 1794 field_diags_sysco.sw.stand m
usr/share/catman/u_man/cat1/l2cmd.z
# l1cmd env | grep TEMP | awk '{print $11$12}'
22c/71F
20c/68F
22c/71F
20c/68F
#
l1cmd only talks to C bricks,
l1cmd --scdev /hw/module/...c../L1/controller _l1_command_
Use l2cmd to target a non C brick.
# l2cmd 001i21 l1 env | grep TEMP | awk '{print $11$12}'
21c/69F
21c/69F
#
_____________________________________________________________________________
MMSC
-----
MMSC is connected to 2 or more MSC ports; MMSC only used with 2 or more
O2000
MMSC display keypad debounce problem (FYI 100882 100884 100737)
MMSC>r 1 MMSC>setenv DEBOUNCE_DELAY 200000
_____________________________________________________________________________
POD
----
how to enter POD: PROM -> command monitor > pod
1) 1A 000: POD IOC3 Dex>go cac
2) 1A 000: POD IOC3 CAC>initalllogs
3) 1A 000: POD IOC3 CAC>reset
see also TIB 200124: Problems with 400-MHz Node Board Upgrades
_____________________________________________________________________________
Documentation:
-----------------
makewhatis needed for "man -k" and "apropos"
man -k
apropos
relnotes
relnotes patchSG0002278 1 (Chapter 1 of #2278 Relnotes)
grelnotes graphical
/CDROM/docs/CDgrelnotes
_____________________________________________________________________________
Install System:
-----------------
Here are the two commands for booting sash and fx
IRIX 6.4 CD put into local CDROM controller 0 SCSI ID=4
1) go to PROM
2) go to Command Monitor
do the commands
hinv (check for SCSI id of CDROM)
boot -f dksc(0,4,8)sash64 (sashARCS for older systems)
boot -f dksc0,4,7)stand/fx.64 --x (fx.ARCS for older systems)
in fx to
fx> label > create > all
fx> repartition > resize (now you can adjust the swap part.)
fx -s "dksc(0,3,0)" open disk with SCSI ctrl 0; SCSI ID 3; lun 0
# fx -x "dksc(0,3,0)"
_____________________________________________________________________________
Boot miniroot from disk:
------------------------
| Is it possible to boot miniroot from local disk?
To boot miniroot you need the files sa and unix.IPXX (and sash in vh).
EX: To boot miniroot from disk:
# mkdir /disk/miniroot
# cp /CDROM/sa /disk/miniroot
# mkdir /disk/miniroot/miniroot
# cp /CDROM/miniroot/unix.IPXX
Then you can boot miniroot from the prom menu
setting local directory /disk/miniroot
_____________________________________________________________________________
Description for inst:
======================
View: distribution
Status: N=new, U=upgrade, S=same, D=downgrade, P=patch upgrade
Patches: A=installable patch, X=uninstallable (missing base product)
Selection: i=install, r=remove, k=keep
Subsystem Types [bdrpc]: b=reBoot needed, d=Default, r=Required, p=patch,
c=Client only
Usefull command
----------------
Inst > keep all
Inst > install A (install all installable software, spec. for patches)
Inst > inst S (install same)
Inst > inst I Reinstallation of Software:
Select all installed software for reinstallation:
Inst > admin
Admin> files nss_fasttrack List all files belonging to nss_fasttrack
Admin> save /tmp/inst_save Save selection to file /tmp/inst_save
load /tmp/inst_save load selection from the file
Help:
----
a) Inst > help (help keep)
b) Inst >
Automatic installation:
inst -f /CDROM/dist -a -u upgrade
inst -f /CDROM/dist -a -I
-I selection install
-R selection remove
-K selection keep
Maintenance and feature stream / how to switch streams:
---------------------------------------------------------
read all Overlay and Application CD's; might be possible that also
the 6.5 core CD's have to be read
> keep *
> inst standard
> inst maint #switch to maintenance stream
> inst feature #switch to feature stream
_____________________________________________________________________________
How to downgrade overlay ?
> install downgrade
> set rulesoverride true
_____________________________________________________________________________
How to install new system with limited space ?
> install impr_print impr_base
> keep appletalk *.books.* netwr_client demos custlink cosmocreate Register
**********************
> keep *_dev # get rid of all the _dev conflicts from overlay CD
**********************
_____________________________________________________________________________
extract single files from inst package by installing to other root directory:
idea: install that product to another target (-r) and get it from that directory
PRB 200261
The PROM can be manually installed on systems not running
6.5.10+ by downloading one of the patch files (#4153 or #4154) and using the
following steps:
1. Install the patch in an alternate root tree.
% inst -a -r/var/tmp/patch -f \
-Vrulesoverride:on -Iall
NOTE: You will need to add '-mCPUBOARD=IP32' if you extract the
files on a system other than an O2 system.
2. Install flash image (you must be root to do this).
% su
# /sbin/flashinst -T -y -q \
/var/tmp/patch/usr/cpu/firmware/ip32prom.image
3. Clean up the extracted files.
# rm -rf /var/tmp/patch
----------------------------
extract file io6prom.img
Using IRIX 6.5.11 Overlays [2 of 3] 812-0819-011
# grep usr/cpu/firmware/io6prom.img /CDROM/dist/eoe_6511f.idb
f 0644 root sys usr/cpu/firmware/io6prom.img
xlv54/6.5.11f/work/stand/arcs/IO6prom/SN0PROMio6prom.img eoe.sw.base sum(42196)
size(367304) off(17655411) mach(CPUBOARD=IP27) cmpsize(0)
# inst -f /CDROM/dist/eoe_6511f -Y usr/cpu/firmware/io6prom.img -m
CPUBOARD=IP27 -V rulesoverride:on -r /tmp -I default
; -r ; -Y Install only file during installations
Default distribution to install from: /CDROM/dist/eoe_6511f
.... proceed with inst dialog
# ls -R /tmp
extract ip27prom code (the next is all one line..)
% inst -f /CDROM/dist/eoe_6511f -Y usr/cpu/firmware/ip27prom.img -m
CPUBOARD=IP27 -V rulesoverride:on -r /tmp -I default
-> When inst menu comes up type 'go'
-> When inst completes type 'quit'
% ls -R /tmp -> the prom image is in /tmp/usr/cpu/firmware
=================================================
other example how to if_eg.o from 6.5.14:
inst -U -r /var/tmp/removethis -f eoe_6514m -I eoe.sw.base -K '*'
will extract all files from eoe.sw.base to /var/tmp/removethis
-OR-
You can use showfiles:
cd /tmp
showfiles -f /CDROM_812-0818-014/dist/eoe_6514m -x
--usr/cpu/sysgen/IP27boot/if_eg.o
+ /tmp/if_eg.o
NOTE: To extract this file in IP27boot w/ showfiles, you have to be on a IP27 system.
_____________________________________________________________________________
Filesystems:
-------------
xfs_growfs /mount_point
Info about a xfs filesystem (isize,block_size)
xfs_estimate estimate the space that an XFS filesystem will take
xfs_db debug xfs filesystem
xfs_db -r /dev/dsk/XXXXX
xfs_db> sb
xfs_db> print
xfs_ncheck generate pathnames from i-numbers for XFS
fsr_xfs filesystem reorganizer for XFS
_____________________________________________________________________________
Access the volume header of a CDROM:
------------------------------------
Assuming CD on controller 0 and SCSI id=4
# ls -l /dev/dsk/dks0d4*
brw------- 1 root sys 4, 8 Mar 19 15:52 dks0d4s
brw------- 1 root sys 128, 64 Jan 26 13:27 dks0d4s0
brw------- 1 root sys 128, 65 Jan 26 13:27 dks0d4s1
brw------- 1 root sys 128, 79 Jan 26 13:27 dks0d4s15
brw------- 1 root sys 128, 70 Jan 26 13:27 dks0d4s6
brw------- 1 root sys 128, 71 Jan 26 13:27 dks0d4s7
#install -F /dev/dsk -m 600 -u root -g sys -blk 128,72 dks0d4s8
ls -l /dev/dsk/dks0d4s8
brw------- 1 root sys 128, 72 Mar 19 15:52 dks0d4s8
Current contents:
File name Length Block #
sgilabel 512 32
io4prom 1029914 33
mr 28672000 2045
sash64 190904 58045
sashARCS 283172 58418
sashIP17 284720 58972
_____________________________________________________________________________
Disk information:
-----------------
fx> label/show/parameters list all parameters
fx> label/set/parameters
Command Tag Queueing
write buffering
_____________________________________________________________________________
XLV Logical volumes:
---------------------
Repair a defective volume (eg overlapping)
o delete the logical volume "local"
xlv_admin (delete object)
---------
o delete the partition 15 on disk dks0d2
fx repartition > expert
---
starting cyl =0
number of cyl=0
o make a new logical volume
xlv_make
-------
> vol local
> data
> plex
> ve /dev/dsk/dks0d2s6
o make a filesystem on this logical volume man mkfs
mkfs_xfs -d name=/dev/dsk/xlv/local -l internal,size4m
--------
o restore from backup
Useful XLV commands:
------------------
xlv_assemble -n Scan all disks for logical volume labels, but don't save the
logical volume configuration and don't activate the kernel with
this configuration.
xlv_assemble
xlv_admin (for IRIX 5.3) ( 41) 42) )
xlv_mgr (for IRIX 6.X)
xlv_mgr -c "show -long all"
prtvtoc (prtvtoc /dev/rdsk/dksdvh
dks0d1vh )
/usr/sbin/prtvtoc /dev/rdsk/*vh !! always on raw device !!
xfs_copy copy the contents of an XFS filesystem
dvhtool modify and obtain disk volume header information
ex: dvhtool -v list /dev/rdsk/dks0d3vh
ex: dvhtool -v list ( will take system disk)
extract sash from volume header:
dvhtool -v get sash /tmp/sash /dev/rdsk/dks0d1vh
cp ide to volume header:
ls -l /usr/stand/ide
-rwxr-xr-x 1 root sys 2154692 Jan 26 13:23 /usr/stand/ide
---> dvhtool -v add /usr/stand/ide ide /dev/rdsk/dks0d1vh
assuming disk on controller 0 SCSIid=1
dvhtool
Command? (read, vd, pt, dp, write, bootfile, or quit):
vd Volume Directory
pt Partition Table
dp Device Parameters
dvhtool again:
---------------
a) list content of volhdr:
dvhtool -v list /dev/rdsk/dks0d1vh
b) extract file from volhdr:
dvhtool -v get sgilabel /tmp/sgilabel /dev/rdsk/dks0d1vh
c) write a file to volhdr:
dvhtool -v add /tmp/sgilabel sgilabel /dev/rdsk/dks0d4vh
sh:
SOURCE=/dev/rdsk/dks0d1vh
TARGET=/dev/rdsk/dks0d3vh
dvhtool -v list ${SOURCE}
dvhtool -v get sash /var/tmp/sash ${SOURCE}
dvhtool -v get ide /var/tmp/ide ${SOURCE}
dvhtool -v get sgilabel /var/tmp/sgilabel ${SOURCE}
dvhtool -v add /var/tmp/ide ide ${TARGET}
dvhtool -v add /var/tmp/sash sash ${TARGET}
dvhtool -v add /var/tmp/sgilabel sgilabel ${TARGET}
_____________________________________________________________________________
XVM commands:
--------------
xvm show -verbose *
xvm show *
xvm show -top vol
ab 6.5.16 existiert weitere Option '-extend'
_____________________________________________________________________________
diskalign XLV Aligned Disk Striping Utility # useful to find out stripe_unit
% diskalign -n vol1 -r5m '/dev/dsk/dks12d8l[0-1]s7' # request size 5m
# Number of devices = 2
# Request alignment = 4096 bytes
# Desired request size = 5242880 bytes
# Aligned request size = 5242880 bytes
# Alignment padding = 0 bytes
# Padding I/O overhead = 0.00 %
#
vol vol1
data
plex
ve -stripe -stripe_unit 5120 \
/dev/dsk/dks12d8l0s7 \
/dev/dsk/dks12d8l1s7
end
exit
_____________________________________________________________________________
Discussion about SWAP swap Swap:
---------------------------------
swap -s ; swap -ln
virtual swap:
/etc/config/swap.options
vlength=XXX set virtual swap to XXX * 512 bytes
could also be added to /etc/fstab (IRIX 6.5)
/vswap/vswap1 swap swap pri=5,vlength=524288000 0 0 # (268 GB !)
_____________________________________________________________________________
Start another Netscape thread (no new process)
netscape -remote "openURL (http://lion.zurich.sgi.com)"
netscape -remote "openURL (file:/tmp/tes.html, new-window)"
alias nsm 'netscape -remote mailto'
_____________________________________________________________________________
/etc/TIMEZONE
before 1997 TZ=MET-1MDT,M3.5.0/2,M10.5.0/3
for 1997 TZ=MET-1MDT,89/2,299/3
after 1997 TZ="MET-1MDT-2,M3.5.0/2:00,M10.5.0/3:00" (Sysadminclass)
after 1997 TZ="MET-1MDT,M3.5.0/2:00,M10.5.0/3:00" (Chris)
not sure if "-2" is needed or not
"...." can cause problems (date will show Thu Jan 27 17:14:26 "MET 2000)
untested hint:
1) the following works for Europe:
TZ=MET-01MDT,M3.5.0/02:00:00,M10.5.0/03:00:00
export TZ
2) Try reading comp.sys.sgi.* on oasis.
TZ=CET-1CEST,M3.5.0/2,M10.5.0/3 <<<<<< the one to go for
++++++++++++++++++++++++++++++++
which failed with Failsafe 1.2 and Informix so another choice:
TZ=CET-1CST-2,M3.5.0/02,M10.5.0/03
_____________________________________________________________________________
It will set the time 1 hr forward on the lst sunday of the third month (
March) and change back to "normal" time on the last sunday of October.
date show or set date
date +_%b%d_%y _Jan21_98
date +_%b%d_%Y _Jan21_1998
-> use %d and NOT %e (%e will give a blank from the 1st until 9th)
/usr/etc/amtime1970 print current seconds since Jan. 1, 1970, or convert
between local time and seconds since Jan. 1, 1970.
_____________________________________________________________________________
diff differential file and directory comparator
gdiff graphical diff
cmp compare two files
sdiff side-by-side difference program
whereis
_____________________________________________________________________________
Cadmin:
/etc/init.d/cadmin [ start | stop | clean ]
called during system startup from /etc/rc2 to initialize
the cadmin objectserver(1M) and directoryserver(1M)
if database is corrupted:
/etc/init.d/cadmin clean
or better:
/etc/init.d/mediad stop
/etc/init.d/cadmin stop
/etc/init.d/cadmin clean
/usr/lib/desktop/telldesktop quit
/etc/init.d/cadmin start
/etc/init.d/mediad start
fm -lrb &
more brutal method:
-----------------
# killall fm
# mediad -k
# killall objectserver
# cp -pr /usr/Cadmin/classes /usr/Cadmin/classes.orig
# rm /usr/Cadmin/classes/groupObject.op
# rm /usr/Cadmin/classes/nisAccountObject.op
# rm /usr/Cadmin/classes/peopleNISObject.op
# rm /usr/Cadmin/classes/peopleObject.op
# /usr/Cadmin/bin/parseclasses
# /usr/Cadmin/bin/objectserver
# ps -ef | grep obj
--> when you see 2 objectserver processes running, do:
if this fails:
#par -siN open -l -SS /usr/Cadmin/bin/objectserver -d
# mediad
#fm -lrb&
check specially foranges in /etc/inittab and /etc/hosts (cat -v )
_____________________________________________________________________________
Debugging iso9660 mounts:
/etc/init.d/mediad stop
/usr/etc/mediad -f #start it in the foreground and write error message
# to standard out
_____________________________________________________________________________
autoconfig configure kernel
autoconfig -vf
-f forced
-v verbose
cp /unix /unix.save
at next system restart /unix.install will be automatically moved to /unix
_____________________________________________________________________________
mount / umount
umount -a after issuing this command you have to do:
mount -t proc /proc /proc
other wise ps won't work anymore
_____________________________________________________________________________
changes to etc/inetd.conf:
vi /etc/inetd.conf ; alter the file
to make it active:
killall -HUP inetd
this will NOT restart the process , but the config will be reread
can control with "par -sSSi -p " and then issue the kill command
_____________________________________________________________________________
links:
-------
ln -s existing_file link_file
ln
_____________________________________________________________________________
Nice mechanisme to implement locking with hard links:
more than one processes should
o check if a lock is set by creating a hard link
touch ./L.$$ # touch a tempfile with the own proc id
# try to link lockfile to L.$$:
ln ./L.$$ lockfile
# if successfull go on, do your tasks and at the end remove the file "lockfile"
# as long as this link is set, nobody else should be able to create such a link
# if not successfull stay in your loop and try again after a while
Ex:
% touch L.1 L.2
% ln L.1 lockfile # successfully locked
% ln L.2 lockfile # lock will fail
May not unlink existing outplock - Error 0
% rm lockfile # release the lock
% ln L.2 lockfile # successfully locked
% ls -li
63117 -rw-rw-r-- 1 nick user 0 Aug 13 10:53 L.1
63118 -rw-rw-r-- 2 nick user 0 Aug 13 10:53 L.2
63118 -rw-rw-r-- 2 nick user 0 Aug 13 10:53 lockfile
_____________________________________________________________________________
shutdown and startup:
-------------------
wakeupat Request that system power back on at a future time
powerdown stop all processes and halt the system
Automatically starting a system
-------------------------------
O20?? MSC: t aut 1
PROM: AutoLoad=Y
kernel: reboot_on_panic = -1
Indy: nvram -> rebound y
autopower [y|n]
AutoLoad [Yes | No] (replaces "bootmode [m | c]
_____________________________________________________________________________
colorview show available colors
showrgb uncompile an rgb color-name database
show available colors
_____________________________________________________________________________
eurosign see bug 785417 (I never got it to work) and bug 785478
--------------...
Mail from Andy Heel:
"¤" comes because your font does not support the euro symbol.
You need a iso8859-15 font (xlsfont | grep "iso8859-15" ),
and AFAIK you have to set LANG to your european Language.
(e.g. de_DE.ISO8859-15) (ls /usr/lib/locale/)
If you need more fonts install x_eoe.sw.Xoptfonts.
Use cat euro.bin (attached) to test this.
Andy
P.S.
1. winterm
2. setenv LANG de_DE.ISO8859-15
3. winterm -fn "-bitstream-*-medium-r-normal--15-70-*-*-*-*-iso8859-15"
4. cat euro.bin
euro.bin: ¤
_____________________________________________________________________________
setenv TERM iris-tp
set TERM at single mode
xfontsel point & click interface for selecting X11 font names
usefule for exact xwsh:
xwsh --fn -sgi-haebfix-medium-r-normal--15-150-72-72-m-90-isoo8859-1
/usr/lib/X11:
system.chestrc
system.4Dwmrc
XKeysymDB
app-defaults
/usr/lib/X11/xdm -> ../../../var/X11/xdm
/var/X11/xdm:
xdm-errors
system wide xhost is set in:
/usr/lib/X11/xdm/Xsession-remote
Toolchest stuff:
----------------
$HOME/.chestrc replace the system toolchest /usr/lib/X11/system.chestrc
$HOME/.auxchestrc append to system toolchest
customize the popup menu that appears when the right mouse button
change the button bindings in /usr/lib/X11/system.4Dwmrc OR
override system defaults by creating a $HOME/.4Dwmrc file -> man 4DWm
Fontstuff:
----------
xev print contents of X events
xmodmap
xmodmap -e "keycode 65 = Mode_switch Multi_key"
After that + ^ a
Won't work in tcsh
(disables pasting with the middle mouse button):
xmodmap -e "pointer = 1 5 3 4 2"
xlsfonts | grep 8859-1
xfd -fn -sgi-screen-medium-r-normal--15-150-72-72-m-80-iso8859-1
winterm -fn "-sgi-screen-medium-r-normal--15-150-72-72-m-80-iso8859-1"
winterm -fn "-sony-*-*-r-*-*-16-*-*-75-*-*-*-*"
xfontsel choose your own font step by step
man ascii
xwininfo window information utility for X
xprop property displayer for X (get info about a specific window)
xlswins server window list displayer for X
setxkeyamp fr_CH.xkm
compose
composetable
xmodmap -e "keycode 65 = Mode_switch Multi_key"
-> then use + followed by a: -> will procuce adiaresis
The command being executed by the GUI is:
/usr/bin/X11/setxkbmap -config
//.desktop-oxygen/0.0/keyboard-cfg.xkb
oxygen 21# cat //.desktop-oxygen/0.0/keyboard-cfg.xkb
model=indy
layout=fr_ch
you can put the setxkeymap command in
/usr/lib/X11/xdm/Xsession.dt.
You can set the language via $HOME/.lang
LANG is defined systemwide in /etc/default/login
also PATH can be defined there (default path is taken from /usr/include/paths.h)
or in /etc/cshrc
setxkbmap de
setxkbmap us
setxkbmap de_CH Umlaute only work in sh (not csh)
see also /usr/lib/X11/xkb/symbols
xrm ressources:
---------------
xterm -xrm '*background: NavyBlue' -xrm '*foreground: yellow'
for valid ressources check the definition files in /usr/lib/X11/app-defaults
XTerm for xterm
XWsh for winterm
winterm -xrm 'winterm.cursorTextColor: red'
_____________________________________________________________________________
Dual head:
I've been doing a little more investigation this morning and it looks like
the death grip interrupts the xdm parent process if you enter it on the
keyboard assigned to display 0. If you enter it on a different keyboard
that's assigned to another display, it interrupts only the child xdm
process that's assigned to that X display.
I also discovered that if I logout of X display 0's desktop, it also
terminates the other X display. I fixed this by changing the
DisplayManager._n.terminateServer: statement to False in the
/var/X11/xdm/xdm-config file.
_____________________________________________________________________________
Put faces on the login desktop:
-----
man clogin: $HOME/.icons/login.icon
/usr/local/lib/faces/$USER
/usr/lib/faces/$USER
chkconfig noiconlogin -> NO icons are displayed
instead /usr/Cadmin/images/cloginlogo.rgb is displayed
_____________________________________________________________________________
/etc/default/login:
------------------
CONSOLE=/dev/console --> root connection is posible from console AND from xterm connections
CONSOLE=any_thing --> Nobody can connect as root directly. "su" must allways be used
CONSOLE=/dev/ttyd1 --> root connection is only posible from console in serial port 1. No xterm root
connections are posible.
see also man xdm
CONSOLE=noXlogin effectively prevents ANY direct root-logins on the system.
Users must login with normal user names.
To gain root access users will have to use the su command.
with CONSOLE=/dev/ttyd1 you will be able to login as root on the "console serial port".
_____________________________________________________________________________
Add certain programs that should be started ONCE when loging into the desktop:
cat $HOME/.sgisession
xhost + trusted.zurich.sgi.com
/usr/local/bin/vmail
see also 'Desktop User's Guide' in the book SGI_EndUser
_____________________________________________________________________________
Move window with numkeypad:
---------------------------
xmodmap -e "keysym Num_Lock = Num_Lock Pointer_EnableKeys"
then press + (some times ++)
-> now you can move the mouse with the num keypad
1,2,3,4,6,7,8,9 move the mouse
5 default pointer
0 locks default pointer button for dragging
. unlocks
/ sets the default button to Button1
* sets the default button to Button2
- sets the default button to Button3
Unix Hints an Hacks/ Kirk Waingrow/ Ch 11.7
_____________________________________________________________________________
IMG Indigo Magic Desktop (man IMG)
toolchest Menue
dirview desktop manager
launch
iconcatalog
ov desks overview tool
4Dwm not invoked by end user
iconsmith graphical interactive drawing program
colorview An X11 program that displays a color patch and a list of
color names from an X11 rgb database
iconbookedit
man 4Dwm The IRIS Extended Motif Window Manager
_____________________________________________________________________________
nm print name list of an object file(s)
nm /usr/lib/libspaceball.a
typical linker error message:
ld:error 33: unresolved text symbol "dbtext" -- first referenced by usr/lib/
libspaceball.a (spaceball.o)
***error code 1 (BU21)
elfdump dumps selected parts of a 32-bit or a 64-bit ELF object file
elfdump -Dl show used share objects
odump dumps selected parts of an object file
file will show if it is a 32 N32 or 64 compiled image
Octal dump:
------------
od - octal dump
od -x Interpret words in hex.
od -c Interpret bytes as characters
_____________________________________________________________________________
Networking stuff:
----------------
par system call tracer
par -s -SS -p
par -SS -s -i -l -n
par -siN open -l -SS /usr/Cadmin/bin/objectserver -d
par -isSS -l -o /tmp/os1.par /usr/Cadmin/bin/objectserver -l 7 -d
par -s -SSS -i -N write -a 4096 -b 4096 -o /tmp/output-file -p PID
will trace process #PID and all its subsequent children.
The arguments to write() system calls will be logged, including up to
4096 of ascii (a) or binary (b) data from the buffer given to write()
par -rsSSQQ -o inst
par -ilsASSQQQ -o /tmp/date_a date 10
traceroute print the route packets take to a network host
ping send ICMP ECHO_REQUEST packets to network hosts
ping -c 1 -R show routes (-c counts)
netstat show network status
-r show routing
netstat 5 # show packet status every 5 seconds
# first line shows the total, further lines show delta
# perfect to watch if we have further collisions
netstat -ia 2
netstat -I ec0 2
netstat -s -p tcp
netstat -C
To match a socket to a process, the fuser(1M) command can be used. For
example, the command
fuser 25/tcp
will display information about any processes listening on TCP port 25.
Note that fuser requires the numeric value for the port, not the name of
the service. The -n option will force netstat to display service
information numerically.
route manually manipulate the routing tables
route add default 1 ????????
Ex: route add -net
route add -net 193.187.200 193.187.248.100
add it permanently to /etc/config/static-route.options
add default route to gateway 144.253.153.1:
route add -net default 144.253.153.1
route -n monitor # monitor any changes in the routing table
# normally nothing happens
# Very useful when we want to know through which interface we go
# when connecting to a remote system:
route get # get info about the route to that host
route get
smtstat show FDDI SMT status
smtstat -C # check 5 for neighbourhood (or use fddiviz)
nslookup query Internet name servers interactively
nslookup > ls -d zurich.sgi.com # dump the whole map
nslookup -query=mx sgsc
or
nslookup > set querytype=MX
> eggenberger.org
eggenberger.org preference = 10, mail exchanger = mail.eggenberger.org
Authoritative answers can be found from:
eggenberger.org nameserver = DNS.NETSTREAM.CH
eggenberger.org nameserver = DNS2.NETSTREAM.CH
mail.eggenberger.org internet address = 207.154.76.249
DNS.NETSTREAM.CH internet address = 62.65.128.10
DNS2.NETSTREAM.CH internet address = 62.65.128.15
netsnoop capture and decode network traffic (like snoop on SUN)
/usr/sbin/netsnoop -vvv "(ip.src == 195.10.101.49)||ip.dst == (195.10.101.49)"
IRIX 6.2 (PART 1 OF 2) eoe.sw.ipgate
snoop similar to netsnoop but for IRIX 6.3 and later (nfs.sw.nfs)
snoop -o snoopfile.out rpc ypserv capture all rpc packets between the 2 hosts
snoop -v -i snoopfile.out look at the file snoopfile.out
snoop -o /var/tmp/snoop.out arp look at all arp broadcasts
snoop port 25 watch the mail port (defined in /etc/services)
snoop port 53 watch DNS queries (find out who is dnsserver)
snoop -d lo0 rpc nfs watch nfs queries on loopback interface (also see /etc/rpc)
snoop rpc mountd watch how partitions get mounted and umounted
snoop -o /tmp/snoopfile.out 192.2.3.4 192.3.2.4
Truncate each packet after snaplen bytes -s
save lot of disk space
snoop -o /tmp/snoopfile.out -s 140
snoop -d eg1 "lion not mahagoni" # watch traffic on interface eg1
# snoop all packets from or to lion
# disregard packets from or to mahagoni
snoop "not pinky not punky" # snoop all packets except for pinky and punky
http://www.enteract.com/~lspitz/snoop.html
look at the captured snoop packages:
snoop -i /tmp/snoopfile.out get overview
snoop -i /tmp/snoopfile.out -V verbose overview
snoop -i /tmp/snoopfile.out -v -p 10,15 look at packets 10-15
rpcbind
rpcinfo -p
rup show host status of local machines (RPC version)
rup -l
proclaim client for Dynamic Host Configuration Protocol (DHCP)
portmap TCP,UDP port to RPC program number mapper
(Not for ordinary users)
arp address resolution display and control
arp -a ( before issue a ping
looked up by ifconfig ec0)
arp -av show add. info such as the interface associated with entries and age of the entry
rup show host status of local machines (RPC version)
ruptime show host status of local machines
nfsstat display Network File System statistics (/usr/etc/)
-s (server) -c (client) -z (reset statistics)
ttcp test TCP and UDP performance
ipfilterd see also WebFORCE Firewall Admin Guide
ttcp usage: one host will send, the other will listen
on the transmitter host:
# ttcp -t -s -fm
on the reciever host:
# ttcp -r -s -fm
-fm means result in the format (f) Mbit/sec (m)
basic network files:
--------------------
/etc/sys_id, /etc/hosts, /etc/config/ifconfig-?.options (netmask)
/etc/protocols, /etc/services, /etc/networks, /etc/gateways
/etc/resolv.conf
/var/yp/ypdomain (NIS) (if NIS domain != internet domain)
_____________________________________________________________________________
process related stuff:
-----------------------
man 5 signal:
Name Value Default Event
__________________________________________________________________________
SIGHUP 1 Exit Hangup [see termio(7)]
SIGINT 2 Exit Interrupt [see termio(7)]
SIGQUIT 3 Core Quit [see termio(7)]
SIGILL 4 Core Illegal Instruction
SIGTRAP 5 Core Trace, Breakpoint, Range Error
Divide by Zero, or Overflow Trap
SIGABRT 6 Core Abort
SIGEMT 7 Core Emulation Trap
SIGFPE 8 Core Arithmetic Exception
SIGKILL 9 Exit Killed
SIGBUS 10 Core Bus Error
SIGSEGV 11 Core Segmentation Fault
SIGSYS 12 Core Bad System Call
SIGPIPE 13 Exit Broken Pipe
SIGALRM 14 Exit Alarm Clock
SIGTERM 15 Exit Terminated
SIGUSR1 16 Exit User Signal 1
SIGUSR2 17 Exit User Signal 2
SIGCHLD 18 Ignore Child Status Changed
SIGPWR 19 Ignore Power Fail/Restart
SIGWINCH 20 Ignore Window Size Change
SIGURG 21 Ignore Urgent Socket Condition
SIGPOLL 22 Exit Pollable Event [see streamio(7)]
SIGIO 22 Exit input/output possible signal
SIGSTOP 23 Stop Stopped (signal)
SIGTSTP 24 Stop Stopped (user) [see termio(7)]
SIGCONT 25 Ignore Continued
SIGTTIN 26 Stop Stopped (tty input) [see termio(7)]
SIGTTOU 27 Stop Stopped (tty output) [see termio(7)]
SIGVTALRM 28 Exit Virtual Timer Expired
SIGPROF 29 Exit Profiling Timer Expired
SIGXCPU 30 Core CPU time limit exceeded [see getrlimit(2)]
SIGXFSZ 31 Core File size limit exceeded [see getrlimit(2)]
SIGCKPT 33 Ignore Checkpoint warning [see cpr(1)]
SIGRESTART 34 Ignore Restart warning [see cpr(1)]
SIGRTMIN 49 Exit POSIX 1003.1b SIGRTMIN
SIGRTMAX 64 Exit POSIX 1003.1b SIGRTMAX
_____________________________________________________________________________
xman X11 manual pages
Print man pages:
man -c ppp >ppp_man.txt ; lp -d ppp_man.txt
Put it into a file for access with vi
man -c ppp | col -b > ppp_man.txt
pcat csh.z | imprint -l
man -p show commands that would be executed for formatting
man 4 passwd Show section 4 of passwd
apropos locate commands by keyword lookup (~man -p
_____________________________________________________________________________
Compress and uncompress:
------------------------------
pack,pcat,unpack compress and expand files (Huffman coding)
gzip, gunzip compress and uncompress files
Gzip uses the Lempel-Ziv algorithm used in zip and PKZIP
compress (LZW-algorithm)
zip,unzip fw_IZzip.sw.zip usr/freeware/bin/zip
works fine for archives compressed on NT
tar cf - nsmail | gzip -c | crypt my_secret_password > nsmail.packed
cat -v print non ASCII Charachters
File Transfer via email:
-make package with tar (cd /source/dir ; tar -cvf source.tar ./dir_or_file)
-compress source.tar (will create source.tar.Z)
-make a ASCII version out of it
uuencode source.tar.Z source.tar.Z > source.tar.Z.uu
- this can be sent as an attachment via email
ex: mailx -v -s "sending source.tar.Z.uu" nick@sgi.com < source.tar.Z.uu
to unpack :
-save attachement as /any/dir/source.tar.Z.uu
-uudecode source.tar.Z.uu
-uncompress source.tar.Z ( ->source.tar)
-tar -xvf source.tar
_____________________________________________________________________________
Formating
---------
tr translate characters
Ex: tr -d "[\200-\777]" < filename > filename2
delete all control characters in "filename"
cat xx | tr -s "[a-z]" "[A-Z]" (convert all lower to upper)
get rid of the ^M in a file (saved with Netscape)
cat -v file.txt | tr -d /^M/ > cleanfile.txt
or better: cat file.txt| tr -d '\015' > cleanfile.txt
do the same job in vi:
:g/^M/s///g (^M has to typed as '')
and another solution:
sed 's/^V^M//g' foo > foo.new
convert from Macintosh file to Unix Ascii (Mac files contain lots of ^M)
#Octal: \015 (^M CR Carriage Return) ; \012\ (^J LF Line Feed)
cat file.txt | tr -s "\015" "\012"
show each directory of PATH on seperate directory:
alias pa 'echo $PATH | tr -s "[:]" "\n"'
cut -d -f
cut -d":" -f3 /etc/passwd print all UID's of /etc/passwd
cut -d":" -f3 /etc/passwd | sort -n | uniq
cut -d":" -f3,1 /etc/passwd also show the username
cut -c0-20 print character 0 until 20 of each line in
first character is 0
sed
Ex:
1.) /usr/etc/netstat -ia | grep 08:00 | sed 's/ *//;s/://g' | head -1 | tr '[a-f]' '[A-F]'
2.) nvram | grep eaddr | cut -d= -f2 | sed -e s/://g | tr '[a-f]' '[A-F]'
3.) sysinfo | grep -v System | sed 's/00//g' | sed 's/ //g;2s/^/0800/' | tr '[a-f]' '[A-F]'
paste merge same lines of several files or subsequent lines of one file
4.) replace in /etc/fstab the word vol_usr with vol_usr_plex:
sed 's/'vol_usr'/'vol_usr_plex'/g' /etc/fstab > /tmp/fstab.cloned
the serach patterns can also be replaced by variables:
sed 's/'$xlv_usr'/'$d3_xlv_usr[$nxlv]'/g' /etc/fstab > $tmpmnt/etc/fstab
same function can be implemented with perl see also UGU:
perl -p -i -e 's/original text string/replacementstring/g'
list perm, size and name:
ls -lt | tr -s " " | cut -d " " -f1,5,9
drwxrwxr-x 103 develop
-rw-rw-r-- 6639 examples.html
sed replace string:
sh:
VARIABLE=nick
echo "hallo world" | sed -e s/world/$VARIABLE/g
hallo nick
csh:
set VARIABLE = nick
echo "hallo world" | sed -e s/world/$VARIABLE/g
hallo nick
guenstig um das in einer Schlaufe zu verwenden
_____________________________________________________________________________
/usr/etc/macconfig ha.sw.base
_____________________________________________________________________________
man ascii map of ASCII character set /show ASCII Table
_____________________________________________________________________________
Trouble to remove a special file:
---------------------------------
ls -i list file by inode
clri clear inode (elete file by inode)
should only be used for efs filesystems
for xfs filesystems use xfs_check and xfs_repair(repeatedly)
Filesystem repair:
-----------------
xfs_check
/usr/sbin/xfs_repair (comes with patch1422 in IRIX 6.2)
xfs_repair /dev/rdsk/dks0d2s0 do it on the raw device
_____________________________________________________________________________
Memmory and processes:
----------------------
pmem report per-process memory usage (/usr/sbin/pmem)
belongs to package "pcp.sw.monitor /Performance Co-Pilot for IRIX 6.2, 1.2"
ps report process status
gmemusage graphical memory usage viewer
gr_osview graphical system monitor
osview ASCII system monitor
gr_top display processes having highest CPU usage in a window
top display processes having highest CPU usage
top -o mem sort processes by size of memory used
xload CPU load with history
sar
# sar -f /var/adm/sa/sa01 What was the system activity at the first of this month ? only for root
# sar -d -f /var/adm/sa/sa21 -s 07:30 -e 09:30
show disk activity (-d) on 21st of this month between 07:30 and 09:30
Sar data is collected by crontab of user sys with script /usr/lib/sa/sa1 (every hour)
_____________________________________________________________________________
more about sar:
----------------
best to watch system for a certain period and save all data into a file
sar -A -o /var/tmp/sar.log 10 5
-A all options combined
10 delay of 10 seconds
5 take 5 samples
then look at all the details by reading from that log:
sar -U -f /var/tmp/sar.log # per CPU utilization, similar to -u
sar -D -f /var/tmp/sar.log # Disk
sar -w -f /var/tmp/sar.log # swap
more about top:
---------------
use the option '?' within top; Ex press 'o' and type 'res'
this will sort the processes by RES memory size
can also be achieved with command:
top -o res
_____________________________________________________________________________
Debugging:
==========
par: process activity reporter / truss-like system call tracer
Example: #par -s -i -N open -o filename -l -SS /usr/Cadmin/bin/objectserver -d
see also padc
ifconfig ec0 debug Turn on Network debugging
ifconfig ec0 -debug Turn off Network debugging
nm print name list of an object file(s) (compiler_dev.sw.util)
stat display stat attributes of named files
stat $HOME/xx
file determine file type
see also /etc/magic for the various types
looking for a speacial type of file in the filesystem
for exapmple type "Arena"
find . -local -type f -print -exec file {} \; |grep Arena
find . -local -type f -print -exec grep {} \;
List only the files which contain a certain search pattern:
find . -type f -exec grep -il {} \;
List the search pattern proceeded by the filename:
# good one:
!!! # find . -type f -exec grep "string or options" /dev/null {} \;
fgrep TZ `find /etc -type f -print` search for strin "TZ" in all files in /etc
cd some/dir; grep "pattern" */*
find / -local -type f -size +20000 -print
Print all files which are larger than 10MB
find / -local -type f \( -name core -o -name dead.letter \) -atime +7 -mtime +7 -
Henk: find . -name \*\['\126',a\]\* -print
find all files which contain the tilede (~) and an "a" in their name
lists all set-UID files owned specifically by root
find / -user root -perm -4000 -exec ls -l {} \;
find / -local -perm -4000 -exec ls -l {} \; # list ALL SUID files
a nice one:####################################
Find all the files which were modified on 24.June:
touch -t 06251012 /tmp/june25
touch -t 06231012 /tmp/june23
find / -local -newer /tmp/june23 ! -newer /tmp/june25 -exec ls -l {} \;
If you would like finer granularity than a day, then you might try this:
touch 07040330 first_time
touch 07040415 last_time
find . \( -newer first_time ! -newer last_time \) -print
Find all files which are NOT named index* :
find . -type f ! -name "index*" -print
^^^
clean up /tmp and /var/tmp but don't remove sockets:
bad:
| 30 0 * * * find /tmp /var/tmp -depth \
| -atime +7 -print 2> /var/tmp/clean_tmp.log | xargs rm -f
better:
find /tmp /var/tmp -type f ...
That way, no symlink/socket/directory/pipe will be removed
filetype determine filetype of specified file or files (only IRIX ?)
strings find printable strings in an object file or binary
Crash analysis:
===============
/var/adm/crash
savecore
icrash IRIX system crash analysis utility
icrash unix.43 vmcore.43.comp
corefile = vmcore.43.comp, namelist = unix.43, outfile = stdout
echo t -a -w | icrash
# icrash -e "trace -a" -w /tmp/trace_output
DBX:
=====
indee02 8# ls -l core
-rw-r--r-- 1 root sys 6673948 Oct 24 11:05 core
indee02 9# file core
core: IRIX core dump of 'swmgr'
indee02 10# dbx /usr/sbin/swmgr core
dbx version 7.2 Aug 29 1997 03:27:55
Core from signal SIGSEGV: Segmentation violation
(dbx) t
> 0 () [< unknown >, 0x5f2e70b4]
(dbx) wi
[???, 0x5f2e70a0] addiu sp,sp,-48
[???, 0x5f2e70a4] sw ra,28(sp)
[???, 0x5f2e70a8] sw gp,24(sp)
[???, 0x5f2e70ac] move a3,a0
[???, 0x5f2e70b0] move a2,a1
*[???, 0x5f2e70b4] lw t6,0(a3)
[???, 0x5f2e70b8] beq t6,zero,0x5f2e70c8
[???, 0x5f2e70bc] nop
[???, 0x5f2e70c0] bne a3,zero,0x5f2e70d0
[???, 0x5f2e70c4] nop
(dbx)
(dbx) q
_____________________________________________________________________________
in order to use dbx the object file has to be compiled with the option '-g'
(which is the "not stripped" versions)
dbx [options] [object_file [corefile]]
_____________________________________________________________________________
elfdump, odump dumps selected parts of an object file
elfdump -Dl /usr/etc/mediad Dumps library list in dynamic shared objects
_____________________________________________________________________________
Multiprocessors:
mpadmin control and report processor status
-s A summary of the unrestricted, restricted, isolated, preemptive
and clock processor is printed to the standard output
_____________________________________________________________________________
fuser identify processes using a file or file structure
-u give process id AND username
-c may be used with files that are mount points for file systems. With
that option the report is for use of the mount point and any files
within that mounted file system.
Example:
fuser -c /CDROM which processes still using files
useful for umounting
fuser 25/tcp which process is using port 25 via tcp ?
_____________________________________________________________________________
Systeminfo:
----------
sysconf get configurable system variables (POSIX)
sysconf | grep PAGE get pagesize of the system
pathconf get configurable pathname variables (POSIX)
limits
_____________________________________________________________________________
mkfile create a file
ex: mkfile 5m bigfile create a file called "bigfile" with the size 5MB
sum print checksum and block count of a file
sum -r
_____________________________________________________________________________
Backup commands:
-----------------
Moving trees:
cd /source/dir
find . -depth -print | cpio -o | rsh "cd /target/dir; \
cpio -ipdm"
cd /source/dir
find . -depth -print | cpio -ovBc -O /dev/tape
cd /source/dir
tar -cvBf - ./docu | rsh guest@burn "cd /space1/nick; tar -xpBf -"
how to find out WHICH file has a bad block on the disk
(cpio will terminate at read error !)
ksh:
find . -print | cpio -ovBc -O /dev/null > /var/tmp/log1 2>/var/tmp/err1
csh:
(find . -print | cpio -ovBc -O /dev/null > /var/tmp/log1 ) >& /var/tmp/err1
an then:
find . -print | tee /var/tmp/log2
last entry in /var/tmp/log1 is the name of the last file which is ok
so we have to look for the NEXT file in log2
xfsdum/xfsrestore:
xfsdump -f guest@ocracoke:/dev/tape -l 0 -L Backup_lion_nick -s nick /d2
means: -f
-l
-L
-s subtree
xfsdump -J -f /dev/tape -l 0 -o -M chita -L chita_MyLib /MyLib
-J inhibits the normal update of the inventory
-o Overwrite the tape
-M
xfsdump over network (not tested):
xfsdump -l0 - /source_dir | rsh root@remotesys "xfsrestore - /target_dir"
Primus ID: 3.0.9096944.2817482
To copy /usr/people/fred to the network host magnolia's /usr/tmp directory:
# xfsdump -J -s people/fred - /usr | rsh magnolia xfsrestore - /usr/tmp
This creates the directory /usr/tmp/people/fred on magnolia.
Note: The superuser account on the local system must be able to rsh to the
remote system without a password. For more information, see hosts.equiv(4).
call xfsdump from within a script and restore from tape --> use -F
-F Inhibit interactive operator prompts
# xfsrestrore -F -f /dev/tape /tartget_file_system >&! /var/tmp/restorelog
Be aware that if there is already data on the tape written by xfsdump, another xfsdump
will append after the previous dumpprevious. If not desired use the option:
-o Overwrite the tape
----------------------------------------------------------------------------
full backup used by graphical 'Backup & Restore Manager' :
Backup : /sbin/cpio -KWovO $TPDEV
IRIX 6.5.12: cpio -o -K -W -v -C 131072 -M MediaFull -O /d2/backup.cpio
Restore : cpio -iudvk -I $TPDEV $RDIR
Take care with -W option of Backup : see bugg 752381, call FF30652
get a specific directory save with System Backup:
# cd /
# cpio -iuvdk -C 131072 -I guest@zkir40:/dev/tape disk1/wang/\* >&! /var/tmp/restorelog
!!!! don't use "./disk1/wang" and don't use "/disk1/wang" neither of them will work !!!
How was this tape drive written ? ->try List_tape
lion 21% List_tape -h speedy
Tape listing started. Please wait...
Backup is a tar archive
rwxrwxr-x 12831/20 dir Oct 26 13:12 2000 tmp/
....
_____________________________________________________________________________
Recovering from an Unbootable Kernel:
-------------------------------------
Enter Command Monitor from PROM:
>> sash
>> ls dksc(0,1,0)/
>> boot -f /unix.save
when system is up:
cp /unix.save /unix
_____________________________________________________________________________
PROM Variables:
---------------
fastfan set speed of fan for Octane[not set or |1]
ec0mode Ethernet mode for O2
resetenv reset variables to factory settings
rebound y restart system after crash (Indy,..)
_____________________________________________________________________________
find & grep
------------
find . -type f -print -exec grep {} \; |more
find . -i -print
grep -n . Precede each line by its line number in the file
(first line is 1)
grep "^" search pattern that starts at the beginning of line
grep -v '^\#' /etc/fstab search for all lines which don't begin with #
egrep egrep 'pattern1|pattern2'
egrep -v ^awf:.*unknown|^Broken pipe
fgrep
grep -v ^$ get rid of all the empty lines in a file
grep -l only list filenames containing the
_____________________________________________________________________________
diskpatch prevent stiction problems with some disk drives
is run by cron
_____________________________________________________________________________
Networker:
----------
nwrecover /usr/etc recover from Backup
nwadmin
nsrcap -v (if trouble with license; editing license.dat)
see also ~nick/info/applications/networker/commands
_____________________________________________________________________________
cronjobs:
---------
at 0815am Jan 24
that works:
lion 3% at 1015am Apr 16
mailx -s "9GB Disk fuer Nick nicht vergessen" hans@zurich.sgi.com
/tmp/$$
mailx -s "your subject" nick@zurich.sgi.com ; disable
/usr/lib/lpadmin -x Delete this queue
/usr/lib/lpadmin -d Make this the new default printer
lpstat -t
lpstat -o all open jobs
addclient allow remote printing clients to connect
/usr/spool/lp/.rhosts
/var/spool/lp/log
get more details in /var/spool/lp/log:
lp -d phaser850 -o"verbose" /tmp/tesfile
############
Unsupported printers in impressario:
/var/spool/lp/PPD_untested// impr_print.sw.ppd_unsupported
have to be copied to /var/spool/lp/PPD_model
Test files (impr_dev)
/usr/impressario/tests/*
/usr/lib/print/data/testprint.ps
HP Laserjet 2100 supported ?
If it's a postscript printer and you have a winNT/95/98
driver for it, then extract the .ppd file from the driver
and put it into /usr/spool/lp/PPD_MODEL
If its PCL I don't know.
See http://mortenb.oslo.sgi.com/SSE_tips/Printer_Impressario.txt
Print man pages:
man -c ppp >ppp_man.txt ; lp -d ppp_man.txt
pcat csh.z | imprint -l
Fun with Printers
------------------
files:
/var/spool/lp/log log file since last reboot
/var/spool/lp/interface/
interface script (BANNER=0 <- no banner page)
more variables: raw, CONVTYPE
/usr/spool/lp/.rhosts access to printer OR
addclient speedy.zurich.sgi.com
addclient -a put a "+" in /usr/spool/lp/.rhosts
mknetpr add a network printer
Special options:
lp -o landscape Print landscape;
see /var/spool/lp/interface/
for more options
###########################################
location of global and personal printer seetings:
/var/spool/lp/settings//
/var/spool/lp/settings//defaultSettings
###########################################
Print from NT to Unix:
----------------------
Samba printing does not work as smooth as expected.
To print on SGI paper on the hp4050 do the following:
On NT:
o print document, but use 'print to file'
o save the file on UNIX
Now put in the desired paper in TRAY 1
on UNIX:
o lp -d hp4050_tray1 -o raw
Printing troubleshooting guide:
----------------------------------
I. Uninstall and then reinstall all of the print.sw stuff
II. Enable debug in the interface script, look in the directory
/var/spool/lp/interface, you should see files that are named the same as
any printers you created.
1. Edit the file in question. At the top of the file you will see
a line that looks like this:
#!/bin/sh
Change it to look like this:
#!/bin/sh -x
Save the change and exit the editor.
2. Try to print something short and simple:
cat |lp -d
cat /etc/hosts |lp -dsgiprinter
3. The debug output should end up in the /var/spool/lp/log file and
look like the script commands executed.
4. Print with the debug option 'verbose'
lptest >/tmp/testfile
lp -d -o"verbose" /tmp/testfile
III. Make sure you have the following subsystems install.
1. do a versions |grep impr_
output should show - impr_print.sw.laserjetPS, impr_base.man.impr,
impr_base.man.relnotes, impr_base.sw.impr, impr_base.books.Impr_UG,
impr_print.man.impr plus any others you may want to include.
2. Check out the Impressario release note for more info
(grelnotes impressario).
To test connection for a IP addressable printer check out the following:
IV. One test to try is telnet to the IP address and port number of the
printer.
Exp: telnet 128.120.27.14 9100 ( or 515 -std bsd port)
where 128.120.27.14 is the IP address and 9100/515 is the
port number. If that succeeds w/o error messages. You should
see something like:
$ telnet 150.166.144.35 9100 -OR- telnet 150.166.144.35 515
Trying 150.166.144.35...
Connected to 150.166.144.35.
Escape character is '^]'. # this indicates a
connection
^] # type 'Ctrl ]' to break the
connection
telnet> quit # then 'quit' to exit
Connection closed.
Check the printer documentation to make sure which network port the printer
is listening on. If necessary either change the configuration inside the
printer to conform, or modify /var/spool/lp/interface/ to use a
port that matches the printer as in the following excerpt from one of the
networkable model files:
---
# Network port to write to. 9100 is HP Jetdirect card and EX.
# The JetDirect 3Plus EX uses 9100, 9101, and 9102 for ports 1, 2, and 3.
# Many other vendors use same port as HP. OUTSOCK is port to write to.
# INSOCK is socket to read for status (for future use -- status
# now read from same socket address as specified a by OUTSOCK).
OUTSOCK=9100
INSOCK=9100
The good general test is to take a file that should be printable by the printer,
ie: /usr/lib/print/data/testprint.ps for a postscript printer and
then: "cat /usr/lib/print/test.ps > /dev/plp". This will bypass all the printing
spooling stuff and blow the file right out the parallel port to the postscript
printer, and if the basic hardware is ok it should print it.
_____________________________________________________________________________
/usr/impressario/gifts/models/lpr2lp:
#!/bin/sh
#
# quick script to redirect the output of lpr to the default printer
# under the local lp spooler.
#
# to change the destination of the lp, add -d to the end
#
# use this script with a printcap entry of the form:
#
# fake|fake printer:\
# :lp=/dev/null:of=/etc/lpr2lp:
#
cat - | lp
_____________________________________________________________________________
Add page break to a ASCII file in vi:
type in insert mode: hold down and press then
vi will then show ^L (as one character)
_____________________________________________________________________________
Convert Hexadezimal to Binary
-----------------------------
lion 13% bc ibase is Input Base
obase=2 obase is Output Base
ibase=16
F
1111
3E
111110
!! Die Buchstaben [A-F] muessen gross geschrieben sein
--> else syntax error
1) Hex --> Bin
ibase=16 obase=2
2) Hex --> Dez
ibase=16 obase=10
3) Dez --> Hex
ibase=10 obase=16
_____________________________________________________________________________
2^
2 1
4 2
8 3
16 4
32 5
64 6
128 7
256 8
512 9
1024 1k 10
2048 11
4096
8192
16384
32768 15
65536
131072
262144
524288
1048576 1m 20
2097152 21
4194304 22
8388608 23
16777216 24
33554432 25
67108864
134217728
268435456
536870912
1073741824 1GB 30
2147483648
4294967296
8589934592
17179869184
34359738368 35
68719476736
137438953472
274877906944
549755813888
1099511627776 40
4398046511104
8796093022208
17592186044416
35184372088832
140737488355328 50
_____________________________________________________________________________
Calculate (csh):
@ a = 10
@ b = 5
expr $a / $b
-> 2
expr 88893360 / 1024
increment a:
a=`expr $a + 1`
_____________________________________________________________________________
Error messages:
---------------
/var/adm/SYSLOG (also see /usr/sbin/sysmon ; graphical SYSLOG filter)
/usr/lib/sysmon/notifier.config config file for GUI messages
/etc/syslog.conf
/usr/include/syslog.h
/usr/include/sys/syslog.h
sysmon System Log Viewer (graphical)
syserr System Error Notification Broker
xconfirm general purpose dialog box
xconfirm -header "Hey you" -t "Ready to talk to me? --Nick" -b No -B Yes
/usr/bin/X11/xconfirm -display :0.0 -header Confirm -icon question -B No -b Yes
xconfirm -c -B yes -header "hey you!" -t "call Jean Louis" -icon info \
-geometry 300x200
xconfirm -t "Modem funktioniert" -t "Gruss Nick Wildi / SGI " &
/etc/issue Message (will be displayed BEFORE login)
/etc/motd Message of today (will be displayed after succesfull login)
____________________________________________________________________________
Digital Media:
-------------
dmconvert digital media file conversion utility
/usr/sbin/soundplayer -nodisplay
_____________________________________________________________________________
Media Base backup tool:
mbdump
_____________________________________________________________________________
Videotools:
-----------
videopanel (same as vcp) video control panel (graphical tool)
settings are stored in /usr/etc/video/videod.defaults
vlinfo Video Library path, node and control info tool
mediaplayer (movieplayer)
dmplay play movie
dmconvert convert from different formats
Ex: extract 'frames' from a MPEG1 file named filename.mpg
dmconvert -f jfif -p video -n out#.jpg filename.mpg out#.jpg OR
dmconvert -v -f rgb -p video,rate=24.0000,il=none,size=orig -n \
./outfile#.rgb,start=0,step=1 /disk2/filename.mpg ./outfile#.rgb
OR
If anyone wants to use the GUI tools, there is yet another way.
I find this helpful to visually find a specific frame in the mpg file.
Open the file in moviemaker (open read only)
In moviemaker view as filmstrip
Find the frame you want to extract and click.
Copy this to the clipboard (edit->copy / right click on frame->copy)
File->Export As (select format and filename)
moviemaker
dminfo
dmrecord
mediaconvert
movieconvert
DIVO diagnostics:
/usr/diags/DIVO/bin/divotest
/usr/diags/DIVO/bin/loopback
Sirius test tools
/usr/dmedia/bin/SIRIUS
NTSC:
A color television standard or timing format encoding all of the color, brightness,
and synchronizing information in one signal. NTSC uses a total of 525 horizontal lines
per frame, with two fields per frame of 262.5 lines each. Each field refreshes at 60 Hz
(actually 59.94 Hz). (from O2: Silicon Graphics 1600SW Flat Panel Inst Instruct)
from Sirius release notes
NTSC (640x486_301) or PAL (768x576_25i)
_____________________________________________________________________________
Audio:
-------
apanel graphical Audio Panel
audiopanel -nodisplay -nofork -outlevels 10 (set low audio level)
soundplayer graphical Sound Player
soundplayer -nodisplay 01.african.thumb.inst.aifc
sfplay
ssplay
cdman graphical CD player
datman graphical DAT player
soundfilter IRIX 5.3
mediaconvert IRIX 6.2
xset set volume of keyboard bell (xset b off ; xset b 45)
/etc/nvram volume 0 < XX < 255 (Volume of bootup sound)
xset b off;xset b on after Windd has changes the sound off the bell
xset q check the current settings
auto-repeat speed of keyboard (-art [timeout] -ari [interval])
xset -art 25 -ari 1 # fast
most of that is defined in ~/.desktop-/panelsession
midikeys start a midi keyboard
Demos:
/usr/share/data/sounds/soundscheme/soundfiles:
_____________________________________________________________________________
echo:
echo "\07" ring the bell (csh,sh)
echo $'\a' ring the bell (sh)
_____________________________________________________________________________
How to resize your window to a certain size (xwsh):
echo "\033[203;3;80/y" # resize it to 3 lines 80 coloumns
echo "\033[203;80;100/y" # 80 lines 100 coloumns
more explained in detail:
>From the manual page xwsh
CSI Pv m
describes a sequence that begins with CSI ("control sequence introducer")
followed by zero or more semicolon separated numbers followed by the
character "m". ESC ("escape") expands to "\033". CSI expands to either
"ESC [" (escape left-bracket) or to "\233". DCS ("device control
string") expands to either "ESC P" (escape capital-P) or to "\220". ST
("string terminator") expands to either "ESC \\" (escape backslash) or to
"\234".
So the CSI is documented to be "ESC [". To resize the window:
CSI Pv / y xwsh command. The first parameter to this escape sequence
is the particular command described in the table that
follows. Each command has different numbers of arguments
which are described below.
203 Set the window size by row and column. This sequence takes
three parameters. The first is 203. The second parameter is
the number of rows to use. The third parameter is the number
of columns to use.
So to resize to 60 columns and 30 rows, you'd do
echo '^[[203;30;60/y'
Here '^[' is the rendition of the ASCII escape character. It depends a bit
on your shell how you can access it. Control-V ESC is a good bet with many
shells.
-----------------------------------------------------------------------------
again echo combined with different *-terms
Perhaps this little trick to set the title/decoration of
wsh will help illuminate the man page.
$ cat title1
case $TERM in
xterm|vt*)
/bin/echo "\033]0;$1\007"
;;
hpterm)
/bin/echo "\033&f0k${#1}D${1}\033&f-1k${#1}D${1}\c"
;;
iris*)
/bin/echo '\033P1.y'$1'\033\\\033P3.y'$1'\033\\\c'
;;
esac
_____________________________________________________________________________
echo magics of echo
=====================
change the title in a xwsh:
echo "\033P1.yyourTitle\033\\"
change the iconname of the a window:
echo -n "\033P3.yhallo\033\\"
script from my .cshrc which changes the title of my xwsh to
what ever directory I'm in:
========
if ($?TERM) then
if ($TERM == iris-ansi || $TERM == iris-ansi-net) then
alias update '/bin/echo "\033P1.y`hostname`:${cwd}\033\\\c\033P3.y`hostname`\033\\\c"'
alias pupdate '/bin/echo "\033P1.y"\!*"\033\\\c\033P3.y"\!*"\033\\\c"'
alias pushd 'pushd \!*; update'
alias popd 'popd \!*; update'
alias rlogin 'pupdate \!*; /usr/bsd/rlogin \!*; update'
alias rl 'pupdate guest@\!*; /usr/bsd/rlogin \!* -l guest; update'
alias cd 'cd \!*; update'
endif
endif
--------------------------------
Here's another script that is a bit more general; supports both xterm
and winterm
#!/bin/sh
# usage: title "text here in $1"
## for xterms:
#ESC ] Ps ; Pt BEL
#
#Ps = 0 -> Change Icon Name and Window Title to Pt
#Ps = 1 -> Change Icon Name to Pt
#Ps = 2 -> Change Window Title to Pt
#Ps = 46 -> Change Log File to Pt (now normally disabled by a
# compile-time option although not the case in the past; it's
# a security hole that allows people to overwrite arbitrary
# files accessible to the person running xterm)
#Ps = 50 -> Set Font to Pt
#
## echo "\033]2;This is the new title\007"
## \033 = ^[
## \007 = ^G
case $TERM in
xterm|xterms)
echo -n "\033]2;$1\007"
;;
winterm|iris-ansi|iris-ansi-net)
echo -n "\033P1.y$1\033\\"
;;
*)
echo "unknown term type $TERM"
;;
esac
------------------------------------
Below is my little perlscript that runs after every cd command I issue:
I call it 'wintitle' and keep it in my ~/bin directory
Mind the escape characters.. This is all extracted from the manpage of xwsh
This is how I set it up in my .cshrc file (based on csh, but it also
works great in tcsh, which is my now-favorite)
if ( $?prompt) then
alias cd 'set old=$cwd; chdir \!*; setprompt; wintitle ${host}:$cwd'
#setprompt alias here...
...
endif
Good luck
Hendrik
#!/usr/sbin/perl
# wintitle changes the icon and title words of a winterm sessions to the argument(s) given
#
print "P1.y$ARGV[0]\\";
print "P3.y$ARGV[0]\\";
_____________________________________________________________________________
set prompt for Csh:
set prompt = "%n%U%m%u %C% " # username @ hostname (underline) Trailing component of cwd
set prompt = "%?" #return code of previous command
_____________________________________________________________________________
OpenInventor:
------------
/usr/sbin/SceneViewer
/usr/demos/Inventor/SceneViewer
/usr/sbin/ivview
Demos:
/usr/share/data/models/
_____________________________________________________________________________
bitmap Bitmap editor
ImageVision Tools:
----------------
imgview ,imgworks,imgformats,imginfo,imgcopy
imgworks: visual tool for enhancing image files (graphical user interface)
% imgformats
The following formats are supported by the ImageVision Tools:
Kodak PhotoCD overview (PCDO) (read only)
SOFTIMAGE image (SOFTIMAGE)
IL TCL script image (ilTCL)
FIT image (FIT)
Classic SGI image (SGI)
JFIF/JPEG image (JFIF)
Raw image (Raw)
TIFF image (TIFF) (Tag Image File Format)
PNG image (PNG)
PPM image (PPM)
YUV image (YUV)
Alias image (Alias)
GIF image (GIF) *.gif
Kodak PhotoCD image (PCD) (read only)
Other tools:
-------------
acroread read *.pdf files (no *.eps nor *.tiff files)
/usr/adobe/Acrobat3.0/Reader/mipsirix/bin/acroread
vstiff read *.tiff files
ghostview, ghostscript
xpsview
psrip /usr/lib/print/psrip convert Postscript file to
raster data format (--> *.tiff file)
xv dist.engr:/sgi/hacks/xv
convert a jpeg or sgi/rgb file to acrobat pdf:
use XV to convert the image into a postscript file
xpsview will view an image that has been converted to EPS
snapshot save a portion of the screen in an image file
scrsave save a part of the screen in an image file
imprint converts text files to PostScript, similar to Adobe
enscript(tm)
-r rotate 90 degrees; -B header on each page
114 impr_base.sw.impr usr/sbin/imprint
untested Ex: imprint -G -h -r -fCourier7
/usr/sbin/imprint -r -f Courier7 yourfile.txt
/usr/sbin/imprint -2rG yourfile.txt
mag /usr/sbin/mag magnify (check if dirty spots are in frame buffer or not)
Converters:
------------
dmconvert digital media file conversion utility (command line)
mediaconvert graphical tool to dmconvert
to_dos,to_unix convert text files between MSDOS and UNIX
DOS -> Unix by hand
1) vi: :%s/^V^M//g
2) sed: % sed 's/^V^M//g' foo > foo.new
(NOTE: ^V is control V and ^M is control M or Enter)
ps2ascii PS -> ASCII
usr/freeware/bin/ps2ascii (CD freeware 2.0 module fw_gs.sw.gs)
ps2ascii.ps usr/freeware/lib/ghost/ps2ascii.ps (fw_gs.sw.gs)
f2ps (1) - Fig to Postscript translator
ax2ps (1) - convert a TIFF facsimile to compressed PostScript
html2ps (1) - convert HTML to PostScript
pdf2ps (1) - Aladdin Ghostscript PDF to PostScript translator
ghost.sw.ghostscript
rgb2ps (1) - Convert an SGI image to PostScript
sgi2ps (1) - convert an SGI image file to PostScript
stiff2ps (1) - convert a Stream TIFF (STIFF)image file to PostScript
impr_base.sw.impr
text2ps (1) - convert text files (ASCII) to PostScript
like enscript on earlier UNIX
impr_base.sw.impr
/usr/lib/print/lptops convert a text file into a PostScript file
/usr/lib/print/lptops -H -U -M 2 -P 7.5pt -G -W !* | lp -d
print.sw.spooler
ps2pdf dist.engr.sgi.com:/sgi/hacks/ghost PS to PDF converter
Usage:
/usr/lib/print/text2ps -p /tmp/xx.ps /tmp/xx
3D Translator
-------------
from to .iv
see $HOME_nick/info/tools/converters/info
_____________________________________________________________________________
Sendmail:
==========
sendmail send network mail
mailq show mailqueue status
vacation send mail to users or read mail
mailbox mail notification
xbiff mailbox flag for X
after you modify the sendmail.cf, you should do the following:
/etc/init.d/mail stop
/usr/lib/sendmail -bz
/etc/init.d/mail start
how to delete mails which can not be delivered:
# /etc/init.d/mail stop
# rm /var/spool/mqueue/r.... /var/spool/mqueue/d....
# /etc/init.d/mail start
check for /etc/aliases the line:
#+:+ if you are using NIS
after changing /etc/aliases issue: newaliases
versions of sendmail:
telnet localhost 25
220- lion.zurich.sgi.com Sendmail 950413.SGI.8.6.12
-->version 8.6.12
configmail list sendmail autoconfiguration script
Vacation message setup (from Peter's help page)
-----------------------------------------------
Traveling & Vacation Messages This tutorial tells you how to set up vacation
messaging for your email. This way when people send you email and you are out
of town they will get a message to that effect.
1. In your home directory create a file .vacation.msg that has your vac. mesg.
with:
From: ...
Subject: I'm on vacation
Precedence: bulk
2. In your home directory create a file .forward containing the following line:
\username, "|/usr/sbin/vacation username"
Note: replace username in the above example with your login name
3. To activate this message, in a shell window type:
vacation -i -r 1
(this is the number "1" for 1 message per day)
4.To deactivate, when you return, move .forward to another location to save it
mv .forward .forward.save
5. To reactivate (next trip) edit .vacation.msg and move the .forward file back
mv .forward.save .forward
6. To test, send yourself an email and see if the vacation program replies correctly
7. For more information, read the man page on vacation
How to add logging for certain mail aliases
--------------------------------------------
add the alias in /etc/aliases (/etc/aliases.yp)
# grep "^support^ /etc/aliases.yp
support:michi, "|/usr/local/bin/savesupport"
# cat /usr/local/bin/savesupport
#!/bin/csh -f
cat >> /usr/local/savemail/support
exit
# ls -l /usr/local/savemail/support
-rw-r--r-- 1 guest guest ..... # should belong to guest
# under 6.2 it did not work otherwise
How to redirect Mail to null ?
------------------------------
in /etc/aliases (or /etc/aliases.yp for NIS)
keak: /dev/null
dont forget to issue 'newaliases' afterwards !!
How to send mail to more than one person:
-----------------------------------------
cat $HOME/nick/.forward
nick
nick@hotmail.com
# don't use the back slash \nick@hotmail.com as suggested in the
# description for vacation
_____________________________________________________________________________
Mail test to Switch, test outgoing and incoming email
% mailx -v -s "test_subject" echo@switch.ch
test_body
.
_____________________________________________________________________________
Send email by hand on port 25:
telnet 25
MAIL From:
RCPT To:
DATA
blah blah and other content
.
quit
_____________________________________________________________________________
Send email by hand (or by script)
/usr/lib/sendmail -f nick@lion.zurich.sgi.com nick@sgi.com << END
From: nick@lion.zurich.sgi.com
To: nick@sgi.com
Subject: Mail test
some text
END
_____________________________________________________________________________
AntiSpam (like Speed)
o read http://www.sendmail.org/antispam.html
o increase loglevel to 12 (goes to SYSLOG) (sendmail 8.8.8)
_____________________________________________________________________________
procmail does user-level filtering, using .forward (like vacation).
fw_procmail freeware page
_____________________________________________________________________________
Mail on NT:
------------
Allow relaying: Start > Control Panel > Admin Tools > Internet Service Manager
tree: Default SMTP Virtual Server
right click - Properties
Access > relay restrictions: grant access to all
SMTP has to be started in 'services'
_____________________________________________________________________________
Mail -> SMS Gateway:
% mailx -v -s "Gruezi SMS Test" 0792370315@sms.bluewin.ch
test an 0792370315@sms.bluewin.ch --N
.
EOT
http://www2.bluewin.ch/services/sms/guide_d.html
funktioniert leider nicht wenn Absender von SGI
_____________________________________________________________________________
NIS
===
passwd file on Master server: rpc.passwd.options AND /etc/config/ypmaster.options
rpc.passwd.options: /etc/passwd.yp
/etc/config/ypmaster.options: PWFILE=/etc/passwd.yp
ALIASES=/etc/aliases.yp
ypwhich print the NIS server or map master hostname
(to which server is this client bound?)
ypset point ypbind at a particular NIS server
_____________________________________________________________________________
Test Proxy Server with:
Can the customer telnet the proxy system on the proxy port?, for
example:
echo "GET http://www.sgi.com/"|telnet their_proxy 8080
_____________________________________________________________________________
Serial Devices:
--------------
setup a terminal:
HW: connect serial line 2 of workstation to server serial line 1
SW: on workstation change /etc/uucp/Devices
uncomment the line with "Direct ttyd2 - 9600 direct"
CMD: to connect to server do a "cu -l ttyd2" on the workstation
of course eoe.sw.uucp has to be installed
_____________________________________________________________________________
Info about devices:
man [keyboard | serial | mouse | pcmouse | pckeyboard ]
_____________________________________________________________________________
mkfp is a formatting/partitioning utility that can be used to create DOS
and HFS file systems on devices such as floppies, flopticals, SyQuest,
Jaz, PC Cards, Zip and hard-drives.
_____________________________________________________________________________
User and accounts:
------------------
/etc/autolgin
/etc/autolgin.on
/etc/default/login
man xdm
check /etc/passwd and /etc/group if setup correct:
al pwck
grpck
/etc/capability user capability database (check with id -P)
Standart files (skeleton)
starting with IRIX 6.5 new location
/var/sysadm/config/default.{cshrc/login/profile}
old location (pre 6.5)
/etc/std{cshrc/login/profile}
To add a user with a command use
/usr/sysadm/privbin/addUserAccount see man page which explains which
other scripts are run and what skeleton files are copied to that home dir
_____________________________________________________________________________
PATH path variable:
---------------------
csh tcsh:
add in .login the path to (better to set it in .cshrc because .login
will not be sourced when only executing rsh)
set path = ($path /usr/ssm/bin /usr/ssm/lib)
set path = (. $path) # add . to path; sec hole
sh, ksh
add in .profile
PATH=$PATH:$HOME/bin
PATH=:$PATH # add . to PATH; sec hole
Accounting:
-----------
acctcom -u eoe.sw.acct (chkconfig acct on)
eoe.{man.sw}.audit (Audit trail software)
quot /d2 summarize filesystem ownership ; disk utilization by user
quot -a
_____________________________________________________________________________
Security:
-----------
crypt xx.encrypted
encript xx with the key abc and write it to file xx.encrypted
Ex: crypt abc xx.encrypted
To decode the encrypted file:
crypt abc /var/adm
basename /var/adm/SYSLOG -> SYSLOG
basename string [ suffix ]
basename filename.ps.Z .Z -> filename.ps
basename filename.ps.Z .ps.Z -> filename
basename filename.ps.Z '.ps.Z' -> filename
printf print formatted output
read Read from a file
Ex: printf "\aPlease fill in the following: \nName: "
read name
printf "Phone number: "
read phone
sed
echo '16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq'|dc
awk:
# foreach f ( `showprods -nD1 | grep patchSG | awk '{print $2}'` )
? echo $f
? end
Sort /etc/passwd by ascending UID:
awk -F: '{print $3,$1}' /etc/passwd | sort -k2 -n
OR
awk '{ FS=":" ; OFS="\t\t"; print $1,$3}' /etc/passwd | sort -k2 -n
OR
cat /etc/passwd |awk -F: '{printf ("%8s\t%13s\t%3s\n",$3,$1,$5)}' |sort -k1 -n
sort -t: +2n -3 /etc/passwd
archive only regular files in a directory, ommitting subdirectories and hidden files:
ls -al | awk '$0!~/^d/ {print $9}' | xargs tar cvf archive_name.tar
^^^^^^^ means ignore lines where the entire line ($0) starts with a "d"
versions -nb |grep patchSG |awk '{print $2}' |cut -c11-14
compare directories after copying a tree:
cd /source_dir; ls -lR | awk '{print $5,$9}' > /tmp/list_source
cd /dest_dir; ls -lR | awk '{print $5,$9}' > /tmp/list_dest
then compare the 2 files /tmp/list_source /tmp/list_dest
Print size and name of file with a preceeding "o"
% ls -l | awk '{print "o",$5,$9}'
o 10390 MotOGLDump.c
o 61246 v_indy.txt
select all emerg(0) alert(1) and crit(2) messages from /var/adm/SYSLOG
awk '$4~/[0-2][A-X]:/ ' /var/adm/SYSLOG
awk '$4~/[0-2][A-X]:/ ' /var/adm/oSYSLOG
+------------
explained:
awk 'pattern { action }' #if there is no action defined then the whole line is
printed in above example we do pattern matching with the fourth element and
check if it contains the digit 0-2 [emerg(0) alert(1) crit(2)] followed by any
letter (representing the facility) followed by a ":"
a typical line in SYSLOG looks like this:
Aug 16 09:59:26 1T:lion nick: another logger_test
+------------
delete empty lines in a text file:
---------------------------------
awk 'NF>0'
or
sed '/^$/d'
print line 20 to line 30 of a file:
-----------------------------------
sed -n '20,30p'
_____________________________________________________________________________
Join files together:
task: join the 2 files together
% cat x
2178557
2179065
% cat y
glXCreateGLXPixmap function call generates a BadAlloc
Networker does not write tapes to full capacity
% cat -n x > xn ; cat -n y > yn
#this will add number for each line
% join -1 1 -2 1 -o 1.2,2.2 -t : xn yn
# join file xn and yn comparing by the first field of each file
# field one from file 1 (-1 1)
# field one from file 2 (-2 1)
# write to stdout field 2 of file one (1.2) and field 2 of file 2 (2.2)
# as field separator take the ':' sign
the command will result in:
2178557: glXCreateGLXPixmap function call generates a BadAlloc error
2179065: Networker does not write tapes to full capacity
_____________________________________________________________________________
timex redirect output into a file:
the following will not work:
14% timex date > /tmp/log
The output of timex is sent to stderr, not stdout!
solution:
15% sh
$ timex date 2>/tmp/log
Tue Mar 25 11:44:48 PST 1997
$ cat /tmp/log
real 0.02
user 0.01
sys 0.01
OR
sh -c "timex date 2> /tmp/log"
_____________________________________________________________________________
IRISConsole:
--------------
Logs normally stored under:
/var/IRISconsole/logs/console_logs/
access IRISconsole by command line
Ringier: ictelnet admin-indy 5000
general: ictelnet 5000
_____________________________________________________________________________
cu
~! escape to interactive shell on loca systemi; get back with
~%put from [ to ]
~%take from [ to ]
~t prints the values of the termio structure
_____________________________________________________________________________
O2 uppgrade to 5200 CPUs
------------------------
Upgrade prom before replacing the CPU!
Remember diskcloning newer flashes the proms.
Check Prom version:
On booted system use:
strings /usr/cpu/firmware/ip32prom.image | grep VERSION
(must be 4.12 or higher, this image is copied when cloning)
This checks the version of the PROM image at:
/usr/cpu/firmware/ip32prom.image
If incorrect Run following command:
/sbin/flashinst -T -y /usr/cpu/firmware/ip32prom.image
If system will not boot, you will have to swap the customers old
CPU back onto Systemboard. Then boot the system up and do the above command.
If customer does not have the Old CPU, try replacing the Systemboard.
Newer Systemboards are supposed to be using Prom Version: 4.11 or
higher and this should let you at least get to miniroot.
_____________________________________________________________________________
Availmon:
-----------
/var/adm/avail
amreport full screen ASCII report tool (replaced in 6.5.5 with ESP)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Info and Tips from HANS:
##########################
Availmon:
=========
5.3
---
- /etc/sendmail.cf >>> actually
- mv /etc/sendmail.cf /etc/sendmail.cf.old
- cp /etc/sendmail.cf.auto /etc/sendmail.cf
- ./configmail list
- /etc/init.d/mail stop
- /etc/init.d/mail start
- Test: ./Mail -s test root >>> blablabla >>> cntl c
6.2
---
- cd /var/adm/avail
- ./amregister: autoemail > nur letzte Zeile besetzt mit availmon@zurich.sgi.com
- ./amconfig: alle flags on
- /etc/hosts: zb: sgzh.zurich.sgi.com als domain eingerichtet
- email muss aufgesezt
- reboot
email aufsetzen
---------------
- /etc/init.d/mail start
- /usr/etc/configmail setup
Buffersize for a shell:
=======================
- xwsh -name winterm -sl 65535 (ein neues shell oeffnen)
- cd /usr/lib/X11/app-defaults
- jot XWsh
- winterm.retainLimit: 60000 (hinzufuegen)
Call an other unix: zg:connecting 2 indys via serial ports
===================
- eoe2.sw.uucp >>> laden und konfigurieren
- chown uucp /dev/ttyd2
(/etc/uucp/Devices) >>> #ttyd2 auskommentieren
- cu -l /dev/ttyd2
crontab editieren:
==================
- login as hans user in a window
- crontab -l > tmp.crontab (when there is something in it)
- jot tmp.crontab
#min hour daymo month daywk cmd
-----------------------------------------
30 7 * * * cp
/usr/people/hans/support/field/RMA /usr/people/hans/RMA.saved editieren des Eintrages
35 7 * * * cp
/usr/people/hans/support/field/installations /usr/people/hans/installations.saved editieren des Eintrages
- crontab -l
30 7 * * * cp
/usr/people/hans/support/field/RMA /usr/people/hans/RMA.saved
- crontab tmp.crontab
- rm tmp.crontab (or not)
Core file austesten:
====================
- edge core (sagt aus von welcher apps das core kreiert wurde)
Diverse Unixbefehle:
====================
- timex -t mkfile -v 800m /tmp/test
- tail -f /usr/adm/SYSLOG
- tar c record
x extract
t listen
v verbose
- tar -xvf will extract a file from dir
- Backup / > befehl im unix shell
- backup: > cd /usr/lib/vadmin
> ls
> backup_restore* backup_restore.hlp
> ./backup_restore &
- banner >>> to exploid the writting
- confidence
- find . -type f -print | xargs grep -i string
- cat RMA.saved|grep -i ps|wc -l
- df -k|awk '{printf "%-45s\t%s\t%s\t%s\t%s\t%s\t%s\n",$1,$2,$3,$4,$5,$6,$7}'
DISK KOPIEREN
=============
mkdir /.AA
mount /dev/dsk/dks1d2s0 /.AA
cd /; tar cBf - . | (cd /.AA; tar xBf -)
cd /tmp; dvhtool -v g sash sash -v g ide ide
dvhtool -v c sash sash -v c ide ide -v l /dev/rdsk/dks1d2vh
DLT DRIVE
=========
- mt -f /dev/rmt/tps2d6nrsvc status
- tar cvf /dev/rmt/tps2d6nrsvc /etc
- mt -f /dev/rmt/tps2d6nrsvc rewind
- tar tvf /dev/rmt/tps2d6nrsvc
- ls -l /dev/rmt/tps2d6
- more /var/sysgen/master.d/scsi
- stacker -c /dev/scsi/sc2d6l0
- stacker -u 0
- stacker -u 1
DRUCKEN OHNE HEADER
===================
[para:hans] 24 /usr/people/hans % rlogin guest@ocracoke
IRIX Release 6.2 IP22 ocracoke
Copyright 1987-1996 Silicon Graphics, Inc. All Rights Reserved.
Last login: Sat Jun 1 12:17:01 MDT 1996 by hans@para.zurich.sgi.com
ocracoke 2% cd ~meyer
ocracoke 3% cd bin
ocracoke 4% more lp1
#!/bin/sh
/usr/lib/print/lptops -U -W -G -P 10pt $*
ocracoke 5% /usr/lib/print/lptops -U -W -P 10pt |lp
(enter und cntr d)
request id is lexmark-125 (standard input)
Email:
======
- eurotac.neu.sgi.com
IBM Stiction:
=============
- 120194 bis 021095
licenses:
=========
- /var/netls# more nodelock
Netzwerkbefehle:
================
- finger: user information lookup program
z.b: finger theo@sgzh
- rcp -r guest@artus:/usr/people/stephan/.zmailrc /usr/people/hans/tmp/.mailrc
- last: zeigt an, wer in der vergangenheit alles eingeloggt hat
- rup: zeigt alle user im netz an
- /etc/config/netif.options zeigt primary interface
- /etc/config/ifconfig-1.options zeigt netmask (255.255.255.128)
- netstat -ia zeigt 0800690... Adresse
- netstat -C zeigt collisions
- /etc/init.d/network stop
" start
Network setup:
==============
- /etc/hosts >>> 144.253.153.81 iris1
- /etc/sys_id >> iris1
- igconfig ef0 >>> netmask 0xffffff80
- cd /etc/config
- vi ifconfig-1.options
netmask 0xffffff80
- files exportieren: vi exports
/disk2
exports -va
- remote files mounten: vi fstab
host:/disk2 /disk2 nfs bg intr 0 0
mount -a
NVRAM:
======
- setenv showconfig istrue (more verbose)(tested drivers)
printen:
========
- more RMA.saved |grep -i doa|lptops -h |lp -dTIMicroWriter
Querformat printen ---------
PROM flashen:
=============
- flashio -v
- flashio -s 3 /usr/cpu/firmware/io4prom.bin
Command Monitor:
- flash -s 3 dksc(x,x,8)io4prom from CDROM drive
System Informationen:
=====================
- sysinfo: eadresse
- nvram: eadresse
- sys_id: hostname
- sysctlr: all infos from frontpanel and sysctlr prom version
- flashio: ioprom version
Patches downloaden:
===================
- sgzh >>> /usr/tmp >>> customized patches onyx & sirius
- patchserver in cortaillod >>> rlogin patches@patches.neu >>> type: getpatch
- deliver, IZU-3060, xvf * patches@hercules.neu
- R - RCP tar file with patch
- tar -xvf patch_1478.tar (jedes tar.file einzeln entpacken)
Voegele:
========
- login to guest@maranatha.gland.sgi.com
- cu voegele
- logout: type >>> ~. and carriage return
XLV einricheten
==============
1.Neues Label einrichten:
=========================
fx -x
fx version 5.3, Oct 18, 1994
fx: "device-name" = (dksc)
fx: ctlr# = (0)
fx: drive# = (1)
...opening dksc(0,1,)
fx: Warning: this disk appears to have mounted filesystems.
Don't do anything destructive, unless you are sure
nothing is really mounted on this disk.
...controller test...OK
Scsi drive type == SGI SEAGATE ST31230N0112
----- please choose one (? for help, .. to quit this menu)-----
[exi]t [d]ebug/ [l]abel/ [a]uto
[b]adblock/ [exe]rcise/ [r]epartition/ [f]ormat
fx> l
----- please choose one (? for help, .. to quit this menu)-----
[sh]ow/ [sy]nc [se]t/ [c]reate/
fx/label> c
2.Partitionen einrichten
========================
fx -x
fx version 5.3, Oct 18, 1994
fx: "device-name" = (dksc)
fx: ctlr# = (0)
fx: drive# = (1)
...opening dksc(0,1,)
fx: Warning: this disk appears to have mounted filesystems.
Don't do anything destructive, unless you are sure
nothing is really mounted on this disk.
...controller test...OK
Scsi drive type == SGI SEAGATE ST31230N0112
----- please choose one (? for help, .. to quit this menu)-----
[exi]t [d]ebug/ [l]abel/ [a]uto
[b]adblock/ [exe]rcise/ [r]epartition/ [f]ormat
fx> r
----- partitions-----
part type cyls blocks Megabytes (base+size)
0: efs 5 + 3617 2575 + 1862860 1 + 910
1: raw 3622 + 396 1865435 + 204350 911 + 100
8: volhdr 0 + 5 0 + 2575 0 + 1
10: volume 0 + 4019 0 + 2069785 0 + 1011
(Dies ist nur ein Beispiel)
capacity is 2070235 blocks
----- please choose one (? for help, .. to quit this menu)-----
[ro]otdrive [o]ptiondrive [e]xpert
[u]srrootdrive [re]size
fx/repartition>
Im epert Mode können Sie efs nach xfs ändern
3.XLV0 einrichten
=================
xlv_make
xlv_make>vol xlv0
xlv_make>data
xlv_make>plex
xlv_make>ve dksxdxsx
xlv_make>ve dksxdxsx
xlv_make>end
xlv_make>show
xlv_make>exit
4.mkfs mit XLV0 erstellen
=========================
mkfs -b size=1k -l internal,size=4m /dev/dsk/xlv/xlv0
5.XLV0 mounten
==============
mkdir /vol1
mount /dev/dsk/xlv/xlv0 /vol1
6.Restore auf XLV0
==================
Ich neheme an Sie werden tar benützen
Disk stripping
==============
- Stripping:
----------
xlv_make < do
> mkfile 1000m /d2/test
> echo "file erstellt"
> rm /d2/test
> done