ubuntuusers.de

20. November 2010

Note: An English version of this article is available.

Disclaimer: Dieser Artikel ist keine Schritt-für-Schritt-Anleitung für Anfänger! Ich habe alles auf Arch Linux durchgeführt, darum können die Pfadangaben auf Ubuntu leicht abweichen. Veränderungen an der Partitionstabelle und am Master Boot Record sind immer riskant! Mache Backups! Ich bin nicht verantwortlich für verlorene Daten!

Dieser Artikel beschreibt, wie man ein Linux-System von einer MSDOS-Partitionstabelle auf den neuen GUID Partition Table-Standard (GPT) umstellen kann. GPT ist Teil der EFI-Spezifikation und wird somit wahrscheinlich sehr bald in den meisten Desktops und Notebooks Einzug halten. Apple benutzt EFI und GPT bereits großflächig in seinen Systemen und auch IA64-basierte Server und Workstations setzen auf den neuen Standard. Aber auch wenn man noch ein BIOS-basiertes System sein Eigen nennt, kann man GPT nutzen.

MSDOS-Partitionstabellen werden im sog. Master Boot Record (MBR) gespeichert. Dieser ist der erste Sektor auf der Festplatte und somit 512 Byte groß. Der MBR enthält aber auch noch den Boot-Loader, der bereits 440 Byte in Anspruch nimmt. Die Partitionstabelle muss seit eh und je in 64 Byte passen. Das ist der Grund, warum man eigtl. höchstens vier Partitionen anlegen kann (dabei benötigt jeder Eintrag genau 16 Byte). Weil die Größe einer Partition in 32 Bit gespeichert wird, kann jede auch “nur” 2 Terabyte groß sein.

Wer von den Einschränkungen durch MBR-Partitionstabellen die Nase voll hat, insbesondere von der Begrenzung auf vier primäre Partitionen und den Hack mit erweiterten Partitionen, der kann sich GPT als Alternative anschauen. Mit GPT kann man 128 Partitionen anlegen, jede maximal 8192 Exabyte groß.

Was man braucht

Das fdisk-Tool kann nicht mit GPT umgehen. Man braucht daher gdisk, das aber nahezu gleich bedient wird. Außerdem benötigt man einen GPT-kompatiblen Boot-Loader. Der alte GRUB 0.97 benötigt dazu einen Patch, GRUB2 kann aber einwandfrei mit GPT umgehen. Ich benutze allerdings extlinux, das mit syslinux daherkommt, weil ich das Konfigurationssystem von GRUB2 nicht mag.

Wenn man das erste Mal auf GPT umstellt, muss man außerdem die erste Partition um 33 Sektoren verschieben (das ist die Größe, die die neue Tabelle braucht). Wenn man, wie ich, eine extra /boot-Partition hat, dann ist das kein Problem, ansonsten sollte man evtl. bis zur nächsten Neuinstallation warten. ;-)

Kombatibilität

Linux kann GPT-formatierte Platten mounten und auch davon booten. Man sollte aber vorher prüfen, ob der Kernel mit GPT-Unterstützung kompiliert wurde.

$ zgrep CONFIG_EFI_PARTITION /proc/config.gz

CONFIG_EFI_PARTITION=y # we're ready to go

Auch FreeBSD kann von GPT booten, was ich aber nicht getestet habe. Windows kann ohne Weiteres nicht auf BIOS-basierten Systemen von GPT-Platten booten! Wenn sich also Linux die Platte mit Windows teilt, sollte man noch darauf verzichten.

Let’s rock’n'roll

Zuerst habe ich syslinux und gdisk aus den Repositories installiert. Man braucht mindestens syslinux 4.0. Wenn man noch nicht Ubuntu 10.10 installiert hat, muss man es daher selbst kompilieren.

Dann habe ich extlinux in den MBR mit herkömmlicher Partitionstabelle installiert, um zu testen ob es überhaupt geht und eine funktionierende Konfiguration zu erstellen.
Nicht vergessen, /boot zu mounten; sda an das eigene System anpassen!

$ dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda # Copy bootloader to MBR
$ mkdir /boot/extlinux
$ extlinux --install /boot/extlinux
$ cp /usr/lib/syslinux/menu.c32 /boot/extlinux

Nun muss man /boot/extlinux/extlinux.conf anlegen und entsprechend dem eigenen System anpassen. Das manual `man syslinux` hilft dabei. Meine sieht folgendermaßen aus. Deine muss sicherlich anders aussehen!

default menu.c32
prompt 0
menu title Arch Linux
timeout 30
 
label linux
 menu label Linux
 kernel ../vmlinuz26
 append initrd=../kernel26.img root=/dev/sda3 ro resume=/dev/sda2 quiet

Nachdem die extlinux-Konfiguration funktionierte, habe ich die System Rescue CD gebootet. Die folgenden Schritte kann man nicht auf dem laufenden System machen, da man die Partitionstabelle verändern und dann mit der neuen Tabelle den Boot-Loader installieren muss. Der Kernel liest die Tabelle aber erst beim Reboot neu ein, der aber nicht funktioniert, solange man den Loader noch nicht installiert hat.

Auf dem laufenden Live-CD-System habe ich meine Partitionen eingehängt und /boot gesichert.

$ mkdir /mnt/host
$ mount /dev/sda3 /mnt/host
$ mount /dev/sda1 /mnt/host/boot
$ cd /mnt/host
$ tar cf boot.tar boot/
$ umount boot/

Jetzt habe ich gdisk gestartet. Es bringt beim ersten Start die Meldung, dass man eine MBR-Tabelle hat, welche es konvertiert hat und dass man die erste Partition löschen oder verkleinern/verschieben muss. Also löscht man sie und legt sie weiter hinten neu an.

$ gdisk /dev/sda
Command (? for help): d
Partition number (1-4): 1
 
Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-312581774, default = 34) or {+-}size{KMGTP}: 
Last sector (34-112454, default = 112454) or {+-}size{KMGTP}: 
Current type is 'Linux/Windows data'
Hex code or GUID (L to show codes, Enter = 0700): 
Changed type of partition to 'Linux/Windows data'
 
Command (? for help): x
 
Expert command (? for help): a
Partition number (1-4): 1
Known attributes are:
0: system partition
1: hide from EFI
2: legacy BIOS bootable
60: read-only
62: hidden
63: do not automount
 
Toggle which attribute field (0-63, 64 or <Enter> to exit): 2
 
Attribute value is 0000000000000004. Set fields are:
2 (legacy BIOS bootable)
 
