401 lines
15 KiB
Plaintext
401 lines
15 KiB
Plaintext
|
Automount mini-Howto
|
|||
|
Rahul Sundaram, rahulsundaram@yahoo.co.in <mailto:Rahulsun<75>
|
|||
|
daram AT yahoo DOT co DOT in>
|
|||
|
v1.6, 2002-12-27
|
|||
|
|
|||
|
This file describes the autofs automounter, how to configure it, and
|
|||
|
points out some problems to avoid.
|
|||
|
______________________________________________________________________
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
1.1 Revision History
|
|||
|
1.2 Automount - what and why?
|
|||
|
1.3 Types of automounting
|
|||
|
|
|||
|
2. Administrative
|
|||
|
|
|||
|
2.1 Copyright information
|
|||
|
2.2 Disclaimer
|
|||
|
|
|||
|
3. Installation
|
|||
|
|
|||
|
4. Configuration
|
|||
|
|
|||
|
5. The long wait for unmounting
|
|||
|
|
|||
|
6. Questions
|
|||
|
|
|||
|
6.1 I don't see /auto/floppy, or whatever mountpoint I'm looking for.
|
|||
|
6.2 How do I see what's mounted?
|
|||
|
6.3 I put in a win95 disk ("vfat") and it was autodetected as only a regular FAT disk.
|
|||
|
6.4 My filesystem
|
|||
|
6.5 What happens if I make / the directory for the automounter
|
|||
|
6.6 Can I have two map files on the same directory?
|
|||
|
6.7 I'm using SuSE 6.0 and needed
|
|||
|
6.8 How do I set the permissions and ownership for the filesystem (ie)FAT.
|
|||
|
6.9 How to browse the content of an autofs directory, when sub-dirs are not currently mounted ? Philippe Froidevaux
|
|||
|
6.10 Who do I thank for autofs?
|
|||
|
6.11 Where can I learn more about automounting?
|
|||
|
6.12 where to contact the developpers" ?.Is there a mailing-list for autofs ?
|
|||
|
|
|||
|
7. Acknowledgements,feedback and dedication
|
|||
|
|
|||
|
|
|||
|
|
|||
|
______________________________________________________________________
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
1.1. Revision History
|
|||
|
|
|||
|
|
|||
|
<20> Versions below 1.5 - Authored by Don.
|
|||
|
|
|||
|
<20> Version 1.5 - Added the copyright and other minor details.Rahul
|
|||
|
Sundaram took over maintainance.
|
|||
|
|
|||
|
<20> Version 1.5.1 - Added details to the question about VFAT.
|
|||
|
|
|||
|
<20> Version 1.5.2 - Revision history and other minor corrections.
|
|||
|
|
|||
|
<20> Version 1.6 - Added a few questions and answers.
|
|||
|
|
|||
|
1.2. Automount - what and why?
|
|||
|
|
|||
|
Automounting 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. If you are new to
|
|||
|
Linux and dont understand what mounting and deamons are,then refer to
|
|||
|
some documentation regarding this.
|
|||
|
|
|||
|
|
|||
|
1.3. 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. Administrative
|
|||
|
|
|||
|
2.1. Copyright information
|
|||
|
|
|||
|
This mini-HOWTO is Copyright Rahul Sundaram Sundaram.All rights
|
|||
|
reserved.This document is licensed under the Linux Documentation
|
|||
|
Project license <http://tldp.org/copyright.html>.I welcome any kind of
|
|||
|
commercial distrubution but I would like to receive information
|
|||
|
regarding this.I would also help anyone willing to translate this
|
|||
|
document.If you require any exceptions to the licensing terms please
|
|||
|
contact me Rahul Sundaram <mailto:Rahulsundaram AT yahoo DOT co DOT
|
|||
|
in>. The latest version of this document is always available at the
|
|||
|
Linux Documentation website at
|
|||
|
<http://tldp.org/HOWTO/mini/Automount.html>.
|
|||
|
|
|||
|
|
|||
|
2.2. Disclaimer
|
|||
|
|
|||
|
Although I have tried to do my best to bring out this howto in a good
|
|||
|
form,I am not responsible for any damage due to the actions taken
|
|||
|
based upon the information contained in this document. It is
|
|||
|
impossible to test the things under all the configurations, so
|
|||
|
probably some of the hints given in this document may be incorrect and
|
|||
|
may not work on your system. In case you find anything wrong, let me
|
|||
|
know it first.I will rewrite it as soon as possible.
|
|||
|
|
|||
|
This document is provided ``as is''. I put great effort into writing
|
|||
|
it as accurately as I could, but you use the information contained in
|
|||
|
it at your own risk. In no event shall I be liable for any damages
|
|||
|
resulting from the use of this work.
|
|||
|
|
|||
|
|
|||
|
3. Installation
|
|||
|
|
|||
|
Autofs is implemented in kernel-space, so your kernel must have
|
|||
|
support compiled in. All versions of the kernel starting from 2.2.xx
|
|||
|
supports autofs.
|
|||
|
The automount program and its configuration files are also necessary;
|
|||
|
using the rpms. The RedHat distribution has this package available as
|
|||
|
part of the installation.
|
|||
|
|
|||
|
|
|||
|
4. Configuration
|
|||
|
|
|||
|
Installing the RPM packages 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. A sample 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. You will have to stop using the disk before
|
|||
|
unmounting it.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
5. The long wait for unmounting
|
|||
|
|
|||
|
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 and 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:
|
|||
|
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...
|
|||
|
|
|||
|
|
|||
|
6. Questions
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.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.
|
|||
|
|
|||
|
|
|||
|
6.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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.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.The "auto" fs type does not
|
|||
|
attempt a vfat mount before it successfully mounts an MS-DOS
|
|||
|
filesystem. VFAT is an extension of the basic FAT filesystem inorder
|
|||
|
to provide Windows 95 and Windows NT with long filenames.
|
|||
|
|
|||
|
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 there is actually a work around. You have to copy the
|
|||
|
/proc/filesystems as /etc/filesystems and edit it to change the order
|
|||
|
such that vfat appears before msdos.(Thanks Mark)
|
|||
|
|
|||
|
Ariel(aslinux At dsgml.com) writes
|
|||
|
|
|||
|
" o make mount try vfat before fat, just create or edit the file
|
|||
|
/etc/filesystems
|
|||
|
|
|||
|
|
|||
|
List, in order of priority, what filesystems you want the 'auto' fs
|
|||
|
type to try.
|
|||
|
|
|||
|
Create the file with cp /proc/filesystems /etc/filesystems.
|
|||
|
|
|||
|
Edit the list to change the order. Put fs types that are detected with
|
|||
|
great confidence such as ext2 (which means they are checked very
|
|||
|
quickly), and those that are more common for you first. Just put vfat
|
|||
|
before msdos and you're all set. Make sure to put both, in case you're
|
|||
|
mounting something that has no vfat.
|
|||
|
|
|||
|
Mine looks like:
|
|||
|
|
|||
|
ext2 vfat msdos iso9660
|
|||
|
|
|||
|
****
|
|||
|
|
|||
|
I use a timeout of 1 second for removable devices. Create separate
|
|||
|
maps, separated by the timeout you need.
|
|||
|
|
|||
|
You're thinking 1 second? That wastes a lot of resources - but it
|
|||
|
doesn't. Remember that the system only unmounts when it's no longer
|
|||
|
in use.
|
|||
|
|
|||
|
So a 1 second unmount means, as soon as no one is using the device,
|
|||
|
it's unmounted.
|
|||
|
|
|||
|
Also, be very sure to put 'sync' as an option for the floppy!
|
|||
|
|
|||
|
i.e.
|
|||
|
|
|||
|
floppy -fstype=auto,sync,user,umask=002,gid=floppy :/dev/fd0"
|
|||
|
|
|||
|
That should make clear the answer.
|
|||
|
|
|||
|
|
|||
|
6.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.
|
|||
|
|
|||
|
|
|||
|
6.5. What happens if I make / the directory for the automounter
|
|||
|
|
|||
|
I dont recommend it.If you want /grumblesmurf, then I suggest a
|
|||
|
symbolic link. It would be much safer.
|
|||
|
|
|||
|
|
|||
|
6.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.
|
|||
|
|
|||
|
|
|||
|
6.7. I'm using SuSE 6.0 and needed ---timeout instead of --timeout
|
|||
|
|
|||
|
Another solution to "timeout not working" problems would be to add a
|
|||
|
-t time option to the autofs script.
|
|||
|
|
|||
|
6.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.
|
|||
|
|
|||
|
|
|||
|
6.9. Philippe Froidevaux writes
|
|||
|
|
|||
|
|
|||
|
" The author of autofs say "no way"
|
|||
|
|
|||
|
a possible hack is (from the newsgroup) :
|
|||
|
|
|||
|
"don't mount to /home/blauser but to /mount/.auto/blauser then add
|
|||
|
a link /home/blauser -> /mount/.auto/blauser
|
|||
|
|
|||
|
now you can browse into /home and see the users-home, it then gets
|
|||
|
mounted when you enter it.
|
|||
|
|
|||
|
problem with this: it isn't so clean and needs work for each user.
|
|||
|
|
|||
|
another solution is to use 'amd' in place of 'autofs', but amd is less
|
|||
|
performant".
|
|||
|
|
|||
|
|
|||
|
|
|||
|
6.10. Who do I thank for autofs?
|
|||
|
|
|||
|
This is only a documentation provided for you to grab everyone's
|
|||
|
attention to what a great job had been done with autofs, and howeasy
|
|||
|
it is to use.Compared to the original perpetrators of AMD,the autofs
|
|||
|
is very well documented and the implementors have my sincere thanks.
|
|||
|
Everything has been copyrighted by the Transmeta company so it's not
|
|||
|
possible to provide a credits list, but Peter Anvin is probably
|
|||
|
responsible for quite a bit of it. Peter also held a session on autofs
|
|||
|
at linuxworldexpo on March 3, 1999.
|
|||
|
|
|||
|
|
|||
|
6.11. 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>
|
|||
|
|
|||
|
|
|||
|
6.12. where to contact the developpers" ?.Is there a mailing-list for
|
|||
|
autofs ?
|
|||
|
|
|||
|
I could not locate any information regarding this.Please let me know
|
|||
|
if you come across anything.
|
|||
|
|
|||
|
|
|||
|
7. Acknowledgements,feedback and dedication
|
|||
|
|
|||
|
I would like to thank Don <mailto:don@sabotage.org> (email id seems to
|
|||
|
be invalid now) for his original work on this mini-Howto.I thank Ariel
|
|||
|
for his answer regarding the question on "win95 vfat" issue.I would
|
|||
|
thank all my friends for their support and everyone who were patient
|
|||
|
enough with me while I completed this work. Please mail me to Rahul
|
|||
|
Sundaram <mailto:Rahulsundaram AT yahoo DOT co DOT in> in case of any
|
|||
|
suggestions,improvements or if you have any bright ideas. Please mail
|
|||
|
me if you have any good tutorials or stuff that I can add to this
|
|||
|
document.Thanks in advance. I dedicate this document to my late
|
|||
|
parents Mr.V.Sundaram and Mrs.S.Soundara Sundaram.
|
|||
|
Acknowledgements,feedback and dedication 2
|
|||
|
|
|||
|
|
|||
|
|