My digital photostudio on Ubuntu

Endlich, endlich habe ich alle meine Fotos sortiert und größtenteils getaggt! 36 000 Fotos über die letzten 7 Jahre. Zwei ausführliche Reisen und der Umstieg auf Raw-Fotografie lassen die Masse an Bildern explodieren. Wie soll man dem Ganzen noch Herr werden. Und das auch umsonst. Als Ubuntu-Nutzer kann ich mir Programme wie Lightroom oder die ganze CS-Suite eh nicht installieren.

Aber eigentlich geht es auch ohne ganz gut. 2 Programme helfen mir dabei maßgeblich:

Shotwell – Bilder- und Video-Bibliothek – erlaubt Tagging, Suche, Import in einheitliche Ordnerstruktur, einfaches Postprocessing

darktable – Bild-Nachbearbeitung und Raw-Entwickler

 

Jedes dieser Programme ist an anderer Stelle ausführlich behandelt worden, ich denke, darauf muss ich nicht weiter eingehen. Aber was sind die Probleme, wenn man beide zusammen benutzt? Und wie kann man diese lösen?

Shotwell und darktable überschneiden sich in ihrer Funktionalität. Beide besitzen ein eigenes System der Fotobibliotheksverwaltung. Das ist klare Schwerpunkt bei shotwell, während darktable seine Stärken klar in der Bildberarbeitung hat. Sich im täglichen Gebrauch auf eines der Programme beschränken, ist eigentlich nicht möglich wenn man folgende Anforderungen stellt:

1. eine zentrale Ordnerstruktur

2. Vermeidung von Duplikaten

3. Einfaches Tagging

4. Tags in hierarchischen Ebenen

5. Skalierbarkeit (>30 000 Fotos)

6. Komfortable Suche nach Bildern

7. Bildbewertung

8. Bildskalierung

9. Professionelle Photobearbeitung

10. Raw-Entwicklung

shotwell kann 1-8, aber nicht 9 und 10.

darktable kann 9 und 10, ist aber fürchterlich speicherintensiv und damit auf keinen Fall geeignet für große Mengen an Bildern. Die Ordnungsmöglichkeiten habe ich sowieso nicht wirklich verstanden.

 

Also Beide gleichzeitig.

Kick-Off: Der Import von allen, allen, allen Fotos von allen Platten. Da braucht man schonmal ein freies Wochenende. Ich habe einfach alle Dateien auf eine große externe Platte kopiert, für jede Quelle (Festplatte) einen eigenen Ordner. Dann habe ich schrittweise alle Ordner über die Import-Funktion von Shotwell in einen einzelnen Ordner kopiert. Shotwell erstellt unterhalb dieses Ordners anhand der Exif-Daten einen Dateibaum nach dem Muster Jahr-Monat-Tag in 3 Ebenen. Das dauert. Probleme treten bei gewissen Dateiformaten auf. Bei einer .NEF kann das Programm durch spontanen Absturz reagieren. Daher schrittweise. Sonst sucht man sich tot nach genau der Datei, die den gesamten Import verhindert.

Wesentlich ist auch, während der ganzen Import-Zeit NICHT den Import-Ordern zu wechseln oder in Versuchung zu geraten, mal eben wieder die alte .shotwell-Datei zu reaktivieren, weil man die Platte vergessen hat und Freunden Fotos zeigen will. Das genau habe ich nämlich gemacht. Und da kann man in Komplikationen geraten, die dazu führen, dass man Bilder überhaupt nicht mehr importieren kann. Man importiert und importiert und beim Anklicken verschwinden die Bilder aus der Übersicht. Neuimport, gleiches Phänomen. Lösung: Shotwell hält seine Daten in .shotwell/data/photo.db in einer SQLite-Datenbank. Die DB ist simpel gehalten, der Sinn der Tabellen erschließt sich von selbst. Mit einem Tool wie sqliteman müssen jetzt alle Einträge aus phtototable, videotable, backingphototable gelöscht werden, die nicht im großen Import-Ordner liegen. Dann funktioniert alles wieder.

Zur Zeit (shotwell 0.12.3 mit Ubuntu 12.04) , gibt es einen fiesen Bug, der dazu führt, dass shotwell mit einem bösen segmentation fault spontan aussteigt. Bei mir hat es geholfen, die Ordernüberwachung, den “Auto-Import” auszuschalten.

Irgendwann hat man es geschafft. Alle Fotos sind da! Und juhu! shotwell erkennt natürlich alle Tags, die man vorher schon in die Exifs geschrieben hat. Hierarchien gibt es in exif leider nicht, aber shotwell kanns. Also alle Hierarchien wieder zusammenbasteln. Ich habe übrigens die Tag-Kategorien: Personen (wesentliche Leute aus meinem Leben), Orte (wegen den Reisen nochmal nach Land und Stadt unterteilt), Events (Weihnachten 2010, Karneval 2008, Wanderung auf dem Mond), Projekte (Friedhöfe, Street Art, Portrait), Fremder Fotograf (Fotos, die nicht von mir gemacht wurden). Diese Struktur hat sich in den letzten Jahren gut bewährt. Die shotwell-Events-Sortierung nutze ich nur zur zeitlichen Sortierung.

Wenn man es jetzt also schafft alle Fotos zu taggen, ist man fertig? Nicht ganz. Hat man vorher schon mit darktable gearbeitet, dann hat man jetzt ein kleines Problem: Die xmp-Files, in denen darktable seine Änderung im gleichen Ordner wie das Bild ablegt, werden von shotwell ignoriert. Ich habe mir mit einem Skript geholfen, dass alle xmps zusammensucht, den namentlichen Partner (default-Benennung: imagename.xxx.xmp) findet und in den entsprechenden Ordner kopiert. Schwierig ist es mit Duplikaten. Eine Canon zählt beispielsweise im Dateinamen immer nur bis 9 999 und dann gehts wieder von vorne los. Bei 30 000 Fotos und auch noch verschiedenen Kameras ein bißchen blöd. Ich habe mich mit der einfachen Lösung zufrieden gegeben und die xmp zum neuesten Bild kopiert. Im schlimmsten Fall muss man hier wohl mit der Hand ran.

Daily use: Ich importiere mit shotwell direkt von der Karte in mein Riesenverzeichnis, tagge, sichte, lösche. Wenn ich ein Bild bearbeiten will, benutze ich darktable auf der Datei in shotwell. So wird das xmp direkt in den Datumsbaum gespeichert. darktable verwende ich nur zum Bearbeiten und anschließenden Exportieren. Diese Daten importiere ich wieder in shotwell und tagge sie mit darktable. Darktable ist auch so freundlich, automatische alle Bilder, die bearbeitet werden mit 1/5 Sternen zu bewerten.

Wenn alles einmal steht läuft alles soweit gut. Ich halte euch auf jeden Fall auf dem Laufenden, wenn ich wieder kämpfe.

Viel Spass, vielleicht hilfts ja irgendwem.

 

 

 

 

 

Grub bootable auf USB-Stick

Ich habe mir vor ein paar Tagen meinen Grub-Bootmanager zerschossen. Das geschah durch ein Update von “Rescue & Recovery”, einem Lenovo-Hilfstool. Offenbar bringt R&R einen eigenen Bootloader mit oder was auch immer. Auf jeden Fall zerschießt ein Update mal eben das System und nach dem Boot kommt nicht mehr der GRUB-Auswahlschirm, sondern eine Konsolenzeile in schwarz mit dem kurzen prägnanten Wort ‘GRUB’. Mehr kann passiert nicht. Keine Möglichkeit, irgendetwas einzugeben, noch irgendetwas anderes. Aber was soll man machen? Man will ja an sein System. Die übliche Googelei brachte mich zu der Erkenntnis, dass ich nicht der einzige mit durch R&R-Update zerschossenem System bin. Aber die anderen hatten einfach Linux neu installiert. Möglicherweise geht das auch, aber da auf meinem Rechner einige sehr wertvolle Daten lagen und ich zusätzlich kein CD-Rom-Laufwerk zur Hand hatte, mußte eine andere Lösung her: Das bestehende Linux auf der Platte mit einem Bootmanager auf dem USB-Stick booten und den Grub neu installieren.

Übersicht:

  1. USB-Stick mit Grub bespielen
  2. von USB booten
  3. die richtigen Partitionen auf der HD finden
  4. Grub neu installieren

Alle Beispiele beziehen sich auf meine Konfiguration: Lenovo ThinkPad T61p, Ubuntu 7.10 auf dritter Partition.

1. USB-Stick mit Grub versehen

