mysql: symbol lookup error: /usr/lib/libmysqlclient.so.16: undefined symbol

Aus bisher unbekannten Gründen trat bei meinem Server* der Fehler im syslog auf: mysql: symbol lookup error: /usr/lib/libmysqlclient.so.16: undefined symbol: _ZN5yaSSL8HMaC_MD5C1EPKhj, version libmysqlclient_16 Der Fehler trat außerdem bei folgendem Kommando auf: mysql -u root -p Ein aptitude reinstall libmysqlclient16 reparierte das Problem. Puh! *Debian Squueze

Dezember 18, 2011 · 1 Minute

Gource und Dokuwiki – Bearbeitungen visualisieren

In Anlehnung an den französischen Blogeintrag von Wolverine will ich hier einmal auf deutsch erklären, wie man die Änderungen aus einem Dokuwiki mit Gource unter Ubuntu visualisiert. Zunächst installiert man, sofern noch nicht vorhanden, Gource: sudo aptitude install gource Anschließend muss das folgende Python-Script in eine Datei verfrachtet werden und ausführbar gemacht werden. Es dient dazu die *.changes$-Dateien vom Dokuwiki in ein für Gource lesbares Format zu bringen. #!/usr/bin/python """ This program parse logs of a dokuwiki and tranform them for gource (a log viewer) http://code.google.com/p/gource/ developped by WolverineX02 site : http://wolverinex02.blogspot.com """ import os.path import getopt import sys import re def listdirectory2(path): """list all the files like *.changes, read them and output them in gource's log syntax """ for root, dirs, files in os.walk(path): for i in files: if (re.search('\.changes$', i)): fichier = os.path.join(root, i) myfile = open(fichier, 'r') for line in myfile.readlines(): mots = line.split() if len(mots)>=5: resultat = mots[0] + "|" resultat += mots[4] + "|" resultat += translate(mots[2]) + "|" resultat += fichier print resultat elif len(mots)==4: resultat = mots[0] + "|Anonymous|" resultat += translate(mots[2]) + "|" resultat += fichier print resultat myfile.close() def translate(mot): """translate the dokuwiki vocabulary to the gource one C -> A E -> M other -> M """ if mot == "C": return "A" elif mot == "E": return "M" else: return "M" def main(argv): """principal function """ try: opts, args = getopt.getopt(argv, "hd:", ["help", "dokuwiki="]) except getopt.GetoptError: usage() sys.exit(2) for opt, arg in opts: if opt in ("-h","--help"): usage() sys.exit() elif opt in ("-d","--dokuwiki"): print listdirectory2(arg) def usage(): """this function will display how to use this script """ print "This script will output change logs of a dokuwiki" print "in a friendly way for gource" print "how to use it :" print "python gourcedoku.py -d ~/Sites/MyDokuwiki/ | sort > dokusort.log" print "and then :" print "gource --log-format custom dokusort.log --stop-position 1.0 \ " print "--stop-on-idle --file-idle-time 10000000" print "---" print "-h : help " print "-d : meta directory of your dokuwiki" #print listdirectory2(sys.argv[1]) if __name__ == "__main__": main(sys.argv[1:]) Nachdem man nun die Pythondatei (Bsp.name hier: doku2gource.py) hat, führt man folgenden Befehl aus: ...

Mai 15, 2010 · 2 Minuten

Alte Kernel inkl. Header entfernen

Durch Zufall bin ich auf den folgenden Befehl gestoßen, um mal alle alten angesammelten Kernel meines Ubuntus zu löschen. Damit spart man sich das mühselige Eintippen. $ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo aptitude purge -y Ausgeführt sieht es dann in etwa so aus: Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Lese erweiterte Statusinformationen Initialisiere Paketstatus... Fertig Die folgenden Pakete werden ENTFERNT: linux-headers-2.6.31-10{p} linux-headers-2.6.31-10-generic{p} linux-headers-2.6.31-11{p} linux-headers-2.6.31-11-generic{p} linux-headers-2.6.31-12{p} linux-headers-2.6.31-12-generic{p} linux-headers-2.6.31-13{p} linux-headers-2.6.31-13-generic{p} linux-headers-2.6.31-14{p} linux-headers-2.6.31-14-generic{p} linux-headers-2.6.31-15{p} linux-headers-2.6.31-15-generic{p} linux-image-2.6.31-10-generic{p} linux-image-2.6.31-11-generic{p} linux-image-2.6.31-12-generic{p} linux-image-2.6.31-13-generic{p} linux-image-2.6.31-14-generic{p} linux-image-2.6.31-15-generic{p} 0 Pakete aktualisiert, 0 zusätzlich installiert, 18 werden entfernt und 0 nicht aktualisiert. Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 1.172MB frei werden. Wollen Sie fortsetzen? [Y/n/?] Ich spare damit ab sofort über einen Gigabyte. Feine Sache! (via linuxundich.de)

Dezember 13, 2009 · 1 Minute

Probleme mit Atheros AR928X unter Ubuntu seit Jaunty

Da ich seit Jaunty (und auch noch unter Karmic) Probleme mit meinem WLAN hatte bzgl. Instabilität ist dieses Problem nun seit kurzem erschlagen. Ich habe einfach ein anderes Netzwerkmanagementtool installiert: WICD. Die Intallation ist simpel: sudo aptitude install wicd Bei der Installation wird dann der mitgelieferte Netzwerkmanager von Gnome runtergeschmissen und durch WICD ersetzt. Seit dem sind meine Probleme mit dem WLAN, dass alle paar Minuten einfach für 10-30 Sekunden kein Traffic durchkam, obwohl die WLAN-Verbindung bestand, wie weggeblasen! Endlich!

November 15, 2009 · 1 Minute

Django – Getting started

Um Django ganz normal unter Ubuntu zu nutzen, installiert man einfach Django: aptitude install python-django Nun erstell ich mir eine Arbeitsumgebung und ein Start-Projekt: mkdir django cd django django-admin startproject first export PYTHONPATH=/home/strubbl/django export DJANGO_SETTINGS_MODULE=first.settings django-admin runserver Wenn man nun mit dem Browser nach http://127.0.0.1:8000/ surft, sieht man folgende Seite. Das wars schon. :-)

Juli 21, 2009 · 1 Minute