[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] gzip | dd problem (solution)



esplication ( enfin tentative )

- gzip et dd son lance en meme temps, connecte par un pipe

maintenant supposons que :

- gzip commence et decompacte 1k dans le pipe
- dd prend la suite et essaye de lire 2500bytes, il n'en lit
que 1000 mais considere qu"il vien de lire un block, donc plus que 14
a lire. Le pipe est vide dd passe la main
- gzip decompacte maintenant 3k et passe la main
- dd lit 2500, les ecrit ds output, le pipe n'etant pas vide, il essaye a
nouveau de lire 2500, mais il ne reste que 500, qu'il lit et ecrit dans
outpout
- etc ....

ainsi donc dd va lire 15 une quantite inf ou = a 2500 byte. Et suivant
le scheduling, les quantite peuvent changer => etre alatoire !

$ gzip -dc blanktgz | dd obs=2500  | dd of=output ibs=2500 count=15

ceci fait le boulot correctement, puisque le premier dd ne donne au second

que des block de 2500 bytes. Ceci tente de monterr que j'ai juste

A+

vranckx wrote:

> Bonjour,
>
> J'ai qqchose que je n'arrive pas a comprendre. J'ai lance la commande
> suivante plusieurs fois de suite. J'obtiens des resultats differents !
> Le fichier blank fait 1Mb.
> J'ai essaye sur Solaris. la taille du fichier de sortie est incorrecte
> egalement.
>
> Patrick Vranckx
> vranckx@sia.ucl.ac.be
>
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du
> -b
> output
> 15+0 records in
> 73+1 records out
> 37500   output
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du -b
> output
> 8+7 records in
> 60+1 records out
> 31172   output
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du -b
> output
> 8+7 records in
> 60+1 records out
> 31172   output
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du -b
> output
> 8+7 records in
> 60+1 records out
> 31172   output
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du -b
> output
> 8+7 records in
> 60+1 records out
> 31172   output
> [root]#gzip -dc blank.gz | dd of=output ibs=2500 count=15 ; du -b
> output
> 15+0 records in
> 73+1 records out
> 37500   output
>
> ---------
> This message was sent by Majordomo 1.94.3. Please report problems to
> manu@rtfm.be. If you want to be deleted from the list, send a mail to
> majordomo@rtfm.be with "unsubscribe linux-team" in the body.

--

        Spineux Alain

Romani ite domus.
======================================================================
  Spineux Alain                         E-MAIL : spineux@prm.ucl.ac.be
  INSTITUT STEVIN
  Catholic University of Louvain        FAX    : 32-10-472501
  PLACE DU LEVANT 2                     PHONE  : 32-10-472516
  B-1348 LOUVAIN-LA-NEUVE (BELGIUM)
=======================================================================


---------
This message was sent by Majordomo 1.94.3. Please report problems to
manu@rtfm.be. If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.