You are here

Solaris Command Reference

Inhalt

·         Welche Proccess belastet das System    4

·         Display Shared Memory  5

·         Durch Starten von inetd Dämon  6

·         Anzeigen von Umgebungs Variablen vom Process 10694  6

·         Anzeigen von Process History  6

·         Binärdatei anschauen  6

·         Auslastung einer Verbindung. 7

·         mit egrep kann man mehr Argumente angeben  7

·         Ersten 24 Speicherplatz fressende Dateien  7

·         Größe von Unterverzeichnisse anzeigen. 7

·         Remount Filesystem    7

·         Prints the total size (in bytes) of all files in the current directory  8

·         Prints the total size of files in the current directory and subdirectories below   8

·         Largest files in dir and subdirecotry  8

·         Solaris free memory and free swap in MB. 8

·         Wo wird der Core dump hingeschrieben. 9

·         Show Swap Space currently installed Multiply the Blocks column by 512  9

·         Device ändern im laufenden Betrieb   9

·         Annex Terminal Concentrator 10

·         Find   10

·         CPIO Befehle zum Kopieren von Server, Mittels remote-Shell Daten uebertragen  13

·         Use cpio to copy directory structure  13

·         User SSH / SCP to Remote Domain  14

·         Tar Datei 15

·         Variable auf Remote Server setzen und ein Script ausführen. 16

·         Ufsdump erstellen, mit anschließenden weiter kopieren. 16

·         gzip   16

·         Auspacken von Compress Dateien  17

·         Jobs Kontrolle / stopen / starten  17

·         Datei Split 17

·         Uuencode Datei erstellen und Versenden mit mailx  18

·         Mail 18

·         Package.

·         Perl: gesuchte Wert in Datei Ersetzen

·         Removing ^M from unix text files  22

·         sed Command Example  22

·         cut Command Example  23

·         awk Command Example  23

·         Zeilen Ende anzeigen lassen  31

·         Blocksize von File system Suchen  31

·         Variable von eine anderen Datei übernehmen. 31

·         Determining current booted disk  32

·         See verifying a route to a specified network  32

·         Info ueber Interface  32

·         IP-Packet Informationen  (siehe auch man Patches) 32

·         Now we need to create a new path_to_inst 33

·         Xterm Fenster setzen  33

·         Route setzten zum Backup Netz, x.x.x.254 ist der Default Router im Netz  34

·         Sudo umgehen. 34

·         Zeit gesteuerte Job ( AT ) anzeigen lassen. 34

·         Taste eingabe umlenken auf pts/56 oder/und 78 oder/und Datei 35

·         Used to remount root to make it writeable  35

·         Which interface will be used to contact hostname  36

·         Anlegen von Root Equivalent User 36

·         Info über SCSI WWN Nummer von local Disks  37

·         Disk Information  37

·         Disk Revision / Vendor /Serial No. 37

·         Disk Auslastung anzeigen  38

·         Leere Datei erstellen mit dd Command. 39

·         Copy the partition information from first Disk to the secound Disk. 39

·         Display Controller Information  39

·         Information of  Command Libery  40

·         Mac Adresse ändern  40

·         Anzeigen wann die Sommerzeit anfängt/endet 40

·         OPB Version  41

·         Display the Kernel / Process Set 41

·         User Information  41

·         Zeigt an / wiederholt die Eingabe  42

·         Samba  42

·         pfiles - to report fstat(2) and fcntl(2) information for all open files in each process in Sun Solaris  42

·         pmap - how to find address space map a process occupies in Sun Solaris  43

·         ISO Datei mounten “CDROM” 43

·         Welche Datei ist die Größte im Verzeichnis tree. 44

·         DE Lädereinstellung   44

·         Drucken über das Netz. 44

·         Arbeiten mit FIFO PIPE   45

·         USB DVD Info   45

·         USB Freigeben  auf XP   46

·         Leere Datei erstellen  46

·         vi Syntax "Commands"  46

·         Miscellaneous  48

 

 



Welche Proccess belastet das System

$ ps –e –o pcpu,pid,user,comm | sort –r  |head –24

oder

$ /usr/ucb/ps -aux | head

 

 

// Display processes with the highest CPU utilization

$ ps -eo pid,vsz,args | sort +1n|tail

PID          VSZ          COMMAND

2938          1608424 /opt/sas_version/sas913/SAS_9.1/hotfix/sasexe/sas -log /dma/prog/config/Lev1/SA

6630          2071792 /opt/sas_version/sas913/SAS_9.1/hotfix/sasexe/sas -log /dma/prog/config/Lev2/SA

23997         4889184 /opt/sas_version/sas913/SAS_9.1/hotfix/sasexe/sas -log /dma/prog/config/Lev3/SA

 

 

// Display processes with the highest Memory usage

$ ps -eo pid,vsz,args | sort +1n

 

 // Welche Proccess belastet den Memory vom System

$ ps -eo pmem,vsz,rss,comm | sort -nr | head

%MEM    VSZ    RSS COMMAND

26.1 530080 523424 /home/sybase/pkg/bin/dataserver

 1.7 37736 32528 /opt/lib/sisis/opserver/bin/OPServer/

1.5 33952 29816 /opt/lib/sisis/sikmass/bin/prg/INDTURBO

 

 

// Welche Proccess belastet den Memory vom System Proccesse nach Spalte 2 sortiert

$ ps –ef | tr –s „ „ | sort –k 2n

 

 



Display Shared Memory

$ ipcs -mb

IPC status from <running system> as of Fri Jun 17 08:45:42 MEST 2011

T         ID      KEY        MODE        OWNER    GROUP      SEGSZ

Shared Memory:

m         11   0x3039     --rw-rw-rw-   oracle      dba       4304

m         10   0x1d35ef5c --rw-rw----   oracle      dba 1073758208

m          8   0x4ab7a0a4 --rw-rw----   oracle      dba 5368725504    

 

 

$ ipcs -mb |awk '/dba/{sum+=$7}END{print sum/(1024*1024)}'

29672.1  -> MB

 

 



Durch Starten von inetd Dämon

$ id='ps –ef |grep inetd|grep –v grep' ; kill –HUP $id

 

 



Anzeigen von Umgebungs Variablen vom Process 10694

 t440972 10694 10420 0 10:40:43 pts/12 0:08 ssh rfx01509

 

$ /usr/ucb/ps eww 10694

PID TT       S TIME COMMAND

10694 pts/12   S 0:07 ssh rfx01509 _=/usr/bin/ssh

MANPATH=/usr/share/man:/usr/openwin/share/man:/usr/dt/share/man:/usr/local/man:/

usr/sfw/share/man:/opt/VRTS/man

HELPPATH=/usr/openwin/lib/locale:/usr/openwin/lib/help HZ= PAGER=less

PATH=/usr/openwin/bin:/usr/bin:/usr/sbin:/sbin:/usr/ucb:/opt/local/bin:/usr/sfw/

bin:/usr/ccs/bin:/usr/openwin/bin:/usr/dt/bin:/opt/gnu/bin:/opt/Acrobat5/bin:/ex

port/home/t440972/bin:/usr/lib/vxvm/bin:/opt/VRTSob/bin:/usr/lib/fs/vxfs:/usr/li

 

 



Anzeigen von Process History

$ /usr/proc/bin/ptree [processid]

 

 



Binärdatei anschauen

$ strings [File]

 

 



Auslastung einer Verbindung.

$ spray [IP-Adresse]

 

 



mit egrep kann man mehr Argumente angeben

$ modinfo | egrep 'ato|psc|lus'

 

 



Ersten 24 Speicherplatz fressende Dateien

$ du –ak /var | sort –nr | head –24

 

 



Größe von Unterverzeichnisse anzeigen.

$ du -sk ~/.??*

19      /home/t440972/.bash_history
1       /home/t440972/.cshrc
720     /home/t440972/.fonts.cache-1
1       /home/t440972/.login
1       /home/t440972/.paths
4       /home/t440972/.profile
1       /home/t440972/.sh_history
1       /home/t440972/.Xauthority

 

 



Remount Filesystem

