linux|n00b Linux für Ein- und Umsteiger

20Sep/100

Fedora 13 endlich installiert

Nachdem ich mir aus in diesem Artikel genannten Gründen eine neue Festplatte gekauft habe, schaffte ich es vor wenigen Tagen endlich, Fedora 13 zu installieren.

Neben den Festplattenproblemen hatte ich auch noch Probleme mit der gebrannten Live-CD, wie ich feststellen musste. Den Brenn- und Installationsvorgang musste ich daher wiederholen, da sich auf dem CD-Rohling ein Fehler einschlich. Zur Sicherheit brannte ich sie dann nicht mehr mit maximaler Brenngeschwindigkeit, was schließlich auch zum Erfolg führte.

Screenshot: fehlgeschlagene Fedora-13-Installation

Screenshot: fehlgeschlagene Fedora-13-Installation

Der auf dem Bildschirmfoto (ja, das kann man wohl wörtlich nehmen) erkennbare Installationsfehler trat mit der neu gebrannten Live-CD fortan nicht mehr auf.

Damit sage ich "Lebe wohl" zur Version 11 und "Herzlich willkommen" zur Version 13.

Um mein Urteil zur aktuellen Version kurz zu machen:
Man spürt duchaus einige Veränderungen im Gegensatz zu Fedora 11, darunter die überarbeiteten Bildschirmeinstellungen oder die neuen Farbprofile. Auch die anderen, erhältlichen Pakete der Softwareprogrammierer außerhalb der Fedora-Community haben sich weiterentwickelt, wie zum Beispiel die nautlius-actions.

Um mein Urteil noch kürzer zu machen:
I like it.

In diesem Sinne - ich wünsche mir viel Spaß mit F13, wenngleich auch bald schon die 14er Version released wird.

8Sep/100

Fedora auf neueste Version aktualisieren

Wenn du noch auf einer älteren Fedora-Version sitzt, zeige ich dir hier, wie du deinem System ein Update verpassen kannst ohne die Notwendigkeit einer kompletten Neuinstallation. Dadurch bleibt dir erspart, dass deine Daten gelöscht würden.

Eine Sache möchte ich dennoch unbedingt voraus stellen: Egal, wie zuverlässig der Update-Vorgang auch sein mag. Ich empfehle dir grundsätzlich, eine Sicherung deiner wichtigsten Daten zu machen. Kopiere zum Beispiel dein Benutzerverzeichnis aus /home auf eine externe Festplatte oder brenne es auf DVD oder sonstwohin. Das Gleiche tust du mit anderen Verzeichnissen, von denen du weißt, dass sie wichtige Dateien enthalten, die du unbedingt noch brauchst. In der Regel sollte das Home-Verzeichnis für ein Backup genügen.
Warum du das machen solltest, wenn das Update doch so gut funktioniert? Das verrate ich dir weiter unten.

1. Update-Programm starten

Rufe das Programm preupgrade auf. Über das Terminal oder auch über "Anwendung ausführen" kannst du es starten.

Screenshot: gnome-do mit dem Befehl preupgrade

Screenshot: gnome-do mit dem Befehl preupgrade

2. Los geht's

Folge jetzt nur noch den Anweisungen des Programms. (Ich denke, es ist selbstverständlich, dass du während der ganzen Prozedur online sein solltest.)

Screenshot: preupgrade

Screenshot: preupgrade

3. Version auswählen

Screenshot: preupgrade mit Auswahl der Fedora-Version

Screenshot: preupgrade mit Auswahl der Fedora-Version

Mit Klick auf die Checkbox erhälst du auch die Möglichkeit, das aktuelle Test-Release der nächsten Fedora-Version zu installieren. Achtung, damit sollte man vorsichtig sein, da Testversionen bekanntlich noch in der Entwicklungsphase stecken und evtl. fehlerhaft sein können.

Screenshot: preupgrade mit Auswahl der Fedora-Version, inkl. Testversion

Screenshot: preupgrade mit Auswahl der Fedora-Version, inkl. Testversion

4. Warten

Anschließend geht's auch schon in die Vollen.

Screenshot: preupgrade mit Update-Vorbereitungen

Screenshot: preupgrade mit Update-Vorbereitungen

Das könnte jetzt noch einen Moment dauern, während preupgrade diverse Informationen sammelt und letzten Endes die Programmpakete herunterlädt.

5. Neustart und nochmal warten

Ist der Vorgang beendet, muss noch dein Rechner neu hochgefahren werden. Nun beginnt der eigentliche Installationsvorgang der Fedora-Aktualisierung. Dieser geht ähnlich unkompliziert von Statten wie das Pre-Upgrade.

Ist alles überstanden, kannst du ein neues Fedora dein eigen nennen.

Zum Glück...

...hatte ich ein Backup angefertigt. Während des Installationsvorgangs im Anschluss des PC-Neustarts brach die Verarbeitung mit einem "Fatal Error" ab. War natürlich doof so mittendrin.

Resultat des Ganzen: Fedora war futsch, beim Booten des Rechners hängte sich Fedora einfach auf. Mir blieb mit meinen N00b-Kenntnissen leider nicht die Möglichkeit, da etwas zu zaubern. Also fühle dich bitte ermutigt, ein Backup zu machen, bevor du ein Systemupdate durchführst.

Und wo lag jetzt das Problem?

Nun, meine Festplatte -das wusste ich auch schon lange- hat diverse Sektorenfehler. Diese hatte sie bereits damals, als ich Fedora installiert habe (die Festplatte ist ja auch schon eine alte Dame mit ihren ca. 6 Jahren und einer stetig hohen Auslastung über den gesamten Zeitraum, deshalb nehme ich ihr das ganz sicher nicht böse).
Ich ignorierte jedoch die Sektorenfehler und installierte dennoch die seinerzeit aktuelle Version Fedora 11. Bis heute verdrängte ich die Gedanken daran immer mehr ins Hinterstübchen, wo sie langsam einzustauben begannen.

Die Installation von Fedora 11 schien sich an den Sektorenfehlern nicht zu stören und so hatte ich nie Probleme damit. Aber bei der Aktualisierung auf Fedora 13 stieß die ganze Sache wohl doch noch sauer auf.

Wenn du dich jetzt fragst, ob nicht vielleicht auch der Sprung von gleich 2 Versionen (F11 auf F13) der Grund für den "Fatal Error" sein könnte, tendiere ich eher dazu, dies zu verneinen. Denn der dem Update gefolgte Versuch, das System tatsächlich komplett neu zu installieren, also mein geliebtes F11 dabei zu plätten, schlug ebenso fehl. Diesmal erhielt ich von der Installationsroutine sogar noch die Bestätigung, der Fehler könnte am Medium liegen.

Unter'm Strich lege ich das nun unter "Erfahrungen" ab und werde mir gezwungenermaßen eine neue Festplatte kaufen müssen, daran führt kein Weg vorbei (und bis dahin werde ich wohl erstmal keine neuen Blog-Artikel schreiben...).

Daher als Schlusssatz nochmals der eindringliche Merksatz: Vor einem Update erstelle stets Sicherungskopien deiner Daten.

12Aug/100

SVN-Integration in den Nautilus

Im Windows-Bereich ist man sich mit ToroiseSVN seit jeher eine nahtlose Einbindung von Subversion in den Win-Explorer gewohnt.
Im Linux-Bereich muss man zumeist auf andere Tools zurückgreifen (die nicht im Dateiexplorer eingebunden werden) oder via Terminal mit dem svn-Kommando arbeiten.

Schritt 1: GnubVersion

Screenshot: GnubVersion ohne SVN Diff (Quelle: GnubVersion Projektseite)

Screenshot: GnubVersion ohne SVN Diff (Quelle: GnubVersion Projektseite)

Wer eine TortoiseSVN-ähnliche Lösung für Linux sucht und bislang noch nichts für seinen Gnome-Desktop gefunden hat, dem sei zunächst GnubVersion empfohlen. Ähnlich wie TortoiseSVN in den Windows-Dateiexplorer integriert sich GnubVersion nach dessen Installation in den Nautilus.

Also, erster Schritt: GnubVersion installieren.

Allerdings ist GnubVersion bei Weitem nicht so funktionsumfangreich wie das Windows-Pendant. Viele Funktionen sind im Grunde auch gar nicht nötig und das Wesentliche beherrscht GnubVersion ja auch, aber eine Sache fehlt: der SVN-Diff.

Schritt 2: Meld und die Nautilus-Aktionen

Um diesen Verlust auszugleichen, habe ich mir etwas Abhilfe verschafft. Folgendes wird dafür benötigt:

  • das Tool Meld (wenn ich mich recht entsinne, habe ich mir auch andere Diff-Betrachter angesehen, aber dieser gefiel mir am besten)
  • die Nautilus-Aktionen
  • und ein Skript, welches SVN mit Meld und den Nautilus-Aktionen verbinden soll (siehe Schritt 3)

Das sind die Zutaten - Wollen wir sie mal miteinander vermischen...

Die Nautilus-Aktionen lassen sich zum Beipiel in yum (dem Fedora-Paketmanager) unter dem Paketnamen "nautilus-actions" schnell finden und installieren. Das Gleiche gilt für Meld, der Paketname lautet schlicht und ergreifend "meld".

