Kategorie-Archiv: Linux

[Linux Howto] Suchen und Ersetzen mit Vi(m)

Ich musste heute auf einem Linux-System ohne grafische Oberfläche eine Konfigurationsdatei anpassen. Hierbei sollte der alte Servername an vielen Stellen gegen den neuen Hostname ausgetauscht werden. Natürlich kann man die einzelnen Fundstellen von Hand editieren, aber im “Vi” gibt es einen schönen Ausdruck, mit dem ein String gesucht und ersetzt werden kann.

Wer “Vi” nicht kennt, es handelt sich hierbei um einen Editor (der über extrem viele Shortcuts und Anpassungsmöglichkeiten verfügt), der auf jedem Linux-/Unix-System zu finden ist. Die Bedienung ist etwas gewöhnungsbedürftig, ermöglicht aber nach etwas Einarbeitungszeit extrem schnelles Editieren und Coden.

Nun aber zum “Suchen und Ersetzen” mit vi:

Möchte man alle Fundstellen gegen einen neuen String austauschen, so bringt folgendes Kommando das gewünschte Ergebnis:

:%s/string_alt/string_neu /g

Möchte man nur eine Zeichenkette austauschen, so lässt man einfach das “/g” weg.

Da hierbei reguläre Ausdrücke verwendet werden, ist es wichtig vor speziellen Zeichen, wie z.B. einem Punkt, den so genannten Escapecharacter einzufügen. Hierbei handelt es sich um einen Backslash “\”. Statt . würde man also \. eingeben.

Wichtig !!!
Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Wichtig !!!

Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Links:

[Linux] Ubuntu per USB-Stick installieren

Ich bin heute auf ein geniales Tool gestoßen, um Ubuntu (oder eine andere Linux-Distro) per USB-Stick zu installieren. Das eignet sich natürlich besonders für Geräte ohne DVD-Laufwerk, wie z.B. die aktuellen Netbooks, oder eben für mein kleines Thinkpad X61s. Das Tool von dem ich hier schreibe nennt sich UNetbootin, ist Open Source und kann von sourceforge.net in einer Windows- und einer Linux-Version geladen werden. Ich habe mich für die Windows-Variante entschieden. Nach dem Herunterladen und Entpacken des Programms kann es auch direkt ohne Installation gestartet werden.

unetbootin_01.jpg

Als erstes wählt man die zu installierende Linux-Variante aus, in meinem Fall Ubuntu. Anschließend wählt man das zugehörige ISO-Image aus, das man von der jeweiligen Distributions-Homepage geladen hat. Als Typ kommt bei mir nur USB Drive in Frage und an dieser Stelle sollte man überprüfen, dass das angezeigte Laufwerk auch zu dem USB-Stick passt, denn dieser verliert bei einem Klick auf “OK” jegliche Daten und das Tool kopiert die notwendigen Installationsdaten auf den Stick und macht ihn bootfähig.

unetbootin_02.png

unetbootin_03.png

Nach der Installation kann man zwischen einem Neustart wählen, wenn das Linux auf dem aktuellen System aufgespielt werden soll, oder man beendet den Assistenten und nutzt den USB-Stick an jedem beliebigen Gerät, das von USB booten kann. Denkt daran, dass Ihr im BIOS das Booten von USB aktiviert!

Wenn ihr von dem USB-Stick hochfahrt, startet bei Ubuntu ein Live-Modus und ihr könnt zuerst mal Ubuntu etwas testen, oder ihr klickt auf dem Desktop auf Installieren. So einfach war es echt noch nie, ein Linux per USB-Stick zu nutzen. Also probiert es ruhig mal aus.

Links:

 

BASH SCRIPTING 101 – Convert a man page to pdf and read it in Preview on a Mac

With the following command, you can convert the ps-formatted manpage automatically to pdf and it opens in preview. Works on every Mac:

man -t sed | open -f -a preview

WARNING: Allways be careful when you use a shell command, I don’t take any responsibility for accidents or data loss that result from using the shown example commands. If you want to know more about the used commands, take a look in the associated manpages.

Bash Scripting 101 – Change file names from lower case to upper case and vice versa

The following command line changes filenames recursively from lower case to upper case and vice versa, just change the position of lower and upper:

find . -type f|while read f; do mv $f `echo $f |tr “[:lower:]” “[:upper:]“`; done

WARNING: Allways be careful when you use a shell command, I don’t take any responsibility for accidents or data loss that result from using the shown example commands. If you want to know more about the used commands, take a look in the associated manpages.

PS: Thanks to Berta from command-line-fu

Zattoo – Echtes TV über das Internet

