Latest Publications

New github Account

I’ve set up my own github Account

Git Basics

Vi(M) Einfügen wenn in Command-/Execution-Mode

Wenn man den VI(M) verwendet stellt sich relativ rasch die Frage, wie füge ich kopierten Text im Command-Mode ein (:).

Die Antwort ist kurz und einfach:

C-R ”

Eine weitere Möglichkeit, welche sich auch bei VIMPERATOR anwenden lässt ist:

Shift-Insert

Vimperator Konfigurationsdatei

*************************************************************************
Initialisierung

Vimperator verwendet für die Initialkonfiguration eine Konfigurationsdatei .vimperatorrc (Windows) _vimperatorrc (unix)
Die Datei wird standardmässig in folgender Reihenfolge gesucht:

* Unix and Mac – ~/.vimperatorrc then ~/_vimperatorrc
* Windows – ~/_vimperatorrc then ~/.vimperatorrc

Das Plugin-Verzeichnis
* Unix and Mac – ~/.vimperator/plugin
* Windows – ~/vimperator/plugin

Verzeichnis $Home unter Windows ist wie folgt zu finden

Wenn $Home als Umgebungsvariable gesetzt ist wird diese verwendet, andernseits wird $USERPROFILE oder allenfalls $HOMEDRIVE$HOMEPATH verwendet.

Letztendlich kann auch $VIMPERATOR_HOME verwendet werden, um $Home directory.mappings zu übersteuern.

Die Key-Bezeichnungen sind ähnlich wie bei VIM:
C- bezeichnet die Control Taste
M- die Meta Taste
A- die Alt Taste
S- die Shift Taste

SSH-Keys / Putty

Wer mal eben kurz ein SSH-Key-Paar unter Solaris erstellen möchte, der geht wie folgt vor:

Wechseln ins Homeverzeichnis:

~/.ssh

Schlüssel erzeugen:

ssh-keygen -t dsa

Schlüssel hinterlegen:

cat id_dsa.pub >> authorized_keys2

Wenn man aber nun versucht mit dem Private-Key auf den Host per Putty zuzugreifen kommt folgende Fehlermeldung:
Unable to use key file id_dsa (OpenSSH SSH-2 private key)
Dies liegt daran, dass Putty/WinSCP das Format zuerst konvertieren muss. Hierzu gibt’s das Tool Puttygen. Bei diesem Tool einfach den private key id_dsa importieren und als Putty-PrivateKey speichern z.B. als id_dsa.ppk

Dann klappts auch mit dem Nachbarn ;-)

xmodmap

Um unter OpenSolaris mal nur eben Alt-GR auf dem macbook pro auf die rechte ‘Entertaste’ zu legen kann man xmodmap bemühen:

xmodmap -e "keycode 108 = Mode_switch"

Diese Änderungen könnte man mit xmakemap permanent durch erstellen einer xmodmaprc korrigieren. Leider gibt es hier ein bekanntes Problem mit xmakemap: (LINK)

Ein weiteres Problem ist unter swiss-german keyboard layout, dass 2 Tasten (KeyCode 49/94 vertauscht sind. Korrigieren wie folgt:

xmodmap -e "keycode 49 = less greater backslash"
xmodmap -e "keycode 94 = section degree section degree"

Die jeweils korrekten Keycodes lassen sich mit xev herausfinden.

Sobald die Bugs mit xmakemap behoben sind, kann man für sich ein aktuelles Keymapping erzeugen:

xmakemap > ~/.xmodmaprc 

Mit Vi die nötigen Tastenbelegungen korrigieren:

vi ~/.xmodmaprc 

Gewünschte Änderungen anwenden:

xmodmap ~/.xmodmaprc 

Automatisieren lässt sich dies durch einen Eintrag in das Shell-Profil seiner Wahl. (~/.profile z.B. für BASH)

V100 / Netra X1

Beim Zugriff über LOMlite kann es sein, dass ein Benutzername/Passwort verlangt wird. Hierfür muss aber sichergestellt sein, dass der Jumper JP15 nicht gesetzt ist. Ja aber wo ist Jumper JP15 – gar nicht so einfach. Ein gute Übersicht findet man hier

Dann das Stromkabel entfernen und wieder einstecken. LOM zeigt zwar immer noch das Login Prompt. In folgender Reihenfolge nun die Jumper setzen:

JP14 setzen
JP13 setzen/entfernen
JP14 entfernen
JP13 setzen/entfernen

Danach sollte das LOM-Prompt erscheinen.

Akutell suche ich noch nach einer Lösung die Benutzer zu löschen, welche als inaccessible deklariert sind:

lom>usershow
1: [inaccessible]
2: [inaccessible]
3: [inaccessible]
4: [inaccessible]

Oracle Install on Solaris 10

Für die Installation von Oracle, JDeveloper und JDK6 auf Solaris 10 habe ich hier eine kurze Anleitung zusammengestellt.
Ich gehe davon aus, dass folgende Files nach /var/sources/Oracle kopiert wurden und für die Installation zur Verfügung stehen:

- sol-10-u7-ga-x86-dvd.iso – Solaris 10 Update 7
- sol-10-u7-companion-ga.iso – Companion CD
- jdk-6u14-solaris-i586.tar.Z – Java 6 Update 14
- jdevstudio11110install.jar – jDeveloper 11.1.10
- Oracle_database_solx86_10.2.0.2.zip – Oracle Database 10.2.0.2
- p8290506_10204_Solarisx86.zip – Oracle Database Patch 10.2.0.4

Prüfen der Hardware-Anforderung

1. Memory Size
# /usr/sbin/prtconf | grep "Memory size"
2. Swap Size
# /usr/sbin/swap -s
3. Free Diskspace on /tmp (400MB required)
# df -k /tmp
4. System-Architecture 32-/64-bit
# /bin/isainfo -kv

Prüfen der Software-Anforderung

1. Check Software-Packages
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
2. Create loopback device
# lofiadm -a /var/sources/sol-10-u7-ga-x86-dvd.iso /dev/lofi/1
3. Mount ISO-Image
# mount -F hsfs -o ro /dev/lofi/1 /mnt
4. Install the needed Software-Packages
# pkgadd -d . SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt

Installation JDK6 (benötigt für JDeveloper)

1. Deinstallation von JDK5
# pkgrm SUNWj5rt SUNWj5dev SUNWj5cfg SUNWj5man SUNWj5dmo
2. Entpacken des JDK6 Tarballs
# zcat /var/sources/Oracle/jdk-6u14-solaris-i586.tar.Z | tar -xf -
3. Installieren der JDK6
# yes | pkgadd -d . SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo
4. Checken der bevorzugten java-umgebung:
# /usr/java/bin/java -fullversion
5. Falls Java-Umgebung auf 1.4 zeigt Symlink anpassen:
# rm /usr/java
# ln -s /usr/jdk/latest /usr/java
6. erneutes überprüfen der bevorzugten java-umgebung:
# /usr/java/bin/java -fullversion

Installation JDeveloper 11.1.10

1. Erstellen der Verzeichnisse (Wegen Bug von Check free Diskspace)
# mkdir /opt/oracle/u01/middleware
# mkdir /opt/oracle/u01/middleware/jdeveloper
# mkdir /opt/oracle/u01/middleware/wlserver_10.3
2. Berechtigungen setzen
# chown -R Username:groupname /opt/oracle/u01/middleware
3. Starten der Installation als Benutzer
$ java -jar /var/sources/Oracle/jdevstudio11110install.jar
4. starten von JDeveloper
$ /opt/oracle/middleware/jdeveloper/jdev/bin/jdev

Installationsvorbereitung Oracle DB

1. Erstellen der benötigten Gruppen (dba, oInstall)
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
2. Erstellen der benötigten User (oracle)
# /usr/sbin/useradd -g oinstall -G dba -d /export/home/oracle -s /usr/bin/tcsh -m oracle
3. Setzen des Passwort für Oracle-User
# passwd -r files oracle
4. Setzen der Ressourcen-Einstellungen (Limite für Shared Memory auf 1GB (VM), bei Server grösser!)
# set noexec_user_stack=1
# projadd -G oinstall -K "project.max-shm-memory=(priv,1G,deny)" group.oinstall
# projmod -sK "project.max-sem-nsems=(priv,256,deny)" group.oinstall
# projmod -sK "project.max-sem-ids=(priv,100,deny)" group.oinstall
# projmod -sK "project.max-shm-ids=(priv,100,deny)" group.oinstall

5. Allfälliges Anpassen von Shared Memory
# id -p
** permanent Anpassung der Resourcen-Einstellungen
# projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
** aktuelle Einstellungen anzeigen:
prctl -n project.max-shm-memory -i project group.dba
prctl -n project.max-shm-memory -i process $$
** aktuelle Einstellungen anpassen:
prctl -n project.max-shm-memory -r -v 6GB -i project group.dba

6. Überprüfen der Einstellungen:
# cat /etc/project

7. Erstellen der benötigten Verzeichnis-Struktur
OFA: /mount_point/app/oracle_sw_owner
*** Oracle Base Directory – Filesystem für Oracle Software
# mkdir -p /opt/oracle/u01/app/oracle
# chown -R oracle:oinstall /opt/oracle/u01/app/oracle
# chmod -R 775 /opt/oracle/u01/app/oracle

*** Oracle Inventory Directory – Ablageort der DB und ASM, Log-/Tracefiles der Installationen
# mkdir /opt/oracle/u01/oradata
# chown oracle:oinstall /opt/oracle/u01/oradata
# chmod 775 /opt/oracle/u01/oradata

*** Oracle Home Directory – Filesystem für die Datenbank selbst
# mkdir /opt/oracle/u01/oradata/orcl
# chown oracle:oinstall /opt/oracle/u01/oradata/orcl
# chmod 775 /opt/oracle/u01/oradata/orcl

*** Recovery File Directory Filesystem für Backup und Recovery
# mkdir /opt/oracle/u01/flash_recovery_area
# chown oracle:oinstall /opt/oracle/u01/flash_recovery_area
# chmod 775 /opt/oracle/u01/flash_recovery_area

8. Setzen der Umgebungsvariablen als User oracle
** Setzen der Standard Dateiberechtigungenset
** umask 022 in .cshrc hinzufügen
** Entfernen von Umgebungsvariablen
** ORACLE_SID, ORACLE_HOME und ORACLE_BASE entfernen
$ vi ~/.cshrc

** aktivieren der Änderungen
$ source ./.cshrc

*** Erstellen der Oracle Tempverzeichnisse
# mkdir /opt/oracle/u01/tmp
# chown oracle:oinstall /opt/oracle/u01/tmp
# chmod a+wr /opt/oracle/u01/tmp

*** Setzen des Temp-Verzeichnisses
$ setenv TMP /opt/oracle/u01/tmp *** > 400 MB
$ setenv TMPDIR /opt/oracle/u01/tmp *** > 400 MB

*** Setzen der gültigen Umgebungsvariablen
$ setenv ORACLE_BASE /opt/oracle/u01/app/oracle
$ setenv ORACLE_SID orcl

*** Setzen der DISPLAY Umgebungsvariablen
$ setenv DISPLAY :0.0
$ /usr/openwin/bin/xhost +

*** Sicherstellen das keine falschen Umgebungs-Variablen gesetzt sind
** Oracle empfiehlt das setzen von Oracle_Base, nicht aber Oracle_Home !
$ unsetenv ORACLE_HOME
$ unsetenv TNS_ADMIN

9. Starten der Oracle-Installation
$ unzip /var/sources/Oracle/Oracle_database_solx86_10.2.0.2.zip
$ id -p
$ /var/sources/Oracle/database/runInstaller

10. Postinstall Tasks
# /opt/oracle/
u01/app/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/u01/app/oracle/product/10.2.0/db_1/root.sh
# lsnctl status
# sqlplus / as sysdba

SQL> select DBID, NAME, OPEN_MODE from v$database;
# lsnctl start | stop
# emctl [start | stop] dbconsole


Tabulator durch Semicolon ersetzen

Im Vi(M) lassen sich grosse Dateien sehr schnell öffnen.
Dabei mal kurz ein paar Tabs durch ein Semicolon ersetzen. Ganz einfach:
:1,$s/\t/;/g

SSH auf Mac OSX

Sollte bei einem SSH-Zugriff die folgende Meldung im Terminal erscheinen:

“Sorry, I don’t know anything about your ‘xterm-color’ terminal.”

dann bietet folgender Befehl abhilfe:

export TERM=xterm