Tag Archives: Software

Flexibles Issue Tracking mit roundup

Fuer den Einsatz in der Firma suche ich derzeit ein Bug- und Issue-Tracking-System. Nicht ausschliesslich fuer unsere Engineeringabteilung, sondern auch fuer die Jungs vom Service, die die Hilfeschreie entgegennehmen, wenn der Kunde (fliegendes Personal, und damit extrem ungeduldig) ausnahmsweise mal nicht von der Runway wegkommt.

Eins ist klar: Es muss Open-Source sein. Zum einen will ich nicht erst eine ellenlange Begruendung fuer die Finanzbuchhaltung schreiben, warum sie bitte schoen n+1 Euro fuer eine Software ausgeben sollen, deren Nutzen fuer die Firma sie ohnehin (wieder mal) nicht korrekt quantifizieren koennen. Zum anderen will ich nicht erst mit m+1 Vertrieblern von irgendwelchen Softwarebuden quatschen, die mir ihre “Marktfuehrer”-Loesung aufschwatzen wollen. Aber noch viel wichtiger: Ich will schnell mal eben was aendern koennen, wenn das Tagesgeschaeft es notwendig macht!

Also dann, Wikipedia ist mein Freund, und auf in die taktische Aufklaerung auf dem Softwarefeld: http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems listet einen ganzen Wald von Optionen auf. Neben dem eierlegenden Wollmilchborstenviehmoloch “Bugzilla” existieren viele nette kleinere Systeme, die zwar nicht so dick auftragen, die dafuer aber umso schneller und wartbarer sind und fuer deren man Evaluierung man nicht erst im RDBMS herumfuhrwerken muss (bravo!). Web- und Email-Frontends sind anscheinend per stiller Konvention ohnehin ueberall dabei (wobei ich das Email-Frontend derzeit ueberhaupt nicht brauch’).

Besonderen Gefallen habe ich an Roundup gefunden, der ist nicht nur sehr flink, sondern vor allem sehr vielseitig. Eine der Uebersetzungen von Roundup aus dem Englischen ist “Razzia”, und dem Namen macht das kleine Softwarepaket alle Ehre: Neben PostgreSQL und MySQL kann Roundup auch mit sqlite umgehen, das macht das Testen sehr bequem; es bringt seinen eigenen Webserver mit, fuehlt sich aber im mod_python-erweiterten Apache2 genauso daheim; es laesst sich als Bugtracker, Trouble-Ticket-System, ToDo-Liste, persoenliche Zeiterfassung und sogar als Kaffeemaschine konfigurieren. Okay, die Kaffeemaschine ist jetzt gelogen, aber ich wette, lange dauert’s nicht mehr, dann gibt’s auch das! Nettes Feature: Pro Eintrag in die Issue Liste wird eine kleine Mailingliste angelegt, so dass alle Beteiligten/Interessenten ohne viel Aufwand verfolgen koennen, wie sich ein Problem seiner Loesung naehert.

Am besten gefaellt mir bei der Arbeit mit Roundup die Dokumentation, die mit Beispielen nicht geizt, wie man unkompliziert Erweiterungen am Datenbankschema und an den Eingabemasken und Ansichten vornehmen kann: http://roundup.sourceforge.net/doc-1.0/customizing.html. Die Beispiele wirken allesamt wie direkt aus der Praxis entnommen und geben selbst einem Python-Laien wie mir in kuerzester Zeit das Gefuehl, die Dinge wirklich in der Hand zu haben. Innerhalb eines Tages ist es mir gelungen, einen Protoypen zu basteln, in den wir exemplarisch mal ein paar der Bugs der letzten Wochen eingetragen haben. Der Tag Arbeit schliesst eine Customization der CSS-Stylesheets auf unsere Firmen-CI genauso mit ein, wie das Erstellen von automatisierten Reports ueber den Lebenszyklus von Kundenanfragen und Fehlermeldungen fuer die Geschaeftsleitung. Und demnaechst wird auch die Serviceabteilung angebunden, kann ja nicht laenger als einen Tag dauern. ;-)

Fazit: Ich frage mich, warum ich mir ueberhaupt andere Systeme angeschaut und nicht stattdessen gleich Roundup genommen habe. Hier finde ich alles, was ich brauche, um meinen Job zu erledigen, ohne viel Zeit von den Hauptaufgaben abzuzwacken. Ich wuenschte, es waer immer so einfach! Und ich komme von meinem Vorurteilen ueber Python weg, der Produktivitaetsgewinn macht die infantile Syntax locker wieder wett. ;-)