$ mount -o remount,rw /usr

 

 



Prints the total size (in bytes) of all files in the current directory 

$ ls -la . | awk '{total += $5}; END {print total}'

 

 



Prints the total size of files in the current directory and subdirectories below 

$ ls -laR . | awk '{total += $5}; END {print total/1024/1024 " Meg"}'

 

 



Largest files in dir and subdirecotry

$ ls -laR | awk '{print $5 "\t" $9}' | sort -n | tail

 

 



Solaris free memory and free swap in MB.

$ sar -r 1 | awk '{m=int($2/128);s=int($3/2048)} END {print m,s}'

14917 15169

 

$ sar -r 1

SunOS FFZJ0YR4 5.6 Generic_105181-31 sun4u    07/19/02  

08:15:00 freemem freeswap

08:15:01 1909327 31066647

 

 



Wo wird der Core dump hingeschrieben.

- Anzeigen: dumpadm
- Setzen: dumpadm -d




$ more dumpadm.conf

DUMPADM_DEVICE=/dev/dsk/c1t1d0s1

DUMPADM_SAVDIR=/var/crash/ffzj0xff

DUMPADM_CONTENT=kernel

DUMPADM_ENABLE=yes     

 

 



Show Swap Space currently installed Multiply the Blocks column by 512

$ swap -l

swapfile                   dev     swaplo blocks free

/dev/dsk/c0t0d0s1          32,1     16    262944 262944

 

262944 * 512 = 134 MB      (dann 2x    :512=)

 

 



Device ändern im laufenden Betrieb

$ cd /dev/config

$ ls-la

$ rm c4*

$ ln –s ../../devices/sb...   c6

