home *** CD-ROM | disk | FTP | other *** search
- Automount mini-Howto
- don@sabotage.org
- v0.4, 17 April 1999
-
- This file describes the autofs automounter, how to configure it, and
- points out some problems to avoid.
- ______________________________________________________________________
-
- Table of Contents
-
-
- 1. Introduction
-
- 1.1 Automount - what and why
- 1.2 Types of automounting
-
- 2. Installation
-
- 3. Configuration
-
- 4. That long wait to unmount
-
- 5. Questions
-
- 5.1 I don't see /auto/floppy, or whatever mountpoint I'm looking for.
- 5.2 How do I see what's mounted?
- 5.3 I put in a win95 disk ("vfat") and it was autodetected as only a regular FAT disk.
- 5.4 My filesystem
- 5.5 What happens if I make / the directory for the automounter
- 5.6 Can I have two map files on the same directory?
- 5.7 I'm using SuSE 6.0 and needed
- 5.8 How do I set the permissions and ownership for the filesystem (IE FAT)
- 5.9 Who do I thank for autofs?
- 5.10 Where can I learn more about automounting?
-
-
- ______________________________________________________________________
-
- 1. Introduction
-
- 1.1. Automount - what and why
-
- Automouting is the process where mounting (and unmounting) of certain
- filesystems is done automatically by a daemon. If the filesystem is
- unmounted, and a user attempts to access it, it will be automatically
- (re)mounted. This is especially useful in large networked environments
- and for crossmounting filesystems between a few machines (especially
- ones which are not always online). It may also be very useful for
- removable devices, or a few other uses, such as easy switching between
- a forced-on ascii conversion mount of a dos filesystem and a forced-
- off ascii conversion mount of the same dos fs.
-
-
- 1.2. Types of automounting
-
- There are two types of automounters in linux; AMD and autofs. AMD is
- the automount daemon, and supposedly works like the SunOS AMD. It is
- implemented in user space, meaning it's not part of the kernel. It's
- not necessary for the kernel to understand automounting if you NFS
- mount to the local host, through the AMD daemon, which routes all
- automount filesystem traffic through the NFS system. Autofs is a newer
- system assisted by the kernel, meaning that the kernel's filesystem
- code knows where the automount mount points are on an otherwise normal
- underlying fs, and the automount program takes it from there. Only
- autofs will be described in this mini-howto.
-
- 2. Installation
-
- Because autofs is implemented in kernel-space, your kernel must have
- support compiled in. In 2.0.xx it is an experimental option, but
- appears to be quite stable. In 2.2.xx it is a normal option.
-
-
- The automount program and its configuration files are also necessary;
- using the rpms (from RedHat, as part of the install) is a great way to
- go. The automount program should be started by an rc script under the
- /etc/rc.d/init.d directory . The rpm installs this, but you will need
- to make sure it gets started, either by linking it from your rc?.d
- directory, using Redhat's control-panel, or on another distribution by
- getting the thing started anyway you care to. Non-rpm distros will
- have to do whatever's applicable to their system. And don't look too
- hard at what the rc script does; if you're reading this howto you
- probably don't want to know.
-
-
- 3. Configuration
-
- Installing the RPM's will get you to this point easily enough, but
- here's the part you might not be sure about if you haven't done this
- before.
-
-
- There are two files in /etc, one called auto.master and one called
- auto.misc. My auto.master looks like this:
-
- /auto /etc/auto.misc --timeout 60
-
-
-
- The first entry is not the mount point. It's where the set of mount
- points (found in the second entry) are going to be. The third option
- says that the mounted filesystems can try to unmount themselves 60
- seconds after use. They can't unmount if being used, of course.
-
- Auto.misc is a "map file". The map file can have any name; this one is
- named auto.misc because it originally controlled /misc. Multiple map
- files can be defined in auto.master. My auto.misc looks like this:
-
- kernel -ro,soft,intr ftp.kernel.org:/pub/linux
- cd -fstype=iso9660,ro :/dev/cdrom
- zip -fstype=auto :/dev/hdd4
- floppy -fstype=vfat :/dev/fd0
-
-
-
- The first column (the "key") is the mount point. In this case it would
- be /auto/floppy or whatever. The middle set are the options; read the
- mount manpage for details on this. And the last column specifies where
- the fs comes from. The "kernel" entry is supposed to be an NFS mount.
- The : on all the other lines means its a local device.
-
-
-
- 4. That long wait to unmount
-
- Some of you may be eyeing that 60 second timeout and thinking, that's
- a long time to wait to eject a floppy.. Maybe I'll just sync the disks
- and pop it out mounted and nobody will notice. Let me suggest saner
- alternatives. First of all, you can change the timeout. But that
- could be a little inefficient; telling the system to unmount stuff
- after only 15 seconds or whatever. Depending on your setup, you may be
- able to simply run the umount command as a normal user. But there is
- actually a way to ask the automount program to umount. If you send
- (with the program kill) the signal SIGUSR1 to the automount process,
- it will unmount everything it can. But before people start making
- unmount buttons on their window managers, there's a little problem.
-
- The automount process is run by root, and it will only accept signals
- from root. Half of the reason you're probably doing automounting is so
- you can mount an unmount *without* being root. It would be easy to
- make a suid-root C program which does the dirty deed. However, by
- using sudo it is possible to allow users to send the proper kill
- signal. The only problem is that sudo will not let you use ` to
- process subcommands, which you would have to do to find the current
- PID. You should have a program called killall, which will let you do
- this: (thanks for the suggestions)
-
- ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount
-
-
- Otherwise, you would have to allow your users to send -SIGUSR1 to all
- processes. That has various effects on programs; it will recycle some
- window managers, but kills xemacs. So here's hoping there's no buffer
- overruns in killall...
-
-
- 5. Questions
-
-
-
- 5.1. I don't see /auto/floppy, or whatever mountpoint I'm looking
- for.
-
- If automount is setup properly, whatever mount point you're looking
- for will be there if you try and use it, even though you don't see it
- when not in use. If you're browsing the directory with a graphical
- tool, you may need to type in the name manually; most programs will
- try what you give it, and the drive will be mounted before it notices.
- Unfortunately not being able to choose from the available invisible
- mount points is probably the major drawback of autofs. If it really
- bugs you, edit the configuration files. (Hint, the ones that end in
- .c for "configuration")
-
- One workaround several people have tried is to create symbolic links
- to where automount will create something once it's mounted. This will
- likely prevent the program from complaining a directory doesn't exist
- (if the mount works, that is) but careless directory listings will
- cause filesystems to be mounted.
-
-
- 5.2. How do I see what's mounted?
-
- The df command. mount with no options will do the same, plus show the
- options its mounted with.
-
-
-
-
- 5.3. I put in a win95 disk ("vfat") and it was autodetected as only a
- regular FAT disk.
-
- This is not a problem with automount. As of this writing, the "auto"
- fs type does not attempt a vfat mount before it successfully mounts an
- msdos filesystem. VFAT is the Win95 and WinNT long filenames crammed
- into a FAT/MSDOS filesystem.
-
- According to one of the authors of mount, since mount is only a
- wrapper around a system call which must specify the filesystem type,
- it's still the responsibility of the user to come up with the fs type.
- Having mount take a list of filesystems to try in order, rather than
- the current "heuristic" is under consideration. Some users have simply
- not compiled msdos into the kernel; this prevents it from being tested
- prior to vfat. This will work for most people; a few actually need
- msdos fs and it caused me quite some frustration to not have a module
- handy when I actually needed it.
-
- I'm sure that if anyone wants to go to the effort of finding the
- owner(s) of the mount program, your comments would be welcome. So
- unless you don't compile msdos in, for now this means that you can't
- mount vfat unless you give up the ability to autodetect all other
- fs's. Hopefully it will be configurable someday. In the mean time,
- feel free to create multiple mount points with different fs types
- specified.
-
-
-
- 5.4. My filesystem /auto/grumblesmurf is mounted and kill -SIGUSR1
- won't unmount it.
-
- It's being used by something. Root probably can't manually unmount it
- either. If you're the one who caused it to be mounted (i.e. it can't
- be someone else using it) look around for a shell that might be in
- that directory. If there are none, look for something else
- (particularly something that might have gone though that directory
- like a directory browser) that might have left an invisible foot in
- the door so to speak. If you've given up looking, try using the fuser
- program.
-
-
- 5.5. What happens if I make / the directory for the automounter
-
- Oooh. Well, out of a statistical sample of only one person, none of
- the results were positive. You have been warned. If you want
- /grumblesmurf, then I suggest a symbolic link. Much safer.
-
-
- 5.6. Can I have two map files on the same directory?
-
- Not as far as I know. Try using one map file, with specific options
- for individual entries.
-
-
- 5.7. I'm using SuSE 6.0 and needed ---timeout instead of --timeout
-
- Uh. Ok, I've made a note about it. Another solution to "timeout not
- working" problems would be to add a -t time option to the autofs
- script.
-
-
- 5.8. How do I set the permissions and ownership for the filesystem
- (IE FAT)
-
- Check the man page for mount for some of the options, such as setting
- the uid=value or umask=value options. One option that appears to be
- missing for FAT filesystems is mode=value. Sorry. Check in with the
- people who do mounting.
-
-
- 5.9. Who do I thank for autofs?
-
- Not me. I didn't have anything to do with it. I just wanted to bring
- everyone's attention to what a great job had been done with autofs,
- and how easy it is to use. Compared to the original perpetrators of
- AMD (Hint, they sell an overpriced unice with prehistoric versions of
- free tools) the autofs is very well documented and the implementors
- have my sincere thanks. Everything is stamped copyright Transmeta so
- sorry I can't provide a credits list, but I would bet Peter Anvin is
- responsible for quite a bit of it. Peter also held a session on autofs
- at linuxworldexpo on March 3, 1999.
-
-
- 5.10. Where can I learn more about automounting?
-
- There's a autofs tutorial at <
- http://www.linuxhq.com/lg/issue24/nielsen.html>. See also am-utils at
- <http://www.cs.columbia.edu/~ezk/am-utils>
-
- (Thanks for these URLs)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-