Probleme beim Upgrade von Debian Sid

Nachdem Tux ja schon in XOrg vs. Eclipse über Probleme beim normalen Ugrade von Debian Sid berichtet hat, könnte dies zu einer kleinen Artikelserie werden. Heute in diesem Kino: libdjvulibre21. Bei Debian gibt’s schon einen Bugreport und die Lösung hab ich in einem Wiki gefunden:

dpkg --purge libdjvulibre15

purge mit aptitude reichte nicht aus. Danach braucht’s nur noch das einfache aptitude safe-upgrade und alles ist wieder in Butter.

Grub auf mehreren Festplatten

Leute spielen mit Eisenbahnen, sammeln Briefmarken oder züchten Rosen. Ich probiere neue Betriebssysteme aus und pflege verschiedene Installationen für den einen oder anderen Zweck. In einem Testrechner sind hier drei Festplatten verbaut, alles alte Dinger, aber genug Platz für mehrere Betriebssysteme.

In diesem speziellen Fall sind auf der ersten Platte (80 GB) Windows 98 und XP installiert sowie ein Ubuntu und ein Eisfair-1. Auf der zweiten Platte (40 GB) residiert ganz allein ein Debian Etch als Host für Xen und last but not least ist auf der dritten Platte (4 GB) noch Platz für eine Beta-Version von Eisfair-2. Wäre nur die erste Platte eingebaut, hätte ich kein Problem. Ubuntu benutzt Grub und Grub erkennt bei der Installation andere Systeme. Ubuntu selbst und das Eisfair-1 von der ersten Platte starten ohne Probleme, Ubuntu hat die Hand auf dem Bootloader und aktualisiert bei Kernel-Updates seine eigenen Einträge. Die beiden Windosen lassen sich über chainloader ebenfalls problemlos booten.

Interessant wird es mit Betriebssystemen auf den anderen beiden Platten. Die bringen für gewöhnlich ihren eigenen Bootloader mit und verwalten die entsprechenden Einträge bei Kernel-Updates oder ähnlichem auch selbst. Der neue Eisfair-Installer schreibt sich in den MBR der Platte, wo das System landet, in dem Fall die dritte Platte hdc. Debian lässt einem da mehr Freiheit, aber in Frage kommen im Prinzip nur der MBR von der zweiten Platte (hdb) oder direkt die Bootpartition /dev/hdb1. Will ich die Systeme booten, kann ich natürlich die Namen, Orte und Optionen der Kernel von Hand bei jedem Update in die Grub-Konfiguration des Ubuntu auf hda eintragen, aber das ist mir ehrlich gesagt zu umständlich.

Die nächste Möglichkeit ist der bereits erwähnte chainloader. Ja, aber… der funktioniert nur, wenn z.B. Debian seinen Bootloader an den Anfang einer Partition und nicht in den MBR schreibt. Ich habe es nicht hinbekommen, mit dem chainloader sozusagen den MBR einer anderen Platte zu starten. Klar, ich könnte jedesmal ins BIOS und die Bootplatte umstellen, aber das ist mir dann auch zu umständlich.

Heute habe ich eine weitere Möglichkeit herausgefunden. Es ist aus dem Grub-Menü heraus möglich, eine andere Grub-Config zu laden. Anstatt eines langen Eintrags mit kernel usw. reicht dann folgendes:

title       hdb: Debian
configfile  (hd1,0)/grub/menu.lst

Trage ich das bei den zusätzlichen Systemen in die /boot/grub/menu.lst meines Ubuntu ein, kann ich ganz locker die menu.lst laden, die unter der Fuchtel des Debian auf der zweiten Platte steht. Umgekehrt geht’s natürlich auch, so dass ich munter hin und her springen kann, auch zu dem Grub vom Eisfair-2 oder zurück zum Debian-Bootmenü und von da wieder zum Bootmenü vom Ubuntu und wenn ich dann vom Umherspringen in meinen Grub-Menüs genug habe, boote ich einfach das System, das ich will.

Subversion Relocate mit Eclipse und TortoiseSVN

Wir sind vor einigen Tagen mit unserem Projekt IMPULS von Sourceforge auf unseren eigenen, diesen Webserver umgezogen. Das heißt, wir haben nicht nur die Homepage migriert und ein Trac eingerichtet, sondern auch das Subversion-Repo verschoben. Für ausgecheckte Working Copies ist dann ein sogenannte Relocate fällig. In Verbindung mit Eclipse kann man da auf die Nase fallen.