Command (? for help): w

Jetzt hat man die Partitionstabelle zu einer GPT konvertiert. Letzter Schritt: den Inhalt von /boot wiederherstellen und extlinux nochmal installieren, diesmal aber mit dem Loader-Code für GPTs (gptmbr.bin).

$ mkfs.ext2 /dev/sda1
$ mount /dev/sda1 /mnt/host/boot
$ cd /mnt/host
$ tar xf boot.tar
$ dd if=/mnt/host/usr/lib/syslinux/gptmbr.bin of=/dev/sda
$ extlinux --install /mnt/host/boot/extlinux

Wenn alles glatt gelaufen ist, hat man nun ein GPT-System. Viel Glück! :-)

$ reboot

Referenzen (Englisch)

Der Out of Memory Manager ist ein Stück Software im Linux Kernel welches Tasks beendet wenn kein Speicher mehr verfügbar ist. Eigentlich dachte ich das ich mit dem OOM nie etwas zu tun bekomme, aber da lag ich falsch. Nach dem Login (KDE) fror der Desktop nach knapp 30 Sekunden ein. Die Prozessorauslastung ging auf 100% hoch (bei einem Core i5) und belegte sämtlichen Speicher. Nach einigen Minuten beendete der OOM den entsprechenden Prozess und das System war wieder bedienbar. Im Systemlog wurde dann der Schuldige gefunden: Akonadi. Akonadi startete beim Start eine Menge Prozesse (zirka 10) und legte damit das gesamte System lahm. Ein Löschen der Konfigurationsdateien von Akonadi (welche unter ~/.config/akonadi/ zu finden sind) brachte dann nach einem Neustart den gewünschten Erfolg und machte das System wieder bedienbar.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Akonadi
http://vizzzion.org/blog/2010/08/demystifying-akonadi/

Der Out of Memory Manager ist ein Stück Software im Linux Kernel welches Tasks beendet wenn kein Speicher mehr verfügbar ist. Eigentlich dachte ich das ich mit dem OOM nie etwas zu tun bekomme, aber da lag ich falsch. Nach dem Login (KDE) fror der Desktop nach knapp 30 Sekunden ein. Die Prozessorauslastung ging auf 100% hoch (bei einem Core i5) und belegte sämtlichen Speicher. Nach einigen Minuten beendete der OOM den entsprechenden Prozess und das System war wieder bedienbar. Im Systemlog wurde dann der Schuldige gefunden: Akonadi. Akonadi startete beim Start eine Menge Prozesse (zirka 10) und legte damit das gesamte System lahm. Ein Löschen der Konfigurationsdateien von Akonadi (welche unter ~/.config/akonadi/ zu finden sind) brachte dann nach einem Neustart den gewünschten Erfolg und machte das System wieder bedienbar.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Akonadi
http://vizzzion.org/blog/2010/08/demystifying-akonadi/

19. November 2010

Tja, jetzt ist es soweit. Nach langem hin und her habe ich mich dazu entschlossen, diesen Blog nicht mehr weiterzuführen. Über 2 Jahre habe ich Ubuntu mit diesem Blog recht regelmäßig begleitet, auch für den ein oder anderen Spaß wurde gesorgt. Dann plätscherte es so vor sich hin.

Private Veränderungen kamen und die eigenen Prioritäten verschoben sich. Selbstverständlich arbeite ich noch jeden Tag am PC und klar, auch Ubuntu ist dabei! Aber jetzt ist alles nur noch Arbeit, die Lust am tüfteln und probieren ist weg bzw. fehlt dafür schlicht die Zeit.

Ich halte mich über Ubuntuusers.de (Gruß an das Ikhaya-Team! ;) ) auf dem Laufenden und finde, dass Ubuntu auf einem guten Weg ist.

Ubuntu-Center wird noch eine Weile im Netz bleiben. Immerhin verzeichne ich trotz Inaktivität täglich um die 400–500 Besucher! Und vielleicht findet sich ja jemand, der alles übernimmt und weiterführt? Hat da draußen jemand Interesse daran? Du brauchst nur Webspace mit PHP‑ und MySQL und solltest mir beweisen, dass Du eine gute „Schreibe“ hast. Einem geeigneten Kandidaten übergebe ich das gerne kostenlos, mit allem drum und dran.

Bleibt mir noch eines: Danke an alle treuen Leser, es war eine schöne Zeit! :daumenanim:

Machts gut,
Turicon

[Update] Ganz überraschend kamen 3 Anfragen für die Übernahme von Ubuntucenter. Ich habe mich jetzt entschieden, ich denke in der kommenden Woche kann es mal zu einer vorübergehenden „Störung“ kommen, wenn die Seite umzieht. Ich bin sehr froh, jemanden gefunden zu haben und Sorry für die beiden, die nicht den Zuschlag bekommen haben. Also Frank, auf gehts! Die Daten sind unterwegs. ;)

Ich bin aktuell dabei den Rendering Code von KWin neuzuschreiben für OpenGL ES und auch OpenGL 3. Das stellt einen natürlich vor Probleme: wie überprüft man, dass der neue Code ausgeführt wird und, dass der alte noch funktioniert?

Der neue Zeichen Code verwendet nun einen Shader – hier ist es einfach einen Test einzubauen. Aktuell färbe ich einfach alle Pixel grün ein, wenn der Shader verwendet wird. Somit sieht man sehr leicht, welche Bereiche den neuen Pfad verwenden. Neben dem eigentlichen Zeichnen, ist es auch noch interessant zu sehen wie die Geometrie aussieht, die da eigentlich gerendert wird. Vor einiger Zeit hatte mir ein Compiz Entwickler einen Screenshot gezeigt, wo das zu sehen war und ich dachte mir, irgendwie nützlich. Heute abend hab ich es mal schnell eingebaut.

Ich lese zur Zeit die fünfte Auflage der OpenGL SuperBible (dazu mehr mal in einem anderen Post) und zwar von vorne ohne größere Grundlagenbereiche auszulassen. Somit bin ich heute auf eine Stelle gestossen, die beschreibt wie das geht. Natürlich kannte ich die Technik schon, nur ich hatte nicht daran gedacht. Beim Lesen dachte ich mir: ach das war doch das was Compiz auch hat, wäre ganz nützlich einzubauen. Das sieht dann insgesamt eigentlich schon sehr häßlich aus ;-)

Debug OpenGL rendering

Debug OpenGL rendering

