|
|
  |
Как скрестить ужа с ежом, и получить мягкое и пушистое нечто? |
|
|
|
Feb 8 2007, 12:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Столкнулся с такой вот хренью:
Есть компьютеры А и Б. А это x86/linux, Б - sun ultra/solaris Есть программы а и б. Первая на первом компе, вторая на втором. Программы а под соляру нет, как и б под линукс, и достать/собрать невозможно. Есть скрипт неодуплимого размера, который в себе юзает программы а и б.
Надо: запустить этот скрипт на машине А, да так, чтобы он запускал программу б на машине Б, и при этом сам не подозревал о том, что его надули, и программа пускается не на локальном компе. При этом программам а и б нужны одни и те же файлы, они обмениваются меж собой результатами через них, и в сам скрипт лезть крайне не желательно.
Что я пока умею - всего лишь подмонтировать в тачке А свою хоум-директорию (и любую другую) с тачки Б. В линуксе сам могу разобраться с конфигурированием практически всего. А вот в соляре путаюсь жутко - только nfs поднимался дня 4 с трахом (в основном на тему несовместимости клиента и сервера в разных системах). Т.е. до того я просто пускал локально программу б на сане, и копировал ее результаты куда мне надо. А вот теперь этого стало мало.
Очень надеюсь на помощь. Заранее Спасибо!
ЗЫ - программа а это манагер БД от синопсиса, программа б - это мемори компилер от них же, а скрипт делает особо мудрую операцию с применением всяких недокументированных опций и параметров, в результате чего то, что генерит мемори компилер сразу попадает в БД.
|
|
|
|
|
Feb 8 2007, 18:48
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Думаю, что "получить мягкое и пушистое" не получится, а по поводу "нечто" есть такая идея. Как я понял, монтирование по nfs обеспечивает взаимодействие программ а и б посредством файлов? Если программы _НЕ_ общаются иным образом, а только через эти файлы, то можно попробовать создать wrapper скрипт или программу, с именем б, положить этот wrapper в ожидаемый скриптом запуска каталог. Этот wrapper должен запускать на машине Б программу б с передачей ей всех ключей командной строки и возвращать код завершения программы б в скрипт запуска. Возможно, и скорее всего, этот wrapper должен еще обеспечивать передачу stdin/stdout/stderr между программой б и скриптом запуска. Запуск программ удаленно на другой машине - это из разряда telnet (для простых случаев) или RPC для сложных случаев. Лично я делал такую комбинацию с использованием telnet и перенаправлением stdin/stdout/stderr. Соответсвенно - это был простой случай. Взаимодействие моих программ было очень простым. На счет RPC я пас. Не владею.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Feb 8 2007, 19:03
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(amw @ Feb 8 2007, 19:48)  Лично я делал такую комбинацию с использованием telnet и перенаправлением stdin/stdout/stderr. + rexec и другие r* ... + подмонтирование по NFS некоторых файлов из А->B + некоторых из B->A (одновременно) - может создать видимость вашим процессам, что они работают "дома"... P.S. кстати, насколько я помню, mount в Linux и SunSolaris - работают по-разному: замещением и дополнением ... но это может и измениться от версии.
|
|
|
|
|
Feb 8 2007, 19:22
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Olej @ Feb 8 2007, 19:03)  + rexec и другие r* А вот этот rexec (или может rsh - в чем две большие разницы) - в соляре оно вообще поддерживается по дефолту? А то я как-то эту соляру ставил отвечая на все вопросы "по дефолту"... Вроде как rsh примерно то что надо... Попробую написать "скрипт-враппер", как amw посоветовал, и из него эти r*, если, конечно, соляра эти сервисы имеет... К счастью общение только через файлы. ЗЫ а эти r* они где исполнять будут? В home того юзера, кем в этих r* представился? ЗЗЫ этот программа, б которая, она тоже снаружи скрипт, csh'ный. Это надо делать "rsh csh имя", или rsh сам будет юзать шелл нужный? Я что-то запутался...
|
|
|
|
|
Feb 11 2007, 13:10
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Harbour @ Feb 11 2007, 10:58)  Но rsh я бы не юзал не по этой причине, а по тому факту что весь shell траффик открыт для просмотра всем желающим, что в большинстве случаев не есть good (исходники там, private инфа, пароли и т.д.). Дык там трафика - одна команда и вывод на консоль от нее. Пароль вроде как не передается, по крайней мере по доке если хост и юзер вписаны в hosts.equiv то оно создает сессию без логина с паролем. Меня это вроде устраивает. А сам-то я хожу на свои компы ssh-ем, докучи как-то очень не хочется на этом гребаном сане что-то лишнее делать - заработало, и ладно. Я же на нем ничего и близко делать не собираюсь, кроме того, что без него нельзя сделать физически.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|