Subversion mit Eclipse ist eigentlich erstmal kein Problem. Es gibt Subclipse und da funktionieren Checkout, Update, Commit usw. wunderbar. Rechtsklick auf auf’s Projekt, »Team« angeklickt und los geht’s – leider ohne Relocate. Wenn ich das jetzt einfach außerhalb von Eclipse machen würde, zerschieße ich mein Projekt, weil in den Projekteinstellungen der Pfad auf’s Repository vermerkt ist. Es gibt aber eine Lösung. Zunächst vergewissern wir uns, welche URL grad für das Projekt angegeben ist:

Subversion Pfad in Projekteinstellungen

Hier ist also noch der alte Pfad des Repos bei Sourceforge eingetragen. Der nächste Schritt in der Punkt »Disconnect« im bereits erwähnten Menü »Team«. Draufklicken und dann kommt folgender Dialog. Dort bestätigt man mit der Option, die Subversion-Dateien zu behalten.

Disconnect im Menü »Team« von Eclipse

Dann kommt das eigentliche Relocate. Das geschieht unter Windows am einfachsten mit TortoiseSVN, wie im folgenden Bild zu sehen ist. Natürlich kann man hier auch die Kommandozeilenversion von Subversion benutzen, wenn man grad kein TortoiseSVN zur Hand hat. Wie das geht, steht im Subversion-Buch.

Relocate mit TortoiseSVN

Der letzte Schritt besteht darin, dem Projekt in Eclipse wieder beizubringen, dass es eigentlich ein mit Subversion verwaltetes ist. Dazu wieder ein Rechtsklick auf das Projekt und im Menü »Team« den Punkt »Share« und dann natürlich »SVN«. Subclipse erkennt, dass es sich bereits um eine korrekte Working Copy handelt und übernimmt den richtigen Pfad aus Schritt drei. Nur noch einmal den folgenden Dialog abnicken und fertig ist die Laube.

Subversion Working Copy Eclipse wieder bekannt machen

Ausgabeprofil »LaTeX => HTML« für TeXnicCenter

Angenommen ich möchte ein LaTeX-Dokument mit tex4ht in HTML umwandeln und benutze TeXnicCenter als Editor für das eigentliche Dokument. Da liegt es nahe, sich ein passendes Ausgabeprofil zu basteln, so dass man direkt aus TeXnicCenter die gewünschte Ausgabe produzieren kann. Man muss dabei aber aufpassen, was für Optionen man htlatex.exe mitgibt. Die folgenden zwei Screenshots illustrieren funktionierende Einstellungen.

Ideal wäre natürlich, wenn nicht jedesmal ein neuer Tab im Firefox aufgemacht werden würde, wenn man im TeXnicCenter F5 drückt, sondern der alte aktualisiert/ersetzt würde. Wenn da jemand einen Tipp hätte, wie man das realisieren kann, würde ich mich freuen.

Windows Vista: Diktatur des Systems

Heute früh habe ich noch gedacht, dass ich zur Zeit gar nichts habe, worüber ich bloggen könnte – gerade ist mir wieder etwas über den Weg gelaufen:

Für meinen HiWi-Job an der Uni habe ich einen Labor-Arbeitsplatz bekommen. Das ist ein angenehmer Raum, der arbeitsam eingerichtet ist und mit guter Rechentechnik ausgestattet ist. Der Nachteil: Auf den Maschinen läuft Windows Vista. (Darüber will ich jetzt nicht allzu sehr meckern, ich könnte auf das alternativ installierte Fedora Linux ausweichen – aber dann würde ich mich darüber beschwerden …)

Um die Sicherheit des Systems zu erhöhen, sind automatische Updates installiert. Die werden nach einem mir nicht bekannten (weil eigentlich uninteressanten) Prinzip angestoßen und laufen im Hintergrund ab.

Gerade wurde solch ein Update durchgeführt. Und damit die Änderungen auch wirksam werden, muss (wie bei Windows schon immer üblich) das System neugestartet werden. Ich hätte erwartet, dass mir genau das mitgeteilt wird – mit der Option, den Neustart jetzt auszuführen oder auf einen späteren Zeitpunkt zu verschieben.

Aber bei Vista scheint zu gelten: Rechne nicht damit, lass Dich überraschen!

Jedenfalls erschien in der rechten unteren Bildschirmecke ein Fensterchen, das mich freundlich darauf hinwies, dass mir noch ganze 5 Minuten bis zu einem unabwendbaren Systemneustart bleiben.

Da frage ich mich doch: Was erlaubt Microsoft sich eigentlich? Ich möchte mit dem System arbeiten – und zwar, wann es mir passt, nicht, wenn das System mal Lust dazu hat! Wenigstens die Möglichkeit, den Neustart abzuwenden, hätte ich erwartet.

So hat mich die Aktion “nur” 10 Minuten Arbeitszeit gekostet. Was passiert, wenn ich auf dem Rechner eine aufwändigere Berechnung laufen lasse? Vielleicht noch über Nacht? Muss ich damit rechnen, morgens ohne Ergebnisse dazustehen, weil das Betriebssystem zwischendurch mal neustarten wollte? Offenbar ja.

Bevor ich mich daran mache, Dinge zu tun, die ich nicht innerhalb von 5 Minuten unterbrechen kann, muss ich mir also noch ein vernünftiges Betriebssystem zulegen oder aber die automatischen Updates deaktivieren.

Um mal, abschließend, einen Gruppennamen aus einem mittlerweile nicht mehr ganz so beliebten Studentenportals zu zitieren: “War doof, merkste selber, ne?”

XOrg vs. Eclipse

Als ich am Montag nach einem System-Update (Debian sid) mein Eclipse starten wollte, erschien statt der erwarteten IDE ein Fensterchen mit der Meldung, es hätte einen Fehler in der JVM gegeben. Eclipse konnte nicht gestartet werden, dementsprechend konnte ich meine Arbeit auch nicht fortsetzen.

Da man den Fehler ja zuerst bei sich selbst sucht, habe ich erst einmal das Update des Java Development Kit rückgängig gemacht und die Version 1.5 installiert. Der Fehler blieb leider.

Ein Blick auf die Console hat folgendes ergeben:
The program 'Eclipse' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
(Details: serial 1272 error_code 11 request_code 148 minor_code 5)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

Eine Suche nach den entsprechenden Schlagworten hat mich schnell in die überall präsenten Ubuntu-Foren geführt, wo sich herausstellte, dass der Schuldige das Paket xserver-xorg-core ist, das mit Einführung eines Sicherheitsupdates das Ausführen von SWT-Applikationen mit eben dieser Meldung quittiert.

Die spontane Lösung dafür ist, das Update rückgängig zu machen und eine ältere Version zu installieren. Die habe ich auf den Paketservern leider nicht mehr gefunden, da dort nur die jeweils aktuellen Versionen vorliegen. Fündig geworden bin ich dann im Paket-Cache auf meinem eigenen Rechner, wo ich zum Glück noch eine ältere Version dieses Paketes hatte; manchmal ist es doch praktisch, nicht immer sofort alle Caches zu leeren. :)

Sollte jemand mit dem gleichen Problem hier vorbeikommen, kann er das mit folgenden Befehlen beheben:

wget http://www.tuxathome.de/deb/xserver-xorg-core_2%253a1.4.1%7Egit20080105-2_i386.deb
dpkg -i xserver-xorg-core_2%3a1.4.1~git20080105-2_i386.deb

Das installiert die Version, die vor dem Update ausgeliefert wurde. Es empfiehlt sich, die Version vom 18.01. als Forbidden zu markieren, damit sie beim nächsten Upgrade nicht gleich wieder installiert wird.

Achtung: Ich übernehme keinerlei gewährt für die Korrektheit und Verfügbarkeit des Paketes auf meinem Server oder den ordnungsgemäßen Ablauf des Downgrades!

Ich werde noch einen Bugrepot anfertigen (den habe ich jedenfalls nicht gefunden) und bin gespannt, wie lange es dauert, bis das Problem behoben ist. Mein Eclipse läuft jedenfalls erstmal wieder.

Was bringt mir das? Vorteile der Offenlegung von Software

Anfang 2007 habe ich bei Google ein Video eines sogenannten TechTalks gesehen: How Open Source Projects Survive Poisonous People (And You Can Too). Ben Collins-Sussman und Brian Fitzpatrick, beide aktiv an der Entwicklung von Subversion beteiligt, haben einen Vortrag gehalten über die Communitys, die hinter Open Source Projekten stehen und wie man dort am besten mit Leuten umgeht, die die Atmosphäre unter den Entwicklern vergiften. Das Video ist 55 Minuten lang und ich habe es das Jahr über an der einen oder anderen Stelle empfohlen, unter anderem auch beim Eisfair-Entwicklertreffen, von dem ich vor zwei Wochen berichtete.

Heute nun bin ich über die verschlungenen Pfade der Blogosphäre auf das Blog von Ben Collins-Sussman gestoßen. Dort finden sich allerlei interessante Beiträge unter anderem auch der Hinweis auf einen weiteren TechTalk aus dem Oktober 2007. Das Video ist fast 50 Minuten lang, aber nicht minder empfehlenswert, wenn auch nicht ganz so amüsant.

Letzte Woche habe ich mich im Büro mit einem Kollegen über genau das Thema unterhalten. Inwiefern können Unternehmen von der Freigabe ihres Quellcodes profitieren? Der Grund dafür, dass es eine längere Unterhaltung war, findet sich auch in dem oben zitierten Video: es gibt keine einfache Antwort. Im Vortrag erläutern Ben und Brian, was sie für den besten Weg halten, den Unternehmen gehen sollten, wenn sie tatsächlich ein Open Source Projekt in die Wege leiten wollen (egal ob auf Basis von vorhandem Code oder von Grund auf). Auf die konkrete Frage, wie sich das mit kommerziellen Interessen verträgt, haben sie auch keine Antwort, die sich in einem Satz zusammenfassen ließe. Viele Vorteile lassen sich nicht direkt in Verkaufszahlen messen, sondern sind nur sehr langfristig sichtbar und betreffen eher den Ruf einer Firma oder die Veränderung eines Software-Marktes. Die Software selbst wird auch besser, aber konkret höhere Profitaussichten durch das offengelegte Projekt, sind wohl kaum der Grund.

Ganz nebenbei wird nochmal der Kernpunkt für eine erfolgreiche Open Source Software erwähnt: eine gesunde Community. In diesem Punkt muss ich den Herren auch aus persönlicher Erfahrung voll und ganz recht geben. Man braucht ein Kernteam von einer Hand voll engagierten und fähigen Entwicklern, die sich gegenseitig respektieren, freundlich und gelassen untereinander sowie zu allen sind, die Fragen zum Projekt haben oder etwas beitragen wollen. Ein Entwickler reicht nicht und Teamwork ist unbedingt notwendig, sonst wird nichts aus dem Projekt.

Das soll als kurze Zusammenfassung zu den beiden Videos erstmal reichen. Ich sehe noch Raum für einen längeren Beitrag über die persönliche Motivation selbst etwas zu Open Source Software beizutragen oder über die Vorteile von Open Source Software im Allgemeinen. Zu den Möglichkeiten für Unternehmen sollte sich jedoch jemand äußern, der besser weiß, womit Firmen wie Trolltech oder MySQL AB ihr Geld verdienen.

SMTP-DSN: Warum einfach …

… wenn es auch kompliziert geht.

Hintergrund ist folgender: Ich habe für eine Plattform ein Mailinglisten-System implementiert. Das war notwendig, weil es dort sehr spezielle Regeln zur Generierung der Empfänger gibt, die jedes Mal dynamisch angewendet werden müssen. Bestandteil dieses System ist natürlich auch die Erzeugung von Bounces, um Fehler und Ausnahmezustände mitzuteilen.

Dabei ist mir etwas aufgefallen: Es gibt drei nette RFCs, die sich mit dem Format dieser Delivery Status Notifications (DSN oder kurz Bounce) beschäftigen:

Diese Konventionen regeln, wie eine Bounce-Message aufgebaut ist, wie die Informationen abgelegt werden, welche Fehlercodes es gibt und so fort.

Und nun kommt unser kompliziertes Leben: Kein Mail User Agent, den ich kenne, wertet die Bounces anhand dieser RFCs aus! Statt dessen bekommt der – mittlerweile oft laienhafte – E-Mail-Nutzer eine kryptische Fehlermeldung zu sehen, die häufig so interpretiert wird, dass die Adresse nicht existiert. Das ist ein beliebter Grund für Bounces, aber oft auch falsch.

Liebe MUA-Programmierer: Warum gibt es keine Ansicht fuer Bounces, in der die Informationen aufgeschlüsselt sind und auch den Nutzern, die E-Mails nicht per telnet lesen können, verständlich gemacht werden? Das würde einen weißen (nein, eigentlich schwarzen) Fleck auf der Landkarte der E-Mail-Kommunikation beseitigen.

ext3-Dateisystem verkleinern mit Knoppix

