Предоставление доступа к рубину, для всех пользователей

С command & Ваш процесс будет уничтожен сигналом SIGHUP, когда родитель умрет.

У системных администраторов есть доступ к некоторым обходным решениям, все же.

В системе удара можно использовать:

(trap '' HUP; command) &

Это открывает подоболочку, прерывания HUP сигнал с пустым обработчиком и амперсандом/ветвлениями это.

Вывод мог бы все еще быть перенаправлен к несправедливости tty. Или заблудитесь.
Можно зафиксировать это с &>command.out, 1>output.out, или 2>errors.out

У Вас мог бы также быть доступ, в большинстве систем, к nohup команда.
nohup упрощает этот процесс значительно. Это довольно стандартно, но я нашел, что много busybox встроили дистрибутивы ARM, пропускающие его. Вы просто пишете:

nohup command &

.. и Вы сделаны. Вывод перенаправляется, IIRC, к nohup.out, но это имя файла может быть изменено с опцией.

7
27.11.2013, 01:49
2 ответа

Не отклоняйте значение RVM

Можно использовать версию репозитория Ruby, но я рекомендовал бы идти иначе и использовать RVM для управления Ruby. Я понимаю, что могло бы казаться, что это замедляет Вас, но версия Ruby, это развертывается через репозитории, хотя применимый, будет часто приводить к проблемам в будущем. Обычно лучше создать выделенные версии интерпретаторов и любых необходимых библиотек (Драгоценные камни), которые могут быть выделены конкретному приложению и/или варианту использования.

RVM обеспечивает способность установить для отдельного пользователя (который является тем, что Вы сделали), а также сделайте многопользовательскую установку.

$ curl -L https://get.rvm.io | sudo bash -s stable

Выполнение установки, этот путь автоматически инициирует RVM, чтобы сделать многопользовательскую установку, которая установит программное обеспечение под /usr/local/rvm. Отсюда к программному обеспечению может получить доступ любой, кого это находится в группе Unix rvm.

$ sudo usermod -a -G rvm <user>

Где <user> был бы пользователь webide.

Установка Ruby

Теперь добавьте следующее к каждому пользователю $HOME/.bashrc. Я обычно помещал это в конце файла:

[[ -s /usr/local/rvm/scripts/rvm ]] && source /usr/local/rvm/scripts/rvm

С этим Вы захотите выйти из системы и войти в.

NOTE1: не достаточно запустить другую вкладку в терминале гнома, это должно быть, недавно вошел в систему сессия. Это - то, так, чтобы группа, к которой Вы просто добавили этого пользователя, добрались, взял.

NOTE2: Вы не должны будете, вероятно, добавлять вышеупомянутое к Вашему $HOME/.bashrc если Вы находите, что Вам уже установили следующий файл здесь, это делает вышеупомянутое плюс больше для всех пользователей, которые находятся в группе rvm в системе.

$ ls -l /etc/profile.d/rvm.sh 
-rwxr-xr-x 1 root root 1698 Nov 27 21:14 /etc/profile.d/rvm.sh

После того, как вошел в систему, необходимо будет установить Ruby. Можно сделать это использование следующих шагов как пользователь webide.

Какие версии, доступные установке?

$ rvm list known | less
...
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p484]
[ruby-]2.0.0-p195
[ruby-]2.0.0[-p353]
[ruby-]2.1.0-preview2
[ruby-]2.1.0-head
ruby-head
...

Примечание: В 1-й раз, когда Вы устанавливаете Ruby, необходимо сделать это с пользователем, который имеет sudo права так, чтобы зависимости могли быть установлены. Например, на Ubuntu, Вы будете видеть этот тип действия. После того, как они установлены другие пользователи, такой как webide, должен смочь установить дополнительные Рубины также, в каталог /usr/local/rvm.

Installing requirements for ubuntu.
Updating system..............................................................................................................
Installing required packages: libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev...............................................................................................
Requirements installation successful.

Просмотр установленных версий

$ rvm list

rvm rubies

 * ruby-1.9.3-p484 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

Установка 2-го Ruby

$ whoami
webide

