[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
v3.0: scripting, args, boundaries
v3.0: scripting, args, boundaries
Sat, 13 Aug 2011 22:30:34 -0400
KMail/1.13.5 (Linux/2.6.32-5-686-bigmem; KDE/4.4.5; i686; ; )
I'm trying to use parted 3.0 (and recently 2.3) as part of a scripted Linux
installation. And I have encountered no end of obstacles. It won't work no
matter what I try.
Where's the 'force' option, to make parted take the specified action no matter
how much it wants to prevent me from doing what I want to do? 'mklabel gpt'
either insists on asking me if I'm sure or won't take the action.
Is parted zero-based, one-based, or an indeterminate mixture of the two? If I
use units of Bytes and say to start the partition at byte 1048576, parted
insists that it cannot start there, that it must start 512 bytes earlier.
And where do partitions really start and end? If I use units of MiB, then I
can start a partition at 1MiB and end it at 200MiB. But parted insists that
the partition is 199MiB. So it seems the specified end is really the block
*after* the last block of the parttion. But only for MiB.
I've gone to the trouble of computing partition sizes to exact byte
boundaries. And even *that* doesn't work. It is infuriating to have parted
tell me that it cannot start a partition at byte 1048576, even though that
byte is the first byte of the second 1MiB 'section'--it is well-aligned, and
that the nearest it can find is byte 1048064, which is *clearly* not aligned
to anything but 512-byte sectors.
The documentation is horribly incomplete. How many years has parted existed?
And trial&error is *still* the only way to find out what works and what
Parted is now at version 3.0; now is a fine time to fix the long-standing
problems. Please go through the code with a nanometer-spaced comb and fix it.
- Please choose one absolute byte where partitions can begin. Make it
consistent throughout the entire program. Publish this number.
- Please choose and publish an alignment scheme. I don't care if you choose
512-byte sectors, 4KiB sectors, 1MiB sectors, or even 1GiB sectors for
partition alignment. Pick one and be consistent throughout the program.
- Please make 'start' must be the first block or byte of the partition; fix
the computations to perform error checking correctly regardless of the
- Please make 'end' must be the last block or byte of a partition.
Again, fix the computations to perform error checking correctly.
- Please clearly state the last usable block or byte of the drive, or how to
compute it; please don't force any more people to restort to trial and
error to find out where they can end their disk usage.
- Please clearly state *where* on the disk GPT stuff is stored. I have
zeroed the first 100MB and last 100MB of a drive, only to have sfdisk
whine about finding a GPT table.
- Please correct the help. When an error is encountered, please tell the
user what is wrong. The current, in essence, "Huh?" is about as useful as
teats on a bull.
- Please replace the '-s' option with a '--force' option per command that
forces parted to take the action if it is otherwise correct.
- Please send output to stdout and stderr regardless of what mode it's in.
Parted is worthless to users when it operates in complete silence.
- Please fix the file reading routine. When parted reads from a file
and encounters a command error, it reads to EOF, usually finding nothing
but errors and continues to bang against EOF until it is forcibly killed.
- Please add an option that allows the user to completely and thoroughly
disable parted's boundary fuzzification. And clearly document that
feature. That is one reason I want to dump sfdisk. It is very counter-
productive and infuriating to take the trouble to compute correct
partition sizes and boundaries, only to have a brain-dead partitioner
silently and blindly change those sizes and boundaries on the user (as
does sfdisk), or seemingly randomly (as does parted).
I wanted to dump fdisk/sfdisk because they insist on using CHS, which hasn't
existed for about 10 years. But there is no apparent rhyme or reason to
parted's errors and mistakes and there is no way to divine how to correct the
Please make parted handle the basics well before adding more features. 3.0 is
sort-of a fresh start; take advantage of it to fix all these long-standing
quirks, tics and idiosyncracies.
My aim is to convey my extreme frustration with parted, not to direct vitriol
at anyone. I'm updating an entire firewall distribution by myself. I hate when
people find bugs despite my best efforts. But there will always be bugs, and
I'm really glad people find them, because those people help me make the
Neal P. Murphy
- v3.0: scripting, args, boundaries,
Neal Murphy <=
- Re: v3.0: scripting, args, boundaries, Michal Suchanek, 2011/08/14
- Re: v3.0: scripting, args, boundaries, Jim Meyering, 2011/08/14
- Re: v3.0: scripting, args, boundaries, Neal Murphy, 2011/08/14
- Re: v3.0: scripting, args, boundaries, Michal Suchanek, 2011/08/15
- Re: v3.0: scripting, args, boundaries, Jim Meyering, 2011/08/15
- Re: v3.0: scripting, args, boundaries (restart), Neal Murphy, 2011/08/15
- Re: v3.0: scripting, args, boundaries (restart), Neal Murphy, 2011/08/16