我正在从 NISPLUS 迁移到 LDAP (openldap),并从 RHEL4 迁移到 RHEL5。LDAP 服务器和客户端都在 RHEL5u4 上运行。在 RHEL5 上,auto.master 中的变量扩展从不起作用,无论是在文件还是 LDAP 中。
NISPLUS/RHEL4(有效)
我曾经在 nisplus 中拥有一大堆类似于 auto_opt_Linux_2-6-18_x86_64 的表,其中包含针对特定 arch/os 组合的程序份额。
例如在auto_opt_Linux_2-6-18_x86_64
NISPLUS 中:
vim-7.3 nfs:/export/apps/Linux/2.6.18/opt-i386/&
boost-1.4.0 nfs:/export/apps/Linux/2.6.18/opt-x86_64/&
etc
auto_master
然后我在 NISPLUS 中有:
/opt auto_opt_${OSNAME}_${OSREL}_${ARCH}
/home auto_home
/workgrp auto_workgrp
auto.master
在客户端的 /etc 中:
+auto_master
然后我在 /etc/sysconfig/autofs 中设置 UNDERSCORETODOT="1",并且 automount 会很乐意将所有内容从 NISPLUS 中拉出。
LDAP/RHEL5(几乎可以工作)
我尝试在 LDAP 中执行相同操作,home 和 workgrp 共享工作正常,但 /opt 却不行:
dn: ou=auto.master,dc=example,dc=com
objectClass: automountMap
objectClass: top
ou: auto.master
dn: cn=/opt,ou=auto.master,dc=example,dc=com
objectClass: automount
cn: /opt
automountInformation: auto.opt.$OSNAME.$OSREL.$ARCH
dc: ou=auto.opt.Linux.2.6.18-164.el5.x86_64,dc=example,dc=com
objectClass: automountMap
objectClass: top
ou: auto.opt.Linux.2.6.18-164.el5.x86_64
dc: cn=vim-7.3,ou=auto.opt.Linux.2.6.18-164.el5.x86_64,dc=example,dc=com
objectClass: automount
cn: vim-7.3
automountInformation: nfs:/export/apps/Linux/2.6.18/opt-i386/&
运行 automount -fd 说:
get_query_dn: lookup(ldap): query succeeded, no matches for (&(objectclass=nisMap)(nisMapName=auto.opt.$OSNAME.$OSREL.$OSARCH))
get_query_dn: lookup(ldap): query succeeded, no matches for (&(objectclass=automountMap)(ou=auto.opt.$OSNAME.$OSREL.$OSARCH))
get_query_dn: lookup(ldap): query succeeded, no matches for (&(objectclass=automountMap)(autoMountMapName=auto.opt.$OSNAME.$OSREL.$OSARCH))
通过禁用加密并在 wireshark 中观察客户端,我实际检查了正在运行的查询,并且它正在搜索 auto.opt.$OSNAME.$OSREL.$ARCH 而不扩展变量。
我尝试运行 automount -fd -D OSNAME=Linux,但没有任何效果。我还尝试将所有这些放入平面文件中(不是 LDAP 或 nisplus,但这没有帮助)。
有效的坐骑如下:
boost-1.40.0 nfs:/export/apps/Linux/2.6.18/opt-${ARCH}/&
(在 LDAP 或平面文件中)
这会很好,除非当同一个库或应用程序在多个平台上运行时,例如,我们并不特别需要 64 位版本的 vim,并且我不希望为每个内核都保留一份 vim-7.3 的副本,因为 RHEL4 可以在从 4u2 到 6u0 的所有版本上运行!
man 5 autofs 建议替换应该在自动挂载映射的键和位置部分中起作用,所以我没有想象这一点(http://www.squarebox.co.uk/cgi-squarebox/manServer/autofs.5)。
有人知道吗?autofs 在 RHEL5 上坏了吗?