Kategorien
Arbeit PC & Accessoires Sonstiges

MySQL: Foreign-Key-Constraints

Ich lese gerade http://blog.koehntopp.de/archives/2643-Ein-paar-Gedanken-zu-Foreign-Key-Constraints.html und bin über zwei Absätze gestolpert:

Technisch ist das eigentlich kein Problem, denn da dies alles in einer Transaktion geschieht tauchen beide Werte gleichzeitig erst zum COMMIT in der Datenbank auf, aber die Prüfung erfolgt leider per Statement und nicht per Transaktion. Ich muß also Entwickler als meinen Code passend strukturieren, egal ob das der Anwendungslogik gerecht wird oder nicht.

und

In MySQL ist die Nutzung von FK-Constraints überhaupt nur sinnvoll möglich, wenn die InnoDB Storage Engine verwendet wird. In MyISAM wird die Syntax für Constraint Definitionen zwar geparsed, dann aber nicht beachtet.

Fällt für mich eindeutig in die Rubrik: Good to know.

Kategorien
Arbeit Linux Sonstiges

Exchange, Anhänge und Thunderbird

Ich hab des Öfteren Probleme mit Dateianhängen von E-Mails, wenn ich diese per Thunderbird abrufe. Meist fehlen an der Datei ein paar Bytes, so das diese „kaputt“ ist. Wenn ich allerdings über die Weboberfläche des Exchange meine Anhänge runterlade, dann sind diese in Ordnung. Liegt also an Thunderbird*. Oder so. In jedem Fall gibt es eine Lösung:

  • Öffne die Einstellungen (Bearbeiten > Einstellungen)
  • Gehe zum „Erweitert“-Reiter
  • Klicke auf „Konfiguration bearbeiten“
  • Benutze ‚mail.server.server‘ als Filter
  • Such den Eintrag für den Exchange-Server
    • In meinem Fall war es mail.server.server2
  • Erstelle einen neuen Eintrag vom Typ „Boolean“
  • Der Name des Eintrages ist: mail.server.server<number>.fetch_by_chunks, der Wert ist „false“
    • bei mir war es dann: mail.server.server2.fetch_by_chunks=false

Quelle: http://gregs-obligatory-blog.blogspot.com/2007/12/thunderbird-exchange-imap-workaround.html

* Thunderbird macht es wohl richtig, d.h. RFC-konform, nur der liebe Herr Exchange meint es halt gut mit den Leuten: https://bugzilla.mozilla.org/show_bug.cgi?id=92111

Kategorien
Linux

Openoffice 3.1.1 + Ubuntu

Nachdem ich bereits erklärt habe, wie man Openoffice 3.1 installiert, hatte ich jetzt das Problem, das viele Icons gefehlt haben (bei 3.1.1). Dies lässt sich insofern beheben, indem man einfach das Paket openoffice.org-style-oxygen installiert.

Quelle: Ubuntuusers Forum – Problem mit Open Office 3.1.1 Icons

Kategorien
Linux Sonstiges

FileZilla & proftpd, Teil 3

So, endlich hat es die neuste Version (1.3.3-rc1) in den portage-tree von Gentoo geschafft. Allerdings gingen dann wieder die TLS-Verbindungen nicht. Grund des ganzen:

TLSOptions

The NoSessionReuseRequired option has been added. As of ProFTPD 1.3.3rc1, mod_tls only accepts SSL/TLS data connections that reuse the SSL session of the control connection, as a security measure. Unfortunately, there are some clients (e.g. curl) which do not reuse SSL sessions.

To relax the requirement that the SSL session from the control connection be reused for data connections, use the following in the proftpd.conf:

<IfModule mod_tls.c>

TLSOptions NoSessionReuseRequired

</IfModule>

Quelle: http://proftpd.org/docs/RELEASE_NOTES-1.3.3rc1

Kategorien
Linux Sonstiges

FileZilla & proftpd, Teil 2

Es gibt wohl gerade wieder Probleme mit der Kombination von FileZilla und proftpd:

http://forum.filezilla-project.org/viewtopic.php?f=2&t=7688

Jetzt hab ich auf dem Gentoo-Server zwar die „passende“ Version dafür das es funktionieren sollte, aber irgendwie macht es trotzdem noch Zicken. Seit Ende Juli gibt es zwei neue Versionen von proftpd (1.3.3rc1 und 1.3.2a), allerdings noch keinen offiziellen ebuild. Es gibt aber einen inoffiziellen (Bug #276371), der bei mir zwar kompiliert, aber keinen lauffähigen proftpd erzeugt. Allerdings war das eine 3min-Hau-Ruck-Aktion, mit ein bißchen Geduld geht da sicher mehr 🙂

Bleibt also wieder die alte Lösung: Server updaten oder FileZilla downgraden 🙂

Kategorien
Linux Sonstiges

Animiertes Gif mit ImageMagick

Hauptsächlich, damit ich das nicht dauern selber nachschlagen muss:

convert -delay 30 -loop 0 -resize 500x500 *.jpg animiert.gif
  • delay: Pause zwischen den Bildern in 100stel Sekunden (100 Einheiten = 1 Sekunde)
  • loop: wie oft die Bilderabfolge wiederholt werden soll. 0 steht hier für „dauernd“
  • resize: verkleinert das Bild so, das es in einen Rahmen von 500×500 passt
Kategorien
Linux Sonstiges

Gentoo – portage & python

Gerade über ein Problem gestolpert. Hab ein emerge -avuD world gemacht und danach war dann irgendwie „alles“ kaputt:

import: unable to open X server `' @ import.c/ImportImageCommand/367.
/usr/bin/emerge: line 8: try:: command not found
import: unable to open X server `' @ import.c/ImportImageCommand/367.
/usr/bin/emerge: line 11: syntax error near unexpected token `('
/usr/bin/emerge: line 11: `     def exithandler(signum,frame):'

Letzendlich beschreibt [2] genau das Problem und liefert auch gleich die Lösung:

  1. Den Kernel auf die Version 2.6.30-r* (irgendwas in dem Kernel erlaubt kaskadierende Shebangs .. it will fix it 🙂 )
  2. rm /usr/bin/python && ln -s /usr/bin/python2.6 /usr/bin/python

    Ein Hack, aber wirksam

Quellen:

UPDATE:
Erstmal für mich das Script das man löscht:

~> cat /usr/bin/python
#!/bin/sh
# Gentoo Python wrapper script

[[ "${EPYTHON}" =~ (/|^python$) ]] && EPYTHON="python2.6"
"${0%/*}/${EPYTHON:-python2.6}" "$@"

in >=app-admin/eselect-python-20090804 ist das Problem behoben

Kategorien
bash Linux Sonstiges

Quassel – Client vom Server aus trennen

Hatte am Wochenende wieder das Problem, dass ich einen Quassel-Cient (kennt ihr von hier) zuviel laufen hatte. Zwar kann Quassel dies ohne Probleme handhaben, nur markiert mir dieser Client das aktuelle Fenster immer als gelesen, so dass ich nix mitkrieg in diesem Channel. Aber wie trennt man den Client wenn man keinen Zugriff auf den Client-PC hat? Ganz einfach: Zuerst findet man raus, von welcher IP bzw. URL der Client sich konnektiert. In meinem Fall war das einfach

~ netstat --numeric-ports -W | grep 4242
tcp        0      0 meinserver.de:4242        derersteclient.de:1348 VERBUNDEN
tcp        0      0 meinserver.de:4242        derzweiteclient.de:53575 VERBUNDEN

dann nutzt man tcpkill. Das tötet einfach alles was an TCP/IP von diesem Host kommt. Find ich gut 🙂

~ tcpkill host derzweiteclient.de
tcpkill: listening on eth0 [derzweiteclient.de]
213.*.*.* - 212.*.*.*:50937: R 1398992140:1398992140(0) win 0
213.*.*.* - 212.*.*.*:50937: R 1398992260:1398992260(0) win 0
213.*.*.* - 212.*.*.*:50937: R 1398992500:1398992500(0) win 0
212.*.*.*:50937 - 213.*.*.*:22: R 2312272914:2312272914(0) win 0
212.*.*.*:50937 - 213.*.*.*:22: R 2312273916:2312273916(0) win 0
212.*.*.*:50937 - 213.*.*.*:22: R 2312275920:2312275920(0) win 0
CTRL^C

ACHTUNG: Man sollte tunlichst das nicht vom „derzweiteclient.de“-PC machen, weil man sich damit komplett aussperrt. tcpkill läuft solange bis man es abbricht, in der Regel reichen schon 3-5 Sekunden für Quassel zum disconnecten.

Man kann das optimieren mit der Port-Angabe, z.B.: tcpkill host derzweiteclient.de port 4242. Einfach mal bei tcpdump nachlesen was es alles für Optionen gibt.

Kategorien
PC & Accessoires Sonstiges Spass

Lucasarts

Irgendwie haben die gerade ne Retro-Phase:

http://www.netzw…team-plattform.html

Kategorien
PC & Accessoires Sonstiges

OpenOffice – Sinnvolle Erweiterungen

Gerade über das Linux-Magazin gefunden: