Mono auf älteren Ubuntusystemen installieren

Ich betreibe einen Server auf welchen im Moment noch die 10.04 (Lucid) Version von Ubuntu läuft. Auf diesem Rechner benötige ich ein Mono 2.10. Glücklicherweise muss man das ganze nicht von Hand kompilieren, da sich jemand die Arbeit gemacht hat und dafür ein Skript geschrieben hat:

wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.10.sh
chmod 755 install_mono-2.10.sh
./install_mono-2.10.sh

Nach dem Start des Skriptes ist der Rechner eine Weile beschäftigt, aber danach sollte die Mono Runtime 2.10 auf dem Rechner sein. Sie befindet sich dabei im Ordner /opt/mono-2.10/ kann also zum Beispiel so aufgerufen werden:

/opt/mono-2.10/bin/mono autoupdate.exe

Weitere Informationen gibt es unter:
http://www.integratedwebsystems.com/2011/02/mono-2-10-install-script-for-ubuntu-fedora/
http://www.integratedwebsystems.com/2011/08/install-mono-2-10-3-on-ubuntu-using-bash-script/

Dem pre Tag den Zeilenumbruch beibringen

Der pre Tag dient dazu einen Text wiederzugeben wie er eingegeben wurde. Das ist an sich auch ganz schön, kann aber bei kleinen Auflösungen oder einem responsiven Design zum Problem werden. Den dort wird entweder das Layout zerschossen oder der Inhalt des pre Tags durch eine overflow CSS Anweisung abgeschnitten. Abhilfe schafft hier:

pre
{
        white-space: pre-wrap;
}

im CSS. Dadurch wird der pre Tag im Zweifelsfall umgebrochen und bleibt somit lesbar.

Weitere Informationen gibt es unter:
http://www.css4you.de/Texteigenschaften/white-space.html
http://blog.bissinger.biz/zeilenumbruch-im-pre-tag/
http://de.selfhtml.org/html/text/praeformatiert.htm

Cannot redeclare wfprofilein()

Nach dem Update der MediaWiki Software auf die Version 1.18 bekam ich folgenden Fehler:

Fatal error: Cannot redeclare wfprofilein() (previously declared in /www/wiki/includes/profiler/Profiler.php:14) 
in /www/wiki/includes/ProfilerStub.php on line 25

Die Lösung des Problemes war ganz einfach. Irgendwie wurde der Profiler aktiviert. Dies äußerte sich darin das es im Hauptordner der Software eine Datei namens StartProfiler.php gab. Wenn man diese Datei entfernt, ist das Problem gelöst.

Weitere Informationen gibt es unter:
http://www.mediawiki.org/

Updating certificates in /etc/ssl/certs… cat: write error: No space left on device

Beim updaten des Paketes ca-certificates gab es eine interessante Fehlermeldung:

Updating certificates in /etc/ssl/certs… cat: write error: No space left on device

Im ersten Moment klang das als ob es zu wenig freier Speicher vorhanden war. Ein

df -h

zeigt aber an das noch ausreichend Speicher verfügbar war. Erst beim zweiten Blick auf die Ausgabe von df zeigte sich der Übeltäter.

none 16M 16M 16M 100% /tmp/

Das /tmp/ Verzeichnis war voll. Nach dem löschen des Inhaltes des Verzeichnisses, funktionierte das Update wieder tadellos.

Google Code SVN Repository in Git Repository umwandeln

Möchte man sein Google Code Subversion Repository mit der kompletten History in ein Git Repository umwandeln so ist das erstaunlich einfach. Im ersten Schritt sollte man die Project committers unter Adminster -> Project Members entfernen (sicher ist sicher). Dann sollte unter Adminster -> Source der Repository Typ auf Git gestellt werden.

Hier wird dabei ausgegangen das die Projektstruktur in etwa so aussieht:

branches
tags
trunk

Zuerst legt man im Homeverzeichnis eine Datei namens .netrc an und füllt sie mit folgendem Inhalt:

machine code.google.com login  password geheim

Den genauen Inhalt erfährt man dabei auch wenn man auf die Google Code Seite https://code.google.com/hosting/settings geht. Bevor es weitergeht installiert man mittels:

apt-get install git-svn

das Paket git-svn. Dieses Paket ist dabei für den Großteil der Konvertierung zuständig. Nun öffnet man ein Terminal und gibt dort folgendes ein (der Projektname muss natürlich angepasst werden):

git svn clone --stdlayout https://invertika.googlecode.com/svn invertika
cd invertika
git remote add googlecode https://code.google.com/p/invertika
git push --all googlecode

Anschließend fügt man die Project committers wieder hinzu und kann nun mit dem Git Repository arbeiten. Problematisch ist allerdings, das das Push Limit 500 MiB beträgt. Größere Repositories kann man damit nicht ohne weiteres pushen.

Weitere Informationen gibt es unter:
http://code.google.com/p/support/wiki/ConvertingSvnToGit
http://code.google.com/p/support/issues/detail?id=5790
http://code.google.com/p/support/issues/detail?id=5816
http://code.google.com/p/support/wiki/GitFAQ