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 Directories: config dir: /etc/sysconfig maps dir: /etc modules dir: /usr/lib64/autofs Compile options: DISABLE_MOUNT_LOCKING ENABLE_FORCED_SHUTDOWN ENABLE_IGNORE_BUSY_MOUNTS WITH_LDAP WITH_SASL LIBXML2_WORKAROUND 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/automount.pid -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 Directories: config dir: /etc/sysconfig maps dir: /etc modules dir: /usr/lib64/autofs Compile options: DISABLE_MOUNT_LOCKING ENABLE_IGNORE_BUSY_MOUNTS WITH_HESIOD WITH_LDAP WITH_SASL [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 |
:-)
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... |
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 AUTOFS_OPTIONS="-DNERCARCH=linux" # each map entry (see also APPEND_OPTIONS) LOCAL_OPTIONS="" #LOCAL_OPTIONS="-DNERCARCH=linux" # Determine whether LOCAL_OPTIONS are appended to map entry options APPEND_OPTIONS="yes" 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/automount.pid -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 12:06 PM. |