Назад | Перейти на главную страницу

Совместное использование программ Ruby между пользователями Linux

В нашей системе Linux (Mint) есть 2 пользователя с правами администратора - mint и admin. Что нам нужно сделать, чтобы администратор и монетный двор могли делиться драгоценными камнями?

У Mint есть chef, berkshelf и Knife-ec2, установленные через упаковщик в /home/mint/rbenv/ каталог. При переходе в админку эти программы не обнаруживаются:

Программа «нож» на данный момент не установлена. Чтобы запустить «Knife», попросите администратора установить пакет «Chef».

Как оба пользователя могут совместно использовать установленные пакеты / программы?

Как заявил @AWippler в своем комментарии, установите rbenv в месте, отличном от домашнего каталога пользователя. Установить в каталог / var / opt / rbenv.

sudo git clone https://github.com/sstephenson/rbenv.git /var/opt/rbenv

Важно настроить все права пользователей. Для этого существует множество способов. Я добавляю пользователей в группу под названием DevOps.

sudo groupadd devops
sudo usermod -a -G devops username
sudo chgrp -R devops /var/opt/rbenv/
sudo chmod 0775 /var/opt/rbenv
sudo chmod g+s -R /var/opt/rbenv/

Затем необходимо предоставить общий доступ к $ RBENV_PATH. Создайте сценарий rbenv.sh внутри /etc/profile.d.

echo 'export RBENV_ROOT=/var/opt/rbenv' | sudo tee -a '/etc/profile.d/rbenv.sh'
echo 'export PATH=$RBENV_ROOT/bin:$PATH' | sudo tee -a '/etc/profile.d/rbenv.sh'
echo 'eval "$(rbenv init -)"' | sudo tee -a '/etc/profile.d/rbenv.sh'
sudo chgrp devops /etc/profile.d/rbenv.sh
sudo chmod 0660 /etc/profile.d/rbenv.sh
source /etc/profile.d/rbenv.sh

Наконец, установите rbenv и ту версию, которую вы предпочитаете.

cd /tmp
sudo git clone https://github.com/sstephenson/ruby-build.git
sudo ./ruby-build/install.sh
rbenv install ruby-version
rbenv shell ruby-version
rbenv global ruby-version
rbenv rehash

Примечание: при установке драгоценных камней через бандлер обязательно используйте bundle install --system поделиться со всеми пользователями.