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

Re: [tyndur-devel] [PATCH 1 of 2] build: dd if='/dev/zero' ... ist zu langsam



Am 14.08.2010 20:28, schrieb Kevin Wolf:
> On Sat, Aug 14, 2010 at 02:10:58PM +0200, Andreas Freimuth wrote:
>>
>> * Beim Erstellen von leeren Images auf dd verzichten, statt dessen ein
>>   kleines Python-Script verwenden
>>
>> Signed-off-by: Andreas Freimuth <m.nemo@xxxxxxx>
>> ---
>>  build/scripts/empty_file   |  24 ++++++++++++++++++++++++
>>  build/scripts/image_cdrom  |   2 +-
>>  build/scripts/image_floppy |   2 +-
>>  build/scripts/image_hd     |   4 ++--
>>  4 files changed, 28 insertions(+), 4 deletions(-)
>>
>> diff --git a/build/scripts/empty_file b/build/scripts/empty_file
>> new file mode 100755
>> --- /dev/null
>> +++ b/build/scripts/empty_file
>> @@ -0,0 +1,24 @@
>> +#!/usr/bin/python
>> +# -*- coding: UTF-8 -*-
>> +
>> +# Eine leere Datei mit einer bestimmten Größe erzeugen
>> +# Parameter:
>> +#   1. Dateiname
>> +#   2. Dateigröße
>> +import sys
>> +
>> +def empty_file(filename, size):
>> +    f = open(filename,"wb")
>> +    if not f:
>> +        sys.exit(1)
>> +
>> +    f.seek(size - 1)
>> +    f.write('\0')
>> +    f.close()
> 
> Funktioniert nicht für size = 0 und verkleinert schon vorhandene Dateien
> nicht. f.truncate (oder wie auch immer das heißen mag) wäre
> wahrscheinlich besser.
Ok das mit der 0 stimmt. Aber schon vorhanden Dateien werden auch
verkleinert. mit 'w' wird eine evtl. Vorhanden Datei ersetzt.

> 
>> +
>> +if __name__ == "__main__":
>> +    if len(sys.argv[1:]) != 2:
>> +        print sys.stderr, "using: %s <filename> <size>" % sys.argv[0]
>> +        sys.exit(1)
>> +
>> +    empty_file(str(sys.argv[1]), int(sys.argv[2]))
> 
> Tut das ganze nicht dasselbe wie dd of=$file seek=$size count=0? (Bzw.
> in deiner Version auch noch conv=notrunc, aber das halte ich wie gesagt
> für einen Bug und nicht für ein Feature)
Das hat zwar, mit dem passenden 'bs', den gleichen Effekt, aber es ist
viel zu einfach, und außerdem hat es 0-Bug nicht ;)

> 
> Die Idee, nicht erstmal endlos Nullen zu schreiben, ist aber gut.
> 
> Kevin



Attachment: signature.asc
Description: OpenPGP digital signature