ich hab' mir mal gedacht, ich stell es hier rein:
Verwendung von parted zur Repartitionierung:
parted ist ein Tool zur Repartitionierung von Festplatten mit der Möglichkeit, die bestehenden Daten beizubehalten (ohne Garantie! Also Backup!). Allerdings kann parted lediglich nicht gemountete Devices (!) repartitionieren, so dass unter den Gegebenheiten des Rootservers ein Einsatz im laufenden Betrieb nicht möglich ist (hätten wir zwei Platten, dann sähe die Sache schon wieder anders aus *g*).
Im Rescue-System stehen uns allerding die von der Binärversion (dem Kompilat) benötigten 'shared libraries' nicht zur Verfügung, so dass ein Einsatz von parted aus dem Rescue-System (der RAM-Disk) so nicht möglich wäre.
Die Lösung liegt in der statischen Ã?bersetzung, d.h. alle benötigten (System-)Funktionen werden in das Kompilat eingebunden. Dadurch wird die Datei zwar um einiges größer (Faktor ~ 4) ist aber auch ohne die shared libraries einsetzbar.
Um parted neu zu übersetzen benötigen wir zunächst die Quellen. Unter ftp://ftp.gnu.org/gnu/parted finden sich das aktuelle tarball (derzeitige Version ist 1.6.3). Das tarball einfach in ein temporäres Verzeichnis (vielleicht nicht unbedingt /tmp sondern eher ~/work oder so) herunterladen, entpacken und in das neu entstandene Verzeichnis (z.B. parted-1.6.3/) wechseln:
Code: Select all
cd ~
mkdir work; cd work
wget ftp://ftp.gnu.org/gnu/parted/parted-1.6.3.tar.gz
[...]
tar -xzvf parted-1.6.3.tar.gz && cd parted-1.6.3Code: Select all
./configure CFLAGS="-Os -march=i386" --disable-Werror
--prefix=/usr --disable-nls --enable-all-static --disable-pc98
--disable-debug --without-readline
makeDer Aufruf von 'make' wirft dann die Kompilation an, das dauert nur wenige Minuten in denen man viel zu lesen bekommt.
Wenn der Aufruf von make keine Fehler zurückgegeben hat und auch in der Ausgabe des Compilers auf der Konsole keine Fehlermeldungen zu erkennen sind, findet sich unter dem Verzeichnis 'parted/' die Datei 'parted'. Fertig.
Um parted nun einsetzen zu können, muss zunächst in das Rescue-System gebootet werden. Dort angekommen, die Festplatte mounten, parted in die RAM-Disk kopieren, (ganz wichtig!) Festplatte wieder unmounten und parted ausführen:
Code: Select all
(im Rescue-System):
mount -t ext2 /dev/hda3 /mnt/
cp /mnt/<Pfad zu parted>/parted /usr/bin/
umount /mnt/
partedDie Dokumentation zu parted findet sich unter http://www.gnu.org/software/parted/ weitere Informationen zu mkparted (wo ich auch die Compiler-Options her habe) unter http://www.tux.org/pub/people/kent-robo ... art/README
Vielleicht hilft's jemandem, ich habe mit meinem so gebauten parted aus dem Rescue-System heraus meine HDD neu partitioniert. Es läuft, ist wunderbar angenehm und längst nicht so kompliziert und anfällig wie der Ansatz über 'resize', Partition löschen und neu erstellen...
Ich hab' in der kurzen Zeit so viel von diesem Forum bekommen, jetzt möchte ich auch mal was zurückgeben.