Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как скрестить ужа с ежом
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
SM
Столкнулся с такой вот хренью:

Есть компьютеры А и Б. А это x86/linux, Б - sun ultra/solaris
Есть программы а и б. Первая на первом компе, вторая на втором. Программы а под соляру нет, как и б под линукс, и достать/собрать невозможно.
Есть скрипт неодуплимого размера, который в себе юзает программы а и б.

Надо: запустить этот скрипт на машине А, да так, чтобы он запускал программу б на машине Б, и при этом сам не подозревал о том, что его надули, и программа пускается не на локальном компе. При этом программам а и б нужны одни и те же файлы, они обмениваются меж собой результатами через них, и в сам скрипт лезть крайне не желательно.

Что я пока умею - всего лишь подмонтировать в тачке А свою хоум-директорию (и любую другую) с тачки Б. В линуксе сам могу разобраться с конфигурированием практически всего. А вот в соляре путаюсь жутко - только nfs поднимался дня 4 с трахом (в основном на тему несовместимости клиента и сервера в разных системах). Т.е. до того я просто пускал локально программу б на сане, и копировал ее результаты куда мне надо. А вот теперь этого стало мало.

Очень надеюсь на помощь. Заранее Спасибо!

ЗЫ - программа а это манагер БД от синопсиса, программа б - это мемори компилер от них же, а скрипт делает особо мудрую операцию с применением всяких недокументированных опций и параметров, в результате чего то, что генерит мемори компилер сразу попадает в БД.
amw
Думаю, что "получить мягкое и пушистое" не получится, а по поводу "нечто" есть такая идея.
Как я понял, монтирование по nfs обеспечивает взаимодействие программ а и б посредством файлов?
Если программы _НЕ_ общаются иным образом, а только через эти файлы, то можно попробовать создать wrapper скрипт или программу, с именем б, положить этот wrapper в ожидаемый скриптом запуска каталог.
Этот wrapper должен запускать на машине Б программу б с передачей ей всех ключей командной строки и возвращать код завершения программы б в скрипт запуска. Возможно, и скорее всего, этот wrapper должен еще обеспечивать передачу stdin/stdout/stderr между программой б и скриптом запуска.
Запуск программ удаленно на другой машине - это из разряда telnet (для простых случаев) или RPC для сложных случаев.
Лично я делал такую комбинацию с использованием telnet и перенаправлением stdin/stdout/stderr. Соответсвенно - это был простой случай. Взаимодействие моих программ было очень простым.
На счет RPC я пас. Не владею.
Olej
Цитата(amw @ Feb 8 2007, 19:48) *
Лично я делал такую комбинацию с использованием telnet и перенаправлением stdin/stdout/stderr.

+ rexec и другие r* ...
+ подмонтирование по NFS некоторых файлов из А->B + некоторых из B->A (одновременно) - может создать видимость вашим процессам, что они работают "дома"...

P.S. кстати, насколько я помню, mount в Linux и SunSolaris - работают по-разному: замещением и дополнением ... но это может и измениться от версии.
SM
Цитата(Olej @ Feb 8 2007, 19:03) *
+ rexec и другие r*


А вот этот rexec (или может rsh - в чем две большие разницы) - в соляре оно вообще поддерживается по дефолту? А то я как-то эту соляру ставил отвечая на все вопросы "по дефолту"... Вроде как rsh примерно то что надо... Попробую написать "скрипт-враппер", как amw посоветовал, и из него эти r*, если, конечно, соляра эти сервисы имеет...

К счастью общение только через файлы.

ЗЫ а эти r* они где исполнять будут? В home того юзера, кем в этих r* представился?

ЗЗЫ этот программа, б которая, она тоже снаружи скрипт, csh'ный. Это надо делать "rsh csh имя", или rsh сам будет юзать шелл нужный? Я что-то запутался...
SM
Всем спасибо, вопрос закрыт. Был некий трах с файрволами, после чего все пошло через rsh как по маслу.
Harbour
rsh не есть good в плане security - ssh standart de facto, хотя для локалки, думаю, до спины
Olej
Цитата(Harbour @ Feb 9 2007, 05:11) *
rsh не есть good в плане security - ssh standart de facto, хотя для локалки, думаю, до спины

ага ... и, пожалуй даже - ниже tongue.gif
SM
Цитата(Harbour @ Feb 9 2007, 04:11) *
rsh не есть good в плане security - ssh standart de facto, хотя для локалки, думаю, до спины


Не проблема - я открыл порты в файрволе только для определеного хоста из локалки, так что даже другой хост не зайдет. Это раз. Ну и hosts.equiv тоже самое, но с другого боку - это два. Ну а в sun пусть хоть черт с рогами лезет - он ради одной этой программы куплен, и на нем более ничего нет.
Harbour
В том-то и дело что зайдет wink.gif
SM
Цитата(Harbour @ Feb 10 2007, 09:11) *
В том-то и дело что зайдет wink.gif


Это каким образом? iptables не надежно работает?
Harbour
Есть кипа аттак типа MIM (man in the middle) которые спокойно обходят firewall'ы. Но rsh я бы не юзал не по этой причине, а по тому факту что весь shell траффик открыт для просмотра всем желающим, что в большинстве случаев не есть good (исходники там, private инфа, пароли и т.д.).
SM
Цитата(Harbour @ Feb 11 2007, 10:58) *
Но rsh я бы не юзал не по этой причине, а по тому факту что весь shell траффик открыт для просмотра всем желающим, что в большинстве случаев не есть good (исходники там, private инфа, пароли и т.д.).


Дык там трафика - одна команда и вывод на консоль от нее. Пароль вроде как не передается, по крайней мере по доке если хост и юзер вписаны в hosts.equiv то оно создает сессию без логина с паролем. Меня это вроде устраивает. А сам-то я хожу на свои компы ssh-ем, докучи как-то очень не хочется на этом гребаном сане что-то лишнее делать - заработало, и ладно. Я же на нем ничего и близко делать не собираюсь, кроме того, что без него нельзя сделать физически.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.