$ rm /dev/*dsk/c4*

$ devfsadm

$ vxdctl enable

 

 



Annex Terminal Concentrator

$ Strg + AltGr + 9

telnet >send brk

{a}ok

 

 



 Find

// Suche Datei qa* und move sie in Verz. "/backup/usb"

$ find .-mtime +31 -a -name 'qa*' -print -exec mv {} /backup/usb/ \;

 

// Suche Name "SUN" in Dateien.

$ find /etc –type f –exec grep SUN {} /dev/null \;

 

// Suchen nach Inhalt „error“ in Messages Datei.

$ find . -name messages -exec grep -i error {} \;

 

// Dateien die mit qa Anfagen und aelter als 31 Tage nach tmp verschieben

$ find .-mtime +31 -a -name 'qa*' -print -exec mv {} /local/backup/usb/praxis/da/tmp \;

 

// Loeschen von Explorer Files die aelter als 1/2 Jahr sind

$ rsh FFZJ0YT7 "find /nbu_filedevs/explorer -mtime +130 -a -name 'explorer.*.gz*' -print -exec rm -f  {} \;"

 

// Suchen nach Dateien mit zwei Dateien

$ find . \( -name '*temp*' -o -name '*tmp*' \) -exec du -sh {} \;

 

// Suchen in Dateien die letzten zwei Tagen geändert wurden.

$ find . -mtime 2 -type f -exec grep "refresh" /dev/null {} \;

 

// Suchen Dateien die letzten 90 Tagen geändert wurden und eine von den zwei Namen hat.

$ find . -mtime +90 \(  -name "access.*" -o -name "errors.*" \) -exec ls -rtl {} \;

 

// Wie viele Compress Dateien sind in einen Verz. und unter Verz. vorhanden.

$ for i in `ls -1`^Jdo^Janz=`find $i -type f -name "*.Z" -exec ls -l {} \;|awk -F"/" '{print$3}'|wc -l` ^Jecho "gepackte Files $anz $i"^Jdone

 

// Gleiche Inode Nummer herausfinden.

Sieht man zu jedem file eine nummer die "inode nummer" genannt wird.
Die ist eine interne representation des files.
Files mit der selben inode Nummer sind hardlinks aufeinander.
 

$ find /opt -links +1 -type f -exec ls -i {} \; |sort

    101389 /opt/VRTSvxfs/sbin/cp

    101389 /opt/VRTSvxfs/sbin/ln

    101389 /opt/VRTSvxfs/sbin/mv

    101398 /opt/VRTSvxfs/sbin/qlogdisable

    101398 /opt/VRTSvxfs/sbin/qlogenable

    101412 /opt/VRTSvxfs/sbin/vxquotaoff

    101412 /opt/VRTSvxfs/sbin/vxquotaon

    168975 /opt/SXCperl5/bin/c2ph

    168975 /opt/SXCperl5/bin/pstruct

    168997 /opt/SXCperl5/bin/perl

    168997 /opt/SXCperl5/bin/perl5.6.1

 

// größte Datei im Verzeichnis suchen und in Datei einfügen.

  -mount = gemountete Dateisysteme werden nicht  durchsucht.

$ find /export/home -mount -type f -exec ls -l {} \; | sort -nr -k 5 |head -10 > /BIG_DISK.log

 

Output der Log-Datei:

-rw-r--r--   1 root other    100821584 Aug 1 15:19 /export/home/t440972/24.6.03_alte_SUNBlade.tar.gz

-rw-r--r--   1 root other    21201408 Jun 6 2002 /export/home/t440972/SUN-Tools/SUNtools.tar

-rw-r--r--   1 root other    5544632 Dec 17 1998 /export/home/t440972/tools/hanet/RMCmem3.7.3.tar.Z

-rw-r--r--   1 root other    4498944 Mar 27 11:33 /export/home/t440972/sol/script5CE/5CE.tar

-rw-r--r--   1 10516 other    2790725 Mar 5 2002 /export/home/t440972/sol/script5CE/scripte.tar.gz

 

// xargs ist von der verarbeitung schneller als –exec.

$ /usr/bin/find $1 -type f -xdev  | xargs ls -l | awk '{ print $5, $6, $7, $8, $9 }' | sort -nr | head -24 

$ find . -type f -xdev | xargs ls -l | awk '{ print $3, $5, $9 }' |sort -n -k2 -r > /tmp/sort_daten.out

 

// Find Datei Size +2000000 ( 976 MB) =  (2000000*512/1024/1024)

$ find . -size +2000000 -type f -exec ls -lrt {} \;

-rw-rw-r--   1 f976000 usrgst   1331919056 Apr 3 2008 ./char_to_num_2007_pos.sas7bdat.gz

-rw-rw----   1 f976000 usrgst   4103086080 Oct 6 13:24 ./agg_2007_pos_0_red.sas7bdat

-rw-r-----   1 f976001 usrgst   1324701615 Jun 6 16:10 ./kundendaten_red_enc_2007v3.sas7bdat.gz

-rw-r-----   1 f976001 usrgst   1448513851 Jun 6 16:18 ./kundendaten_red_enc_2007v4.sas7bdat.gz

-rw-r-----   1 f976001 usrgst   1831356503 Jun 6 16:27 ./kundendaten_red_enc_2007v5.sas7bdat.gz

 

oder:

$ find . -size +2000000 -type f -exec du -sh {} \;|grep G | sort -nr -k 1

 22G   ./usrmktg/hko/brutto_02_322.sas7bdat

 16G   ./usrmktg/khe/hochzeit_01a.sas7bdat

 16G   ./usrmktg/khe/fmk_gesamt_hochzeit_01.sas7bdat

 15G   ./usrmktg/sko/tmp_kundenbestand_88_200812.sas7bdat

 13G   ./usrmktg/hko/netto_05_322.sas7bdat

 12G   ./usrmktg/sko/ba_az_migra_ukto.sas7bdat

 12G   ./usrmktg/mh/netto_02_322.sas7bdat

 12G   ./usrmktg/hko/netto_04_322.sas7bdat

 12G   ./usrmktg/hko/netto_03_322.sas7bdat

 

oder:

$ find SAS_work84F2000014DE_rmx145114 -exec ls -l {} \; |awk '{print $5 "\t  --> "  $9}'

32768     --> SAS_work84F2000014DE_rmx145114/#tf0001.sas7bitm

16384     --> SAS_work84F2000014DE_rmx145114/commfut_meta.sas7bdat

9646080   --> SAS_work84F2000014DE_rmx145114/formats.sas7bcat

16384     --> SAS_work84F2000014DE_rmx145114/cntlin.sas7bdat

28672     --> SAS_work84F2000014DE_rmx145114/sasmacr.sas7bcat

24576     --> SAS_work84F2000014DE_rmx145114/temp.sas7bcat

 

// Finde welche Dateien wurde in den letzen 5 Minuten geaendert.

find /etc -type f -cmin -5 |xargs grep 192.168.0.109

/etc/sysconfig/network-scripts/ifcfg-eth0:IPADDR=192.168.0.109

/etc/sysconfig/networking/devices/ifcfg-eth0:IPADDR=192.168.0.109

/etc/sysconfig/networking/profiles/default/ifcfg-eth0:IPADDR=192.168.0.109

 


find / -amin 5

Findet Dateien auf dem Rechner, auf die vor genau 5 Minuten lesend zugegriffen wurde.

find / -amin -5

Findet Dateien auf dem Rechner, auf die vor {4,3,2,1,0} Minuten lesend zugegriffen wurde.

find / -amin +5

Findet Dateien auf dem Rechner, auf die vor {6,7,8,9,10...} Minuten lesend zugegriffen wurde.

find / -cmin -5

Findet Dateien, deren Dateistatus innerhalb der letzten 5 Minuten geändert wurde

find / -mmin +5

Findet Dateien, deren Inhalt vor mehr als 5 Minuten verändert wurde.

find / -ctime +5

Findet Dateien, deren Dateistatus vor mehr als 5 Tagen (5*24 Stunden) geändert wurde.

find / -mnewer  /etc/fstab

Findet Dateien, die vor weniger Zeit verändert wurden, als die Datei /etc/fstab. (Macht Sinn im Zusammenhang mit dem Test -name. So kann eine eventuell aktuellere Kopie einer Datei gefunden werden.)

find / -daystart -mtime -3

Findet Dateien, die von heute Früh (0:00 Uhr) gerechnet, vor weniger als 2*24 Stunden verändert wurden. Wenn also heute Montag wäre, alles was am Wochenende verändert wurde. 

 

 



CPIO Befehle zum Kopieren von Server, Mittels remote-Shell Daten uebertragen

$ cd /applogs

$ rsh 192.168.10.12 '( cd /applogs; find . -print| cpio -o )'| cpio –idum

 

 



Use cpio to copy directory structure

$ find /home -print|cpio -pmdv /export/home/  > /tmp/find_cpio.txt

$  ( cd /quellverz; find . ) | cpio -o | ssh -C DESTHOST "( cd /zielverz; cat > archiv.cpio )"

$  ( cd /quellverz; find . ) | cpio -z -o | ssh DESTHOST "( cd /zielverz; cat > archiv.cpio.gz )"

$  ( cd /quellverz; find . ) | cpio -o | ssh -C DESTHOST "( cd /zielverz; cpio -i )"

 

 



User SSH / SCP to Remote Domain

# um etwas zum Server zu kopieren

$ tar -cf - filename | ssh user@server "tar -xf -"

 

# um etwas zum Server zu kopieren

$ tar cf - tsm | ssh t440972@ffzj0xfd 'cd /tmp && tar xvf -'

 

# um etwas zum Server zu kopieren (in .rhosts das + Eintragen)

$ tar cvf - . | rsh 130.10.55.178  " cd /oraSICH && tar xvf - "

 

# um etwas vom Server zu hollen

$ rsh 130.10.55.178 "cd /oraSICH && tar cvf - ." |tar xvf -

 

# um etwas vom Server zu hollen

$ ssh user@server "tar -cf - filename" | tar -xf -

 

Weiterhin kann "ssh" komprimieren ("ssh -C") und erlangt dabei die Effizienz von "gzip".
Wird also eine exakte Kopie der Daten auf dem Zielrechner DESTHOST gewünscht,
kann auf Komprimieren beim Erstellen des Archivs verzichtet werden.

$  ( cd /quellverz; tar cf - . ) | ssh -C DESTHOST "( cd /zielverz; tar xf - )"

 

Soll das Archiv auf dem Zielrechner zu liegen kommen, muss dort STDOUT mittels "cat" in ein Archivfile ausgegeben werden:

$  ( cd /quellverz; tar cf - . ) | ssh -C DESTHOST "( cd /zielverz; cat > archiv.tar )"

$  ( cd /quellverz; tar czf - . ) | ssh DESTHOST "( cd /zielverz; cat > archiv.tgz )"

 

 



Tar Datei

$  tar cvf – `find . –print` > backup.tar

 

// Nachträglich einhängen von File zum Archive

$  tar uvf test.tar [File]

 

// verz. kopiere ohne ein Tar Archive zu kreieren

$  tar cvf - . | (cd /export/home/ && tar xvf -)

 

// verz. kopiere über ssh

$  tar cvf - /var/mqm | ssh FFZD0YB1 "tar xvf -"

 

// Sichern direkt in gzip Datei.

$  tar cvf - . | gzip > ~/backup-020916.tar.gz

 

// zurück spielen

$  gzip -dc home_29012007.tar.gz | (cd /export; tar xvf -)

oder 

$  gzip -dc /dreba/Tivoli.gz | tar xvf –

 

// mit Ausnahme der in der Datei "ex" stehenden Verzeichnisse (excluded)

$  tar -cvf /home/DIVA/FS/diva.tar -X ex *

  

// was soll gesichert werden, steht in der Datei (included)

$  tar cvf test.tar –I [Datei]

 

 



Variable auf Remote Server setzen und ein Script ausführen.

$  ssh scc@kmucr276 'export SCC_HOME=/home/scc && . ${SCC_HOME}/sccenv; CASCCADE_HOME=${SCC_HOME}/casccade; cd $CASCCADE_HOME; sh $CASCCADE_HOME/connector/SunOS/stopAll.sh'

 

 



Ufsdump erstellen, mit anschließenden weiter kopieren.

$  ufsdump 0ufN - /dev/rdsk/c0t2d0s0 `fssnap -F ufs -o raw,bs=/snapshot,unlink /` | ( cd /mnt2; ufsrestore rf - )

 

 



gzip

// Gzip in neues Verzeichnis, org. Datei bleibt bestehen

$  gzip -c ftpusers > /tmp/ftpuser.gz

$  file /tmp/ftpuser.gz

/tmp/ftpuser.gz:        gzip compressed data

 

// Gzip / tar ansehen

$  gunzip < pub_key_t440972.tar.gz |tar tvf -

 

// Gzip File create, mitt ssh übertragen und auf Ziele auspacken

$  ontape -s -L 0 -t STDIO | gzip | ssh f995440@tgxqf01 'cd /migration && gzip -d > qe02'

 

 



Auspacken von Compress Dateien

$  zcat SUNWexplo.tar.Z | tar xf –

 

 



Jobs Kontrolle / stopen / starten

# unterbricht die Ausführung des aktuellen Programmes und kehrt zur Shell zurück. Siehe Jobkontrolle.

<ctrl>-z

# Listet alle Jobs (z.B. mit <ctrl>-z angehaltene Jobs) samt

$  jobs

# Setzt den angehaltenen Job im Vordergrund fort.

$  fg                       %jobnumber

# Setzt den angehaltenen Job im Hintergrund fort. Bei versuchter Terminalausgabe hält der Job an.

$  bg                       %jobnumber

# Beendet den Job jobnumber und dessen verbundenen Prozesse.

$  kill                      %jobnumber

# Hartes Beenden eines Jobs.

$  kill -9                 %jobnumber

 

 



Datei Split

# Zerlegen einer Datei in Blöcke von 500kByte.

$  split -b 500k file

 

# In 4MB große Teile

$  split -b 4m explorer.80c690-2001.07.23.07.02-tar.gz

 

# Schreibt den Inhalt von f1 und f2 hintereinander in f3. Geeignet um gesplittete Dateien wieder zu vereinen.

$  cat f1 f2 > f3

 

oder:

$  cat xa* > gogo.pdf

 

 



Uuencode Datei erstellen und Versenden mit mailx

$  uuencode explorer.FFZJ0YR0.tar.gz explorer.80cf4633.tar.gz  >transportfile.uu

 

# zeigt den Anfang an. in der ersten Zeile steht u.a. der Filename.

$  head -1 transportfile.uu

 

# Auspacken werde ich das File so

$  uudecode transportfile.uu

 

 



Mail

// Mail File anhaengen oder im Mailbody verschicken.

$  mailx -v -s "Case#36956643" helmut.Binder@sun.com < transportfile.uu


// Mail als andere User (-r SCC)  versenden

$  mailx -r SCC -c "$CC" -s "$SUBJECT" "$RECP"

// Inhalt einer Datei mit mail versenden.

$  cat $(ls -lrt |tail -1 |awk '{print$9}')|mail gorbrn@ian.de

 

 



Package.

// To find out what package a specific file came from:

$  pkgchk -l -p /usr/bin/who

Pathname: /usr/bin/who

Type: regular file

Expected mode: 0555

Expected owner: bin

Expected file size (bytes): 13152

Expected sum(1) of contents: 58511

Expected last modification: Jul 16 06:26:46 1997

Referenced by the following packages:

     SUNWcsu

Current status: installed

 

// Info vom Package, welche Dateien sind im pkg vorhanden

$  pkgchk -l TIVguid |grep Pathname

Pathname: /opt/tivoli/guid

Pathname: /opt/tivoli/guid/README.GUID

Pathname: /opt/tivoli/guid/chinese

Pathname: /opt/tivoli/guid/codeset

 

// Info vom Package in eine Zeile ausgeben

$  pkginfo -l |awk '/PKGINST/ {p=$2} /VERSION/ {printf("%-20s\t%s\n",p,$2)}'

Output:

DREssh2                  2.3.1

FJSVcpc                  3.0,REV=2001.02.1301

FJSVcpcx                 3.0,REV=2001.02.1301

FJSVhea                  1.0,REV=1999.12.23.19.10

 

oder:

$  pkginfo | awk '/VRTSvxvm/ {print $2}' | sort | tail -1 | xargs pkginfo -l

 

// Package Erstellen

$  pkgtrans . SUNWexplo.pkg SUNWexplo

 

und anschl. 

$  gzip SUNWexplo.pkg

 

// Pkg in Temporären Verzeichnis installieren,

$  gunzip pstree-2.17-sol8-intel-local.gz

$  pkgadd -R /tmp/hf -d pstree-2.17-sol8-intel-local

 The following packages are available:

 1 SMCpstree     pstree

                   (i386) 2.17

 Select package(s) you wish to process (or 'all' to process

all packages). (default: all) [?,??,q]: all

 

$  pkginfo SMCpstree

ERROR: information for "SMCpstree" was not found

 

Paket entfernen:

$  pkgrm -R /tmp/hf SMCpstree

 

// Package anzeigen lassen, ohne Package Installation

$  pkgtrans DRBssh3cp-07.pkg

The following packages are available:

1 DRBssh3cp     OpenSSH ConfigFile for Production Environment

(sparc) 7

Select package(s) you wish to process (or 'all' to process

all packages). (default: all) [?,??,q]: 1
Transferring <DRBssh3cp> package instance

 

$  ls -la

drwxr-xr-x   3 root     other        512 Apr 21 15:53 DRBssh3cp

 

$  more DRBssh3cp/pkgmap

: 1 100

1 d none etc 0755 root sys

1 d none etc/ssh 0755 root sys

1 f none etc/ssh/ssh_config 0644 root sys 1152 32127 1069169590

1 f none etc/ssh/sshd_config 0644 root sys 2561 31594 1069169752

1 i pkginfo 256 21273 1069841225

 

// Installation von zwei Pkg’s durchführen, ohne das man ein “Y” oder “1” eingeben muss

$  cd /soft ; (pkgrm driteam ; pkgadd -d driteam-4.0-vi.pkg) <<!

yes

1

!


oder:

$  cd /soft ; (echo "y" |pkgrm driteam) ; (echo "1" |pkgadd -d driteam-4.F0-vi.pkg)

 

// Install the package onto the system:

$  pkgadd -d`pwd` GNUzip
or :
$  pkgadd -d. GNUzip
or :
$  pkgadd -d$PWD GNUzip

 

 



Perl: gesuchte Wert in Datei ersetzen

perl -pi -e 's/intr/intr\,nosuid/' /tmp/vfstab

more /tmp/vfstab
[…]
nfs13.example.com:/export/svg/rw/b1/var/zones/7411 -  /var/global nfs -       yes     vers=3,bg,hard,intr,nosuid

 

Beispiel:
perl -pi -e 's/internal-sftp/\/usr\/lib\/ssh\/sftp-server/' /etc/ssh/sshd_config ; svcadm refresh ssh

// prüfen
for i in $(zoneadm list |grep -v global); do zlogin $i grep sftp /etc/ssh/sshd_config; done

 

for i in $(zoneadm list |grep -v global); do zlogin $i "perl -pi -e 's/internal-sftp/\/usr\/lib\/ssh\/sftp-server/' /etc/ssh/sshd_config" ; done

// prüfen
for i in $(zoneadm list |grep -v global); do zlogin $i svcadm refresh ssh ; done

 

 

 



Removing ^M from unix text files

Using Perl :
Following command will change the orginal file itself so keep a backup copy.

$  perl -pi -e "s:^V^M::g" existing_file_name

 

Using sed :
$  sed -e `s/^V^M//g` existing_file_name > new_file_name

 

Using vi : 
Tastendrücken:
 Strg + V und danach Strg+M = ^M
Open file in vi and enter the following at : prompt in command mode .

:%s/^M//g

 

 



sed Command Example

$  uname -a |sed -e 's/sun4u/bla/'

SunOS DEFX0WF0 5.8 Generic_117350-18 bla sparc SUNW,Ultra-250

 

// alles abschneiden von Anfang der Zeile bis zum ersten ( Zeichen und nach den ) Zeichen.

$ who am i

t440972    pts/1        Jan 21 09:40    (10.43.65.77)

 

$ who am i | sed -e's/^.*(//'-e 's/).*$//'

___10.43.65.77___

 

// alles abschneiden von Anfang der Zeile bis zum ersten ( Zeichen und ersetzen durch leer Zeilen

$ who am i | sed -e's/^.*(//'

10.43.65.77)

 

// alle Leer Zeile ausblenden

$ cat gg | sed '/^ *$/d'

 

// ausschneiden der Slice angabe

$ for i in `ls -1 c1*s2 |sed 's/s2//g'`; do echo $i; done

 

 



cut Command Example

// alle Leer Spalte (column) ausblenden

$  df -k |tr -s ' ' '' |cut -f1,6 -d" "

/dev/dsk/c0t0d0s0   /

/proc               /proc

Fd                  /dev/fd

Mnttab              /etc/mnttab

Swap                /var/run

Swap                /tmp

/dev/dsk/c0t0d0s6   /opt

/dev/dsk/c0t1d0s5   /backup

/dev/dsk/c0t0d0s7   /export/home

 

// Spalte 11 und 14 bis Zeilen ende ausgeben.

$ cat datei |cut  -d" " -f 11,14-

 

 



awk Command Example

$  awk -F":" '{ print $1, $3 }' /etc/passwd

root 0

daemon 1

bin 2

$  cat /tmp/show_storage.itm | awk -F" " '$7 == "-" {print$0}'

 

$  awk -F":" '$1 == "daemon" { print $3 }' /etc/passwd

 

$  awk -F":" '$1 ~ /adm/ { print $3 }' /etc/passwd

 

$  ls -1 gg* | awk '{print "mv "$1" "$1".new"}' |sh

-rw-r-----   1 root     other          0 Mar 31 11:31 gg1.new

-rw-r-----   1 root     other          0 Mar 31 11:31 gg2.new

-rw-r-----   1 root     other          0 Mar 31 11:31 gg3.new

 

$  ls -1 *new* | awk '{print "mv "$1" "$1}' | sed s/new/neu/2 | sh

-rw-r-----   1 root     other          0 Mar 31 11:31 gg1.neu

-rw-r-----   1 root     other          0 Mar 31 11:31 gg2.neu

-rw-r-----   1 root     other          0 Mar 31 11:31 gg3.neu

 

// Verzeichnis loeschen

$  ls -l | grep '^d' | awk '{print "rm -r "$9}' | sh

$ alias nukem = "ps -ef|grep "ora_"|grep -v grep| awk '{ print $2 }'|-exec rm –f {} \;"

 

// das letzte Feld jeder Eingabezeile ausgeben

$  awk '{ print $NF }' /etc/hosts

 

// die 10. Eingabezeile ausgeben

$  awk 'NR == 10' /etc/passwd

 

// alle Zeilen ausgeben, die entweder "root" oder "false" enthalten

$  awk '/root|false/' /etc/passwd

 

// Gesamtzahl der Eingabe-Zeilen ausgeben, das erste und letzte Feld der Eingabezeilen 5 bis 10 ausgeben

$  awk -F: 'NR == 5, NR == 10 { print $1, $NF }' /etc/passwd

 

// das erste und vorletzte Feld der letzten Eingabezeile ausgeben

$  awk -F: 'END { print $1, $(NF-1) }' /etc/passwd

 

// passwd-Eintrag für die aktuelle UID ausgeben

$  awk -F: "\$3 == $UID" /etc/passwd

$  awk -F: -v uid=$UID '$3 == uid' /etc/passwd

 

 // Ausgabe von Zeilen mit mehr als 2 Feldern

$  awk 'NF > 2' /etc/hosts

 

 // Ausgabe von Zeilen, deren Feld 3 kleiner als 50 ist

$  awk -F: '$3 < 50' /etc/passwd

 

// Ausgabe von Zeilen, deren letztes Feld "false" enthält

$  awk -F: '$NF ~ /false/' /etc/passwd

 

// Ausgabe der Anzahl von Zeilen, deren letztes Feld "false" enthält;

Info: das Semikolon vor END ist nicht nötig

$  awk -F: '$NF ~ /false/ { anz++ } ; END { print anz }' /etc/passwd

 

// Ausgabe von nicht leeren Zeilen

$  awk NF /etc/hosts

 

// ermittle, wie oft jeder Wert des letzten Feldes der Eingabezeilen vorkommt

$  awk -F: '

    { ANZ[$NF]++ }

    END { for (w in ANZ) printf("%s: %d\n", w, ANZ[w]) }

 ' /etc/passwd

 

// tausche Feld 1 und 2 der ersten 10 Eingabezeilen, gib restliche Zeilen unverändert aus

$  awk -F: '

    BEGIN { OFS = FS }

    NR < 11 { t = $1; $1 = $2; $2 = t }

    1

 ' /etc/passwd

 

// ermittle die längste Eingabe-Zeile

$  awk '

    length($0) > max { max = length($0) ; fn = FILENAME ; fnr = FNR ; line = $0 }

    END { if (fnr) printf("%d Zeichen in Zeile %d in Datei %s\n%s\n", max, fnr, fn, line) }

 ' /etc/{hosts,passwd}

 

// gib die UIDs der Nutzer, die die bash als Login-Shell haben, fallend sortiert aus, anschließend wird noch die Anzahl dieser Nutzer ausgegeben

$  awk -F: '

    BEGIN { sort = "sort -rn" }

    $7 ~ /bash/ { print $3 | sort ; anz++ }

    END { close(sort) ; printf("Anzahl: %d\n", anz) }

 ' /etc/passwd

 

// Select von einer Spalte und anschl. Umbenennen von IO in SB

$ ./prtdiag |grep ^/IO0

/IO03/C5V0 PCI 124   B    33   33 1,0 ok    network-pci108e,abba.11 SUNW,pci-ce

/IO03/C5V0 PCI 124   B    33   33 2,0 ok    scsi-pci1000,b.7/disk (block)            

/IO03       PCI 124   B    33   33 3,2 ok    firewire-pci108e,1102.1001                             

/IO03       PCI 124   B    33   33 3,3 ok    usb-pci108e,1103.1001

/IO04/C5V0 PCI 156   B    33   33 1,0 ok    network-pci108e,abba.11 SUNW,pci-ce           

/IO04/C5V0 PCI 156   B    33   33 2,0 ok    scsi-pci1000,b.7/disk (block)                           

/IO04       PCI 156   B    33   33 3,2 ok    firewire-pci108e,1102.1001                             

/IO04       PCI 156   B    33   33 3,3 ok    usb-pci108e,1103.1001

/IO04/C3V0 PCI 156   A    66   66 1,0 ok    fibre-channel-pci10df,f900.10df.+                       

/IO04/C3V1 PCI 157   A    66   66 1,0 ok    network-pci108e,abba.11 SUNW,pci-ce          

 

$ ./prtdiag |awk '/\/IO/ {print $1}'|sed -n '/^.....$/p'|sort -u

/IO03
/IO04

 

$ ./prtdiag |awk '/\/IO/ {print $1}'|sed -n '/^.....$/p'|sort -u |sed 's/^\/IO/SB/'

SB03

 

// Select einer Spalte mit der if schleife , Output: von onstat -g

Individual virtual processors:

vp    pid       class       usercpu   syscpu    total  

1     8050      cpu         3599258.38  507364.45  4106622.83

2     8068      adm         385.08    21388.27  21773.35

3     8069      cpu         4513682.54  500358.00  5014040.54

4     8070      cpu         4154564.64  496365.49  4650930.13

5     8071      cpu         3832439.76  426016.57  4258456.33

$  onstat -g glo | grep '^ [1-9]' | awk ' { if ( $3 == "cpu") print $2 } '

8050

8069

8070

8071

 

// Löscht alle Processe die ECMS gehören

$ ps -eaf | grep ECMS | grep Feb | awk '{print $2 }' | sudo xargs kill

 

// ausführliche Prozessliste

$ /usr/ucb/ps –auxww

 

// Selection with Process REMOVE

$ ps -ef|grep "ora_"|grep -v grep|awk '{ print $2 }'|-exec kill -9 {} \;

 

// Auslesen eines Bereichs aus einer Log Datei.

 

Zur Info: /freien Speicherplatz/,/rows selected/    schneide alles aus was in den Bereich liegt.

$  nawk '/freien Speicherplatz/,/rows selected/' infodb_SCCD001T_20080130_104922.log

 

Uebersicht ueber den freien Speicherplatz pro Tablespace

Tablespace Name         Total Bytes            Used             Free Used%

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

RBS                  15,728,640,000      33,947,648   15,694,692,352     .2

SCC                  57,453,576,192 55,298,949,120    2,154,627,072   96.2

TOOLS                   524,288,000          65,536      524,222,464     .0

SYSTEM                  262,144,000     155,762,688      106,381,312   59.4

PERFSTAT                524,288,000      96,272,384      428,015,616   18.4

SCC_CTXSYS_01         2,097,152,000     157,483,008    1,939,668,992    7.5

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

sum                  76,590,088,192 55,742,480,384   20,847,607,808

rows selected.

 

$  nawk '/freien Speicherplatz/,/rows selected/' infodb_SCCD001T_20080130_104922.log | nawk '$1=="SCC"{print$3}'

55,298,949,120

 

// Auslesen eines Bereichs aus einer Log Datei.

 

Zur Info: $1 = Tag , $2 = Monat, $3 = Datum , ich suche nach den Begriff „order01“.

$  cat /db/inf/log/online.$INFORMIXSERVER.log | awk '/^[A-Z]/ {print $1, $2, $3} /xorder01/'

Wed Jun 24

02:38:26 Level 0 Archive started on uxorder01

02:46:27 Archive on uxorder01 Completed.

03:02:46 Level 0 Archive started on xorder01

03:05:30 Archive on xorder01 Completed.

Thu Jun 25

02:36:51 Level 0 Archive started on uxorder01

02:39:41 Archive on uxorder01 Completed.

03:02:38 Level 0 Archive started on xorder01

03:04:27 Archive on xorder01 ABORTED.

03:27:25 Level 0 Archive started on xorder01

03:32:52 Archive on xorder01 Completed.

Fri Jun 26

02:28:09 Level 0 Archive started on uxorder01

02:31:18 Archive on uxorder01 Completed.

03:01:10 Level 0 Archive started on xorder01

03:11:06 Archive on xorder01 Completed.

 

// Auslesen eines Bereichs aus einer Datei.

 

Zur Info: suche Host DNS Namen in einer Date, wobei das letzte Zeichen soll ein com sein.

$ cat report.pl | awk '/^*com/ {print}'

 

// Spalte (column) selektieren.

$ df -k |awk '{print $1 " " $6}'

 

// Summe einer Spalte mit awk.

$ du -ks * | awk '{sum=sum+$1; print($2, "\t", $1/1024, "\t\t",sum/1024)}'

 

$ du -sk *2005* |awk '{sum=sum+$1; print(sum)}'

 

$ du -sk /usr/lib/*.so* |awk '{sum=sum+$1} END {print sum}'

 

$ df -k |grep appldg | awk '{sum=sum+$3} END {print sum/1024/1024 " GB"}'

 

$ df -m |gawk '{ sum += $3 }; END { print sum }'

 

$ grep free SCC_map.lst |awk '{x=x+$5}END{print (x*8)/1024" MB"}'

 

$ tail -2000 daemon.log |grep BSCS_PRD.FULL|grep MB | awk '{ sum+=$11;print($11,"\t\t\t",sum)}'

 

$ df -k |awk '{sum=sum+$3;print($6,"\t\t",$3/1024,"\t\t",sum/1024)}'

Mounted                   0                       0

/                   1592.38                 1592.38

/proc                     0                 1592.38

/dev/fd                   0                 1592.38

/var                150.483                 1742.86

/oracle             347.669                 2090.53

/works              40540.8                 42631.3

/u01                44024.6                 86655.9

/u02                40857.8                  127514

/tmp               0.265625                  127514

/u03                26865.2                  154379

 

// Spalte (coloums) selektieren.

$ onstat -d |nawk '$3==5'

 

 // List the partitions using more than 70% of disk partition space.

$5 represants column number to be compared and 70 is the value to be compared

$ df -k | awk '$5 > 70'

 

// Infos aus einer Datei lesen und mit xargs ausführen (-l = für das Folgende Befehl aus)

$ grep xfn /etc/mnttab | awk '{print $2}' | sort -r | xargs -l umount

 

// Die größten zehn user home directories finden,

$ du -ks * | sort -rn | head -10 | awk '{if ($1>100000) print($1, "\t\t", $2)}'

968628           fruort

878485           bscs521

792268           rogrud

236031           borchr

 

 



Zeilen Ende anzeigen lassen

$  cat -tve /etc/ssh2/auth/f984441/f984441.pub

---- BEGIN SSH2 PUBLIC KEY ----^M$

Subject: f984441^M$

Comment: "f984441@ffzq.dhcp.net"^M$

AAAAB3NzaC1kc3MAAACBAJhiTUzKSbV/3F/0uB+AqLzXw+Uns+bLHA59qDcniT0qeSh^M$

LdLoNQpyDJeBPG3Z8Ibwdr7HZ1sWxiD0z3pbxcbhAG0AHtkW6y6nH94O434of3LXweD^M$

 

 



Blocksize von File system Suchen

$ df –g                                  ->            reports     block size 8192

$ fstyp –v                      ->            reports     bsize 1024

$ mkfs -m                     ->            for vxfs reports       bsize=1024

 

 



Variable von eine anderen Datei übernehmen.

$  more gg

read a
read b
read c
echo a=$a
echo b=$b
echo c=$c

 

$  more dat

du

da

ohne

 

$ ./gg < dat

a=du

b=da

c=ohne

 

 



Determining current booted disk

$  prtconf –vp grep bootpath

 

 



See verifying a route to a specified network

$  route -n get [destination ip addr]

 

 



Info ueber Interface

$  netstat -k ce

 

 




IP-Packet Informationen  (siehe auch man Patches)

$  snoop -d ge0 -v |more

ETHER: ----- Ether Header -----                

ETHER:                                          

ETHER: Packet 1 arrived at 11:17:5.12          

ETHER: Packet size = 53 bytes                  

ETHER: Destination = 1:80:c2:0:0:0, (multicast)

ETHER: Source      = 0:b:5f:8f:b7:b0,          

ETHER: IEEE 802.3 length = 39 bytes            

ETHER: Ethertype = 023C (LLC/802.3)            

ETHER:         

 

$  snoop -V DEFX0WF0

Using device /dev/hme (promiscuous mode)

________________________________

130.26.33.128 -> DEFX0WF0     ETHER Type=0800 (IP), size = 60 bytes

130.26.33.128 -> DEFX0WF0     IP D=130.10.148.81 S=130.26.33.128 LEN=40, ID=407

130.26.33.128 -> DEFX0WF0     TCP D=23 S=1508     Ack=514326538 Seq=72694538 Le8

130.26.33.128 -> DEFX0WF0     TELNET C port=1508  

 

$  snoop -o /tmp/test DEFX0WF0                         # in File schreiben

Using device /dev/hme (promiscuous mode)

19 ^C

 

$  snoop -i /tmp/test                                            # aus File lesen (auch PW)

$  snoop -x0 -i /tmp/test

 1   0.00000 130.26.33.128 -> DEFX0WF0     TELNET C port=1508

 

      0: 0003 ba02 de7a 00d0 bcf0 812c 0800 4500    .....z.....,..E.

     16: 0028 a238 4000 7f06 9fa1 821a 2180 820a    .(.8@.......!...

     32: 9451 05e4 0017 0455 3b60 1ec1 9501 5010    .Q.....U;`....P.

 

 



 Now we need to create a new path_to_inst

$  devfsadm -r /a -p /a/etc/path_to_inst

 

 



Xterm Fenster setzen

$  /usr/openwin/bin/xterm –display [IP]:0 –sb –sl 2048                                            # X Windows schicken

$  /usr/openwin/bin/xterm &display [IP]:0 –sb –sl 2048 -e vi /etc/hosts                     # Nur eine Datei bearbeiten

$  /usr/openwin/bin/xterm –display [IP]:0 –sb –sl 2048 -exec script /tmp/ee                 # Tätigkeit Protokoll

 

 



Route setzten zum Backup Netz, x.x.x.254 ist der Default Router im Netz

$  route add net 10.96.76.0 10.96.98.254

 

 



Sudo umgehen.

Auf der Ultra 5 Verbindung zu Rechner rf1509 mit Kennung aufbauen.

Xterm Fenster zu meiner WIN-Workstatoin schicken "./xterm –display 130.73.40.173.0.0"

Auf der Win Workstation Fenster von der rf1509, auf den command Line "/bin/sh" eingeben. Und anschl. Exit , dann Prüfen mit "id" ob man root ist

 

 



Zeit gesteuerte Job ( AT ) anzeigen lassen.

$  at –l              (Infos)

 

Beispiel:

$  at 23:55
sudo -u informix /usr/bin/sh -c "/home/informix/cdr_changes.sh"

Ctrl-d
Job root.1195080900.a will be run at Wed Nov 14 23:55:00 MEZ 2007

 

// at-Kommando: Am 1. Oktober um 22 Uhr wird das Ausdrucken einer langen Datei gestartet.

$  at 2200 Oct 1
lp -m superlangedatei.txt
CTRL-D

 

// Mit at -r 1195080900.a könnte man den o. g. Job wieder löschen.

$  at –r id                       (Job kill)

 

// Inhalt vom at jobs anzeigen.

$  cd /var/spool/cron/atjobs/

$  ls -la

-r-Sr--r--   1 root     other       1246 Jul 29 09:34 1248901200.a

$  more 1248901200.a

 

 



 Taste eingabe umlenken auf pts/56 oder/und 78 oder/und Datei

$  script /dev/null |tee /dev/pts/56
oder

$  script /dev/pts/56 |tee /dev/pts/78

oder

$  script /tmp/log-file |tee /dev/pts/78

 

 



 Used to remount root to make it writeable

$  mount -F ufs -o rw,remount /

oder:

$  mount –o remount,rw /dev/dsk/c0t0d0s0

 

 



Which interface will be used to contact hostname

$  route get 10.96.75.26

   route to: 10.96.75.26

destination: 10.96.75.0

       mask: 255.255.255.0

 interface: ce2:1

      flags: <UP,DONE>

 recvpipe sendpipe ssthresh    rtt,ms rttvar,ms hopcount      mtu     expire

       0         0         0         0         0         0      1500         0

 

 



Anlegen von Root Equivalent User

Super User:
$  useradd -c "Goran Superuser" -d /export/home/brngors -g1 -o -m -k /etc/skel -u 0 -s /sbin/sh brngors

Test User:

$  useradd -c "Goran Testuser" -d /export/home/brngor -m -k /etc/skel -u 55555 -s /bin/ksh brngor

Normale User:

$  /usr/sbin/useradd -u 6972 -g staff -d /home/t440972 -s /bin/ksh -c "BrnGor" -m -k /etc/skel t4472

 

 



Info über SCSI WWN Nummer von local Disks

$  /etc/vx/diag.d/vxdmpinq /dev/rdsk/c0t1d0s2

Vendor id       : SEAGATE

Product id      : ST318203LSUN18G

Revision        : 034A

Serial Number   : 0035K66540

 

oder unter:

Runningformat -e -> scsi-> inquiry is displaying 1 byte too few from the inquiry data of the device under the text "Inquiry:".

 

For example:

scsi> inq

Inquiry:

    00 00 02 02 29 00 50 02 46 55 4a 49 54 53 55 20     ....).P.FUJITSU

    4d 41 4e 33 37 33 35 46 20 53 55 4e 37 32 47 20     MAN3735F SUN72G

    30 37 30 34 30 33 30 36 56 30 30 34 32              07040306V0042

 

 



Disk Information

$  devinfo -p /dev/rdsk/c0t0d0s0

/dev/rdsk/c0t0d0s0      20      f0      0       16574193        0       2

 

$  devinfo -i /dev/rdsk/c0t0d0s0

/dev/rdsk/c0t0d0s0      0       0       2889    512     7

 

 



Disk Revision / Vendor /Serial No.

$ iostat -E |grep Rev

Vendor: FUJITSU Product: MAN3184M SUN18G Revision: 1502 Serial No: 01Z40045  

Vendor: FUJITSU Product: MAN3184M SUN18G Revision: 1502 Serial No: 00Z92001  

Vendor: FUJITSU Product: MAN3184M SUN18G Revision: 1502 Serial No: 01Z57641

 

$ echo|format|grep c.t.

0. c1t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>

1. c1t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>

2. c2t0d0 <SEAGATE-ST336605LSUN36G-0238-33.92GB>

3. c2t1d0 <FUJITSU-MAJ3364M SUN36G-0804-33.92GB>

4. c2t2d0 <SEAGATE-ST336704LSUN36G-0326-33.92GB>

 

$ iostat -En|grep ^c.t.|sort

c0t0d0           Soft Errors: 2 Hard Errors: 0 Transport Errors: 1

c1t0d0           Soft Errors: 0 Hard Errors: 0 Transport Errors: 0

c1t1d0           Soft Errors: 0 Hard Errors: 0 Transport Errors: 0

c2t0d0           Soft Errors: 0 Hard Errors: 2 Transport Errors: 0

 

 



Disk Auslastung anzeigen

$  iostat -xtcnp 5 | grep c[01]t0d0

0.1   11.8    3.2   87.2 0.0 0.7    2.0   58.5   0   6 c0t0d0

0.0    0.0    0.0    0.0 0.0 0.0    0.0    1.3   0   0 c0t0d0s0

0.0    0.0    0.0    0.0 0.0 0.0    0.0    0.0   0   0 c0t0d0s2

0.0    0.0    0.0    0.0 0.0 0.0    0.0    4.9   0   0 c0t0d0s3

0.1   11.8    3.2   87.2 0.0 0.7    2.0   58.6   0   6 c0t0d0s4

 

// Nur Disks anzeigen die Moment aktive I/O Operationen haben.

$  iostat -xnzC 3 | grep c

                    extended device statistics

    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t %w %b device

    0.5   21.1    3.6 132.4 1.1 0.7   51.5   34.1   1   4 c0

    0.5   21.2    3.6 132.5 1.2 0.8   54.0   37.5   1   4 c2

    0.0    2.6    0.2    6.6 0.0 0.0    0.3   12.7   0   1 c2t4d0

    0.1   13.2    0.5   93.6 1.2 0.7   87.3   49.5   3 11 c2t5d0

    0.1   13.2    0.5   93.7 1.1 0.6   82.3   44.9   3 10 c0t1d0

    0.0    2.4    0.2    6.5 0.0 0.0    0.4   13.1   0   1 c0t0d0

    0.2    2.8    1.5   16.1 0.0 0.1    2.7   17.4   0   2 c0t2d0

    0.2    2.7    1.4   16.2 0.0 0.1    3.2   19.1   0   2 c0t3d0

    0.2    2.8    1.5   16.1 0.0 0.1   2.6   17.1   0   2 c2t6d0

    0.2    2.7    1.4   16.2 0.0 0.1    3.1   26.7   0   3 c2t7d0

 

 



Leere Datei erstellen mit dd Command.

$ dd if=/dev/zero of=file7 bs=1024 count=500000
$ du -sm file7

 488.28 file7

 

$ dd if=/dev/zero of=swapfile bs=4M count=2
$ du -sm swapfile

 8.00    swapfile

 

 



Copy the partition information from first Disk to the secound Disk.

// partition Information copy.
$  prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2

oder:

// To make a copy of your boot disk in Solaris:
$  dd if=/dev/rdsk/c0t0/d0s2 of=/dev/rdsk/c0t1d0s2 bs=4096

// Don't forget to add the bootblock on the mirror disk otherwise you will not be able to boot off of it:
$  installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0

 

 



Display Controller Information

$  vxdmpadm listctlr all

CTLR-NAME       ENCLR-TYPE      STATE      ENCLR-NAME

=====================================================

c2              Disk            ENABLED      Disk

c3              Disk            ENABLED      Disk

c0              Disk            ENABLED      Disk

 

$  vxdmpadm getsubpaths ctlr=c2

NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME ENCLR-TYPE   ENCLR-NAME   ATTRS

================================================================================

c2t0d0s2     ENABLED(A)   -          c2t0d0s2     HDS9980V     HDS9980V1      -

c2t0d1s2     ENABLED(A)   -          c2t0d1s2     HDS9980V     HDS9980V1      -

c2t0d2s2     ENABLED(A)   -          c2t0d2s2     HDS9980V     HDS9980V1      -

c2t1d0s2     ENABLED(A)   -          c2t1d0s2     HDS9980V     HDS9980V0      -

c2t1d1s2     ENABLED(A)   -          c2t1d1s2     HDS9980V     HDS9980V0      -

c2t1d2s2     ENABLED(A)   -          c2t1d2s2     HDS9980V     HDS9980V0      -

 

 



Information of  Command Libery

$  ldd /usr/bin/cp

        libc.so.1 =>     /usr/lib/libc.so.1

        libdl.so.1 =>    /usr/lib/libdl.so.1
 u.s.w

 

 



Mac Adresse ändern

$  ifconfig hme0 ether a:b:c:d:e
 
oder:

 die IP Adresse aendern.

$  ifconfig hme0 inet 0.0.0.0

 

 



Anzeigen wann die Sommerzeit anfängt/endet

$  zdump -v MET

MET Sun Mar 26 00:59:59 2006 UTC = Sun Mar 26 01:59:59 2006 MET isdst=0

MET Sun Mar 26 01:00:00 2006 UTC = Sun Mar 26 03:00:00 2006 MEST isdst=1

MET Sun Oct 29 00:59:59 2006 UTC = Sun Oct 29 02:59:59 2006 MEST isdst=1

MET Sun Oct 29 01:00:00 2006 UTC = Sun Oct 29 02:00:00 2006 MET isdst=0

 

 



OPB Version

$  prtconf -V

OBP 3.22.0 2000/12/20 16:20

 

$  /usr/platform/`uname -i`/sbin/prtdiag -v | grep OBP

OBP 3.22.0 2000/12/20 16:20   POST 6.1.0 2000/12/20 16:21

 

 



Display the Kernel / Process Set

$  isainfo -kv

64-bit sparcv9 kernel modules

 

 



User Information

$  logins -x -l t440972

t4472         6972    tivopr          998     Brn Gor

                        /home/t4472

                        /usr/bin/ksh

                        PS 030706 0 91 -1

 

 



Zeigt an / wiederholt die Eingabe 

$  set  -xv                                  # setzen

$  set +xv                                  # wegnehmen

 

 



Samba

// Samba share Information

$  smbclient -P -L ffzh4

        Sharename      Type      Comment

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

        CUBUS          Disk      CUBUS-Share

        IPC$           IPC       IPC Service (GL-FFZJ6U-IVS Server 1.9.18p10)

        IVS            Disk      IVS-Share

 

// Samba share Prüfen  oder  „smbstatus“

$  testparm /usr/local/lib/smb.conf

Load smb config files from /usr/local/lib/smb.conf

Loaded services file OK.

Press enter to see a dump of your service definitions

 

 



pfiles - to report fstat(2) and fcntl(2) information for all open files in each process in Sun Solaris

$  finger

Login       Name               TTY         Idle    When    Where

f9964 Weber Bodo pts/2         1d Mon 13:16 10.94.161.199      

 

$  ps -ef |grep f9964

 f9964 5892 5885 0   Jul 10 pts/2    0:00 -ksh

    root 24593 24537 0 13:54:32 pts/4    0:00 grep f9964

 

$  pfiles 5892 

5892:   -ksh

 Current rlimit: 1024 file descriptors

   0: S_IFCHR mode:0620 dev:237,0 ino:583685 uid:44275 gid:7 rdev:24,2

      O_RDWR|O_LARGEFILE

   1: S_IFCHR mode:0620 dev:237,0 ino:583685 uid:44275 gid:7 rdev:24,2

      O_RDWR|O_LARGEFILE

   2: S_IFCHR mode:0620 dev:237,0 ino:583685 uid:44275 gid:7 rdev:24,2

      O_RDWR|O_LARGEFILE

 63: S_IFREG mode:0600 dev:237,0 ino:926518 uid:44275 gid:1198 size:2014

      O_RDWR|O_APPEND|O_LARGEFILE FD_CLOEXEC

 

$  find / -inum 926518 -print

/opt/oracle/product/9.2.0.6/jdk/jre/lib/sparc/libjavaplugin_jni.so

/proc/5892/fd/63

/home/f991964/.sh_history

 

 



pmap - how to find address space map a process occupies in Sun Solaris

$  pmap 7234

7234:   /usr/local/maestro/bin/batchman -parm 32000

00010000    904K read/exec         /usr/local/maestro/bin/batchman

00100000     40K read/write/exec   /usr/local/maestro/bin/batchman

0010A000    744K read/write/exec     [ heap ]

FEE00000   1024K read/write/exec/shared [ shmid=0x8 ]

 

 



ISO Datei mounten “CDROM”

$  lofiadm –a /install/dvd-image.iso /dev/lofi/1

$  mount –F hsfs /dev/lofi/1  /mnt

 

oder:mit einen share:

$  /usr/sbin/lofiadm -a /export/SX/sol-nv-b16-sparc-v1.iso /dev/lofi/1

$  mount -F hsfs -o ro /dev/lofi/1 /mnt1

$  share -F nfs -o ro=unix_hosts,anon=0 /mnt1

 

 



Welche Datei ist die Größte im Verzeichnis tree.

$  ls -lR * |sort -k 5n

 

 



DE Lädereinstellung

$  locale -a

POSIX

common

en_US.UTF-8

C

iso_8859_1

en_CA

en_CA.ISO8859-1

en_US

en_US.ISO8859-1

en_US.ISO8859-15

en_US.ISO8859-15@euro

fr_CA

fr_CA.ISO8859-1

iso_8859_15

th

th_TH

th_TH.TIS620

 

 



Drucken über das Netz.

$  mp –o –L file |lp –d hp1200@def5f2 

$  cat file |a2ps |lp 

$  mp –o –l datei | lp –d

$  lp –d hp1200 –y landscape [file]

 

 



Arbeiten mit FIFO PIPE

erste Fenster:
$  PIPE=/tmp/exp_pipe_scc

$  mknod $PIPE p

$  df > $PIPE

 

zweite Fenster:
$  tail -f exp_pipe_scc       oder        $  cat < exp_pipe_scc

 

 



USB DVD Info

DVD Laufwerke und USB Memorysticks auflisten.

$  rmformat -l

Looking for devices...

     1. Volmgt Node: /vol/dev/aliases/cdrom0

        Logical Node: /dev/rdsk/c0t1d0s2

        Physical Node: /pci@1f,0/ide@d/sd@1,0

        Connected Device: PIONEER 12X DVD-ROM      1.14

        Device Type: DVD Reader

     2. Volmgt Node: /vol/dev/aliases/rmdisk0

        Logical Node: /dev/rdsk/c2t0d0s2

        Physical Node: /pci@1f,0/usb@c,3/storage@3/disk@0,0

        Connected Device: Swissbit unitedCONTRAST   2.00

        Device Type: Removable

 

 



USB Freigeben  auf XP

$ taskkill /IM SecMonitor.exe

 

 



Leere Datei erstellen

$  dd if=/dev/zero of=swapfile bs=4M count=2

 

 



vi Syntax "Commands"

// Öffnet/erstellt zwei Dateien mit den Namen Dateiname1 und Dateiname2 gleichzeitig (in Fenstern untereinander) im aktuellen Verzeichnis.

vi -o Dateiname1 Dateiname2

 

// Öffnet/erstellt zwei Dateien mit den Namen Dateiname1 und Dateiname2 gleichzeitig (in Fenstern nebeneinander) im aktuellen Verzeichnis.

vi -O Dateiname1 Dateiname2

 

// Öffnet eine Datei mit Namen Dateiname im Readonly-Modus (schreibgeschützt).

vi -R Dateiname

 

// Öffnet eine Datei mit Zeilennummer.

vi +Zeilennummer Dateiname

 

// Öffnet eine Datei mit Namen Dateiname an der letzten Zeile.

vi + Dateiname

 

// Öffnet eine Datei mit Namen Dateiname an der Zeile in der das SUCHWORT das erste mal auftritt.

vi +/SUCHWORT Dateiname

 

// Recovery-Aktion nach Programm- oder Systemabsturz.

vi -r Dateinam

 

// Hilfe zum vi, listet alle zulässigen Kommandozeilenargumente inkl. Beschreibung.

vi –h

 

// Fügt den kompletten Path von ksh in die Datei ein

!! which ksh

 

// Path /usr/local/script von anfang der  Zeile  in VI einfügen / ändern

$ :%s/^/\/usr\/local\/script\//g

 

-- Inhalt von Datei gg nach Datei zz hinneinkopieren:

:.,$y a                                                  # Kopiere alles von Punkt bis Dollar in den Puffer „a“

:e zz                                                     # Wechsel in die Date zz

:put a                                                   # Füge das was in Puffer ist hinnein.

 

:1,4y a                                                 # Kopiere alles von anfang bis Zeile 4 in den Puffer „a“

:e zz                                                     # Wechsel in die Date zz

:put a                                                   # Füge das was in Puffer ist hinnein.

 

 



Miscellaneous

$ kdmconfig                                                     # Einstellung der Tastatur

$ getent hosts[ip oder host]                                  # Muster suchen in der Hosts (passwd, protocol, shadow)

$ fsck –F vxfs –o full [raw-Dervices]                            # Damit Erzwinge ich Filesystem Check

$ xkill                                                                                   # GUI Killen