Was man sehr schön sieht, ist wie groß der Schatten der Fensterdekoration doch ist.. Den debug Modus kann man in Zukunft über die Umgebungsvariable KWIN_GL_DEBUG aktivieren. Da wir ja schon im Feature Freeze sind, sprechen wir hier von 4.7 im Juli 2011. Wer trotzdem den Bildschirm bunt sehen will, kann ja den Show Paint Effekt verwenden.

=-=-=-=-=
Powered by Blogilo

Per Zufall stiess ich auf die noch junge Site Android Schweiz, auf der sich nebst einem Forum und allgemeinen Informationen auch eine Liste mit eidgenössischen Apps für Android-Geräte befindet. Daneben soll sich die Site zur Community-Schnittstelle für Android-User entwickeln; mithilfe von Facebook. Es sind zwar nicht alle angegebenen Apps auf dem Market verfügbar, aber einige sind dabei, die mir recht gut gefallen.

So ist die Apps der Schweizerischen Post gar nicht übel, ebenso auch diejenige zum Verkehr in der Schweiz.

Und selbstverständlich gibt es auch eine Applikation für Android-Geräte, um damit auf die Site Android Schweiz zuzugreifen. Ich behalte die Internet-Seite derweil im Auge. Da könnte sich etwas Tolles entwickeln.

PDF-Datei dieses Artikels erzeugen

Ähnliche Artikel

Soeben habe ich einen Artikel zum Thema Passwort Cracking für das IT-Sicherheitsmagazin Hakin9 fertiggestellt. Dieser wird voraussichtlich in der nächsten Ausgabe zu lesen sein.

Dabei habe ich mir mal wieder einige Gedanken über mein eigenes Passwort-Management Gedanken gemacht, und gemerkt, dass ich mich selbst nicht an alle Empfehlungen wie regelmässiges Ändern von Passwörtern, unterschiedliche Passwörter für unterschiedliche Konten und Dienste und ähnliches halte.

Nun wollte ich mal in die Runde fragen wie ihr denn das so handhabt?

Benutzt ihr ein Tool wie zum Beispiel den Schlüsselbund von Gnome? Oder ist bei eurem Benutzerpasswort ein Ablaufdatum gesetzt? Ändert ihr eure Passwörter überhaupt noch?

Wählt folgend die Optionen aus, welche euren Passwortalltag am besten beschreiben (mehrere Antworten möglich):

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

Und wer noch mehr zu sagen hat, der kann alles auch in einem Kommentar beschreiben.


Das könnte dich auch interessieren:

  1. DNS Cache Poisoning für Hakin9
  2. Google Code University’s Jarlsberg

18. November 2010

Das Installieren des Wacom Bamboo Treibers war noch nie einfacher. Endlich ist es mit einer Paketquelle möglich den Treiber der neuen Wacom Tablets unter Ubuntu 10.04 und 10.10 zu installieren.
In der Vergangenheit habe ich Artikel zu dem nicht immer leicht zu bewältigenden Treiberproblem der neuen Wacom Tablets unter Ubuntu geschrieben. Die Artikel sollten die Treiberinstallation erleichtern. Diese Tutorials konnten jedoch nicht jeden zufriedenstellen, da viel im Terminal gearbeitet werden musste, und meist Verwirrungen und/oder Fehler auftraten.

Die Lösung:

Martin Owens stellt den benötigten Treiber über seine Paketquelle (PPA) zur Verfügung

Die Installation:

So ganz ohne Terminal kommen wir bei der Installation des Treibers mittlerweile immer noch nicht aus, daher starten wir nun ein Terminal (Anwendungen -> Zubehör -> Terminal) und geben folgende Codezeilen nacheinander ein.

sudo add-apt-repository ppa:ripps818/wacom

sudo apt-get update
sudo apt-get install wacom-dkms

Nachdem die Aufgaben im Terminal abgeschlossen sind, muss das System neugestartet und das Tablet kann nun über einen USB-Slot angeschlossen werden.

Hinweis:

Nach jedem Kernel Update muss der Treiber neu installiert werden.

Optional:

Gimp Einstellung Wacom Bamboo

Gimp erkennt  drucksensitive Grafiktabletts, es müssen nur noch die Einstellungen für Eingabegeräte unter Gimp angepasst werden. Dazu ruft man unter Bearbeiten -> Einstellungen -> Eingabegeräte -> Erweiterte Eingabegeräte konfigurieren die Einstellungen für die Eingabegeräte auf. Als Modus sollte immer Bildschirm eingestellt sein, damit eine exakte Druckerkennung gewährleistet werden kann.

Mit der Vektorgrafikanwendung Inkscape ist die Erkennung von drucksensitive Grafiktabletts ebenfalls gegeben. Auch hier müssen die Eingabegeräte eingestellt werden. Das Einstellungsmenü wird über: Datei-> Eingabegeräte aufgerufenInsckape Wacom bamboo Eingabegeräte.

Quelle: brettalton.com

Dreimal drei, heißt es nun schon die Document Foundation hat heute die Beta 3 Version von LibreOffice 3.3 veröffentlicht das die erste stabile Version von LibreOffice werden wird. Neben den üblichen Fehlerkorrekturen enthält diese Version einige Neuerungen, so wurde  die DDE-Implementierung der Office-Suite komplett überarbeitet und soll nun einfacher funktionieren. In der Tabellenkalkulation wurde die Standardtastenbelegung von Delete und Backspace vertauscht und entspricht damit der Belegung von Microsoft Excel. Ausserdem werden beim Umstellen der Sprache auch die Zahlennotation automatisch angepaßt, Punkt statt Komma. Ausserdem soll das versehentliche Drücken der Feststelltaste automatisch detektiert und abgestellt werden, wenn es zu typischen Tippfehlern kommt.

Die Betaversion eignet sich natürlich nicht für den produktiven Einsatz, wer LibreOffice dennoch testen möchte findet entsprechende Pakete in der Downloadsektion auf den Seiten der Document Foundation.

Synergy ist eine kleine Client-Server Applikation, die es erlaubt, eine Maus und eine Tastatur an mehreren Rechnern zu verwenden. Diese funktioniert auch Betriebssystemübergreifend, die Software gibt es für Linux, Mac OS X und Windows. Das Ganze funktioniert als User, kein root-Zugriff ist nötig.

Unter Ubuntu legt man einfach im Home-Verzeichnis eine Datei namens .synergy.conf an, die die Anordnung der Rechner enthält. Der Einfachheit halber würde ich hier die Hostnamen verwenden, dann spart man sich ein paar Aufrufparameter.

Meine ~/.synergy.conf sieht wie folgt aus:
section: screens
  stardust:
  titan:
