diff --git a/Deconstructing_Linux_udev_Rules.rst b/Deconstructing_Linux_udev_Rules.rst index 1e9e145..aeacaca 100644 --- a/Deconstructing_Linux_udev_Rules.rst +++ b/Deconstructing_Linux_udev_Rules.rst @@ -1,6 +1,58 @@ Deconstructing Linux ``udev`` Rules =================================== +``udev`` is one of those pieces of ``Linux`` that is fairly well +documented and not very well understood. This note isn't intended as +a general introduction to writing ``udev`` rules, but, rather, a brief +introduction to the topic by way of specific example. + + +Why Bother With ``udev``? +========================= + +There are many clever uses for ``udev`` documented on the Web, but +the most common use is to ensure that when you connect a device + - disk, tape, usb thumbdrive, camera... whatever - to a ``Linux`` +system, that device shows up with the same name every time. + +Original ``Unix`` derivatives had a static tree of devices the system +could support. This was encoded in the ``/dev`` file tree hierarchy. +This was pretty inflexible in the face of devices being added- and +removed- from the system as it ran. For this reason, modern device +handling in ``Linux`` and most other ``Unix`` derivatives is +*dynamic* - the content of ``/dev`` changes to reflect the actual +state of the system as things get connected or disconnected. (Exactly +how this is done is outside the purpose of this document, but if you +care, investigate the ``Linux /sys`` filesystem works.) + + +Our Example Problem +=================== + +While the example below is "cooked", it is very much rooted in real +world ``udev`` application. We want to do the following things: + + - Make sure that a particular disk always shows up under the same + name under ``/dev`` no matter how many disks have been connected + before it. We do that by uniquely identifying a disk and then + creating a symbolic link to it that never changes. + + - Change the user and group ownership of that disk to something + other than the default of ``root:disk``. + + - Create a corresponding "raw" character device under ``/dev/raw``. + This is something you commonly see on database servers and + it's suffiently useful that's it's worth mentioning here. + + +Where Do ``udev`` Rules Live? +============================= + + +Our Example Rules +================= + + Author ====== @@ -12,7 +64,7 @@ Document Revision Information ============================= -``$Id: Deconstructing_Linux_udev_Rules.rst,v 1.100 2013/10/31 21:05:37 tundra Exp $`` +``$Id: Deconstructing_Linux_udev_Rules.rst,v 1.101 2013/10/31 21:40:42 tundra Exp $`` You can find the latest version of this document at: