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

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

Mint имеет шеф-повар, Berkshelf & knife-ec2, установленный через упаковщик в /home/mint/rbenv/ каталог. При переходе на админ эти программы не обнаруживаются:

Программа "нож" в настоящее время не установлена. Для запуска "ножа", пожалуйста, попросите вашего администратора установить пакет "шеф-повар"

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

1 ответ

Решение

Как отметил @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 поделиться со всеми пользователями.

Другие вопросы по тегам