end
section: links
  stardust:
    right = titan
  titan:
    left = stardust
end


Die erste Sektion sagt, welche Rechner überhaupt verwendet werden. Bei mir sind das stardust, mein Hauptrechner, und titan, mein Netbook, weitere Maschinen lassen sich natürlich ebenfalls eintragen.

Die zweite Sektion beschreibt, wie die Rechner zueinander stehen. Rechts von stardust ist titan und links von titan ist stardust. Sollte ein Rechner in der Mitte von zwei anderen Rechner stehen, muss je ein Eintrag für left = und right = angegeben werden.

Auf stardust wird nun der Server mittels synergys und auf titan der Client mittels synergyc IP-ADRESSE gestartet. Das war es schon, die Clients holen sich die Konfiguration vom Server.

Wenn ich jetzt auf stardust mit der Maus aus dem rechten Bildschirm-Rand fahre, sind Maus und Tastatur auf titan und können dort verwendet werden.

17. November 2010

Windows vs. Linux 17. November 2010 22:41

Ende

Tja, nun ist es wohl gekommen. Das Ende.
Der Weg, den dieses Blog beschreibt, ist für mich vollendet, ich habe das Ziel "Linux als Standardsystem" erreicht, und damit führe ich eher selten "Vergleichs-Kämpfe" gegen Windows aus. Dazu ist auch meine Zeit weniger geworden, die ich dafür aufbringen kann (Die reale Welt fordert ihren Tribut).

Ich werde in diesem Blog voraussichtlich auch keine neuen Beiträge schreiben, aufgrund dessen werde ich dieses Blog auch aus dem Planeten nehmen lassen.
Meine bisherigen Beiträge, insbesondere die nützlichen, die oft gesucht wurden, werde ich anderweitig für die Nachwelt erhalten. ;o) Wie genau das jedoch aussehen wird, weiß ich noch nicht.
Ich möchte mich auf alle Fälle bei allen Lesern bedanken, insbesondere den Kommentatoren und den Tippgebern.

Da Sylvermoon inzwischen ihre Linuxexperimente wieder eingestellt hat, wird auch da nichts mehr zu erwarten sein.

Und mit diesen Worten möchte ich mich von euch - in diesem Blog - verabschieden.
Vielleicht folgt irgendwann ein neues, man wird sehen.

TiKaey / Ralf

Das Dropbox-Team hat wieder einmal neue Versionen veröffentlicht. Dabei handelt es sich natürlich wieder einmal um die experimentellen Forum-Builds, die einige Bugfixes enthalten. Die Builds für Windows, Mac OS X und Linux enthalten folgende Verbesserungen:

  • Don’t overwrite already installed Growl
  • Faster quit on OSX
  • Speed up Pause and Resume.
  • Lots of text, image and UI changes in the installation wizard.
  • Fix syncing icon on Dropbox Folder
  • The Uninstaller is now codesigned
  • Fix missing context menus on 10.4
  • New green tray arrow during the Dropbox Tour
  • Better permission checks when installing
  • Update selective sync dialog to match CLI commands
  • Fix Move Dropbox dialog box.
  • Fix missing Tray menu on OSX
  • Performance improvements
  • Other small fixes.

Herunterladen kann man die 32-bit und 64-bit Linux-Versionen.

Um die Version zu installieren muss die Dropbox angehalten werden. Um die alte Version schnell wieder herstellen zu können sollte eine Sicherung des Orders .dropbox-dist im home-Verzeichnis angelegt werden. Das heruntergeladene Archiv wird dann einfach ins Home-Verzeichnis des Nutzers entpackt. Alternative Icons (ich nutze dieses Icon-Set) müssen dann noch in den Ordner ~/.dropbox-dist/icons/hicolor/16x16/status kopiert und die enthaltenen Dateien überschrieben werden.

Dropbox 1.0.1.4 QR Code

Dropbox 1.0.1.4 QR Code

Dropbox für Android

Auch für Android gibt es mit der Version 1.0.1.4 eine neue Dropbox Forum-Build. Installieren kann man die Version, indem man mit dem Handy die Adresse http://db.tt/NvbFIED aufruft oder den QR Code mit einem Barcode-Reader fotografiert.

In der Version 1.0.1.4 sind auch Verbesserung aus der Forum-Build 1.0.1.2 enthalten:

  • Visual & Manifest changes to support low-end small-screen phones such as the Motorola Charm, as well as tablets.
  • Added more logging, and a button to e-mail a log to Dropbox, for debugging
  • Check to make sure that uploads aren’t larger than 300MB (server-side API limit)
  • Proper handling & escaping of all special characters in file names
  • Offline viewing of downloaded files should work again.
  • Various stability improvements.
  • Better error logging
  • If system clock is wrong, lets user know the reason for not being able to log in.
  • Bug and stability fixes: Edited files were re-uploading every time their directory was browsed (though may still show up a single time for each file, when you first use the app)

Ein Fehler ist in der Version enthalten, die in der nächsten Version bereinigt werden soll. Beim Upload in die Dropbox via Android sollen Leerzeichen im Dateinamen nicht möglich sein und durch “+”-Zeichen ersetzt werden.

Dropbox Thunar und weitere Addons

Es gibt übrigens auch ein Dropbox-Addon für den Xfce-Dateibrowser Thunar, der die Kontext-Menü-Einträge hinzufügt, die man auch aus nautilus-dropbox kennt. Dabei handelt es sich allerdings nicht um eine offizielle Version des Dropbox-Teams. Es gibt auch noch weitere Addons für Windows, Linux und Mac. Wer damit ein bisschen rumspielen möchte sollte mal einen Blick ins Dropbox-Wiki oder die Apps-Seite für mobile Apps werfen. Die Verwendung erfolgt jedoch auf eigene Gefahr.

Es geht wieder um den Faxserver. Alle Informationen der Faxaufträge werden in eine MySQL Datenbank geschrieben. Nun war das die ganze Zeit so, dass ich eine Tabelle mit Auftragsinformationen und eine Tabelle mit Statusinformationen hatte. Das ganze war eine 1:n Beziehung, da es zu einem Auftrag mehrere Statusinformationen geben kann (3 Versuche).

Mittlerweile gefällt mir das allerdings aus mehreren Gründen nicht mehr und ich wollte das ganze zu einer 1:1 Beziehung abändern. Dazu wurde es nötig die SQL Statements für die Statusinformationen abzuändern. Meine erste Idee war:

  1. prüfen ob bereits ein Eintrag mit der ID vorhanden ist
  2. wenn ja, dann führe ein Update auf diesen Datensatz durch
  3. wenn nein, dann führe das Insert durch

