LUKS – Verschlüsselte Platten retten.

27. Mai 2010

Aus gegeben Anlass ( an dieser Stelle nochmal dank an den Ubuntu-Server-Installer) ein kleinen hinweis was man machen kann, wenn einem der CryptHeader zerstörrt wurde.

Zuerst muss man Ruhe bewahren. Dann sich die Fakten klar machen. Bei modernen Verschlüsslungsverfahren wird nicht gesamte Platte mit einmal verschlüsselt sondern immer häppchenweise. Eine zerstörte verschlüsselte Partition lässt sich genauso wieder herstellen wie eine normale Partition. Mit einem Unterschied: der CryptHeader. Dieser enthällt den Hauptschlüssel, ohne diesen hat man verloren. Sowohl ein eventuell eingerichtetes KeyFile als auch das Password leifern nur zugriff auf diesen Schlüssel. Ist dieser Schlüssel im eimer, so bleibt nur noch das Entschlüsseln per BruteForce… wie Erfolgversprechend das ist, hängt von der Schlüssellänge ab… Wenn man ein Backup einpsielen kann, ist es jetzt aber der richtige Zeitpunkt dies zu tun….

Meine Lektion vom Wochenende, ohne CryptoHeader hat man kaum eine Chance. Eventuell kann man noch wie hier beschrieben versuchen zu retten, was zu retten ist und den Header selber “neu schreiben”. Das funktioniert allerdings nur, solange der Schlüssel selber noch intakt ist. Die chancen dafür stehen gar nicht schlecht. Der eigendliche Schlüssel wird relativ weit hinten “versteckt”. Bei mir erst ab Byte 4096 (wenn ich die Daten richtig interpretiere).1

Um einem solchen Stress aber aus dem weg zu gehen gibt es eine ganz einfache Methode: einfach den Luks-Header sichern! War das früher nur über dd un der Kenntniss der HeaderLength möglich, geht das ganze jetzt komfortabel über das cryptsetup-Kommando. Dazu muss man die gewünschte Partition unmount und das CryptDevice schließen, anschließend kann man folgenden Befehl ausfürhen:

sudo cryptsetup luksHeaderBackup  --header-backup-file

Um im Falle eines Fehlers den Header wieder herzustellen braucht es folgenden Befehl:

sudo cryptsetup luksHeaderRestore  --header-backup-file

Wichtig dabei anzumerken ist, dass das HeaderFile auf keinen fall in der verschlüsselten Partition liegen sollte. Das bringt wenig. Es macht auch keinen sinn, dieses File irgendwo aufzubewahren, wo man ohne weiteres keinen Zugriff drauf bekommt. Von diesem File geht in erster linie keine Sicherheitsrisiko aus. Da es ein Angreifer eh ohne weiteres von der Platte ausgelesen werden kann und dies tun wird, um so das Password zu schneller brechen. Man sollte dieses file aber auch nicht unbedingt bei Facebook einstellen ;)

Der Samsung N220

20. Mai 2010

Nachdem mein EeePC 1008HA nach knapp einem Jahren seinen Dienst quittiert hat (Diplay Janiere waren nicht die stabilsten) habe ich mir den N220 von Samsung zugelegt. Von den Ausmaßen und den Papierwerten sieht der dem EeePC zum verwechseln ähnlich. Erst auf den Zweiten blick werden die Unterschiede deutlich. Das ist zum Beispiel die größere Festplatte, das matte (!!!!) Display und die exorbitante Akkulaufzeit von ca 9h. Dazu kommt, dass unter der Haube der neue N450 von Intel werkelt. Zum einen soll dieser weniger Strom ziehen, zum anderen bietet die integrierte Grafikkarte Unterstützung beim Decodieren von H264 Videos. In der Verarbeitung wirkt der Samsung N220 um einiges besser verarbeitet als sein Asus Pendant. Dafür sieht er bei weitem nicht so Fancy aus.

Auf der „nicht so Toll“ Seite steht aber ganz klar die Linux Unterstützung. Mit einem Ubuntu 10.04 (Lucid Lynch) kann man den N220 ohne Probleme in Betrieb nehmen. Alle wichtigen Funktionen funktionieren auf Anhieb. Sowohl LAN, WLAN, Suspend to Disk las auch Suspend to Ram funktionieren tadellos. Der Frickelfaktor kommt (leider) dennoch nicht zu kurz. Bei den sekundären Funktionen wird es dann ungemütlich. Zum einen funktionieren die FN-Key zu anfangs nicht. Dies liegt an einer unvollständigen UDEV-Rule. Der Patch dafür ist schon erhältlich. Weiterhin lässt sich das Backlight noch nicht dimmen. Was ein wenig unangenehm ist. Auch die Status-LEDs werden nicht befeuert. Das bedeutet, dass man die WLAN-Karte zwar mittels RFKill ausknipsen kann, dies auch im Stromverbrauch merkt, aber keine visuelle Rückmeldung bekommt.

Alles in allem ein gerät das man empfehlen kann

The post is brought to you by lekhonee v0.7

Canon MP990 und Ubuntu

2. Mai 2010

Der MP990 ist das neue Flaggschiff unter Canons Home-Office multifunktions Fotodruckern. Er kann mittels WiFi/WLan,RJ45 und USB- Anschluss angesprochen werden. Wer jetzt vermutet, dass der MP990 ein Printerserver integriert hat oder gar Scan-To-Email beherrscht, der irrt. Eingebunden wird der Drucker über das Canon eigene bjnp-Protokoll.

Es spielt keine Rolle wie man den Drucker anschließt. Sowohl für den USB als auch für den Netzwerkbetrieb braucht es spezielle Treiber. Ein anschließen an einen zentralen Server bringt somit nur etwas, wenn man zusätzliche Funktionen wie Scan-to-Mail, Benutzerverwaltung, etc. benötigt.

Drucken

Um die Druckfunktion unter Ubuntu (oder Linux allgemein) zum Laufen zu bekommen, muss man sich die kostenpflichtigen Treiber TurboPrint von ZEDOnet zulegen. Die schlagen zwar nochmals mit 30 oder 60 Euro zu, dafür funktioniert das Drucken anschließend ohne jede Einbuße in Qualität und Performance. Und was soll man sagen. Man merkt diesen Treibern an, dass sie kein lästiges Nebenprodukt sind. Von der Bedienung her ein Segen.

Scannen

Beim scannen wird es kniffliger. Prinzipiell wird die Scann-Einheit von SANE unterstützt und kann somit von jeder Applikation angesprochen die SANE ansprechen kann. Das ist so ziemlich alles was in der Ubuntu-Welt von sich behauptet ein Grafikprogramm zu sein.
Der Hacken an der Sache ist, dass SANE erst ab der Version 1.21 den MP990 unterstützt. Das offizielle Paket aus den Lucid Quellen installiert aber 1.20. Im SANE-GIT-Repositorie liegt 1.22 vor. Man hat nun zwei Möglichkeiten:

  • SANE aus den GIT quellen bauen. Selbst ist der Mann…
  • SANE aus einem alternativen Paket installieren. Dazu muss man wie folgt vorgehen:
sudo add-apt-repository ppa:robert-ancell/sane-backends
sudo apt-get update
sudo apt-get upgrade

Da SANE meist schon installiert ist, wird nun die neue Version (in diesem Fall 1.21) eingespielt und man kann den Scanner ansprechen.

Editierbare Adressleiste unter (K)Ubuntu

30. April 2010

Wer unter Ubuntu und Kubuntu schnell mal direkt etwas die Adressleiste  eingeben will muss einfach nur [STRG]+[L] drücken.

Tomcat und Eclipse unter Ubuntu zum laufen bekommen.

18. April 2010

Unter Ubuntu wird die Tomcat (wie unter Linux üblich) verteilt über mehrere Verzeichnisse installiert. Leider kommt damit das Eclipse-Plugin nicht so klar. Es bringt beim konfigurieren immer folgende Fehlermeldung.

The Tomcat installation directory is not valid.
It is missing expected file or folder conf.

Um diesen Fehler zu beheben einfach folgende Befehle ausführen:

cd /usr/share/tomcat6
sudo ln -s /var/lib/tomcat6/conf conf
sudo touch /usr/share/tomcat6/conf/catalina.policy
sudo chown o+r /usr/share/tomcat6/conf/tomcat-users.xml

Lucid Lynx und Dinovo Edge

4. April 2010

Wer unter der neuen Ubuntu Version (aktuell als Beta erhältlich) seine Dinovo Edge anschließt sollte erstmal eine zweite USB-Tastatur parat haben. Die Dongle wird nun nicht mehr als USB-Dev missbraucht, sondern dient als vollwertiger BT-Receiver. Das blöde an der Sache ist, dass die Tastatur erst genutzt werden kann, nachdem sie gepairt wurde. Zum pairen muss man sicher aber einloggen, was ohne funktionierende Tastatur nicht funktioniert.

Um also Ärger aus dem weg zu gehen, entweder während des Setup-Prozesses auf “autologin” stellen, sich eine weite Login-möglichkeit schaffen oder einfach eine zweite simple Tastatur zur hand haben.

Um zu pairen einfach auf der Rückseite die Taste zum connecten drücken. Anschließend im Bluetooth-Verwalter der wahl ein Pairing herstellen. Als pin gibt man eine beliebige vierstellig Zahl ein. Anschließend (nachdem man bestätigt hat) gibt man an der DinovoEdge die gleiche Zahl ein und bestätigt mit Enter.

Ab da kann man die Tastatur ohne Probleme nutzen.

Mass Effect 2

29. März 2010
Einleitung

Ich hab Mass Effect 2 jetzt zweimal durchgespielt. Glaube also mir eine Meinung bilden zu dürfen. In diesem Text wird so wenig gespoilert wie möglich. Bilder hab ich keine eigenen, es im Spiel kaum “Screenshotwürdiges” gibt, dass nicht sogleich auch spoilert.

Objektive Betrachtung

Eins gleich vorweg: objektiv betrachtet sollte Mass Effect 2 das bessere Spiel sein. Es hat von fast allen Inhalten mehr:

  1. 10 Mitstreiter,mit jeweils einer eigenen Mission.
  2. drei „große“ Städte.
  3. Mehrere Nebenschauplätze.
  4. mehrere Nebenmissionen, die alle so designt sind, dass sie den Namen auch verdient haben

Dafür wurden einige Sachen reduziert oder komplett weggelassen, dazu gehören:

  1. Das Inventar fehlt völlig.
  2. Upgrades an Waffen muss man nun global erforschen und gelten immer.
  3. Munitionsarten sind nun Spezialfertigkeiten.
  4. Die Menge an Spezialfertigkeiten wurde reduziert.

War Mass Effect 1 schon ein seichtes Rollenspiel verkommt Mass Effect 2 nun zu einem ausgewachsenen Shooter. Um dem Rechnung zu tragen wurde das Kampfsystem überarbeitet. Es geht nun flotter von der Hand, das Deckung suchen ist wichtiger und alles wirkt irgendwie „schneller“.
Besonders in den kleinen Details ist Mass Effect 2 stark. Das fängt bei der neuen Normandy an. Diese ist wesentlich „nachvollziehbarer“ gebaut. Es gibt Toiletten, Duschen, Aufenthaltsräume usw. Alles in allem wirkt sie nun wie ein Schiff auf dem man leben könnte. Diese Detailliebe wird über fast alle Hauptschauplätze fortgesetzt. Wenn man seinen Charakter aus ME1 importiert, wird man alle Nase lang mit Anspielungen bombardiert und sei es nur über die Nachrichten. Das ganze gipfelt in einem spontanen Gespräch zweier ehemaliger Normandy Crewmember, das den „Fahrstuhlgesprächen“ angelehnt ist. Jedoch zaubert es ein erheblich breiteres Grinsen aufs Gesicht. All diese kleinen Details lassen das SciFi-Herz höher schlagen.

Weniger ist manchmal mehr

