Page 1 of 1

Kurzes parted-HOWTO

Posted: 2002-08-20 16:41
by dea
hi,

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.3
Jetzt geht es um die Einstellungen für das Kompilieren, diese werden durch einen Aufruf des Skripts 'configure' gesetzt:

Code: Select all

./configure CFLAGS="-Os -march=i386" --disable-Werror 
--prefix=/usr --disable-nls --enable-all-static --disable-pc98 
--disable-debug --without-readline
make
Der Parameter '--prefix=/usr' ist notwendig, damit zum Kompilieren benötigte Bibliotheken gefunden werden können, '--disable-nls' setzt NLS außer Kraft,mit '--disable-pc98' wird ohne Unterstützung der PC98-Architektur kompiliert, '--without-readline' bezieht die readline-Bibliothek nicht mit ein. Der wichtigste Parameter ist aber '--enable-all-static', damit werden wie gewünscht alle benötigten Funktionen quasi fest eingebaut.
Der 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/
parted
damit befindet man sich im sog. interaktive mode von parted.

Die 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.

Re: Kurzes parted-HOWTO

Posted: 2003-05-02 12:53
by fritz
[Null-Antwort-Löschung verhindern]

Re: Kurzes parted-HOWTO

Posted: 2003-05-02 14:16
by dea
boah - fast ein Jahr her ... *sentimentalwerd* ;)

Re: Kurzes parted-HOWTO

Posted: 2003-05-02 21:58
by thelaw
beim link zu parted is nen komma mit reingerutscht ;)

[EDIT von Fritz - thx Mario hab's editiert]