$ rvm install 2.0.0-p195
...
ruby-2.0.0-p195 - #validate binary
ruby-2.0.0-p195 - #setup
Saving wrappers to '/usr/local/rvm/wrappers/ruby-2.0.0-p195'........
ruby-2.0.0-p195 - #importing default gemsets, this may take time..................

Теперь, когда мы перечисляем то, что установлено:

$ rvm list

rvm rubies

 * ruby-1.9.3-p484 [ x86_64 ]
   ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

От вышеупомянутого мы видим того пользователя webide смог установить Ruby.

Установка значения по умолчанию для всех rvm пользователей

$ rvm use ruby-2.0.0-p195 --default
Using /usr/local/rvm/gems/ruby-2.0.0-p195

$ rvm list

rvm rubies

   ruby-1.9.3-p484 [ x86_64 ]
=* ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

При входе в систему как другой пользователь это находится в группе rvm мы видим эффекты создания ruby-2.0.0-p195 значение по умолчанию.

$ rvm list

rvm rubies

=> ruby-1.9.3-p484 [ x86_64 ]
 * ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

Таким образом, этот пользователь использует, ruby-1.9.3-p484, и он теперь настроен для использования ruby-2.0.0-p195 как значение по умолчанию также.

Медленные загрузки/установки

При испытании медленной загрузки, Вы могли бы хотеть использовать офлайновый метод установки вместо этого. Это позволит Вам делать переустанавливание позже. Или возможно загрузка через эту систему проблематична, и Вы могли загрузить установщик RVM в одной системе и затем использовать scp скопировать установщик в эту систему впоследствии.

$ curl -L https://github.com/wayneeseguin/rvm/tarball/stable -o rvm-stable.tar.gz

Посмотрите здесь, RVM в режиме офлайн для полного изложения.

Ссылки

17
27.01.2020, 20:15
  • 1
    Спасибо. Какие проблемы могли с помощью repo причины версии? –  barry 27.11.2013, 21:55
  • 2
    Обычно версии интерпретаторов в repo предназначены для использования другим программным обеспечением. Верный можно использовать их, и большую часть времени это - надуманный вопрос. Но если Вы делаете какой-либо тип разработки приложений, Вы хотите обеспечить контроль над своим приложением, а также интерпретатором и Драгоценными камнями, которые Вы используете. RVM подходит для этого, пакеты в repos не. –  slm♦ 27.11.2013, 22:48
  • 3
    Хм... Я переустановил RVM использование команды, Вы описали и добавили webide пользователя к rvm группе, но все еще только у пользователя пи есть доступ к рубину. –  barry 28.11.2013, 03:48
  • 4
    списка, который я не получаю вне раздела "What versions available to install?" как webide, не 'видят' rvm. Я проверил/etc/passwd файл в надежду на нахождение некоторых различий между пи и webide, поскольку я не думаю, что webide является обычным пользователем - это было создано как часть установки язя. Вот эти две записи от/ect/passwd: pi:x:1000:1000::/home/pi:/bin/bash webide:x:1001:1002::/home/webide:/bin/sh –  barry 28.11.2013, 14:04
  • 5
    Я думаю, что разузнал его - существует наклонная черта, отсутствующая в строке, которая входит в .bashrc файл. Странно, пользователь пи работает даже с неправильным путем в .bashrc файле. Я только определил ошибку, поскольку webide терминал только доступен браузером, и это не позволит мне вставить так, я должен был ввести его! Миллион благодарностей для Вашего –  barry 28.11.2013, 18:28

так как Вы работаете, debian основывал распределение, самый простой способ установить рубин будет состоять в том, чтобы выполнить следующее как корень (например, использование sudo или безотносительно метода Вы предпочитаете):

 aptitude install ruby
1
27.01.2020, 20:15
  • 1
    Спасибо. Если я должен был теперь использовать Ваш предложенный метод, можно ли предложить способ очистить предыдущую установку? Мой Linux немного ржав! Как упомянуто, в корневом каталоге пользователя пи существует .rvm каталог, но я подозреваю, что существует некоторая другая конфигурация - видят сообщение об ошибке в моем –  barry 26.11.2013, 23:43
  • 2
    сообщения, я думаю, что нашел, что это - rvm интегрирует –  barry 26.11.2013, 23:45

Теги

Похожие вопросы