Ruby.

Модератор: Модераторы разделов

Аватара пользователя
gr1nd
Сообщения: 343
Статус: Great Britain&Japan fan
ОС: Arch

Ruby.

Сообщение gr1nd »

Как запустить Ruby`новые скрипты из папки /usr/local/--- , когда Ruby лежит в /usr/local и соотв. в /usr/local/bin (а не /usr/bin)
Пробывал "открыть через др.программу", выбирал бин Руби и ... ничего.
Просто нажимал на скрипты...ничего.
Запускал вим,читал и почемуто запустить через него не удалось...
________
С Руби столкнулся впервые, поэтому вопросы ламерские. :happy:
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: Ruby.

Сообщение aLexx programmer »

gr1nd писал(а):
09.06.2009 00:02
Пробывал "открыть через др.программу", выбирал бин Руби и ... ничего.
Просто нажимал на скрипты...ничего.

Что за скрипты-то? Если они консольные, на экране после клика на них ничего и не будет, молча отработают в фоне. Нужно из терминала запускать...
Спасибо сказали:
svary
Сообщения: 49
ОС: Linux FC-9

Re: Ruby.

Сообщение svary »

gr1nd писал(а):
09.06.2009 00:02
Как запустить Ruby`новые скрипты
Не очень понял смысл вопроса, подозреваю, что просто вопрос не совсем корректно сформулирован.
Для запуска ЛЮБОГО скрипта (в том числе и Ruby) необходимо выполнение двух условий :
1) Файл скрипта должен иметь биты "Исполнимый". Т.е. если скрипт называется abc, то по команде ls -l должно выдаться нечто вроде

Код: Выделить всё

...
-rwxrwxr-x ... abc
...

x означает eXecutable - исполняемый.


2) В первой строке скрипта должен быть указан путь к интерпретатору данного скриптового языка.
Конкретно - к интерпретатору Ruby.

Код: Выделить всё

#! /usr/local/bin/ruby

Первые три символа - именно #! и пробел, а затем - ПОЛНЫЙ путь к интерпретатору.
Где находится интерпретатор, можно уточнить командой :

Код: Выделить всё

$ whereis ruby
ruby: /usr/bin/ruby /usr/lib/ruby /usr/share/man/man1/ruby.1.gz


Если оба условия выполняются, то скрипт можно запустить из командной строки :



Или из mc - нажатием клавиши Enter, или в любом файловом браузере - двойным кликом мыши...
Спасибо сказали:
Аватара пользователя
gr1nd
Сообщения: 343
Статус: Great Britain&Japan fan
ОС: Arch

Re: Ruby.

Сообщение gr1nd »

А, да, если это может помочь - пытаюсь запустить Metasploit Framework 3.2
Вот текст, весь имеющийся по установке, из users_guide(может я что-то не так понял...)
Installation on Unix
Installing the Framework is as easy as extracting the tarball, changing into
the created directory, and executing your preferred user interface. We strongly
recommend that you use a version of the Ruby interpreter that was built with
support for the GNU Readline library. If you are using the Framework on Mac
OS X prior to 10.5.1, you will need to install GNU Readline and then recompile
the Ruby interpreter. Using a version of Ruby with Readline support enables tab
completion of the console interface. The msfconsole user interface is preferred
for everyday use, but the msfweb interface can be useful for live demonstrations.
To perform a system-wide installation, we recommend that you copy the en-
tire Framework directory into a globally accessible location (/usr/local/msf)
and then create symbolic links from the msf* applications to a directory in
the system path (/usr/local/bin). User-specific modules can be placed into
HOME/.msf3/modules directory. The structure of this directory should mirror
that of the global modules directory found in the framework distribution.
The latest stable release of the Ruby interpreter (1.8.7-p72) contains a bug
which breaks many of the Metasploit Framework modules. The only way to work
around this bug is by downgrading to an older version of 1.8.6 or by upgrading to
the latest stable snapshot of 1.8.7. The latest stable snapshot can be downloaded
from ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz. For more
information about this issue, please see the Ubuntu ticket: https://bugs.
launchpad.net/bugs/282302.

И заодно вопрос немного оффтопом - как сделать "The structure of this directory should mirror
that of the global modules directory found in the framework distribution" ?

Вот попытка запуска из консоли (опять что-то странное творится - запустился скрипт, но... )

Код: Выделить всё

$ /usr/local/msf/framework-3.2/msfconsole
/usr/local/msf/framework-3.2/lib/msf/core/exploit.rb:229:in `require': /usr/local/msf/framework-3.2/lib/msf/core/exploit/smb.rb:401: invalid multibyte char (US-ASCII) (SyntaxError)
/usr/local/msf/framework-3.2/lib/msf/core/exploit/smb.rb:401: syntax error, unexpected tIDENTIFIER, expecting ')'
                    Rex::Text.to_unicode('T�voli nyomtat�k')
                                                ^
/usr/local/msf/framework-3.2/lib/msf/core/exploit/smb.rb:401: invalid multibyte char (US-ASCII)
    from /usr/local/msf/framework-3.2/lib/msf/core/exploit.rb:229:in `<class:Exploit>'
    from /usr/local/msf/framework-3.2/lib/msf/core/exploit.rb:28:in `<module:Msf>'
    from /usr/local/msf/framework-3.2/lib/msf/core/exploit.rb:3:in `<top (required)>'
    from /usr/local/msf/framework-3.2/lib/msf/core.rb:48:in `require'
    from /usr/local/msf/framework-3.2/lib/msf/core.rb:48:in `<top (required)>'
    from /usr/local/msf/framework-3.2/lib/msf/ui/console/driver.rb:1:in `require'
    from /usr/local/msf/framework-3.2/lib/msf/ui/console/driver.rb:1:in `<top (required)>'
    from /usr/local/msf/framework-3.2/lib/msf/ui/console.rb:10:in `require'
    from /usr/local/msf/framework-3.2/lib/msf/ui/console.rb:10:in `<top (required)>'
    from /usr/local/msf/framework-3.2/lib/msf/ui.rb:10:in `require'
    from /usr/local/msf/framework-3.2/lib/msf/ui.rb:10:in `<top (required)>'
    from /usr/local/msf/framework-3.2/msfconsole:12:in `require'
    from /usr/local/msf/framework-3.2/msfconsole:12:in `<main>'

Что ему не так?
P.S.нет не хакер х)
Спасибо сказали: