Today's Links
.kkapture is a small tool that produces video+audio captures of fullscreen apps (usually demos) - Nettes Tool um Videos von Demos zu erzeugen
BitJam - Neben Slayradio.org und Scenemusic.eu ein weiteres Sceneradio.
Anatomy of the Linux slab allocator
SchemaCrawler - Ein Kommandozeilentool für Datenbanken um das Datenbankschema und - daten lesbarer Form auszugeben und damit besser vergleichbar machen zu können
A history of the Amiga, part 1: Genesis
A history of the Amiga, part 2: The birth of Amiga
Orion Nebula Fly-Through - Diese Seite beinhaltet ein wunderschönes Video mit einem Flug durch den Orion-Nebel. Wirklich wunderschön!
Copy hard disk or partition image to another system using a network and netcat (nc) - Wie man eine ganze Festplatte oder Partition über ein Netzwerk kopiert
Blueprint is a CSS framework, which aims to cut down on your CSS development time.
Free Software Sticker Book - Jetzt kann man endlich die ganzen Microsoft-Aufkleber vom Computer entfernen ;-)
Hacking with PostgreSQL - Wie man sich über Postgres Zugriff auf die Shell verschafft, wenn man keinen Shell-Zugang hat...
Technorati Tags: kkapture, bitjam, scene, radio, linux, slab, schemacrawler, database, amiga, history, orion, astronomie, video, netcat, partition, harddisk, blueprint, css
Posted at 10:38nachm. Aug. 28, 2007 by cetixx in Links | Kommentare [0]
Bin ich Ijon Tichy - Raumpilot!
Falls die Serie jemand noch nicht kennt... Also der Typ und die Serie sind echt zum Schießen: Ijon Tichy (unbedingt Trailer anschauen). Zitat: "Der ganze Planet ist blöd, wie Esel schlau!". Das Ganze lief im ZDF, läuft jetzt im ZDFtheaterkanal und jetzt auch auf DVD. Wer auf Blödsinn steht, ist hier richtig...
In diesem Sinne: Rakete fliegt gut! Brauch ich kein teuer Inspektion! :-)
Technorati Tags: ijon, tichyPosted at 02:00nachm. Aug. 21, 2007 by cetixx in Arts | Kommentare [0]
Tor, Privoxy, Firefox, Gentoo und anonym surfen
Naja... Anonym surfen ist ja etwas Augenwischerei im Internet. Google, CIA, NSA, BND, Innenministerium und das Finanzamt sitzen ja eh schon überall drin - ok, kleiner Scherz am Rande ;-) Ich hab nix zu verbergen! Genau - solange, bis mal jemand bei der Schufa die Datensätze durcheinander bringt. Dann wird aus dem unschuldigen Bürger plötzlich der Kreditpreller. Ok, das wird natürlich nie passieren, auch klar oder? Schöne Aussichten. Ein bißchen Sarkamus muss ja auch mal sein ;-) Aber zurück zum Thema... Es gibt Seiten, da ist es wohl besser, wenn man sich etwas unauffälliger verhält, welche Gründe man auch immer haben mag dafür. Dafür ist das Gespann Tor, Privoxy und Firefox ideal.
Nun... Unter Gentoo ist das auch relativ schnell installiert. Zuerstmal die Software:
emerge -av tor
emerge -av privoxy
Firefox wird ja wohl jeder schon irgendwo rumliegen haben ;-) Was ist nun Tor eigentlich? Tor ist ein ganzes Netzwerk von Rechnern. Damit kann man ganz gut seine eigene IP-Adresse gegenüber der Seite verstecken, auf die man zugreifen möchte. Dazu wird der ganze Verkehr verschlüsselt (schon vom Client weg) durch das Tor-Netzwerk geschickt und das über mehrere Tor-Server hinweg. Der Weg ändert sich von Zeit zu Zeit, damit einem Angreifer es nicht zu leicht gemacht wird, den Weg zurück zu verfolgen. Was Tor allerdings nicht verbergen kann, ist alles, was der Browser mitschickt also z.B. Cookies oder Informationen, die über JavaScript ausgelesen werden. Dafür gibt's den Proxy Privoxy. Das Teil ist so mächtig, das ich mir eine genaue Beschreibung spare ;-) Wir wollen momentan nur erreichen, das der Browser möglichst wenig Informationen über uns rausrückt und das tut Privoxy schon sehr gut in der Defaulteinstellungen.
Eine Beispielkonfiguration von Tor liegt in /etc/tor. Dort kopieren wir die Datei torrc.sample nach torrc. Dort drin muss man eigentlich nicht viel umstellen. Die Defaulteinstellungen sind eigentlich ok. Tor startet man dann einfach mit
/etc/init.d/tor start
Damit der Service nach dem Rechner-Reboot wieder startet, führen wir noch
rc-update add tor default
aus. Dann wechseln wir zur Konfiguration von Privoxy nach /etc/privoxy. Dort müssen wir Privoxy in der Datei config mitteilen, das alle Anfragen über das Tor-Netzwerk laufen sollen. Also fügen wir am Besten (ist aber eigentlich egal) unter forward-socks4 and forward-socks4a Folgendes hinzu (wenn man die torrc nicht verändert hat diesbzgl.):
forward-socks4a / localhost:9050 .
Privoxy hat einen sehr großen Regelsatz. Da steht z.B. drin, das Anfragen an bestimmte Ad-Server (da wo die Werbung herkommt) rausgefiltert werden, Kommandos seitens des Servers zum Setzen eines Cookies entfernt werden, usw. Die Regeln und Aktionen findet man in den Dateien, die mit action oder filter enden. Die Dateien sollte man sich wirklich einmal genauer ansehen, aber Änderungen nimmt man nur in der user.action vor. Da diese Datei als Letztes eingelesen wird, überschreibt diese Datei Regeln, die in den davor genannten Dateien definiert wurden. Möchte man z.B. von bestimmten Seiten doch Cookies zulassen, fügt man diese Seiten einfach unter dem Abschnitt { allow-all-cookies } ein. Die Dateien sind sehr gut dokumentiert und es sind viele Beispiele drin. Einfach mal anschauen. Passt hier dann alles, starten wir Privoxy:
/etc/init.d/privoxy start
Auch hier wollen wir, das Privoxy beim Starten des Rechners ebenfalls hochkommt:
rc-update add privoxy default
Wenn man nun im Firefox unter den Verbindungseinstellungen angibt, das man über den Proxy localhost:8118 surfen möchte, schickt Firefox alle Anfragen an Privoxy, welcher dort alle sicherheitsrelevanten Angaben entfernt (wir wollen ja möglichst unerkannt bleiben) und leitet es an den Tor-Daemon weiter, welcher die Daten dann verschlüsselt und sie an's Tor-Netzwerk durchreicht. Man darf sich vom Tornetzwerk nicht allzu viel Performance erwarten. Das Ganze ist relativ langsam, aber man kann damit leben.
Wir können nun aber in den Firefox ein Skript laden, das genau definiert, welche Seiten wir über das Tor-Netzwerk besuchen wollen und welche Seiten direkt angefragt werden sollen. Das Ganze ist JavaScript sehr ähnlich und sieht z.B. so aus:
function FindProxyForURL(url, host) {
if (isInNet(host, "193.222.168.0.", "255.255.255.0") ||
dnsDomainIs(host, ".boeseseite.de") ||
return "PROXY localhost:8118";
} else {
return "DIRECT";
}
}
Hier legen wir also fest, das Anfragen an das komplette Class-C Netz 193.222.168.0/24 und an boeseseite.de über Privoxy und damit über das Tor-Netzwerk laufen und der Rest ganz normal direkt angefragt wird. Man kann damit noch viel mehr machen. Genaueres gibt es hier nachzulesen: Navigator Proxy Auto-Config File Format
Diese Datei muss beim Firefox dann nur noch in den Einstellungen/Erweitert/Netzwerk angegeben werden z.B. file:///home/user/proxy/proxy.pac und schon werden die Einstellungen aktiv. In diesem Sinne...
Posted at 08:00vorm. Aug. 21, 2007 by cetixx in Tipps | Kommentare [0]
Today's Links
SWF Tools - Eine ganze Menge an OpenSource Tools für das SWF-Format (Flash): PDF2SWF, SWFCombine, SWFStrings, SWFDump, JPEG2SWF, PNG2SWF, GIF2SWF, WAV2SWF, AVI2SWF, Font2SWF, SWFBBox, SWFC, SWFExtract, RFXSWF
Hardening your systems with Bastille Linux
Hyperic HQ - Ein OpenSource Inventarisierungsprogramm. Das Teil ist recht umfangreich. Wenn man einen Überblick über seine IT-Landschaft behalten will, sollte man sich das mal genauer anschauen. Es unterstützt inzwischen 9 Betriebssysteme, wo die meisten dieser Tools nur Windows und vielleicht noch ein oder zwei andere OSe unterstützen.
Layer Four Traceroute (LFT) - Dieses OpenSource traceroute nutzt nicht nur ICMP und/oder UDP sondern auch TCP.
DVD-Baker Project - Hilft die eigene Bilderkollektion auf DVD zu bringen und erzeugt entsprechende Slideshows
PostgreSQL: Speeding up NOT IN
OpenProj - Eine OpenSource Alternative (Ersatz) für Microsoft Project.
Java wrapper for FFMPEG
Ein Jahrzehnt Evoke: Demoszene feiert digitale Kunst
Spreading Python applications - Eine Art Paketmanager für Python
YouScope - Demo auf einem Oszilloskop ;-)
Technorati Tags: swf, flash, tool, bastille, linux, hyperic_hq, inventarisierung, lft, traceroute, dvd-backer, slideshow, dvd, postgresql, sql, openproj, java, ffmpeg, evoke, demoscene, python, youscope, demo
Posted at 01:00vorm. Aug. 18, 2007 by cetixx in Links | Kommentare [0]
Today's Links
Radio PARALAX - Musik und Remixe von C 64 und Amiga Spielen und außerdem von freischaffenden Musikern und Künstlern die nicht in der GEMA vertreten sind
Radio PARALAX Blog
Saturn's ring mystery is solved
Extract an image screenshot from a Video with ffmpeg - Wie man Bilder aus einem Video mit ffmpeg extrahiert.
yotophoto - Diese Suchmaschine such nach lizenzfreien Bilder u.a. bei Flickr, Wikipedia, Stock.Xchng, Morguefile, Pixelperfect Digital und OpenPhoto.
Running Microsoft Windows inside Debian: qemu
Linuxuser - Systememulation mit QEMU (schon etwas älter, aber trotzdem interessant).
Virtuelle Maschinen und Emulatoren - Ein umfangreiches Forum über VMs und Emulatoren bei linuxforen.de
Qemu bei Wikipedia
How to run an OpenSolaris operating system as a guest under the QEMU emulator - OpenSolaris unter Qemu laufen lassen
BBC - Radio 1 Rock Show
Run Your Own Webradio Station With Icecast2 And Ices2
How to secure VNC remote access with two-factor authentication
How to convert YouTube videos to DivX or XviD - YouTube Videos nach DivX oder XviD konvertieren
Videos konvertieren und bearbeiten mit transcode
Windows Offline Update - Windows Updates ohne Internetverbindung einspielen
Building Full-Text Search Applications with Oracle Text
jME (jMonkey Engine) - Eine OpenSource Java Grafik-Engine
Posted at 01:00vorm. Aug. 17, 2007 by cetixx in Links | Kommentare [0]
Ein schönerer Firefox
Nach dem mein KDE nun ja schon eine Weile mit CompizFusion läuft, was einfach verdammt cool ist, hab ich dann letztendlich auch den Window Manager Emerald installiert, was dann noch cooler ist ;-) Dem hab ich dann das Theme Darkly Glassed verpasst. Jetzt hatte ich eine wunderschöne dunkle Oberfläche, nur der komische Firefox war immer noch helle :-( Aber kein Thema! Jetzt gibt es endlich ein dunkles Theme für den Firefox, das wirklich schön ist und verdammt gut aussieht: NASA Night Launch
Ein kleines Goodie für Linux-User mit KDE gibt's dann noch hier: Firefox Form Widgets Das gibt dann noch schöne Buttons im Firefox :-)
Posted at 10:55nachm. Aug. 16, 2007 by cetixx in Tipps | Kommentare [0]
Today's Links
Der Sonnensender - Nach dem das Radio 80fm leider noch immer nicht sendet, hab ich einen neuen 80er Sender gefunden.
Skilled Listening in Java - How to generate events for listeners correctly and efficiently
RapidMiner / YALE - Open-Source Data Mining Java Software
KSS - Javascript-free Ajax
Pan - a feature-rich newsreader for Linux
Technorati Tags: 80fm, radio, sonnensender, java, listeners, opensource, rapidminer, mining, kss, ajax, pan, newsreader, linux
Posted at 01:00vorm. Aug. 16, 2007 by cetixx in Links | Kommentare [0]
Java jMonkeyEngine
Es gibt ja Leute, die immer noch meinen Java sein langsam. In diesem Falle empfehle ich dieses Video:
Technorati Tags: graphics, opensource, java, 3d, jmonkeyengine
Posted at 11:00nachm. Aug. 15, 2007 by cetixx in Computers | Kommentare [0]
Thunderbird: Extensions
Es gibt ja nicht viele Thunderbird-Addons, die wirklich gut sind, aber ein paar davon sind sehr praktisch und haben sich bei mir bewährt:
Folderpane Tools: Was mich schon seit jeher gestört hat ist, das man die Ordner/Accounts links nicht nach seinem Geschmack sortieren konnte. Wenn man mehrere Konten verwaltet, dann stört das. Folderpane kann genau das.
SmtpSelect: Einfach über einen Button auswählen, welchen SMTP-Server zum Versenden einer Nachricht man gerne verwenden möchte.
XNote: XNote ermöglicht, zu jeder Mail eine Notiz abzuspeichern. Das ist recht schön gelöst und Nachrichten mit Notzizen sind dann auch gelb (default) hinterlegt.
Allow HTML Temp: Die wichtigste Erweiterung überhaupt. Ich hasse HTML-Mails. Diese Erweiterung macht grundsätzlich mal Text draus und wenn's dann doch nicht anders geht, kann man den Button "Show HTML" bemühen, wenn man den Button entsprechend in die Buttonleiste eingefügt hat.
Das war's eigentlich schon. Mehr braucht der Thunderbirder eigentlich nicht ;-)
Technorati Tags: thunderbird, extensions, addon, folderpane, smtpselect, xnote
Posted at 08:00vorm. Aug. 15, 2007 by cetixx in Tipps | Kommentare [0]
MPLAYER: Bilderstrecke von einem Video extrahieren
Mit der Zeit sammelt sich ja doch u.U. eine größere Sammlung von Videos an und alle liegen in div. Formaten vor. Mein Ziel war es nun, eine gewisse Anzahl von Frames aus jedem Video zu extrahieren und eine Kollage zu erstellen, die ich dann in eine HTML-Seite einbinden kann. Damit kann ich dann eine Preview aller Videos, die irgendwo auf der Platte so rumliegen, im Browser anguggen. Unter Windows gibt es dafür ein sehr schönes Programm, das sich Image Grabber II nennt. Da die Homepage von Image Grabber II eigentlich nie erreichbar ist, sucht ihr am Besten mal bei Google, wo man es downloaden kann. Das Programm ist Freeware. Man gibt z.B. an, das man 30 Bilder von dem Video haben möchte und Image Grabber II erstellt dann 30 Thumbnails, die es dann wiederum zu einer Übersichtsgrafik zusammen fügt. Es unterstützt alle möglichen Videoformate. Nun... Sowas wollt ich auch unter Linux haben. Ich habe leider nichts Entsprechendes gefunden, aber wie so oft - mplayer to the rescue z.B.:
mplayer -nosound -sstep 10 -vo jpeg:outdir=/tmp/test test.wmv
mplayer spielt die Videodatei in diesem Fall ohne Sound ab (-nosound) und gibt ein Bild im JPEG-Format alle 10 Sek. (-sstep 10) in das Verzeichnis /tmp/test aus. Wenn man also eine Videodatei hat, die 60 Sek. lang ist, erhält man 10 Bilder im angegebenen Verzeichnis. Das ist schon mal ganz nett, aber wie erstellt man jetzt aus diesen Einzelbildern eine Kollage? Nun, da muss ich mal guggen, wie ich das am Besten anstelle, aber derweilen habe ich mir Picasa von Google für Linux runtergeladen. Das läuft unter Wine. Damit lassen sich schöne Kollagen erstellen. Falls jemand ein Programm weiss, das das nativ unter Linux macht: Immer her damit :-)
Noch eine Anmerkungen zu den Videoformaten unter x86_64 (AMD64/EMT64): Viele Codes liegen nur als 32Bit vor. Mein Gentoo ist aber 64bit. Viele Videos laufen problemlos, aber WMV z.B. macht schon etwas Probleme. Aber die Gentoo-Entwickler haben einen ziemlich coolen Workaround gebastelt, der hier beschrieben ist: HowTo AMD64 -Mplayer and 32bit codecs
Im Prinzip ist die Sache relativ einfach. In die /etc/portage/package.keywords trägt man folgende Zeilen ein:
media-video/mplayer-bin
media-libs/win32codecs
app-emulation/emul-linux-x86-medialibs
app-emulation/emul-linux-x86-soundlibs
app-emulation/emul-linux-x86-baselibs
und macht dann einen
emerge -av mplayer-bin
Das installiert dann Einiges nach u.a. auch die Win32 Codecs. Anschließend ruft man dann nicht mplayer auf sondern
mplayer-bin -nosound -sstep 10 -vo jpeg:outdir=/tmp/test test.wmv
Und schon sollt's funktionieren... :-) In diesem Sinne: Volle Kanne!
Update 2007-08-16: Ich hab ein Tool gefunden, das unter Linux ähnlich arbeitet wie Imagegrabber II unter Windows. Es nennt sich VideoCut. Tolles Programm! Frisst zwar noch nicht alle Formate, aber ein ffmpeg-Backend ist in Arbeit. Aber eigentlich wollte ich ja was für die Kommandozeile ;-)
Posted at 01:30vorm. Aug. 15, 2007 by cetixx in Tipps | Kommentare [0]
Today's Links
curl-loader - Ein HTTP/HTTPS/FTP-Lasttesttool das komplett in C geschrieben ist.
PosteRazor - Mit diesem Opensource Programm kann man Poster selbst erzeugen und ausdrucken.
Linbox Directory Server - Ob die Welt noch einen LDAP-Server braucht, weiss ich nicht, aber Auswahl kann ja nicht schaden ;-)
Rivendell Opensource Radio Automation - Wer schon immer mal seine eigene Radiostation eröffnen wollte, findet hier alles, was man braucht.
Spam filtering with qpsmtpd
Anti-Spam SMTP Proxy (ASSP) server project
Dr. Morena - Firewall Configuration Testing Tool
Copy Link Text (CoLT) Firefox Extension - CoLT oder Copy Link Text ermöglicht das Kopieren eines Links inklusive Name und Adresse in selbstdefinierten Formaten, z.B. für das Einfügen in Foren und Wikis.
50+ Tools For Torrenting - Für die Torrent-Freaks...
Monitoring Debian Servers Using Monit
DevelopSpace Wiki - The goal of DevelopSpace is to build-up the technical foundations for human space activities.
Pyro project - Interessantes Konzept. Pyro ist eine Art Window-Manager für Webseiten und basiert auf Firefox. Ein kompletter Desktop mit Firefox soz.
Sandcat by Syhunt - Web Server & Application Vulnerability Scanner - Leider nur für Windows...
iMacros for Firefox (Extenstion) - Ziemlich heftige Firefox Extension... Eine komplette Macrosprache für Firefox.
CodecInstaller für Windows - Wenn mal wieder ein Video nicht abspielen will...
XUL/Migemo Firefox Extension - Bietet u.a. ein Highlight Feature wie Apples Safari 3
Ctrl+R to search and other terminal history tricks
PostgreSQLs Datenbestände bzw. Datenbanken sichern
First Steps to Scala - Das ist eine witzige (relativ) neue Programmiersprache, die .NET CLR und Java Bytecode erzeugt beim Kompilieren und: Scala is a statically typed, object-oriented programming language that blends imperative and functional programming styles
Technorati Tags: curl-loader, http, stress, lasttest, postrazer, poster, ldap, directory, radio, opensource, spam, smtp, qpsmtpd, assp, drmorena, firewall, firefox, extension, torrent, monitoring, monit, space, sandcat, imacros, codecinstaller, bash, shell, postgresql, backup, scala
Posted at 12:00vorm. Aug. 10, 2007 by cetixx in Links | Kommentare [0]
Today's Links
GoogleXtra.com - Den werden sie zwar bald verklagen, aber der Dienst ist trotzdem praktisch. Alle Google Dienste auf einer Seite zu durchsuchen ist schon praktisch...
Java Classic RPG Open Source Framework and Game SVN (Java Classic Role Playing Game Framework)
Flickr Toys - Eine ganze Reihe von netten Flickr Tools.
walk2web - Nettes Spielzeug. Zeigt grafisch schön an, wohin eine Seite weiterverlinkt.
Java Rich-client application performance tutorial - Part 1, Part 2
Unix/Linux command line reference (PDF)
The Best 80 Photoshop Text Effects on the Web - Coole Liste (mit Vorschau) zu div. Tutorials im Web
The getting good with BitTorrent roundup - Alles über BitTorrent
PostgreSQL: Simple howto about restoring damaged template1 - Wie man template1 wieder herstellt ;-)
Editing music scores with free linux software - Notenprogramme für Linux
AmigaSYS - A pre-installed Amiga Operation System pack for WinUAE and for High performance Amiga Computers
Open Tools for MySQL Administrators - Eine nette Übersicht von Tools für MySQL Administratoren
Measuring resources for a MySQL server on Linux - Wieviel CPU und Speicher braucht eigentlich so eine MySQL?
MySQL Performance Tuning Primer Script - Sehr praktisch...
mysqlreport - Noch praktischer ;-) Wenn man eine schnelle Übersicht braucht, was in den InnoDB DBs abgeht, dann hilft dieses Skript.
The innotop MySQL and InnoDB monitor - Ein mtop-Ersatz.
rssnotifier - Ein Trayicon in Java geschrieben, das die neuesten Feeds anzeigt.
PostBooks - A fully open source accounting, ERP, and CRM system that shares a code base with the OpenMFG commercial product
Minimig - An Amiga in an FPGA (Minimig stands for Mini Amiga. Minimig is an FPGA-based re-implementation of the original Amiga 500 hardware)
Kickstart ROM Replacement - Wer die Entwicklung eines Ersatzes des Amiga Kickstart ROMs unterstützen möchte, ist hier richtig.
Technorati Tags: mysqlreport, rss, performance, photoshop, postbooks, mysql, linux, tuning, rpg, flickr, walk2web, postgresql, java, minimig, google, bittorrent, eclipse, music, opensource, effects, amiga, kickstart, commandline
Posted at 12:00vorm. Aug. 09, 2007 by cetixx in Links | Kommentare [0]
POSTGRESQL: Wie finde ich raus, wieviel Speicher eine DB auf der Platte verbraucht
Tino Schwarze hat dazu eine nettes, kleines Skipt auf der Postgres-Mailingliste gepostet, welches relativ selbsterklärend ist:
#!/bin/bash
#
# Shell script to determine disk usage of PostgreSQL databases.
# by Tino Schwarze/Community4you
#
PGDATADIR=/data/db1
PGPORT=5432
PSQLBIN=/opt/pgsql/8.2.4/bin/psql
PGOPTS="-U postgres"
echo "PostgreSQL database sizes"
$PSQLBIN $PGOPTS -p $PGPORT -t -F " " -A template1 -c 'select oid,datname from pg_database' | \
while read oid dbname ; do
[ "$dbname" != "template1" ] || continue
[ "$dbname" != "template0" ] || continue
size="`du -sh $PGDATADIR/base/$oid | cut -f 1`"
while [ ${#dbname} -lt 16 ] ; do dbname="$dbname " ; done
printf "$dbname\t%6s\n" $size
done
Have fun!
Technorati Tags: postgresql
Posted at 01:30vorm. Aug. 02, 2007 by cetixx in Tipps | Kommentare [0]
POSTGRESQL: Database must vacuumed within XXXXXXX transactions
Puh... Da guggste erstmal etwas ungläubig aus der Wäsche, wenn dir Postgres folgende Meldung um die Ohren legt:
2007-07-31 19:27:33 CEST WARNING: database "userbase" must be vacuumed within 999831 transactions
2007-07-31 19:27:33 CEST HINT: To avoid a database shutdown, execute a full-database VACUUM in "userbase".
2007-07-31 19:27:33 CEST WARNING: database "userbase" must be vacuumed within 999830 transactions
...
2007-07-31 19:27:33 CEST WARNING: database "userbase" must be vacuumed within 999809 transactions
2007-07-31 19:27:33 CEST HINT: To avoid a database shutdown, execute a full-database VACUUM in "userbase".
2007-07-31 19:27:33 CEST ERROR: could not access status of transaction 539227074
2007-07-31 19:27:33 CEST DETAIL: could not open file "pg_clog/0202": No such file or directory
Das Schöne dabei ist, das dann gar nix mehr geht und Postgres sicherheitshalber keine Verbindungen mehr annimmt - auch nicht vom Administrator. Schon schick... Nun zurückzuführen war das Ganze auf einen Bug im Autovacuum-Daemon, der mit Version 8.1.7 behoben wurde. 8.1.5 war aber am Laufen.
Was hab ich also gemacht? Im Gegensatz zum Oracle Support, der Core-Dumps auch nach 3 Monaten nicht analysiert bekommt, ist die Postgres-Mailingliste eine echte Wohltat. Apropos Oracle Support: Mein Gott ist der inzwischen schlecht geworden... Nichts für ungut, aber ich mach mit Oracle jetzt seit über 8 Jahren rum und ich bin sowas von froh, wenn die letzte Oracle abgeschaltet wird. Aber das nur nebenbei... Nachdem ich schon eine Weile am Suchen war, hat ein kleiner Tipp eines Users der Mailingliste (Antwort hat ca. 15 Min. gedauert...) mich weitergebracht.
Im Endeffekt habe ich Folgendes gemacht: Es fehlte der DB angeblich ein Transactionlog names 0202. Das war aber eigentlich Blödsinn, denn soweit war er mit seinen Logs noch gar nicht. Zuerst hab ich ein Upgrade von 8.1.5 auf 8.1.9 gemacht, da dort der Bug behoben war. Ich hab dann im Verzeichnis pg_clog das Log FFE (das hat mir am Besten gefallen) nach 0202 kopiert (DB war dabei natürlich unten). BTW: Ein Backup der Daten wäre schon angebracht, bevor man das macht ;-) Dann hab ich ein Skript ausgeführt, das die Postgres im Standalone Mode startet (kann man in der Postgres Doku nachlesen):
postgres -d 2 -S 50000 -B 300000 -D /var/lib/postgres userbase << SQL
VACUUM FREEZE
SQL
Das hat dann jede Menge Transactionlogs weggeschmissen, aber immerhin lief das durch. Anschließend (zur Sicherheit):
postgres -d 2 -S 50000 -B 300000 -D /var/lib/postgres userbase << SQL
VACUUM FULL VERBOSE ANALYZE
SQL
Dann hab ich die DB wieder gestartet. Und tata: Lief wieder! Aber dadurch, das der Autovacuum nicht sauber lief aufgrund des Bugs, war jetzt natürlich max_fsm_pages zu klein geworden (das sieht man dann, wenn man ein "normales" VACUUM auf die DB macht zum Schluss). Ich mußte also noch ein VACUUM FULL auf alle Instanzen durchführen, damit alles wieder aufgeräumt wird. Das ist übel, aber unvermeidlich in diesem Fall.
In diesem Sinne: Volle Kanne!
Technorati Tags: postgresql
Posted at 12:30vorm. Aug. 02, 2007 by cetixx in Tipps | Kommentare [0]