Donnerstag, 21. Januar 2010

Zeitstempel für Oracle-Sitzungen auf das ISO-Format setzen

Oracle konvertiert bei jeder Ausgabe von Zeit- oder Datumsinformationen die Daten in das Format, das der Client benötigt. Man kann die Parameter der aktuellen Sitzung mittels des folgenden Befehls abfragen:
SELECT * from NLS_SESSION_PARAMETERS;
Für die Verarbeitung von Zeit- und Datumsangaben in Programmen empfiehlt es sich das numerische ISO-Format zu verwenden. Die Standardeinstellungen sind aber lokalisiert, wodurch das Datum in der üblichen deutschen Notation erscheint. Für Berichte ist das eine sinnvolle Einstellung. Für die maschinelle Verarbeitung aber unpraktisch. Mittels des Befehls
ALTER SESSION
können jedoch alle Parameter für die aktuelle Sitzung angepasst werden. Wenn sekundengenaue Zeiten ausreichen, kann eine sinnvolle Parametrisierung folgendermaßen aussehen:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_TIME_FORMAT = 'HH24:MI:SS';
ALTER SESSION SET NLS_TIME_TZ_FORMAT = 'HH24:MI:SS TZH:TZM';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS TZH:TZM';

Freitag, 15. Januar 2010

RAW-Druck über CUPS unter Debian (Lenny) aktivieren

Die Standardkonfiguration unter Debian (Lenny) für CUPS ermöglicht keinen Remote-Druck im RAW-Mode. Notwendig ist das wenn man Epson Easy Photo Print unter Linux benutzen will. In Verbindung mit Wine funktioniert das Drucken mit den Epson-Druckertreibern nicht. Deswegen bleibt einem zur Zeit nur die Möglichkeit über eine Virtualisierung. Mit VirtualBox kann man relativ leicht sog. "Shared Folders" einrichten, die den Zugriff auf die Fotobestände ermöglichen.


Damit das Ausdrucken der Fotos genauso einfach klappt müssen ein paar Änderungen an der Standardkonfiguration von CUPS geändert werden. In der Datei /etc/cups/mime.convs muss am Ende die folgende Zeile aktiviert werden:
application/octet-stream application/vnd.cups-raw 0 -
In der Datei /etc/cupsd.conf muss die Listen-Anweisung angepasst werden:
Listen *:631
Außerdem muss noch der Zugriff freigegeben werden indem eine Allow-Anweisung eingefügt wird:
<Location />
Order allow,deny
Allow all
</Location>
Anstatt "all" sollte das lokale Subnetz verwendet werden. Als letztes muss CUPS noch einmal neu gestartet werden:
/etc/init.d/cups restart
Als nächstes kann der Netzwerk-Drucker unter Windows installiert werden.


Dabei ist die Adresse des CUPS-Servers, der Port und der Name des Druckers in Form einer URL anzugeben. Abschließend muss noch der zuvor installierte Treiber ausgewählt werden. Wenn alles richtig konfiguriert ist, kann man danach einfach mit Epson Easy Photo Print drucken.

Donnerstag, 20. August 2009

USB-Geräte mit VirtualBox unter Debian (Lenny) virtualisieren

Um USB-Geräte mit VirtualBox virtualisieren zu können müssen die Zugriffsrechte stimmen. Nach einer Standardinstallation stimmen sie unter Debian nicht. Folgende drei Änderungen muss man vornehmen, damit man z.B. mit dem VirtualBox-Gast-System auf USB-Drucker zugreifen kann.
  1. Eine Gruppe für Benutzer mit USB-Zugriff anlegen:
  2. # groupadd -r usb
  3. Sich selbst die Gruppe geben:
  4. # usermod -a -G usb szi
  5. Das Start-Script anpassen, dass das USB-Dateisystem lädt:
  6. # sed -i "/domount usbfs/{s/$/,devgid=`getent group usb|cut -d: -f3`,devmode=664/}" /etc/init.d/mountkernfs.sh
Wichtig: Der obige Befehl muss in einer Zeile eingegeben werden.

Danach muss das System neu gestartet werden, damit das USB-Dateisystem beim Start richtig initialisiert wird. Wenn alles geklappt hat, sind die USB-Geräte im Menü von VirtualBox nicht mehr grau:

Mittwoch, 19. August 2009

Vodafone UMTS unter Debian (Lenny) einrichten

Die Einrichtung einer Vodafone UMTS-Karte unter Debian (Lenny) erfordert die Konfiguration von zwei Dateien:
  1. /etc/ppp/peers/vodafone-umts
  2. /etc/chatscripts/vodafone-umts
In der ersten Datei werden die PPP-Parameter definiert:
/dev/ttyUSB0
115200
noipdefault
usepeerdns
defaultroute
persist
noauth
Und in der zweiten werden die Befehle gesetzt, die für die Initialisierung des UMTS-Modems notwendig sind:
ABORT        BUSY
ABORT "NO CARRIER"
ABORT VOICE
ABORT "NO DIALTONE"
""    ATZ
OK    AT+csq
ECHO ON
CSQ: \c
\n \c
ECHO OFF
OK 'ATDT*99#'
Zusätzlich muss man selber in der Gruppe dip bzw. dialout sein. Danach kann man mit
$ pon vodafone-umts
die Internet-Verbindung öffnen.

Will man anderen z.B. virtuellen Systemen Zugriff auf das Internet erlauben, kann man zusätzlich in dem Verzeichnis /etc/ppp die Dateien ip-up.local:
iptables -t nat -A POSTROUTING -o "$PPP_IFACE" -j MASQUERADE
und ip-down.local anlegen:
iptables -t nat -D POSTROUTING -o "$PPP_IFACE" -j MASQUERADE
Die beiden Befehle müssen in einer Zeile stehen und die Dateien müssen ausführbar sein:
# chmod 755 /etc/ppp/ip-up.local
# chmod 755 /etc/ppp/ip-down.local
Meistens muss auch noch die IP-Paketweiterleitung aktiviert werden:
# sysctl -w net.ipv4.ip_forward=1

Logitech Bluetooth-Maus unter Debian (Lenny) einrichten

Unter Debian (Lenny) taucht die Bluetooth-Maus V470 von Logitech bei einer Suche nach Bluetooth-Geräten nicht in der Ergebnisliste auf. Man kann sie aber manuell aktivieren indem man die Mac-Adress, die auf der Unterseite des Geräts steht abschreibt. Mittels
# hidd --connect 00:07:61:d0:4b:f3
kann eine Verbindung zur Maus aufgebaut werden. Das hat bei mir erst beim dritten Versuch geklappt. Gegebenenfalls muss vorher noch eine Suche mit
# hidd --search
durchgeführt werden. Danach kann mittels der Bluetooth-Einstellungen die Vertrauenswürdigkeit des Geräts geändert werden.


Damit die Maus nach einem Neustart richtig initialisiert wird musste ich noch in der Datei /etc/default/bluetooth die folgenden beiden Optionen setzen:
HID2HCI_ENABLED=0
HIDD_ENABLED=1