Обмен 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
поделиться со всеми пользователями.