Die Erstellung erfolgt unter Linux (z.B. von CD gestartet) folgendermaßen:

  1. USB-Stick löschen: cat /dev/zero > /dev/sda

    (Achtung! Natürlich kann man sich hier einiges kaputt machen. Es muss absolut sicher sein, dass man dass richtige Device /dev/xxx eingetragen hat. Der Vorgang kann einige Minuten in Anspruch nehmen.)

  2. Dann mit fdisk eine neue Partitionstabelle erstellen:

    fdisk /dev/sda -> o (create a new empty DOS partition table) -> n (add a new partition) -> FS-Type 83 (ext2) -> w (write to table and exit).

    Genauer:

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-1009, default 1):
    Command (m for help): a
    Partition number (1-4): 1
    Command (m for help): w

  3. Rechner neu starten, damit das Linux den Stick mit der neuen Partition erkennt

  4. Dateisystem in die neue Partition schreiben: mkfs.ext2 /dev/sda1

  5. mounten:

    mkdir /media/stick
    mount /dev/sda /media/stick

  6. grub kopieren:
    linux:/media # mkdir -p /media/stick/boot/grub
    linux:/media # cp /boot/grub/*stage* /media/stick/boot/grub
    linux:/media # echo '(hd0)  /dev/sda' > /media/stick/boot/grub/device.map
    linux:/media # grub-install --root-directory=/media/stick /dev/sda
    linux:/media # umount /media/stick/
  7. mapping schreiben:

    linux:/media # echo '(hd0) /dev/sda' > /media/stick/boot/grub/device.map

    Das braucht der Grub um zu denken, der USB-Stick sei hd0,0. Warum auch immer.

So weit, so gut. All das ist nachzulesen unter [1].

2. Von USB booten

  • das BIOS auf usbboot stellen – hoffentlich vorhanden?!
  • den Rechner von USB booten. Es sollte die Grub-Console erscheinen

3. Richtige Partition finden

in der grub console folgendes eingeben:

  1. root (hd1,2)

    (hd0,0) ist der verdammte usbstick, bei mir war also auf Platte 2 in der dritten Partition das installierte Linux. Es sollte erkannt werden, dass es sich um eine ext2-Partition handelt

  2. kernel /vmlinuz root=/dev/sda3

    Die Information, was man als root= einträgt, kann man der Datei fstab entnehmen: cat /etc/fstab, bei SATA ist das /dev/sdaX

  3. initrd /initrd.img

  4. boot

  5. und die Kiste sollte starten!!! Jippie!

4. Grub neu installieren

Die Installation ist unter [2] beschrieben.

[1] Booten mit GRUB vom USB-Stick
[2] Grub neu installieren

Informative Links, die geholfen haben:

GNU GRUB – FAQ
Grub-Boot-Diskette – Gentoo Linux Wiki
grub boot root – Google-Suche
GRUB – LinuxWiki.org – Linux Wiki und Freie Software
LUG Krefeld: LinuxOhneBildschirm
Booten mit GRUB
grub broken – Google-Suche
“Kernel panic” beim booten Ubuntu->GRUB – Unixboard.de

Lost Windows32 Administrator Password

Haha, immer das Gleiche mit den Freaks. Manche Leute haben aus Veranlagung keinen Speicher für Ihre Passwörter. Ist aber nicht schlimm wenn man physikalischen Zugriff auf die betroffenen Maschine hat. Es gibt ja den Offline NT Password & Registry Editor. Ist Linux und führt in 5 simplen Schritten zum Ziel: dem neuen Passwort.
Einzige Hürde stellte in Schritt 1 das Laden des SCSI-Gerätetreibers dar, genauer die Unfähigkeit eine Bildschirmausgabe zu lesen. Wenn man im ersten Schritt aufgefordert wird einen Gerätetreiber für das Speichersystem auszuwählen, ist man geneigt die Eingabe m für “manuelle Treiberauswahl” zu tätigen und dann aus der erscheinenden Liste der Kernel-Module das entsprechende zu wählen (hier AIC7XXX). Klar, schliesslich kennt man ja sein System. Interessanterweise konnte dieses Modul jedoch nicht geladen werden. Nach einigen erfolglosen Versuchen fiel auf, daß man in Schritt 1 anstelle von m auch d für “auto detection” eingeben kann. Und siehe da, Platte erkannt. Noch 4 mal Enter gedrückt und dann konnte das Passwort gesetzt werden.