Funktionieren würde das, aber unschön. Nach ein bisschen rumsuchen bin ich dann auf eine MySQL Funktion gestossen, die mir bis dahin nicht bekannt war. Man kann das alles innerhalb eines Statements machen:

INSERT INTO `StatusDatabase` (`Datum`, `Zeit`, `Jobid`, `Status`) VALUES ('$datum','zeit',$jobid,'$status') ON DUPLICATE KEY UPDATE Zeit='$zeit',Status='$status'

Im Endeffekt wird MySQL das tun, was ich auch in mehreren Schritten geplant hatte, allerdings ist das doch ein wenig einfacher – und wahrscheinlich auch effektiver – mit vorhandenen Funktionen zu arbeiten. Damit das ganze funktioniert muss das Feld mit der ID als eindeutiger Key definiert werden (unique).

Vergangenes Wochenende hat sie nun stattgefunden, die zweite Ausgabe der OpenRheinRuhr. Rückblickend läßt sich sagen, der Wechsel des Veranstaltungsortes vom Saalbau Bottrop ins Rheinische Industriemuseum nach Oberhausen hat sich vollauf gelohnt. Den Projekten und anderen Austellern stand dort wesentlich mehr Ausstellungsfläche zur Verfügung und die Aufteilung der Ausstellung ist günstiger als am alten Veranstaltungsort. Die Austellung hat optisch zugenommen und so tummelten sich auf der Fläche 40 Aussteller verschiedener Projekte und Firmen. So waren auch die verschiedenen Distributionen vertreten, von Debian, über Fedora, Ubuntu bis zu openSUSE. Auch Projekte wie LibreOffice waren unter den Ausstellern aber es gab auch einen OpenOffice Stand, ein Zustand an den man sich erst gewöhnen muss.

Am Samstag fand dann der Social Event, in den Räumen des Industriemuseums statt. Die Zahnräder und großen Maschinen erzeugen durchaus eine geekige Atmossphäre. Ganz nebenbei haben wir eine DoS-Attacke auf sämtliche Pizzerien in Oberhausen gestartet und andere haben dann doch eindeutig zuviel Wiskey getrunken.
Neben der Ausstellung gab es aber auch noch ein Vortragsprogramm zu dem ich auch beigetragen habe. Am Sonntag Morgen habe ich meine eigentlich als Workshop eingereichte Session zu Inkscape gehalten. Der Vortragsraum, war bis auf den letzten Platz gefüllt. Geplant hatte ich dafür nur wenig zu Inkscape zu reden und stattdessen eine kleine Demonstration zu machen. So hab ich versucht zu zeigen, wie man mit Inkscape oder besser gesagt mit der Erweiterung JessyInk Slideshows erstellt. Das hat dann doch noch den ein oder anderen Besucher an den Stand von openSUSE gebracht. Ansonsten war der Sonntag wie erwartet mit etwas weniger Besuchern. Am Samstag Nachmittag hab ich dann noch ganz spontan einen Vortrag gehalten, weil einer der Speaker ausgefallen ist. Für den Samstag ist es mir dieses Mal gelungen, wenn auch kurzen Beitrag zu veröffentlichen.
Auf jeden Fall hat sich der Besuch der OpenRheinRuhr gelohnt und die Anzahl der Besucher zumindest am Samstag kann sich schon sehen lassen. Ich schätze dass es ungefähr1200 Besucher gewesen sein werden, denn die Halle war schon zwischenzeitlich einmal ganz schön voll. Also nächstes Jahr wieder – OpenRheinRuhr.

16. November 2010

Und wieder ein Grund mehr, allen Freunden, welche noch ICQ nutzen, Jabber als Chatprotokoll der Wahl ans Herz zu legen: Seit gestern funktioniert ICQ mit freien Clients wie Kopete, Empathy oder Pidgin mal wieder nicht.

Das Problem äußert sich in den meisten Fällen dadurch, dass der ICQ-Server scheinbar das Passwort nicht mehr akzeptiert. Zum Glück kann man den Fehler in diesem Fall sogar selbst und recht leicht beheben, zumindest, wenn man den KDE-Messenger Kopete nutzt:

Einfach den Login-Server in den Einstellungen des Accounts von login.oscar.aol.com zu login.icq.com abändern und die Portnummer auf 5190 setzen – fertig.
Patches für Kopete, die diese Änderung automatisch durführen sind bereits fertig und auch Empathy arbeitet an dem Problem.

An ICQ zeigt sich meiner Meinung nach mal wieder besonders deutlich, warum man sich nicht auf proprietäre Software eines Anbieters verlassen soll und warum vor allem proprietäre Formate und Protokolle inzwischen ein echtes Problem unserer IT geworden sind.

Gleichzeitig haben aber auch alle freien Chatclients hervorrangend und sehr schnell auf die Änderungen reagiert. (Ein Vorteil freier OpenSource-Software) Großes Lob an die Entwickler dafür!

EDIT: In einigen Fällen hilft es auch, SSL für die Verbindung zu deaktivieren.

Es passiert so ca. 2 mal pro Jahr: ICQ geht nicht mehr!

Genau zu dieser Zeit gibt es dann in diversen Foren Beiträge das die Welt untergeht und man ohne ICQ nicht mehr länger leben möchte.

Sind wir doch mal ehrlich: Warum verwendet man überhaupt ein zentrales Protokoll wo man genau weiß das der Serviceprovider ausdrücklich die Verwendung alternativer Clients verbietet?

Als Antwort gibt es dann den Klassiker "Meine Freunde haben doch alle ICQ!", was ich aber nicht als Grund zählen lasse warum man dieses proprietäre Protokoll verwenden muss. Wenn niemand endlich mal anfängt auf alternative (offene) Protokolle umzusteigen, schiebt man doch diese Art von Problemen immer und immer wieder vor sich hin. Ich selbst habe mein ICQ (ja, ich war auch mal jung und dumm) schon vor langer Zeit abgeschaltet, wer mich erreichen möchte kann mir ne Mail schreiben oder aber auf Jabber umstellen.

Just my 2 cents...

Es passiert so ca. 2 mal pro Jahr: ICQ geht nicht mehr!

Genau zu dieser Zeit gibt es dann in diversen Foren Beiträge das die Welt untergeht und man ohne ICQ nicht mehr länger leben möchte.

Sind wir doch mal ehrlich: Warum verwendet man überhaupt ein zentrales Protokoll wo man genau weiß das der Serviceprovider ausdrücklich die Verwendung alternativer Clients verbietet?

Als Antwort gibt es dann den Klassiker "Meine Freunde haben doch alle ICQ!", was ich aber nicht als Grund zählen lasse warum man dieses proprietäre Protokoll verwenden muss. Wenn niemand endlich mal anfängt auf alternative (offene) Protokolle umzusteigen, schiebt man doch diese Art von Problemen immer und immer wieder vor sich hin. Ich selbst habe mein ICQ (ja, ich war auch mal jung und dumm) schon vor langer Zeit abgeschaltet, wer mich erreichen möchte kann mir ne Mail schreiben oder aber auf Jabber umstellen.

Just my 2 cents...

Gnome Shell

Gnome Shell

In den letzten Wochen wurde vermehrt Canonicals Entscheidung, eine eigene Shell zu entwickeln und nicht die Gnome Shell zu benutzen, diskutiert. Ubuntu wird zumindest in 11.04 nicht die Gnome Shell benutzen, sondern die eigene Unity Shell verwenden. Diese wurde bisher nur auf Netbooks verwendet.

Nun ist mal ein ganz guter Zeitpunkt um einen Blick auf die aktuellere Entwicklung der Gnome Shell zu werfen. MrMars vom italienischen Ubuntu Forum hat einige aktuelle Screenshots präsentiert.

Ubuntu’s Unity und das Aussehen von Gnome Shell ähneln sich sehr. Die Auflistung der Programme ist fast genauso in beiden Systemen. Auch das sogenannte Dock auf der linken Seite ist nahezu identisch. Beide senkrecht angeordnet und dienen als Starter für Programme und zum Öffnen von Ordnern oder ähnlichem. Bei der Gnome Shell befindet sich eine Suche rechts oben. Diese Positionierung für das Suchfeld kennen wir schon von den meisten Webseiten. Schließlich ist es fast schon Standard, dass man auf Webseiten die Suche rechts oben hat. Diesen Punkt finde ich auch in einer Shell sinnvoll. Bei der Gnome Shell kann man nun Arbeitsflächen flüssig während des Arbeitens hinzu fügen oder entfernen. Dazu geht man einfach mit der Maus ans rechte Ende des Bildschirms und es erscheinen die nötigen Schaltflächen zum Hinzufügen und Entfernen. Viele werden die Alt+Tab Funktion schon von anderen Systemen wir Compiz kennen. Damit kann man sich nun auch in der Shell einen schnellen Überblick über die offenen Programme und Fenster schaffen, aber auch zwischen den einzelnen Fenstern schnell hin und her springen.

Alles in allem, befindet sich die Gnome Shell auf einem schönen Weg. Ähnelt aber Unity sehr stark. Wobei man hier nicht einfach sagen kann, dass Gnome von Unity abschaut, die Gnome Shell ist schon längere Zeit in Entwicklung und Ideen fließen wohl in beiden Richtungen. Ob es aus Sicht von Ubuntu wirklich nötig war ein weiteres System zu entwickeln, bleibt fraglich. Aber evtl. regt es ja auch weitere Diskussionen und Ideen an. Konkurrenz belebt das Geschäft ja bekanntlich. ;)

Im Folgenden die Screenshots ( (c) MrMars forum.ubuntu-it.org ):

22966545518795861274 64566357632921795913 68964381588124387379 76795573977577818800 79963653040180979535 Gnome Shell

flattr this!

Visor ist ein Terminalemulator und ähnelt den Konsolen von First-Person-Shootern (Quake-Style). Ich finde es sehr cool wenn sich über die Taste CMD + ^ eine Konsole öffnet und man mal schnell einen Befehl ausführen kann – sehr praktisch für das tägliche Arbeiten. :mrgreen:

Installationsanleitung:

  • mindestens SIMBL 0.9.x installieren
  • Visor downloaden
  • die Datei Visor.bundle in ~/Library/Application Support/SIMBL/Plugins kopieren
  • Terminal.app neu starten
  • in den Einstellungen vom Terminal.app befinden sich nun zusätzlich die Visor Einstellungen

EDIT: Unter Ubuntu (GNOME) gibt es einen ähnlichen Terminalemulator, dieser trägt den Namen Tilda.

sudo apt-get install tilda

… dafür 2011 auf dem Smartphone ;)

Anfang 2010 habe ich 2010 für das Jahr gehalten, an dem Linux seinen Siegeszug auf dem Desktop antreten wird.

Leider habe ich mich hier „etwas“ geirrt:

Es fing so gut an, viele Hersteller von Netbooks hatten Prototypen mit einem installierten Linux-Kernel samt angepasster Oberfläche in Aussicht gestellt. Es kamen auch einige Modelle mit Linux auf den Markt, leider sind nach der Freigabe von Windows 7 die Linux-Geräte durch einen Windows 7-Pedant ersetzt worden.

Laut dem Wikipediaartikel zu Linux „ist der Marktanteil gemäß Net Market Share wieder auf 0,9 % gefallen„. Traurig aber wahr…

Erfreulichere Zahlen lassen sich im Smartphone-Bereich finden, hier dominert Android die Verkaufszahlen in den USA. Auch Hierzulande erfreut(en) sich Android(Phones) wachsender Beliebtheit, man sehe sich nur mal das Angebot an Android-Geräten bei den Netzbetreibern an. Ein Blick in den Android-Marked zeigt über 100.000 Apps, somit ist klar, dass sich „einige“ Entwickler und Nutzer um das Linux auf dem Smartphone geschart haben. Auch Samsung schickt ein auf Linuxbasierendes Smartphone Betriebssystem Namens Bada ins Rennen um die Vorherrschaft auf dem Smartphone Markt.

Hoffentlich hält der Trend hin zu Linux auf dem Smartphone an und schappt irgendwann endlich mal auf den Destop über. Ganz ehrlich 0,9 % Marktanteil auf dem Desktop ist noch zu toppen ;)


Momentan erweitere ich unseren Faxserver. Dieser läuft unter Hylafax. Vor einiger Zeit habe ich um den Faxserver herum diverse Scripte und ein Webfrontend erstellt. Das wird nun alles ein wenig aufgehübscht. Das System ist extrem auf die Befürfnisse der Firma angepasst da es einige sehr spezielle Anforderungen gibt.

