Назад | Перейти на главную страницу

Почему при использовании automount на RHEL5 переменные в auto.master никогда не расширяются?

Я перехожу с 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

Затем у меня есть UNDERSCORETODOT = "1" в / etc / sysconfig / autofs, и автоматическое монтирование с радостью вытащит все из 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))

Отключив шифрование и наблюдая за клиентом в wirehark, я проверяю, какие запросы выполняются, и ищет 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?