-   Linux - Software (
-   -   autofs: -Dvariable=value not working? (

dick1690 07-29-2010 04:59 AM

autofs: -Dvariable=value not working?
I've got a Suse SLES 11 system running automount 5.0.3 which stubbornly refuses to do variable substitution.

friesian:/etc/sysconfig # automount -V
Linux automount version 5.0.3
config dir: /etc/sysconfig
maps dir: /etc
modules dir: /usr/lib64/autofs
Compile options:

I've got LOCAL_OPTIONS="-DNERCARCH=linux" in /etc/sysconfig/autofs (I've also tried "-D NERCARCH=linux", "-D NERCARCH='linux'").

I've stopped nscd.

I've restarted automount /etc/init.d/autofs restart

friesian:/etc/sysconfig # ps -ef|grep automount

root 14378 1 0 11:12 ? 00:00:00 /usr/sbin/automount -p /var/run/ -O -DNERCARCH=linux

If I now do a ls /nerc/bin (one of my automounted directories),
friesian:/etc/sysconfig # ls /nerc/bin
ls: cannot open directory /nerc/bin: No such file or directory
friesian:/etc/sysconfig #

and I get the following in syslog.

Jul 28 10:30:03 friesian automount[13976]: lookup_mount: lookup(ldap): bin -> -ro mercury:/local/master/$NERCARCH/bin
Jul 28 10:30:03 friesian automount[13976]: parse_mount: parse(sun): expanded entry: -ro mercury:/local/master//bin

No substitution of the NERCARCH variable, it stays as //.

On another system, this time CentOS 5.5, it all works fine.

Linux automount version 5.0.1-0.rc2.143.el5
config dir: /etc/sysconfig
maps dir: /etc
modules dir: /usr/lib64/autofs
Compile options:

[root@who1 sysconfig]# ps -ef|grep auto
root 10263 1 0 10:59 ? 00:00:00 automount -DNERCARCH=linux
root 10320 10162 0 10:59 pts/4 00:00:00 grep auto

[root@who1 sysconfig]# ls /nerc/bin
env_clean lookup rc.d setup_type
[root@who1 sysconfig]#

I get in syslog,

Jul 28 10:52:26 who1 automount[10210]: lookup_mount: lookup(ldap): bin -> orwell:/itsspool/master.itss/$NERCARCH/bin
Jul 28 10:52:26 who1 automount[10210]: parse_mount: parse(sun): expanded entry: orwell:/itsspool/master.itss/linux/bin

Which is what I would expect to see. $NERCARCH gets set to linux.

Any suggestions as to what I might be doing wrong on the Suse box?

tia, Dick

cjcox 07-31-2010 10:43 AM


You'll hate me... but you need to place the -DNERCARCH=linux line inside of AUTOFS_OPTIONS

The LOCAL_OPTIONS are used as an argument to -O to provide options to the mounts.

Perhaps the /etc/sysconfig/autofs file could be a bit clearer...

dick1690 08-02-2010 05:01 AM

Thank you forthat, worked like a dream. And I spent best part of a day on it.

friesian:/etc/sysconfig # vi autofs
friesian:/etc/sysconfig # grep OPTIONS autofs
# each map entry (see also APPEND_OPTIONS)
# Determine whether LOCAL_OPTIONS are appended to map entry options
friesian:/etc/sysconfig #

friesian:/etc/sysconfig # /etc/init.d/autofs restart
Shutting down automount done
Starting automount done
friesian:/etc/sysconfig # ls /nerc/bin
env_clean lookup rc.d setup_type
friesian:/etc/sysconfig # ps -ef|grep automount
root 31632 1 0 09:56 ? 00:00:00 /usr/sbin/automount -p /var/run/ -DNERCARCH=linux
root 31653 31033 0 09:56 pts/0 00:00:00 grep automount
friesian:/etc/sysconfig #

All times are GMT -5. The time now is 05:12 AM.