User-Management
在 Linux 使用者之間共享 Ruby 程序
我們的 Linux (Mint) 系統有 2 個管理員使用者 - mint 和 admin。admin 和 mint 需要做什麼才能共享 gem?
Mint 通過 bundler 在
/home/mint/rbenv/
目錄中安裝了 chef、berkshelf 和 knife-ec2。切換到 admin 時,找不到這些程序:目前未安裝程序“刀”。要執行“刀”,請讓您的管理員安裝包“廚師”
兩個使用者如何共享已安裝的軟體包/程序?
正如@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。在 /etc/profile.d 中創建一個 rbenv.sh 腳本。
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
注意:當通過 bundler 安裝 gems 時,一定要
bundle install --system
與所有使用者共享。