LINUX.ORG.RU
ФорумAdmin

«rpc.mountd» - ручная установка порта.


0

1

Доброго времени дня! Тут столкнулся с очень сильным для меня «колдунством». Потребовалось перенести одну программу на более новое железо.В оригинале - под Red Hat 7.2 Enigma. В руководстве к программе каких-либо указаний про установку нет, разработчик чего-то молчит(денег хочет, наверное, понимаем). Пришлось всё, грубо говоря, «цельностягивать» - тупо смотреть, сравнивать настройки в оригинале и новоиспечённой копии. Выяснилось - что программа общается с себе подобными через сервисы «rpc» и «nfs». Но в оригинале порты - «mountd»,«nlockmgr»,«status» и т.д.(вывод «rpcinfo») выставлются как-то «вручную», строго (а не произвольно по умолчанию). И ни как не могу найти - где это указывается - в «/etc/services» ничего нет, в скриптах, описывающих запуск сервисов «nfs» и «rpc» тоже всё по умолчанию стоит (не прописан какой-либо порт, т.е. просто стоит «/usr/sbin/rpc.mountd», а не «/usr/sbin/rpc.mountd --port XXX»). Файла «/etc/sysconfig/nfs» также никакого нет. Как принудительно указаны/заданы эти порты - непонятно. Как говориться, «и комар лошадь свалит, коли волк пособит.» ;-). Дайте направление хотя бы. Спасибо!

ну тупые...

man rpc.mountd

-p or --port num

Force rpc.mountd to bind to the specified port num, instead of using the random port number assigned by the portmapper.

Правь стартовые скрипты, добавляя эту опцию к вызову rpc.mountd или что там тебе надо.

/etc/services — это просто список предположительного соответствия портов приложениям. Чтоб вместо ip:22 показывалось ip:ssh там где надо.

anonymous
()
Ответ на: ну тупые... от anonymous

Не, ну это понятно!

Только в стартовых скриптах оригинальной версии - ничего нет(смотрел в «/etc» - где ёще надобно?). То, что, набрав "./usr/sbin/rpc.mountd --port XXX", можно вручную установить порт - это мы знаем. Правда, вроде при этом и tcp и udp - садятся на один порт, в оригинале на разные(отличаются на единицу). Вот ведь в чём закавыка.

dbg_novice
() автор топика

Для начала можно посмотреть какая версия пакета (rpm) стоит, найти такой же и убедиться, что rpc.mountd в системе на RH 7.2 оригинальный, а не патченый.

mky ★★★★★
()
Ответ на: комментарий от mky

Сознаю свою вину

Меру, степень, глубину - и далее по списку... Про «nfs/rpc» - «ложный» след оказался, это один из вариантов подключения «клиент-сервер», разные удалённые подключения и т.д. Вообщем, сия «плюшка» не используется у нас. Большое спасибо за совет по «strace»- очень помогло в других моментах. А в изначальной проблеме имеем следующую ошибку «ioctl(3, 0x4b6e, 0xbffff96c) = -1 EINVAL (Invalid argument)». В оригинале данный вызов работает нормально(третий аргумент - адрес памяти ? - только другой). В Google как-то ничего особого не наловил. Можете хотя бы намекнуть в чём дело? Спасибо!

dbg_novice
() автор топика
Ответ на: Сознаю свою вину от dbg_novice

Нужно смотреть что значит 0x4b6e, порыться в исходниках ядра. Если будет время, посмотрю вечером.

Но, вобще ioctl'ы устройство-зависимы, поэтому по хорошему нужно посмотреть по результатам strace на какой файл указывает дискриптор 3. То есть где перед вызовом этого ioctl происходит вызов open() возвращающий 3. Может, конечно, дискриптор 3 образуется в результате dub, но обычно для ioctl явно делают open.

mky ★★★★★
()
Ответ на: Файл - "/dev/console" от dbg_novice

Опять неточность...

Если «/dev/console» - то возможно это периферия, «MOXA» - 8-ми портовая, файлы трассировки снимал с отключенной периферией,«MOXA» просто «висела» в воздухе(отключить рабочее оборудование не получилось - времени не хватило, довольно муторный процесс). Опять может «ложный» след. Надо попробовать снять более полный лог. Хотя ерунда лезет то по Ethernet - программа то теряет связь с себе подобной (2 сервера - основной/резервный), потом опять находит - и опять по кругу. Выдаёт - «msgrcv(xxx) = -1 EINTR (Interrupted system call)» и msgsnd(xxx) = -1 EINVAL (Invalid argument). Собственный лог программы пишет, мол «ошибка ms_send и errno=22». Хоть отказывайся от этого резервирования. Ещё раз СПАСИБО!

dbg_novice
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.