Schritt 3: Skript für Nautilus-Aktionen erstellen

Sind beide Tools installiert, folgt der spannende Teil: das Sktipt. Dieses ist zwar vergleichsweise simpel, dafür aber sehr nützlich. Zunächst der Inhalt des Skripts, eine kurze Erläuterung folgt darunter:

#!/bin/bash

# --------------------------------------------------------------------------
# Benutzung des Skripts prüfen

# Anzahl Parameter prüfen
if [ ! $# -eq 1 ]; then
 echo "svndiff benötigt genau einen Parameter, nämlich den Pfad zur Datei (wobei diese natürlich unter SVN-Kontrolle stehen muss)" | zenity --text-info --title="Fehler" --width=600 --height=400
 exit 1
fi

# --------------------------------------------------------------------------
# Variablen anlegen und Dateien prüfen

# Anzahl Wörter, die durch Slash getrennt sind
WORD_COUNT=`echo ${1} | sed 's/\// /g' | wc -w`
WORD_COUNT_PLUS_1=`expr $WORD_COUNT + 1`

# Pfad und Dateinamen ermitteln
FILE_PATH="`echo ${1} | cut -d/ -f1-${WORD_COUNT}`/"
FILE_NAME=`echo ${1} | cut -d/ -f${WORD_COUNT_PLUS_1}`

# Pfade für die SVN-Dateien zusammenstöpseln
# Vergleichsdatei aus SVN-Repository: <pfad>/.svn/text-base/<file>.svn-base
SVN_BASE_FILE="${FILE_PATH}.svn/text-base/${FILE_NAME}.svn-base"
# geänderte bzw. zu prüfende Datei <pfad><file> (kommt direkt aus dem Aufrufparameter, daher kein Zusammenstöpseln notwendig)
SVN_CHANGED_FILE=$1

# Pfade prüfen
# die SVN-Base-Datei
if [ ! -f $SVN_BASE_FILE ]; then
 echo "Datei existiert nicht: $SVN_BASE_FILE" | zenity --text-info --title="Fehler" --width=600 --height=100
 exit 1
fi
# die Datei
if [ ! -f $SVN_CHANGED_FILE ]; then
 echo "Datei existiert nicht: $SVN_CHANGED_FILE" | zenity --text-info --title="Fehler" --width=600 --height=100
 exit 1
fi

# --------------------------------------------------------------------------
# den eigentlichen Zweck des Skripts erfüllen

# meld (das Diff-Tool) starten
meld $SVN_BASE_FILE $SVN_CHANGED_FILE &

exit 0

Was passiert in dem Skript im Klartext...? Diese Frage möchte ich dir natürlich sofort beantworten.

1. Pfade ermitteln
Für die Verwendung des Skripts wird beim Aufruf ein Parameter benötigt, nämlich der Pfad zur Datei, für die ein SVN-Diff angezeigt werden soll. Die Angabe des Parameters wird im Block nach der ersten Trennlinie geprüft. Im nächsten Abschnitt wird aus dem Parameter der Verzeichnispfad vom Dateinamen getrennt. Daraus wird der Pfad erschlossen, der zur entsprechenden SVN-Base-Datei führt. Nun sind beide Pfade bekannt: Der Pfad zur eigentlichen Datei und der Pfad der zugehörigen SVN-Base.

2. Diff-Tool starten
Im letzten Block unter dem dritten Trennstrich wird das Tool Meld gestartet, dieses erhält als Parameter die Pfade der beiden Dateien. Das ist auch schon alles, was wir an dieser Stelle brauchen.

3. That's it.
Mehr passiert da auch gar nicht...

Screenshot: SVN Diff mit nautilus-actions

Screenshot: SVN Diff mit nautilus-actions

Schritt 4: Skript und Nautilus-Aktionen vermählen

Lege nun eine Textdatei an und speichere den Inhalt des oben abgebildeten Skripts darin. Pfad und Dateiname sind egal, denn Namen sind bekanntlich Schall und Rauch. Lege die Datei z.B. im Home-Verzeichnis unter ./.nautilus-actions/ ab und nenne sie svndiff (meinethalben auch "schall und rauch"). Starte dann das Programm nautilus-actions unter System > Einstellungen > Nautilus-Aktionen und füge diese Datei einfach hinzu.

Und fertig ist unser SVN-Diff.

Schritt 5: Have fun!

Wähle im Nautilus Dateien aus, die sich unter Versionskontrolle mit Subversion befinden und lasse dir via Rechtsklick auf "SVN-Diff" eben selbigen anzeigen.

Screenshot: Meld mit SVN-Diff

Screenshot: Meld mit SVN-Diff