Jul
03

JAXBContext und Message-driven Beans

Na sowas! Da gelingt es, via JMS einen Task zu parallelisieren, schon springt mir JAXB ins Kreuz mit einer seltsam anmutenden Fehlermeldung:

FWK005 parse may not be called while parsing

Laut java.net u.a. sieht es so aus, als wäre der XML Parser nicht so wirklich Thread-safe und damit für JMS mehr oder weniger schwierig einzusetzen. Weiterlesen »

Jun
05

Kirschen pflücken und Projektmanagement

Kirschen pflücken und Projektmanagement haben auf den ersten Blick natürlich nix gemein. Doch beim Pflücken hat man sehr viel Zeit, kommt etwas ins Grübeln und dabei erschließen sich einem gar revolutionäre Analogien. Aber lest selbst… Weiterlesen »

Mai
30

Miniserver im Handgepäck

Vor kurzem war ich auf der Suche nach einer schnellen aber eleganten Debug-Lösung zum Testen des Email-Versands. Natürlich lässt sich so ein Dienst auch ganz fix von Hand schreiben (der Autor überlässt das kurzerhand dem Leser zur Übung). Aber wer will das schon? Insbesondere dann, wenn es mal wieder schnell gehen muss! Weiterlesen »

Dez
28

Eingefroren doch längst nicht tot

Beim Basteln an der X-Server Konfiguration (/etc/X11/xorg.conf) ist an manchen Stellen der Herzinfarkt gewissermaßen vorprogrammiert. Bei einer fehlerhaften Einstellung genügt ein einfaches ‘startx’ und plötzlich geht nix mehr. Denjenigen, die nun das System wenigstens noch kontrolliert herunterfahren wollen, kann geholfen werden. Die Rettung erscheint in Form der ‘SysRq’ Taste. ‘Alt’ + ‘SysRq’ zusammen mit einer anderen Taste bietet die Möglichkeit, Kontrollsequenzen an den Kernel zu senden. Eine vollständige Liste dieser Sequenzen liefert u.a. die englische Wikipedia.

Die für einen sauberen Neustart notwendigen Tasten kann man sich leicht über die Eselsbrücke “Reboot Even If System Utterly Broken” einprägen. Diese Tasten lösen folgende Aktionen aus:

Taste Bedeutung
R Tastatur aus dem Raw-Mode zurückholen
E beendet (freundlich) alle Prozesse außer init
I tötet alle übrigen Prozesse (die, welche sich beim SIGTERM taub stellten) außer init
S Synchronisation aller eingehängten Dateisysteme
U alle eingehängten Dateisysteme nur-lesend einhängen
B Neustart des Systems

Damit das oben beschriebene funktionieren kann, muß das Feature allerdings erst noch im Kernel aktiviert sein. Dafür ist der Kernel mit der Option ‘CONFIG_MAGIC_SYSRQ’ zu kompilieren.

Jul
06

/etc/motd

Da liegt diese Datei herum und man weiß einfach nix vernünftiges damit anzufangen. Zur Erinnerung: sie wird bei jedem erfolgreichen User-Login auf der Konsole ausgegeben. Naja… Auf unseren Servern tummelt sich eine ganze Reihe von Leuten mit mehr oder weniger Erfahrung aber umso mehr administrativen Berechtigungen. Was liegt da näher, als den lieben User zu fortwährender Aufmerksamkeit bei seinem Tun zu ermahnen?!? ;)

                                              ,-._.-._.-._.-._.-.
                                              `-.             ,-'
       .--------------------------------.       |             |
      |                                  |     ,';".________.-.
      |  great power always accompanies  |     ;';_'         )]
      |  with great responsibility       |    ;             `-|
      |                                  `.    `T-            |
       `--------------------------------._ \    |___          |
                                          `-;   |             |
                                                |..________..-|
                                               /\/ |________..|
                                          ,'`./  >,(           |
                                          \_.-|_/,-/   ii  |   |
                                           `."' `-/  .-"""||    |
                                            /`^"-;   |    ||____|
                                           /     /   `.__/  | ||
                                                /           | ||

Schick verpackt in etwas ASCII-Art sorgt die Mahnung nebenbei noch für etwas Frohsinn bei der Arbeit! Die Grafik hab ich mir übrigens bei chris.com ausgeliehen, wo es übrigens noch viel mehr derartige Kunst zu finden gibt. Heißen Dank an dieser Stelle!!!

Jun
28

PostgreSQL als JBoss DefaultDS

Wenn man weiß, an welchen Stellen man schrauben muß, ist der Austausch der Hypersonic DB durch eine PostgreSQL DB als DefaultDS des JBoss gar nicht so kompliziert. Leider kann man aber aufgrund der teils doch recht unübersichtlichen Konfigurations-Dateien des JBoss dabei einiges übersehen. Darum habe ich die wichtigsten Schritte hier nochmal zusammengefaßt. Weiterlesen »

Jun
25

Backups mit rsync

Sicherst Du schon oder betest Du noch? Als vor einiger Zeit mein Rechner damit anfing, seltsame Geräusche von sich zu geben, mußte ich spontan daran oder an was ähnliches denken. Verdrängung vielleicht. Jedenfalls mußte schnellstens eine Backup-Strategie her… Irgendeine! Denn jedes noch so einfach gestrickte Backup ist besser als gar keins, gell? Für den denkbar einfachsten Fall, eine 1:1 Spiegelung der Daten, ist rsync ein ganz brauchbares Werkzeug. Weiterlesen »

Jun
13

Android in der Box

Android ist weit verbreitet auf mobilen Geräten. Mit der ebenfalls bei Google gehosteten x86 Live-CD Live Android können nun auch Anwender ohne Android-Handy in den Genuß dieser Plattform kommen und sie nach Herzenslust ausprobieren. Freilich kann man das heruntergeladene Image auch auf CD brennen und damit den Rechner neustarten. Mit VirtualBox steht allerdings eine – wie ich finde – viel elegantere Alternative zur Verfügung.

Weiterlesen »

Jun
02

Ein Portscanner für die Bash

Einfach nicht zu fassen, was dieses Tool alles kann! Im Funktionsumfang der Bash enthalten sind auch 2 Pseudo-Devices für die Kommunikation via TCP oder UDP:

  • /dev/tcp/HOSTNAME/PORT und
  • /dev/udp/HOSTNAME/PORT

Beim Aufrufen der Devices sollte es sich bei HOSTNAME um einen validen (im Sinne von via DNS auflösbar) Hostnamen oder eine IP handeln. Klar eigentlich. Und PORT ist wohl auch selbsterklärend. Ausgestattet mit diesen Werkzeugen läßt sich daraus nun ein prima Portscanner, der für jeden gegebenen Port einen TCP connect scan durchführt, bauen:

HOSTNAME=${1:-localhost}
PSTART=${2:-1}
PEND=${3:-1023}
for PORT in `seq $PSTART $PEND`; do
 (echo >/dev/tcp/$HOSTNAME/$PORT) >/dev/null 2>&1 && echo "$PORT open"
done

Das Skript erwartet als Parameter (in der Reihenfolge ihrer Nennung) den Namen des zu scannenden Hosts oder seine IP, den Beginn und das Ende der zu scannenden Portrange. Alle Parameter sind optional und werden ggf. durch localhost und die Ports 1-1023 ersetzt.

Aber immer dran denken liebe Kinder: NUR IM EIGENEN HEIM UND NICHT AUF DER STRASSE SPIELEN!!!

Mai
28

ThinkWiki

Beim Basteln auf der Tuxbox, und insbesondere während der Installation von Gentoo, sind detaillierte Informationen über die Hardware-Komponenten des Rechners absolut unerläßlich. Da führt der erste Weg natürlich zur Hersteller-Seite.

Zumindest was die Thinkpads angeht, bin ich da vor kurzem auf eine weitere interessante Informationsquelle gestoßen: ThinkWiki. Hier findet man eine Fülle an Infos zur Hardware-Spezifikation verschiedener Thinkpad-Modelle. Das wird ergänzt durch detaillierte Erfahrungsberichte über die Installation verschiedener Linux-Distributionen und eine Menge Beispiel-Skripte bzgl. Einrichtung, Start und Tweaking von diversen Komponenten, z.B. Thinklight, Fingerprint-Sensor und viele andere.

Ältere Beiträge «