Ein Fehler der dabei immer mal wieder auftauchen kann ist, dass postscript Dateien nicht richtig erstellt werden und als Folgefehler diese nicht als Postscript versendet werden, sondern als ASCII. Nun muss man wissen, dass beispielsweise eine Postscript Datei die interpretiert 1 Seite ergibt, als ASCII (also Code) mehrere Seiten haben kann. Dazu muss nur ein kleiner Fehler in der Datei sein. Bei uns sieht das dann so aus, dass aus einem Fax von 8 Seiten schnell 400 Seiten werden. Um das zu vermeiden möchte ich innerhalb meiner Scripte nun die Seiten zählen. Dazu ist Ghostscript (gs) der Freund in schlechten Tagen.

Interessanterweise zeigt gs eine defekte Datei ebenso als quasi “ASCII” Ausdruck an und kann dem entsprechend auch die Seiten zählen. Achtung! Das ganze funktioniert bei uns, da der Header für Postscript anscheinend auch bei Fehlern korrekt ist.

Postscript sind Anweisungen, man kann sogar Funktionen innerhalb von Postscript ausführen. Diese Möglichkeit mache ich mir zu Nutze und zähle die Seiten wie folgt:

gs -q -dNODISPLAY -dBATCH -dNOPAUSE <.ps file> count.ps

Der Inhalt von count.ps sieht dabei so aus:

%!
currentpagedevice /PageCount get
(Seiten:) print == flush

Dadurch erhät man als Ausgabe “Seiten: X”.

Im Internet gibt es viele Anleitungen beispielsweise das “showpage” innerhalb eine Postscript Datei zu zählen, allerdings funktioniert das nur dann, wenn die Datei auch fehlerfrei ist. Die oben beschriebene Methode funktioniert bei fehlerfreien und korrupten Dateien (korrupt bis zu einem gewissen Grad).

PDF

Für .pdf Dateien gibt es übrigens das Tool “pdfinfo”. Dieses gibt, neben diversen anderen Informationen, auch die Seitenzahl einer .pdf Datei zurück.

Über unseren Bloggerkollgen Patrick bin ich auf den Wettbewerb vom Linuxmagazin aufmerksam geworden. In diesem Programmierwettkampf geht es dabei um einen Bot, der in einem Glücksspiel  besser abschneidet als der Bot des Gegners. Die Spielregeln sind einfach und auf der Hauptseite des Wettbewerbs erklärt: 

Ein Spieler würfelt wiederholt und addiert seine Augenzahlen. Würfelt er eine sechs, verliert er seine gesammelten Punkte und der Mitspieler ist am Zug. Der aktive Spieler darf jedoch auch freiwillig an den Gegner abgeben: In dem Falle sichert er sich die bis dato gesammelten Punkte und fällt bei einer späteren sechs nur auf diesen Stand zurück. Wer zuerst 50 Punkte erreicht, gewinnt.

Klingt im ersten Moment gar nicht mal so schwierig. Ist es im Endeffekt auch nicht, wenn man die richtige Taktik wählt. Mittlerweile ist schon Einsendeschluss lange vorbei und die Auswertung hat begonnen. Die Veranstalter haben mittlerweile die Taktiken der besten Teilnehmer der Zwischenrunde gezeigt und erklärt, dabei ist mir aufgefallen, dass die von mir gewählte Taktik ebenfalls in der Spitzengruppe vertreten ist. Leider ist mein Bot bisher nicht in der Top 20, aber es freut mich, dass ich es rein theoretisch weit gebracht hätte. Es kommt hier meine Funktion play(), die entscheidet, ob gewürfelt wird, oder nicht.

Die Erklärung meiner Taktik

Nunja, man muss natürlich noch ein bisschen an den Werten arbeiten, um in der Spitzengruppe dabei zu sein. Im Grunde funktioniert es aber das so: Es wird ausgerechnet, wie groß die Wahrscheinlichkeit ist, dass auch in diesem Wurf KEINE sechs gewürfelt wird. Diese mathematische Wahrscheinlichkeit ($mathe) ist die Ausgangssituation für die Entscheidung. Der Prozentsatz wird allerdings im Nachhinein verändert, je nach Spielstand erhöht oder verringert. Liegt der Bot z.B. weit zurück, wird sie erhöht, bei großem Vorsprung verringert. Das hat zur Folge, dass je nach Spielsituation auf Risiko oder auf Sicherheit gespielt wird.
Diese Methode ist meiner Meinung nach sehr professionell, da hier vergleichsweise einfach Erweiterungen implementiert werden können. In meiner Ausführung ist z.B. die Taktik des Gegners nicht berücksichtigt. Da eine Runde nur bis 50 Punkte geht, fand ich die Taktik des Gegners vernachlässigbar. Wären die Gewinnpunkte deutlich höher, würde es sich sicherlich lohnen, seine eigene Taktik an die des Gegners anzupassen.
Außerdem kann man sehr einfach dem Bot sagen, wie riskant er spielen soll, indem man die Variable „gewinnchance“ verändert. Denn nachdem das Skript die mathematische Wahrscheinlichkeit nach den oben genannten Gesichtspunkten verfälscht hat, wird verglichen, ob die rechnerische Wahrscheinlichkeit noch größer ist, als die Grenzwahrscheinlichkeit. In diesem Fall wird gewürfelt, andernfalls gesichert. Um hier den besten Wert zu erhalten, habe ich gleich mehrere Bots auf die Testserver geworfen, so dass sie gegeneinander spielten. Dabei kam heraus, dass in über 500 Spielen der Bot mit 32% Gewinnwahrscheinlichkeit der erfolgreichste war.

Das Skript

Der Bot wurde in Bash programmiert. Hätte ich etwas mehr Zeit mit experimentieren verbracht, hätte ich die Werte für die Wahrscheinlichkeitsumrechnungen optimieren können. Doch mit dem jetzigen Wettbewerbsverlauf bin ich mehr als zufrieden, denn dabei sein ist schließlich alles! :)