Hatte ich schon erwähnt, dass ich im September umgezogen bin? Bin ich, nur in anderes Viertel, aber mit jemandem zusammen in eine neue WG, der wie ich ebenfalls einen kleinen Server zu Haus stehen hatte. Da die Hardware heutzutage leistungsfähig genug ist und Xen zuverlässig läuft, sind wir dabei Schritt für Schritt die Dienste von den beiden ehemaligen Servern auf eine Maschine mit ein paar virtuellen Xen-Hosts zu packen. Da ich ungern an Produktivsystemen neue Dinge ausprobiere, teste ich solche Sachen auf einem anderen Rechner. Gestern hatte ich dank dieser Anleitung auf besagtem Testrechner unter Debian Etch in kurzer Zeit einen laufenden Xen-Wirt eingerichtet. Die 40GB-Platte war dort ungefähr zu gleichen Teilen in /home und / geteilt – klassische Partitionen. Da ich Xen gern mit LVM testen wollte und die Partitionen kaum belegt waren, entschied ich mich für eine Neuaufteilung: 8 GB für das root-Filesystem und der Rest für LVM. Auf dem Testsystem sind außer Testinstallationen keine wichtigen Daten, also die erste Gelegenheit für mich, mal resize2fs auszuprobieren…

Beim Verkleinern einer Partition soll man erst mit resize2fs das Dateisystem (ich benutze eigentlich immer ext3) verkleinern und dann mit fdisk die Partition selbst noch verkleinern. Das Manual sagt, dass die Partition natürlich nicht kleiner gemacht werden soll als das Dateisystem – logisch. Zunächst jedoch will resize2fs nochmal e2fsck aufgerufen haben:

e2fsck -f /dev/hdb3
resize2fs -p /dev/hdb3 8G

Dann habe ich fdisk /dev/hdb aufgerufen, hdb3 gelöscht und neu angelegt. Der vorgeschlagene Beginn der Partition war der gleiche wie zuvor, habe ich extra kontrolliert und dann die Partition mit +8300M neu angelegt. Reboot und siehe da: reicht wohl nicht, es kommt die Beschwerde, dass das Dateisystem 2 097 152 Blöcke hat, die Partition aber nur 2 026 458. Also nochmal Knoppix booten und Partition neu anlegen. Interessant ist dann zunächst die Ausgabe von fdisk -l

Platte /dev/hdb: 40.0 GByte, 40020664320 Byte
16 Köpfe, 63 Sektoren/Spuren, 77545 Zylinder
Einheiten = Zylinder von 1008 × 512 = 516096 Bytes

    Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/hdb1   *           1         203      102280+  83  Linux
/dev/hdb2             204        2284     1048824   82  Linux Swap / Solaris
/dev/hdb3            2285       18367     8105832   83  Linux
/dev/hdb4           43895       77545    16960104    5  Erweiterte
/dev/hdb5           43895       77545    16960072+  83  Linux

fdisk zeigt hier auch Blöcke an, aber die Anzahl ist verschieden zu der, die zuvor e2fsck beim Boot des Systems zeigte – genau genommen exakt viermal so groß. Aber irgendwie stimmt das auch ungefähr mit den 8300 Megabyte von vorhin überein, in Kilobyte versteht sich. Ich habe dann also diesmal beim Neuanlegen der Partition +8388608K angegeben, das vierfache von dem Wert, den das System vorher beim Booten für die Größe des Dateisystem genannt hatte. Der kam wie gesagt ursprünglich von den 8G beim resize2fs. fdisk machte dann ein paar Blöcke mehr draus, als ich Kilobyte eingegeben hatte, umso besser. Da der Kernel noch nichts von der Änderung der Partitionstabelle durch fdisk wusste, lohnte ein e2fsck unter Knoppix nicht und ich hab gleich neu gestartet.

Das Debian etch beschwerte sich dann nicht mehr über ein Filesystem, das größer war als die Partition, ließ aber dennoch einen Check drüber laufen. Der weitere Systemstart verlief problemlos. Das LVM richte ich dann später ein…

happy

Interessant finde ich jedoch noch die Frage, was ich hätte eingeben müssen, um von vornherein die passenden Größen für resize2fs und fdisk parat zu haben, einfach auch 8G bei fdisk wäre nämlich deutlich zu wenig gewesen. Ziel: möglichst wenig Platz auf der Partition verschenken. Wer da Ideen hat, den bitte ich um Kommentare!