Update von Jaunty auf Karmic
Sunday, November 1. 2009...war absolut schmerzfrei. Alles läuft auf anhieb.
...war absolut schmerzfrei. Alles läuft auf anhieb.
Auf einem schlanken, schmalen, stromsparenden Atom 230 Rechner installierte ich kürzlich Ubuntu. Zunächst die 8.10, danach per Upgrade die 9.04. Alles lief soweit zufriedenstellend, aber so richtig glücklich war ich mit der Performance nicht. Ich dachte länger, dass es wohl so sei, wenn man einen Atom230 mit einer 1920x1080er Auflösung beauftragt, denn Hubraum lässt sich nur durch mehr Hubraum ersetzen und man daher auch damit leben müsse. Muss man aber nicht.
Nach einigen Änderungen ist mein Atom-Ubuntu nun deutlich flotter als vorher und die Arbeit macht ebenfalls mehr Spass. Hier die Punkte, an die man als leidgeplagter Performance-Junkie Hand anlegen sollte:
.cue und .bin Dateien sind keine .iso Dateien. Nicht einmal annähernd. Unter Windows verstehen viele Brennprogramme das Format trotzdem und brennen es anstandslos auf eine Silberscheibe. Unter Linux sieht das nicht ganz so aus. Ich habe mich auch immer wieder darüber geärgert, bis ich über bchunk gestolpert bin.
Dieses Programm ist in der Lage, aus .cue und .bin mal eben eine .iso zu erstellen:
bchunk -v image.bin image.cue image
Nach ein wenig auf der Platte rödeln findet man eine fertige image.iso Datei. Und die kann man problemlos brennen, auch unter Linux.
bchunk ist übrigens in vielen Repositories bereits vorhanden, so dass man es unter Ubuntu mit einem aptitude install bchunk problemlos installieren kann.
Wer von irgendeinem Linux Filesystem auf eine externe Festplatte mit FAT(32) Filesystem Daten sichern möchte, kann ein Lied davon singen. Nicht, dass man unbedingt FAT32 haben möchte, aber die meisten externen Festplatten sind ab Werk damit vorformatiert und laufen daher an den meisten Betriebssystemen out-of-the-box.
FAT32 beschränkt die maximale Dateigröße jedoch auf 4 GB pro Datei. Für eine Datensicherung ist das heutzutage nicht mehr besonders viel.
Linux selbst bringt die Lösung in Form der Kombination aus den beiden Kommandos tar und split bereits mit:
tar cpf - /home | split -a 3 -d -b 1G - /mnt/backuphd/meinbackup.tar.
tar packt den Inhalt des Ordners /home zusammen und sendet ihn an die Standardausgabe ("-"), wo split die Daten entgegen nimmt, in 1 GB grosse Stückchen zerteilt, und nach /mnt/backuphd/meinbackup.tar.000 bis /mnt/backuphd/meinbackup.tar.xxx speichert. Die letzten drei Ziffern werden jeweils hochgezählt.
Aus diesem Archiv rekonstruieren ist ebenso einfach:
cat /mnt/backuphd/meinbackup.tar.* | tar xvf - /home
Man sollte mit sensiblen Daten immer zuerst einen Testdurchlauf machen. Es wäre schade, wenn das Backup später unbrauchbar wäre, weil man irgendeine falsche Option oder einen falschen Pfad angegeben hat.
Gerade eben stellte ich fest, dass auf einem Ubuntu 8.04 Server die Cron-Jobs nicht mehr ausgeführt werden. Also machte ich mich auf die Suche nach dem Grund, konnte ihn aber zunächst nicht finden. In der /var/log/syslog dann der erste Hinweis:
Error: bad minute; while reading /etc/crontab
Die /etc/crontab sah allerdings sehr normal aus. Da gab es keine falschen Einträge oder fehlende Angaben. Nach einigem auskommentieren und testen bin ich dann auf die Lösung gekommen. In der crontab fand ich folgende Zeile, bei der ich mir erst mal nichts dachte:
MAILTO=
Allerdings interpretiert cron diese Zeile so, dass er MAILTO= für die Angabe der Minuten hält und danach nichts mehr kommt. Und MAILTO= ist auch keine gültige Angabe für Minuten
. Also entweder eine Mailadresse dahinter schreiben oder wie in meinem Falle mit einem # auskommentieren. Dann cron neustarten und schon funktionierts auch wieder.
RDP, das Remote Desktop Protocol, macht seine Arbeit beim Zugriff auf entfernte Server soweit ja ganz ordentlich. Mittlerweile liegt RDP in Version 6 vor und es gibt sogar unter Linux einen funktionierenden Client und auch einen funktionierenden RDP Server. Steht der zu steuernde Server allerdings hinter einer nicht ganz so breitbandigen Verbindung, lahmt RDP gelegentlich auch mal dahin. Selbst wenn man die Performance optimiert, fliesst es so la la, abhängig eben von der Upload-Bandbreite des Anschlusses an dem der Server hängt. Da auch ich oft auf RDP Server zugreife(n muss), die hinter einem normalen DSL Anschluss hängen kenne ich das Problem also auch aus erster Hand.
Interessant wird's, wenn man über den RDP Tellerrand hinausschaut. Dort gibt es zum Beispiel für den Betrieb von Linux Terminalservern von Nomachine ein Produkt namens NX, welches eine ordentliche Performance an den Tag legt und über normales SSH gefahren wird. NX kann aber auch mehr. Mit NX' Hilfe lassen sich beispielsweise auch RDP Connections beschleunigen.
Zum Beispiel baue ich eine Verbindung mit NX über eine DSL Leitung zu einem Linux Server auf, der im gleichen LAN wie der RDP Server steht. Auf diesem Linux Server starte ich nun meinen RDP Client und verbinde mich auf den RDP Server. Das alleine sorgt schon für einen ordentlichen Performancegewinn, mit dem die Arbeit auf einem Windows Terminal Server über RDP deutlich flüssiger von der Hand geht.
Ausprobieren empfohlen. Ich könnte vielleicht auch mal ein Video vom Unterschied machen, was allerdings Zeit kostet, die ich momentan in andere Dinge stecke. Weshalb sonst sollte ich auch RDP beschleunigen wollen? ![]()
...und die macht nen ziemlich schlanken Fuss. Überraschend und gut: Schnelleres Booten, etwas flüssiger beim Arbeiten auf einem Atom230 und auf Anhieb bei mir ohne Schwierigkeiten. Hinweise und Download wie üblich.
Jetzt noch die übliche Warnung: BETA! BETA! BETA! - Also noch nichts für Produktivumgebungen.
Hatte ich schon mal erwähnt, wie begeistert ich von SNOM Telefonen bin?
Ich staune gelegentlich mal, dass man dort eben alles so macht, wie's ein vernünftiger Mensch auch tun würde. ![]()
Fetchmail, der fast alles könnende Dinosaurier unter den Mailabholern, ist zwar weit verbreitet, aber mindestens genauso unbeliebt. Fetchmail kann viel und ist leicht zu konfigurieren, sofern man für jede Mail-Adresse ein separates Konto beim Provider und bereit ist, jedem Mailnutzer auch einen Linux-Account zu geben. In einer Welt der virtuellen Maildomains ist es dagegen eine mittlere Katastrophe, mit Fetchmail arbeiten zu müssen.
Alternativen zu Fetchmail gibt es zwar, ob sie für den jeweiligen Fall aber besser sind, muss jeder für sich beurteilen:
Wer SMTP Delivery nicht benötigt, kommt sicherlich mit getmail oder mpop klar. Getmail sieht für mich auf den ersten Blick wie die beste Alternative aus. Benötigt man allerdings SMTP Delivery um die Mails noch mal in den lokalen Postfix rein zu kippen um sie dort dann an Virenscanner oder Spamassassin weiter zu leiten, sollte sich darüber hinaus noch msmtp anschauen.
msmtp ist ein SMTP Client, der als MDA Mail von den Programmen oben annimmt und an einen SMTP Server wieder einspeisen kann. Somit würde die E-Mail den Weg Provider -> getmail/mpop -> MDA Delivery -> msmtp -> lokaler SMTP -> ... nehmen. Das ist sicherlich einen Versuch wert.
Kennt ihr weitere Alternativen? Dann nur her damit.
Auf dem Desktop meines Rechners habe ich nun mal von Ubuntu 8.04 auf die noch unfertige 8.10 aktualisiert.
Obwohl noch nicht alles rund läuft, bin ich davon recht begeistert. Die 3D Effekte funktionieren leider nach dem Upgrade noch nicht wieder, ansonsten hat mit Gnome 2.24 und etlichen Detailverbesserungen Ubuntu wieder mal einen gewaltigen Schritt nach vorne gemacht.
Mit jedem Release wird Linux auf dem Desktop brauchbarer, auch wenn ich vermutlich auf absehbare Zeit noch nicht komplett auf Windows werde verzichten können.
Was tun wenn die Festplatte lustige Geräusche macht oder bereits Daten verloren hat, weil die Harddisk defekte Sektoren hat?
Das allseits beliebte dd zum Erstellen von Festplattenimages tut bei funktionierenden Festplatten seinen Dienst, bei Platten mit defekten Sektoren jedoch führt dd zu unbrauchbaren images. Aber warum und was passiert dabei genau?
dd bs=4096 conv=noerror,sync if=/dev/hda of=/mnt/server/imagedatei.img
dd liest blockweise (4096 Bytes) die Daten von der Festplatte /dev/hda, macht auch weiter wenn es auf Fehler trifft, füllt den Block mit Nullbytes auf 4096 bytes auf, falls er kürzer ist, und schreibt diese Dateien gleichzeitig in 4096 Byte Blöcken nach /mnt/server/imagedatei.img. Fatal ist, wenn Blöcke nicht lesbar sind. In dem Falle bricht dd zwar nicht ab, weil conv=noerror angegeben wurde, aber es liest keine Daten ein und schreibt auch keine Daten in das Image.
Die Fehlerhaften Blöcke fehlen im Zielimage also komplett, weshalb die danach folgenden Sektoren nach vorne verschoben sind und das Filesystem somit Schwierigkeiten haben dürfte, die Daten richtig wieder zu finden.
Defekte Platten mit dd sichern funktioniert nicht.
Stattdessen sollte man für Festplatten mit defekten Sektoren GNU ddrescue nehmen (nicht zu verwechseln mit ddrescue). Je nach verwendeter Distribution ist GNU ddrescue direkt mit apt-get oder yum zu installieren. Bei Debian z.B. mit apt-get install gddrescue, bei anderen Distributionen auch als dd_rescue bezeichnet.
Auch GNU ddrescue erstellt ein Image von der Festplatte, geht dabei jedoch einen anderen Weg:
Datenrettung in letzter Sekunde eben, aber wenn, dann wenigstens richtig. Aufschlußreich ist übrigens auch ein Interview mit dem Entwickler.
(Alles in einer Zeile:)
server# dd bs=65536 if=/dev/hda | ssh -o Compression=yes user@host "cat > image.img"
Manchmal lohnt es sich, die Kommandozeilenparameter für Programme näher zu erforschen.
top -i zeigt nur noch die aktiven Prozesse an, was deutlich übersichtlicher ist. Probierbefehl
.
Einen netten Artikel über die Neuerungen und Verbesserungen in Gnome 2.22 gibt es nun auf heise open.
Kürzlich überraschte mich mein interner Mailserver (Postfix) mit der Log-Meldung "No route to host". Alle E-Mails blieben in der Mailqueue und wurde nicht mehr zum Smarthost ausgeliefert, von wo aus sie dann an die Empfänger geleitet werden.
Die Lösung dafür lag darin, daß beim DSL-Zugangsprovider kürzlich alles auf Port 25 abgehende gesperrt wurde, damit die ganzen Spambots eben nicht mehr spammen. Somit war es nur für Verbindungen auf Port 25 unmöglich, irgendetwas da draussen noch zu erreichen.
Die Lösung dafür war einfach: Mein Postfix verschickt jetzt Mail auf Port 587 zum Smarthost. Dieser ist normalerweise nicht geblockt und alles funktioniert wieder.