name="bejonet"
zahl="0"
gewinnchance="32" #hier in ganzzahligen % angeben, wie groß die Gewinnchance mindestens sein muss um zu würfeln.
mathehundert="0"
play() {
sechstel=$(echo "scale=2 ;  1/6 " | bc )
taktik=$(echo "scale=2 ;  5/6" | bc ) #taktik: 1 = wuerfeln!; 0 = nicht wuerfeln! standard: 0.83 

	meine="$1"
	seine="$2"
	differenz=$(echo "scale=2 ;  $meine-$seine" | bc ) 

if [ "$meine" == "0" ]
then
taktik=1
zahl=1
fi
mathe=$(echo "scale=2 ; (5/6)^$zahl" | bc )
taktik=$mathe
if [ "$seine" -gt "40" ]
then
taktik=$(echo "scale=2 ; $taktik*1.5" | bc )
fi
if [ "$seine" -gt "45" ]
then
taktik="1"
fi
if [ "$meine" -gt "40" ]
then
	if [ "$differenz" -gt "25" ]
	then
	taktik=$(echo "scale=2 ; $taktik*0.75" | bc )
	fi
fi
if [ "$differenz" -lt "-15" ]
then
taktik=$(echo "scale=2 ; $taktik*1.5" | bc )
fi
if [ "$differenz" -lt "-2" ]
then
taktik=$(echo "scale=2 ; $taktik*1.2" | bc )
fi
if [ "$meine" -gt "48" ]
then
mathehundert=$(echo "scale=0 ; $mathe*100" | bc )
mathehundert=$(echo "scale=0 ; $mathe/1" | bc )
taktikhundert=$(echo "scale=0 ; $mathehundert/1" | bc )
	if [ "$mathehundert" -gt "40" ]
	then
	taktik="1"
	else
	taktik=$(echo "scale=2 ; $taktik*1.5" | bc )
	fi
fi
if [ "$zahl" == "0" ]
	then
	taktik="1"
fi
taktikhundert=$(echo "scale=0 ; $taktik*100" | bc )
taktikhundert=$(echo "scale=0 ; $taktikhundert/1" | bc ) 

if [ "$taktikhundert" -gt "100" ]
then
taktik="1"
fi
## hier wird gewuerfelt ##
taktikhundert=$(echo "scale=0 ; $taktik*100" | bc )
taktikhundert=$(echo "scale=0 ; $taktikhundert/1" | bc )
	if [ "$taktikhundert" -gt "$gewinnchance" ]
	then
	echo "ROLL"
	zahl=$(echo "scale=0 ; $zahl+1" | bc )
	else
		if [ "$zahl" == "0" ]
		then
		echo "ROLL"
		else
		echo "SAVE"
		zahl="0"
		fi
	fi 

	}

Bildquellen für das Featured-Bild: Flickr von Jeff Golden, Wikipedia: Laplace

Im Oktober 2010 wurde die Entwicklung der Open Source Software Ramen eingestellt. Bei dieser für Linux, Windows und Mac OS erhältlichen Software handelt es sich um eine Compositing Lösung für Videos. Der derzeitige Entwickler hat einfach keine Zeit mehr für das Projekt. Doch hier sieht man wie ich finde wieder einmal die Vorteile von Open Source. Jeder der es möchte kann sich den Sourcecode schnappen und die Software weiterentwickeln. Der Entwickler teilte das Projekt vor der Einstellung in eine Shared Library und eine GUI welche in Python geschrieben wurde. So können sich andere Projekte auch nur den Sourcecode der Bibliothek schnappen und ihn verwenden. Hoffen wir mal das sich jemand der Weiterentwicklung annimmt. Die offizielle Seite von Ramen ist unter http://ramenfx.org zu finden.

Weitere Informationen gibt es unter:
http://blog.ramenfx.org/blog/
http://www.slashcam.de/artikel/Essays/Ramen-R-I-P.html

Im Oktober 2010 wurde die Entwicklung der Open Source Software Ramen eingestellt. Bei dieser für Linux, Windows und Mac OS erhältlichen Software handelt es sich um eine Compositing Lösung für Videos. Der derzeitige Entwickler hat einfach keine Zeit mehr für das Projekt. Doch hier sieht man wie ich finde wieder einmal die Vorteile von Open Source. Jeder der es möchte kann sich den Sourcecode schnappen und die Software weiterentwickeln. Der Entwickler teilte das Projekt vor der Einstellung in eine Shared Library und eine GUI welche in Python geschrieben wurde. So können sich andere Projekte auch nur den Sourcecode der Bibliothek schnappen und ihn verwenden. Hoffen wir mal das sich jemand der Weiterentwicklung annimmt. Die offizielle Seite von Ramen ist unter http://ramenfx.org zu finden.

Weitere Informationen gibt es unter:
http://blog.ramenfx.org/blog/
http://www.slashcam.de/artikel/Essays/Ramen-R-I-P.html

Den aktuellen -rc1 habe ich verbummelt (wie so einige Versionen davor), aber allmählich wird es Zeit, Mal wieder einen genaueren Blick auf die Entwicklung zu werfen, bevor ich ganz davon abgehängt werde.

Am 1. November wurde die erste Vorabversion des neuen Linux-Kernel veröffentlicht, fast 10.000 Änderungen sind während des Merge Window aufgenommen worden. Besonders bemerkenswert fand Torvalds, dass die Verwendung des Big Kernel Lock (BKL), einem überholten und nur aus Gründen der Kompatibilität bisher beibehaltenen Locking-Mechanismus für den Kernel (siehe „Kernel-Rückblick“, freiesMagazin 06/2008), mittlerweile aus fast allen zentralen Komponenten getilgt ist. Einige Treiber nutzen BKL immer noch, sodass bei einer Kompilierung ohne BKL-Unterstützung trotzdem noch mit Einschränkungen zu rechnen ist. Eine der umfangreichsten Änderungen betrifft die Treiber für das HTC Dream, diese flogen raus da sie nicht mehr aktiv bearbeitet werden und es nach Ansicht Kroah-Hartmans sowieso zweifelhaft ist, ob sie sich überhaupt kompilieren lassen.

-rc2 liegt jetzt auch vor. Trotz der Zeitspanne von zwei Wochen, die hauptsächlich des Kernel Summits und der Linux Plumbers Conference geschuldet sind, liegt die Zahl der Änderungen in einem normalen Rahmen. Einen Löwenanteil daran hat das Verschieben der gesamten tty-Umgebung, die nun einen eigenen Bereich, also ein eigene Unterverzeichnis im Baum des Kernel-Quellcodes, erhalten hat. tty ist die Abkürzung für Teletypewriter, zu deutsch Fernschreiber. Es dient der Darstellung der Linux/Unix-Standardausgabe und reicht Eingaben über die Standardeingabe an Anwendungen und Prozesse weiter. Bislang war tty im Bereich des char-Treibers beheimatet, der die Kommunikation mit zeichenorientierten Geräten wie der seriellen Schnittstelle übernimmt. Grundsätzlich wäre das ja auch passend, allerdings liegt im char-Bereich einiges an überflüssigem Code herum, den aufzuräumen Greg Kroah-Hartman nun offensichtlich begonnen hat.