[Grml] Re: RFC: handling of external usb devices

Mark 27e3kk302 at sneakemail.com
Tue Sep 5 00:58:45 CEST 2006


Without commenting on the specifics of Mika's new implementation (I need
to study it), I still want to offer opinions about USB.  My users fall
into the USB category.

> problems start with multiple devices or devices with several
> partitions on it

Or moving the USB device from PC to PC.  That is the whole point of
using USB for many people.  When you move the device, however, /dev/sda
becomes /dev/sdd so the old-style fstab syntax just breaks.

Mika is probably right about automount.  His opinions are what make grml
so great.

On the other hand, *nix is a 30-year-old design.  Not all of it is still
100% right for today.  The fstab topic deserves more comments.  I have
opinions about fstab.

The /dev/XYZ syntax does not help.  I much prefer labels/UUIDs.  They
are *much* less brittle for OS design.  It makes more sense to use
labels/UUIDs than to synchronize /dev/XYZ changes.  A system based on
labels/UUIDs has nothing to sync.  It "just works."

Labels/UUIDs are not merely preference.  They can be *necessary*

http://www.wlug.org.nz/PartitioningSuggestions

"In most cases the raw device name will do, but there are some
situations in which...fstab to remember things...just won't work."


> 'mount /mnt/external1' (corresponding to /dev/sda1) and 'mount
> /mnt/external' (corresponding to /dev/sda).

I never liked those and never use them.  They are irritating because
there are many types of external devices.  Am I mounting a camera?  A
scanner?  A disk?  A flash stick?

The traditional /dev/XYZ syntax is just a sysadmin preference.  It
should not be turned into a fixed rule.  The rule being cemented now is
this:  "grml will always use /dev/XYZ syntax no matter what you want,
but we offer some alternative /dev/ABC-XYZ syntax too."

The way to handle syadmin preferences is cheatcodes.  A grml cheatcode
already toggles "build fstab."  A new cheatcode could toggle "use labels
when building fstab" and "use UUIDs when building fstab."  That way,
old-school sysadmins could keep /dev/XYZ (and risk the brittleness).

Duplicate label problems are solved by UUIDs.  People worried about that
should use UUIDs.  Incidentally, blkid gives the UUID.

> Additionally we will create
> /dev/usb-sd* devices via udev rules like:

The philosophy of grml was to avoid "symlink hell."  I'm ok with any
solution that is not better handled by fstab labels.

If the entire purpose is to avoid labels, then I do not like the
solution, because syntax is a poor reason to do anything.  Besides, you
could still put /dev/XYZ in comment sections of the fstab file.

Swap partitions are even worse.  There is no fine control.  I'm not sure
how to handle them automatically in any Debian system very well.  It's
all-or-nothing.  Grml activates all swap partitions without regard to
fstab unless you boot with cheatcode "noswap" which turns them *all*
off.

You can do swapon by label.  You can also boot noswap.  So then, by
hand, you have full control:  boot noswap and do swapon by label, one
swap at a time.  This technique gives you full control over which
partitions are used.

Some of us like automation.  Some of us *need* automation for end users.
 It would be nice to have labels for this purpose in fstab.  So, in
effect, the rule might be this:  "only use a swap patition with these
UUIDs and no other swaps you detect."  

These are my inputs:  Consider the mobile USB case.  Think about putting
/dev/XYZ in fstab comments (where they are still visible, but not
active).  Avoid symlink hell.  Think about using cheatcodes to implement
sysadmin prefs.

And ... many thanks for listening.



More information about the Grml mailing list