Probleme mit Mono auf Ubuntu-Servern

Wenn man beim Ausführen einer Mono-Applikation auf einem Ubuntu-Server Fehlermeldungen wie diese:

Unhandled Exception: System.TypeLoadException: A type load exception has occurred.
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: A type load exception has occurred.

zu sehen bekommt, so lässt sich dieses Problem meist leicht lösen, indem man die passenden Mono-Bibliotheken durch Installation des Paketes „mono-complete“ hinzufügt:

apt-get install mono-complete

Danach sollte die entsprechende Anwendung ohne Probleme starten.

Spotlight-Indexierung aktivieren

Möchte man ein bestimmtes Volume auf eine vorhandene Spotlight-Indexierung überprüfen, so kann man dies mittels des Kommandos

mdutil -s /Volumes/Disc123/

auf dem Terminal erledigen. Wenn die Ausgabe in diesem Fall

/Volumes/Disc123: Indexing disabled.

lautet, bedeutetet dies, das keine Spotlight-Indexierung für das betreffende Volume erfolgt. Über das Kommando

sudo mdutil -i on /Volumes/Disc123/

kann die Indexierung für das entsprechende Volume aktiviert werden. Anschließend sind die Dateien per Spotlight auffindbar.

Probleme beim MySQL Dump mit nicht existierenden Nutzern

Unter Linux kann man mittels

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

alle MySQL Datenbanken in eine SQL Datei sichern. Allerdings kann es unter Umständen passieren, das man folgende Meldung bekommt:

mysqldump: Got error: 1449: The user specified as a definer ('u123456789'@'%') does not exist when using LOCK TABLES

Ein Workarround wäre es das ganze mit dem Parameter „–lock-tables=false“ aufzurufen:

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

Allerdings behandelt dies nur die Symptome. Um das Problem zu lösen wird im ersten Schritt der fehlende Nutzer angelegt.

GRANT ALL ON *.* TO 'u123456789'@'%' IDENTIFIED BY 'passwort';

Meist ist ein View oder eine Storaged Procedure in welcher der nicht existierende Nutzer definiert wurde, wie in diesem Beispiel:

ALTER ALGORITHM=UNDEFINED DEFINER=`u123456789`@`%` SQL SECURITY DEFINER VIEW `mana_v_online_chars` AS select `l`.`char_id` AS `char_id`,`l`.`login_date` AS `login_date`,`c`.`user_id` AS `user_id`,`c`.`name` AS `name`,`c`.`gender` AS `gender`,`c`.`level` AS `level`,`c`.`map_id` AS `map_id` from (`mana_online_list` `l` join `mana_characters` `c` on((`l`.`char_id` = `c`.`id`)))

Nachdem der View korrigiert wurde, in dem dort ein gültiger Nutzer angegeben wurde, kann der temporär angelegte Nutzer entfernt werden.

Probleme mit MacPorts unter Mavericks

Wer sein Mac OS X auf Mavericks aktualisiert hat und MacPorts benutzt, wird dieses danach erst einmal nicht mehr benutzen können. Wenn man versucht es doch zu benutzen, bekommt man eine Fehlermeldung zu sehen:

--->  Extracting gperf
Error: org.macports.extract for port gperf returned: command execution failed
Please see the log file for port gperf for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gperf/gperf/main.log
Error: Problem while installing gperf
Error: Unable to execute port: upgrade xz failed

Das Problem liegt an der fehlenden Datei „/usr/bin/gnutar“ – die Lösung ist relativ simpel. Es reicht MacPorts mit dem entsprechenden Installer neu zu installieren. Danach sollte es wieder ohne Probleme funktionieren.

Weitere Informationen gibt es unter:
https://trac.macports.org/wiki/MavericksProblems

Probleme mit Themes und Multisite-WordPress

Nachdem ich in einer Multisite-Wordpress Installation das Theme gewechselt hatte, zeigte die entsprechende Seite sowohl im Front- als auch im Backend nur noch eine weiße Seite an. In den PHP Logmeldungen waren auch keine Probleme zu erkennen. Andere Seiten der Installation funktionierten weiterhin ohne Probleme.

Das alte Theme wurde entfernt

Das alte Theme wurde entfernt

Bei einer Multisite-Installation deutet dies meist auf ein Problem mit dem verwendeten Theme hin. Zur Lösung sollte das aktivierte Theme über die Netzwerkverwaltung deinstalliert werden. Anschließend kann man sich wieder in das Backend der Seite einloggen und dort auf ein anderes Theme wechseln.