Mit Zattoo ist es möglich fast 50 TV-Programme kostenlos (natürlich ist die GEZ zu bezahlen) über das Internet mit dem Zattoo-Player anzuschauen. Hierfür muss man sich nur auf der Seite von Zattoo registrieren, den Player herunterladen und schon kanns losgehen. Die Öffentlich-Rechtlichen haben mit Zattoo einen Test über ein Jahr vereinbart und steuern so auch ARD, ZDF, ZDF Doku, u.v.m. bei. Des Weiteren sind auch Sender wie MTV, Comedy Central oder DMAX mit im Programm. Das alles ist kostenlos und soll auch so bleiben. Unterstütz werden die Plattformen Windows, Mac und Linux. Es sollte also keiner zu kurz kommen. Erste Tests ergaben, dass die Qualität zwar nicht die beste ist, aber doch brauchbar genug, um nebenher mal etwas TV laufen zu lassen. Was die Internet-Bandbreite angeht, so sollte es ab einem DSL-1000 keine Probleme mehr geben.

PS: Sollte jemand von rechtlichen Problemen erfahren, die diese Möglichkeit verursacht, so wäre ich für Informationen per Mail dankbar.

Links:

Phun ist Fun

phun

An der Umeå Universität in Schweden wurde eine Software entwickelt, die das Fach Physik spielerisch näher bringen soll. Es handelt sich dabei um eine Simulation physikalischer Kräfte und erinnert mehr an ein Spiel, als an eine lehrhafte Anwendung. Sie wurde hauptsächlich für Kinder entwickelt, wird aber auch den ein oder anderen Erwachsenen einige Stunden beschäftigen. Man kann damit einfache physikalische Experiment  zeichnerisch aufbauen und testen. Probiert es einfach aus, es lohnt sich.

PS: Die Anwendung gibt es für Windows, Mac und Linux und es ist für den nichtkommerziellen Einsatz kostenlos.

Links:

Howto: Trillian nimmt ICQ Passwort nicht an

Normalerweise arbeite ich ja zu Hause mit Macs und nutze dort Adium für ICQ-Chats. Damit hatte ich bisher auch noch keine Probleme. Seit letzter Woche arbeite ich nun auch mit Windows Vista auf einem Thinkpad X61s (Absolut geniales Notebook, kann ich nur jedem empfehlen und vielleicht schreib ich mal nen kleinen Testbericht) und wollte Trillian nutzen, da ich noch nie den ICQ-Client benutzt habe. Also schnell Trillian geladen und installiert, ICQ-Nummer und Passwort eingetippt und es folgt eine schöne Fehlermeldung, dass mein Passwort wohl falsch sei. Also teste ich das Passwort nochmal kurz in Adium und natürlich funktioniert es dort sofort. Nach kurzer Recherche im Internet konnte auch eine Lösung gefunden werden:

Trillian unterstützt nur Passwörter mit maximal 8 Zeichen und es darf kein Sonderzeichen enthalten sein. Erlaubt ist also a-z und 0-9.

Wem das nicht genügt, der kann als Alternative Pidgin (früher mal Gaim) benutzen, welches auch komplexere Passwörter und Linux als Betriebssystem unterstützt.

Links:

Howto: Große Testdateien mit dd erstellen

Mir ging es schon öfter so, dass ich den Datendurchsatz im Netzwerk testen wollte, aber gerade nicht die passende Dateigröße zur Hand hatte. Unter Mac OS X oder einem Linux-/Unix-Derivat ist dies ganz einfach. Mit dem Tool dd, das auf diesen Systemen bereits vorinstalliert ist, kann man beliebig große Files aus Zufallsdaten erstellen. Dies funktioniert folgendermaßen:

  • Mit Hilfe der Blocksize und der Anzahl die Dateigröße festlegen. Hier ein Beispiel
    • Gewünscht ist eine Datei mit 100MB -> 100*1024*1024 = 104857600 Byte
    • Diesen Wert durch die gewünschte Blocksize teilen und man erhält den Wert für die count-Variable des Befehls dd
    • 104857600 / 512 = 204800
    • Nun hat man alle benötigten Werte zur Hand und kann die Zufalssdatei erzeugen
    • dd if=/dev/random of=/ZielVerzeichnis/testdatei bs=512 count=204800
    • Schaut man sich nun mit “ls -lah” die Datei an, wird man sehen, dass sie genau 100MB groß ist

Howto – Installation der Parallels Tools unter OpenSUSE 10.2

Laut Parallels soll man nur das Image per Klick auf “Aktionen->Parallels Tools installieren” mounten, anschließend in das CD-Rom Verzeichnis wechseln und die Tools mit “sh parallels-tools.run” installieren.