Leider ist ME2 dennoch nicht das bessere Spiel. Die ganze Zeit hatte ich das drängende Gefühl, dass Weniger bei diesem Spiel mehr gewesen wär. Das fängt bei der Story an. Der Reaperangriff wurde abgewehrt. Kurz darauf taucht ein neuer noch „gefährlicherer“ Gegner auf, nur um (das sei mal vor weg gespoilert) am Ende doch wieder zu verschwinden. Im Laufe des Storymissionen besucht man fast ausschließlich (Raum) Stationen und Schiffe vom Kaliber der Citadel. So groß diese Pötter aber auch in den Einspielungen dargestellt werden, so wenig Inhalt bieten sie. Sowohl die Räumlichkeiten der Citadel als auch ihr Pendant die Omega – Station wirken winzig, im Vergleich zur alten Citadel. Aber auch die feindlichen Kriegsschiffe/Stationen wirken vergleichsweise lächerlich. Richtig sauer aufstoßen tut aber Feindaufkommen. Da begibt man sich am laufenden Band in Mission deren „überlebenschance“ nahe Null sein sollen, nur um dann immer und immer wieder von wellen von Gegner attackiert zu werden. Nicht man mich falsch versteht. ME1 war nie ein Quell der Gegnervielfallt aber in ME2 gegen einige Türen nur auf um dahinter 5 Gegnerwellen zu spawnen und anschließend ist die Tür wieder auf ewig versiegelt. Husk kriechen immer wieder aus den Gleichen löchern, nur um nach der dritten Welle damit aufzuhören. Das ganze gipfelt in den letzten Mission. In den Einspielungen wird man immer von Gegnermassen gejagt und bedroht, im Spiel selber rücken die Gegner immer in handlichen Trüppchen an. So lieblos und gestellt wirkte ME1 nie. Das ist schade, denn dass Missionsdesign selbst ist immer motivierend. Gerade durch die Einspielungen, Musikuntermalung und Aufgabenverteilung kommt ein sehr eindringliches Gefühl auf, was besonders dem angelegtem Tempo geschuldet ist. Ignoriert man das Gegneraufkommen, kann man wirklich glauben, dass man auf einer “Selbstmordmission” ist.
Aber spätestens beim Abspann merkt man, irgendwas passt nicht. Der Endgegner ist einfach.. wie soll man es beschreiben. Ist den Story-Schreiberlingen nichts besseres eingefallen? Ohne viel zu verraten: man bekämpft einen gigantischen Boss-Gegner auf einer starr schwebenden Plattform. Die von diesem genüsslich Stückchenweise zerrissen wird. Was an sich lächerlich ist, da das Vieh die Möglichkeit hätte Shepard samt Plattform mit einem Hauch in Stücke zu reißen. Dennoch lässt sich der Kampf zur Not mit einer Handpistole gewinnen… Leider lässt der folgende Abspann nichts gutes für ME3 erwarten.

Auf in die Tiefe des Raumes…

