#!/usr/bin/python
import os, sys, random
UP, DOWN, LEFT, RIGHT = range( 4 )
class Worm:
def __init__(self, lenght, start_x, start_y ):
self.lenght = lenght
self.x = []
self.y = []
for body in range( lenght ):
self.x.append( start_x + body )
self.y.append( start_y + 0 )
def grow( self ):
self.lenght += 1
self.x.append( 0 )
self.y.append( 0 )
def info( self ):
print "head position is %d, %d. Control keys are wasd" % ( self.x[0], self.y[0] )
print "the all body parts on inc. head", self.x
print "the all body parts ", self.y
print "my lenght is ", len( self.x )
def moveBody( self ):
delka_pole = len( self.x )
while delka_pole > 1:
self.x[ delka_pole - 1 ] = self.x[ delka_pole - 2 ]
self.y[ delka_pole - 1 ] = self.y[ delka_pole - 2 ]
delka_pole -= 1
def moveHead( self, way ):
if way == UP:
self.y[ 0 ] -= 1
elif way == DOWN:
self.y[ 0 ] += 1
elif way == LEFT:
self.x[ 0 ] -= 1
elif way == RIGHT:
self.x[ 0 ] += 1
class gameField:
def __init__(self, size):
self.size = size
self.field = [ ]
for line in range( self.size ):
self.field.append( [ "." ] )
for cell in range( self.size - 1):
self.field[line].extend('.')
def drawField(self):
sys.stdout.write(os.popen('clear').read())
for line in range( self.size ):
print self.field[ line ]
def putApple(self):
random.seed( self.size )
self.field[ random.randint( 0, self.size ) ][random.randint( 0, self.size ) ] = "$"
myWorm = Worm( 5, 5, 5 )
myGameField = gameField( 20 )
myGameField.putApple()
direction = UP
while myWorm.lenght < 6:
key = raw_input()
if key == "w": direction = UP
elif key == "s": direction = DOWN
elif key == "a": direction = LEFT
elif key == "d": direction = RIGHT
myWorm.moveBody()
myWorm.moveHead( direction )
if myGameField.field[ myWorm.y[ 0 ] ][ myWorm.x[ 0 ] ] == "$":
myWorm.grow()
for clanek_housenky in range( myWorm.lenght - 1 ):
myGameField.field[ myWorm.y[ clanek_housenky ] ][ myWorm.x[ clanek_housenky ] ] = "o"
myGameField.field[ myWorm.y[ myWorm.lenght - 1 ] ][ myWorm.x[ myWorm.lenght - 1 ] ] = "."
myGameField.drawField()
myWorm.info()
print "You successfully devoured the poisoned apple."
[ add comment ] ( 2 views ) | [ 0 trackbacks ] | permalink
>>> matrix = 10
>>> list = [ ]
>>>
>>> for line in range( matrix ):
... list.append( [ "x" ] )
... for cell in range(matrix - 1):
... list[line].extend('x')
...
>>>
>>> for line in range( matrix ):
... list[ line ]
...
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x']
[ add comment ] ( 2 views ) | [ 0 trackbacks ] | permalink