Dieser Weg hat so leider nicht funktioniert, darum hier die Lösung:

  • Klicke auf das Menü “Aktionen” und anschließend auf “Parallels Tools” installieren. Das Image wird in OpenSUSE zwar erkannt, aber es erscheint als leeres Medium.
  • Das Image muss von Hand in das /mnt Verzeichnis gemounted werden. Hierzu führe den Befehl “mount /dev/cdrom /mnt” aus.
  • Nun muss nur noch das Installationsscript gestartet werden. Hierzu wechselt man nach /mnt und startet mit folgendem Befehl die Installation: “sh parallels-tools.run”
  • Nun muss nur noch der XServer oder die gesamte VM neu gestartet werden und die Tools sollten funktionieren.

Es können leider bei weitem nicht alle Funktionen genutzt werden die unter Windows verfügbar sind, aber das automatische Resizing des Bildschirms und die Mausoptimierung funktionieren.

Howto phpBB Update Problem mit phpbb_sessions_keys

Es war wieder so weit ein Update für die bekannte Forensoftware phpBB Version 2 vorzunehmen. Also habe ich das Patchpacket mit den geänderten Dateien heruntergeladen und auf den Server kopiert. Dabei sollte man natürlich beachten, dass keine von einem selbst editierte Datei überschrieben wird. Bis dahin lief alles einwandfrei, die neue Versionsnummer wurde angezeigt und alle Standardfunktionen schienen ohne Probleme zu laufen. Was mich wunderte war, dass im install-Verzeichnis keine update_to_latest.php zu finden war, bei vorherigen Updates musste man diese Datei im Browser öffnen um das Schema der Datenbank anzupassen. Ich hatte gerade wenig Zeit, also dachte ich mir, dass das wohl ein neues Feature wäre, um das Patchen etwas einfacher zu gestalten und dass bei diesem Patch wohl nichts am Schema der Datenbank geändert werde. Nach kurzer Zeit wollte ich dann ein Passwort eines Benutzers ändern, da fiel mir auf, dass ich einen Fehler erhielt der mir mitteilte, dass wohl der Sessionkey des Benutzers nicht aus der Tabelle phpbb_sessions_keys entfernt werden könne. Ein Blick in phpMyAdmin zeigte mir, dass diese Tabelle nicht einmal existierte. Also habe ich das Internet etwas durchstöbert und mir fiel auf, dass viele dieses Problem hatten. Nach einiger Zeit der Recherche habe ich nun eine Lösung für das Problem gefunden, man muss lediglich folgende Zeilen Code in einer SQL-Abfrage in phpMyAdmin eintragen, um die Tabelle korrekt zu erzeugen:

DROP TABLE IF EXISTS phpbb_sessions_keys;
CREATE TABLE phpbb_sessions_keys (
key_id varchar(32) DEFAULT ’0′ NOT NULL,
user_id mediumint(8) DEFAULT ’0′ NOT NULL,
last_ip varchar(8) DEFAULT ’0′ NOT NULL,
last_login int(11) DEFAULT ’0′ NOT NULL,
PRIMARY KEY (key_id, user_id),
KEY last_login (last_login)
);

Kaum war das getan, lief alles wieder wie gewohnt.

Dieses Howto bezieht sich auf Version 2.0.21 unter Linux, es kann aber auch mit anderen Versionen funktionieren. Natürlich alles auf eigene Gefahr, ich übernehme keine Haftung für Probleme, die aus der Anwendung dieses Howtos entstehen.

Zum Schluss noch eine Anleitung wie man das Patch-Paket ordentlich installiert:

  1. Lade das phpBB-Patch-Archiv herunter, entpacke es und überschreibe die bestehenden Files auf dem Server (!!! vorher Backup aller wichtigen Daten und der Datenbank machen)
  2. Öffne eine Konsole (Linux — es gibt auch ein patch-Tool für Windows, das unter Cygwin läuft, siehe Links) auf dem Server, wechsle in das phpBB-Verzeichnis und führe folgenden Befehl aus
    patch -p1 -i phpBB-Version_alt_nach_Version_neu.patch
  3. Man achte bei der Ausgabe von patch auf etwaige Fehlermeldungen. Sollte es zu Fehlern kommen, dann wird eine Datei mit der Endung rej angelegt, in der man nachlesen kann, was nicht funktioniert hat. Man kann dann die Fehler manuell beheben, oder ein Fullupdate machen. Beim Fullupdate ist allerdings zu beachten, dass installierte Mods danach neu installiert werden müssen und dass editierte Dateien hierbei i.d.R. überschrieben werden, was aber kein Problem darstellt, denn man hat ja vorher ein Backup aller wichtigen Daten angelegt !!!
  4. War alles in Ordnung, dann führt man nur noch die Datei update_to_latest.php im Browser aus und löscht anschließend die Ordner install und contrib aus dem phpBB-Verzeichnis um die Installation ordentlich abzuschließen

Links: