Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Patch für fileutils.



micha
06-09-2002, 11:48
Moin,

nach einer Anfrage in einem Thread bei linuxforen.de ( http://www.linuxforen.de/forums/showthread.php?threadid=43335 ) nach einer Statusanzeige für cp hab ich das mal implementiert.
Zur Zeit wird nur cp unterstützt, die anderen Befehle wie mv, etc. dürften aber keinen größeren Aufwand machen.
Es wäre nett, wenn den Patch einer von Euch mal testen könnte.
Interessieren würde mich vor allem, ob Ihr das überhaupt sinnvoll findet ( der Kopierprozess ist durch das Ermitteln der Gesamtgröße langsamer ).

In dem Archiv stecken 2 Patches, einer für fileutils-4.1 und einer für fileutils-4.1.8.
Falls eine andere Version der fileutils praktischer wäre, lassts mich wissen, dann häng ich den noch dazu.
Patchen tut ihr in den fileutils-Quellen mittels

patch -p0 -i /Pfad/zu/dem/Patch


Die Option für die Statusanzeige ist -D oder --display


Danke,
micha

micha
11-09-2002, 23:26
Moin,

wow, das Feedback erschlägt mich ja fast ;)
Na, ich hab jetzt mal ne Seite hochgeladen.
Zusätzlich ist die Statusanzeige auf mv und rm erweitert worden und ein Bug beim Anzeigen der Dateinamen behoben.
Hoffe, es erbarmt sich noch einer :D

Gruß micha

P.S.: http://www.aichler.net/fileutils/index.html

fs111
12-09-2002, 08:36
Dieses Feature habe ich mir immer gewünscht, ich werde es demnächst mal antesten, nur leider habe ich noch nicht so die Erfahrung mit patchen. Trotzdem Danke und gute Arbeit!


Grüße fs111

micha
12-09-2002, 13:00
Hi,

das Patchen ist keine Hexerei ;)
Wenn Du die Fileutils und den Patch heruntergeladen hast, entpackst Du die beiden Archive, wechselst in das Fileutils-Verzeichnis und fügst von dort den Patch ein:



cd /usr/src
tar xvzf fileutils-4.1.tar.gz
tar xvzf progressbar-patch-0.1.tar.gz
cd fileutils-4.1/
patch -p0 < ../progressbar-patch-0.1/fileutils-4.1-progressbar-0.1.patch
./configure --prefix=/usr
make
make install


That´s it.
micha


Wenn bei Dir cp, mv, rm, etc in /bin/ installiert sind, muss configure noch eine Option mithinzugefügt werden, sonst hast Du nachher die Programme doppelt, die einen in /usr/bin/ die alten in /bin:

./configure --prefix=/usr --bindir=/bin

fs111
12-09-2002, 16:26
Danke für die Erläuterungen, ich teste das mal. Mit /bin und /usr/bin hatte ich mir schon gedacht.

Grüße fs111

micha
12-09-2002, 21:49
Hi,

Ich muss gestern nen schwarzen Tag erwischt haben ,(
In dem Patch steckt noch ne Verzögerungs-Schleife, die ich vergessen habe zu entfernen. Dementsprechend kann das Kopieren ziemlich lange dauern.
Den gefixten Patch habe ich soeben hochgeladen.
Wer´s schon getestet hat und sich wunderte - sorry ;)

Gruß micha

msi
12-09-2002, 22:26
hey das hört sich echt vielversprechend an,
werd ich gleich morgen testen und dann
meinen kommentar abgeben.

markus

msi
12-09-2002, 22:27
ach ja wenn ich es ohne -D aufrufe dann wird
die zeit aber nicht berechnet und das kopieren
dauert genauso lang wie beim normalen cp?

micha
12-09-2002, 23:44
Hi,


Original geschrieben von msi
ach ja wenn ich es ohne -D aufrufe dann wird
die zeit aber nicht berechnet und das kopieren
dauert genauso lang wie beim normalen cp?

Ja, ist dann genau so schnell ;)
Allerdings macht sich die Verzögerung erst so ab mehreren GB´s bemerkbar.

Gruß micha

msi
13-09-2002, 18:11
beim kompilieren hats fehler gegeben.
hast du vielleicht eine schon gepatchte version für
mich die man ohne fehler kompilieren kann?

wie erstellt man eigentlich so einen patch?

dakjo
13-09-2002, 18:48
Sinnvoll find ich das allemal :)

Teste es gerade .....

Ich sag nachher bescheit .....

dakjo
13-09-2002, 18:59
Ist echt nicht schlecht :)

Habe jetzt so 5 GB hin und hergeschoben :)


Gut gemacht !

Nur bei rm ist noch nen BUG

wenn files schreibgeschützt sind sieht man die anzeige nicht ob sie trotzdem entfernt werden sollen !!!!

Ich bin sicher du machst das schon !

Aber ich such mal mit !

micha
13-09-2002, 19:33
Original geschrieben von msi
beim kompilieren hats fehler gegeben.
hast du vielleicht eine schon gepatchte version für
mich die man ohne fehler kompilieren kann?

Hast Du die richtige Version der fileutils ( 4.1 ).
Ich schau mal, ob der Webspace noch reicht, dann lad ich eine hoch, heute reichts mir allerdings nicht mehr.



wie erstellt man eigentlich so einen patch?

mit diff, bsp:

diff -uNr foo.orig/ foo/ > foobar.patch

Gruß micha

micha
13-09-2002, 19:36
Original geschrieben von dakjo
Ist echt nicht schlecht :)

Habe jetzt so 5 GB hin und hergeschoben :)


Gut gemacht !

Nur bei rm ist noch nen BUG

wenn files schreibgeschützt sind sieht man die anzeige nicht ob sie trotzdem entfernt werden sollen !!!!

Ich bin sicher du machst das schon !

Aber ich such mal mit !

Danke, ich werd mich drum kümmern ;)

Gruß micha

micha
14-09-2002, 12:32
Original geschrieben von msi
hast du vielleicht eine schon gepatchte version für
mich die man ohne fehler kompilieren kann?


http://www.aichler.net/fileutils/patches/fileutils-patched-4.1.tar.gz

Gruß micha

msi
14-09-2002, 14:42
hi,
ich hab auch ne 4.1.x version versucht zu patchen (debian sources)
hat nichts gefunzt
nun habe ich deine gepatchte genommen,
wenn ich eine 600 MB Datei per cp auf der selben partition kopiere
steht der status immer bei 99% stalled. ein watch "du -h datei"
zeigt mir das die datei natürlich noch "wächst"

MArkus

micha
14-09-2002, 15:12
Original geschrieben von msi
hi,
ich hab auch ne 4.1.x version versucht zu patchen (debian sources)
hat nichts gefunzt

Du brauchst die original quellen von gnu.org. Der Patch für fileutils 4.1 funktioniert auch nur mit fileutils-4.1, nicht mit 4.1.x.


[b]
nun habe ich deine gepatchte genommen,
wenn ich eine 600 MB Datei per cp auf der selben partition kopiere
steht der status immer bei 99% stalled. ein watch "du -h datei"
zeigt mir das die datei natürlich noch "wächst"
MArkus

Ja, bei nur einer sehr großen Datei siehts nich so dolle aus. Das liegt daran, das die Progressbar vor jeder neu zu kopierenden Datei ein Update erhält mit dem Namen der Datei und deren Größe, d.h. es wird nicht jedes einzelne kopierte Byte einer Datei upgedatet ( der Aufwand dafür wäre beträchtlich höher, wenn einer aber ne Idee hätte, wie, bitte posten :) ). Wäre vielleicht besser, erst nach dem Copy-Prozess die Bar upzudaten ?
Das - stalled - ist noch ein Relikt aus dem Source-Code von OpenSSH ( von dem die Progressbar stammt ). Der Timeout liegt dort bei , glaube ich, 20 Sekunden, vorher dürfte das stalled eigentlich nicht auftreten. Beim nächsten Release schmeiß ich das dann raus.

Gruß micha

axeljaeger
14-09-2002, 16:05
Kannst du das auch in tar einbauen?

micha
14-09-2002, 16:25
Original geschrieben von axeljaeger
Kannst du das auch in tar einbauen?

Muss mir mal den Quellcode anschauen, aber im Prinzip sollte das schon realisierbar sein. Allerdings will ich zuerst die meisten Bugs aus dem fileutils patch herausbekommen, bevor ich damit anfang ;)

Gruß micha

peschmae
17-09-2002, 14:19
in tar wärs imho nützlicher, denn kopieren geht oft ziemlich schnell, oder der zeitaufwand lässt sich leicht abschätzen,
ein Tar + Bzip2 meines Homeverzeichnisses hingegen, dauert ziemlich uneinschätzbar lange (immer ein bisschen mehr als beim letzten mal:D), aber dort wärs wirklich nett

MfG Peschmä

red.iceman
24-01-2003, 13:16
@peschmae: vielleicht hilft dir cpipe. Einfach mal bei freshmeat kucken. ich glaube, es war

cpipe.berlinos.org



ri

EDIT: fast... ;-)

http://cpipe.berlios.de/