Geht man von der Handlung zu den Charakteren gestaltet sich das Bild ähnlich. Es gibt jetzt zwar 10 Charaktere (9 in der Verkaufsversion, 1 als Zusatz im Cerberus Netzwerk) aber wirklich Tiefgang haben nur drei Charaktere. Gerade die „neuen“ groß angekündigten Charaktere bleiben eher blass und Farblos oder wirken gar aufgesetzt. Da helfen auch die für ein Crewmitglied bestimmten “Nebenmissionen” nichts. Damit lassen sich die jeweiligen Charaktere zwar loyal stimmen, aber das hat nur bei einigen Charakteren gesprächsrelevante Auswirkungen. Machen sollte man diese Missionen sowieso, da sie alle Spaß machen und ordentlich Erfahrung bringen. Zudem überleben nur Loyale Mitglieder der Crew die “letzte Mission”. Wie in ME1 kann man aus seinen 10 Recken immer nur zwei aktiv in der Mission mitführen. Aber selbst auf den höchsten Schwierigkeitsgrad macht es kaum einen unterschied wen man mitführt. Alle Fähigkeiten und Fertigkeiten sind gleich Stark/Schwach. Das fehlende Upgrade/Waffensystem tut sein übriges. Im Vergleich zu ME1 gibt es nun 5 statt 4 Waffenarten. (Sturmgewehr, Maschinenpistole, Schrotflinte, Schafschützengewehr, Pistole, schwere Waffen). Nein ich hab mich nicht verzählt. Das Sturmgewehr ersetzt die Maschinenpistole. Ein Charakter der eine MP mit sich führt kann keine Sturmgewehr tragen. KI Begleiter können immer nur 2 Gattungen mit sich führen und die schweren Waffen ist dem Spieler vorbehalten. Granaten gibt es gar nicht mehr. (nur noch Zaaed hat so etwas in der Art als Spezialfähigkeit). Im Spiel wird das Kampfsystem schnell langweilig. Zum einen kann man keine Waffen mehr vom Gegner “looten” oder “kaufen”. An definierten Stellen (und nur an diesen) im Spiel findet man eine neue Waffe. Leider ohne jegliche Info was diese Waffe anders/besser macht. Im Beschreibungstext steht lediglich was von “Eignung” al’a: “Effektiv gegen Schilde und Panzerung”. Auf Fragen wie “Erhöhte Feuerrate vs mehr Schden” findet man keine Antwort. Das darf man empirisch ermitteln. Aufrüstbare Upgrades fehlen völlig. Auf der Normandy darf man dauerhafte Verbesserungen erforschen.
Rüstungen gibt nun auch nicht mehr. Shepard trägt von Anfang bis Ende die gleiche Rüstung. Diese kann in Teilen aufgerüstet und individualisiert werden. Man hat dabei freie Wahl zwischen Farbe, Muste, usw. Die Idee an sich ist ja super, bloß muss sich bei EA/Bioware jemand gedacht haben: “Wie zum Geier verkaufen wir dann diese tollen Zusatzeditionen”. Als Besitzer der ME2-CE bekommt man die Collectoren-Rüstung, als Besitzer der DragonAge-CE die Blutdrachen Rüstung und als Cerberus-Netzwerk-Mitglied nun ja eine Cerberus Rüstung. Auf die Frage von oben antwortete wohl jemand mit “gar nicht”. Wählt man eine der drei Rüstungen, kann man nichts mehr individualisieren. Was wenig stört, aber leider sieht man nicht mal mehr den Schädel von Shepard. Da es keine Möglichkeit gibt den Helm abzunehmen. Da es aber in einigen Szenen auf Mimik ankommt sieht das einfach Scheiße aus.

Fazit

Ich habe MassEffect1 wie im Rausch durgespielt. Der erste kurze Hänger stellte sich erst nach dem 4 durchgang ein. Das lag aber eher an meiner Müdigkeit, denn an Mass Effect. Bei ME2 wollte dieser Sog nie so richtig losgehen. Ja ich wollte wissen wie es ausgeht. Ja ich wollte meine Crew retten. Aber der Drang, es nochmal anders durchzuspielen ebte nach dem zweiten Durchgang doch massiv ab. Insgesamt ein Gutes aber nicht Herausragendes Spiel.

Alte Linux Kernels löschen

23. März 2010

Weil es ab und zu mal nötig ist (und ich mich nicht jedes mal durch die blogosphäre suchen will) hier der einzeiler

 dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Quelle: Linux und ich

WPF Performant viele Controls darstellen.

15. März 2010

Wer unter WPF eigene Controls erzeugt wird sich früher oder später mit der Frage der Performance auseinander setzten müssen. Besonders wenn das eigene UserControl mehr als 100 mal auf die Oberfläche darstellt. Spätestens dann muss man sich gut überlegen, wo man in den WPF-ToolKit Baum einsteigt.

Zuerst muss man als alter DirectDraw oder WindowsForms Entwickler umdenken. Anders als früher zeichnet man nicht mehr “immidiate”. Früher wurde man vom Betriebssystem informiert, wenn sich was am Zeichenbereich geändert hat und man musste “mit der Hand am arm” neuzeichnen. Bei WPF wird der Spieß umgedreht. Man übergibt dem WPF Subsystem eine Reihe von zu zeichnenden Objekten und wird dann nicht weiter belästigt. Das Subsystem kümmert sich um alles, was das Neuzeichnen, Überzeichnen und das Transformieren betrifft.

Die leichteste Komponente die man zeichnen kann ist eine irgendwie geartete Geometrie. Leicht im Sinne von Overhead, der vom WPF-Subsystem erzeugt wird. Will man “schnell” viele ObjeKte Zeichnen ist es die einfachste Methode alles in einen DrawingContext/DrawingVisual zu zeichnen. Mittels ein oder mehrerer Geometries kann man die komplexesten Objekte zeichnen. Leider hat dieses Verfahren das Problem, dass man sich um alles selber kümmern muss. Es gitb keine “MouseEvents” oder ähnliches für die Geometries. Desweiteren kann man ein DrawingVisual nur im ganzen neu zeichnen. Will man einzelne Bereiche aktualisieren muss das ganze Bild neu gezeichnet. Das kann bei vielen Objekten zu einem Problem werden.

Der bessere Weg ist da einen DrawingContainer zu nutzen. Dabei wird stellt jede darzustellende Objekt ein Geometrie dar, die in ihr eigenes DrawingVisual gezeichnet wird. Dieses wird dann in einen DrawingContainer eingebettet. Das erhöht den Overhead ein wenig, bietet dafür aber den Vorteil, dass einzelne Bereiche des Bildes neu gezeichnet werden können, ohne dass andere DrawingVisuals davon betroffen sind. Um HitTesting und “MouseEvents” muss man sich erneut selber kümmern.

Kommt es auf Performance nicht an, kann man auch von einem UserControl oder ähnlichem ableiten und diesem ein DrawingVisual als Child verpassen. Hier hat man alle Vorzüge die das WPF so an EventHandling Bereit hält, leider geht damit auch ein erheblicher Performanceverlusst ein her.

Logitech DinovoEdge unter (K)Ubuntu “zum laufen bringen”

20. Januar 2010

Wenn man eine DinovoEdge an einen mit (K)Ubuntu betrieben wird feststellen, dass die Tastatur und das TouchPad zwar funktionieren aber die netten Zusatztasten nicht. Das hat zwei Gründe:

Bei ersterem muss man abwarten, bei letzerem kann man Abhilfe schaffen. Dazu braucht man einen “KeyLogger” wie xev. Führt man diesen auf der Konsole aus, kann mich sich anschauen, welche Tasten welche KeyCodes auslösen.

Hat man erstmal dadurch eine Liste von KeyCodes zusammengestellt muss man diese auf die “Medientasten” mappen. Dazu gibt es zwei Möglichkeiten.

  • Eine eigenes Tastaturlayout erstellen und dem X11 über die xorg.conf zuweisen. Diese Variante ist die “sauberste” aber auch die mit dem meisten “bloat”. Wer es dennoch durchziehen will, sollte hier mal nachlesen.
  • Oder man kann mittels Xmodmap das aktuelle Tastaturlayout erweitern. Das ist unter Ubuntu besonders einfach, da dies automatisch vom System durchgeführt werden kann.

Um letzteres umzusetzen muss man einfach in seinem Home-Verzeichniss eine Datei mit dem namen .Xmodmap anlegen. Diese wird automatisch nach dem Login geladen und “bearbeitet” das aktuelle Tastaturlayout. Für die DinovoEdge reicht diese Datei.

keycode 225 = XF86Search
keycode 163 = XF86Mail
keycode 180 = XF86HomePage
keycode 173 = XF86AudioPrev
keycode 174 = XF86AudioStop
keycode 172 = XF86AudioPlay
keycode 171 = XF86AudioNext
keycode 121 = XF86AudioMute
keycode 179 = XF86AudioRecord
keycode 150 = XF86PowerDown

Die Syntax sollte selbst erklärend sein. Wenn man andere Tasten zuordnen möchte, kann man die datei /usr/share/X11/XKeysymDB konsultieren, dort sind alle “möglichen” Zuordnung hinterlegt.Hat man die Datei angelegt, kann man mittels folgendem Befehl, die Änderungen “im System Bekannt machen”

xmodmap .Xmodmap

Danach kann man diese Tasten in Fenstermanager seiner Wahl funktionen zuweisen. Nach einem Neustart/Login wird diese Änderung automatisch angewendet.