[ add comment ] ( 3 views ) | [ 0 trackbacks ] | permalink
minfree:20
dir:/var/audit/data/files
dir:/var/audit/overflow/files
flags:lo,ex
naflags:lo,ex
/etc/system
set c2audit:audit_load = 1 # audit is enabled
http://docs.sun.com/app/docs/doc/801-66 ... dule+Guide
[ add comment ] ( 4 views ) | [ 0 trackbacks ] | permalink
extending mirror on Solaris SVM by 2 disks:
the new disks:
2. c0t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107> rootdisk
/pci@1c,600000/scsi@2/sd@2,0
3. c0t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
/pci@1c,600000/scsi@2/sd@3,0
first, copy volume table of content from original mirrored disk:
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t2d0s2
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t3d0s2
init partitions acting as metadevices:
metainit d30 1 1 c0t2d0s0
metainit d40 1 1 c0t3d0s0
metainit d31 1 1 c0t2d0s1
metainit d41 1 1 c0t3d0s1
metainit d35 1 1 c0t2d0s5
metainit d45 1 1 c0t3d0s5
metainit d36 1 1 c0t2d0s6
metainit d46 1 1 c0t3d0s6
metainit d37 1 1 c0t2d0s7
metainit d47 1 1 c0t3d0s7
attach devices to current mirror:
metattach d0 d30
metattach d1 d31
metattach d5 d35
metattach d6 d36
metattach d7 d37
metattach d0 d40
metattach d1 d41
metattach d5 d45
metattach d6 d46
metattach d7 d47
if metainit says "Metainit : no such file or directory", the limit defined for metainit number ( metainit d_number_ 1 1 c0t5d0s7) was higher than the limit _number_ allowed in the system configuration. The configuration file /kernel/drv/md.conf had to be changed regading the number you are willing to use ("nmd" parameter from 128 to your intended number). Changing kernel driver files requires a reboot.
[ add comment ] ( 2 views ) | [ 0 trackbacks ] | permalink
Path to scadm: /usr/platform/SUNW,Sun-Fire-V240/sbin
# ./scadm help
USAGE: scadm <command> [options]
For a list of commands, type "scadm help"
scadm - COMMANDS SUPPORTED
help, date, set, show, resetrsc, download, send_event, modem_setup,
useradd, userdel, usershow, userpassword, userperm, shownetwork,
loghistory, version
scadm - COMMAND DETAILS
scadm help => this message
scadm date [-s] | [[mmdd]HHMM | mmddHHMM[cc]yy][.SS] => print or set date
scadm set <variable> <value> => set variable to value
scadm show [variable] => show variable(s)
scadm resetrsc [-s] => reset SC (-s soft reset)
scadm download [boot] <file> => program firmware or [boot] monitor
scadm send_event [-c] "message" => send message as event (-c CRITICAL)
scadm modem_setup => connect to modem port
scadm useradd <username> => add SC user account
scadm userdel <username> => delete SC user account
scadm usershow [username] => show user details
scadm userpassword <username> => set user password
scadm userperm <username> [cuar] => set user permissions
scadm shownetwork => show network configuration
scadm loghistory => show SC event log
scadm version [-v] => show SC version (-v verbose)
[ add comment ] ( 2 views ) | [ 0 trackbacks ] | permalink
# rm /var/log/messages
# lsof -n -P -l | grep syslog
syslogd 6442 0 txt REG 3,6 35832 426222 /sbin/syslogd
# cd /proc/6442/fd
[root@vm02 fd]# ls -la
total 0
dr-x------ 2 root root 0 Apr 24 04:31 .
dr-xr-xr-x 5 root root 0 Nov 7 04:41 ..
lrwx------ 1 root root 64 Apr 24 04:31 0 -> socket:[59016]
l-wx------ 1 root root 64 Apr 24 04:31 1 -> /var/log/messages (deleted)
l-wx------ 1 root root 64 Apr 24 04:31 2 -> /var/log/secure
l-wx------ 1 root root 64 Apr 24 04:31 3 -> /var/log/maillog
l-wx------ 1 root root 64 Apr 24 04:31 4 -> /var/log/cron
l-wx------ 1 root root 64 Apr 24 04:31 5 -> /var/log/spooler
l-wx------ 1 root root 64 Apr 24 04:31 6 -> /var/log/boot.log
# cat 1
...
...
Dec 4 23:29:34 vm02 yum-updatesd-helper: error getting update info: rpmdb open failed
Dec 5 00:29:42 vm02 yum-updatesd-helper: error getting update info: rpmdb open failed
[ add comment ] ( 7 views ) | [ 0 trackbacks ] | permalink
[ add comment ] ( 5 views ) | [ 0 trackbacks ] | permalink
[ add comment ] ( 3 views ) | [ 0 trackbacks ] | permalink
Other nrpe than nrpe_nt is available as Windows service to connect Nagios monitoring with Windows servers. More info is at: http://www.itefix.no/i2/winrpe.
[ add comment ] ( 7 views ) | [ 0 trackbacks ] | permalink