Niektóre polecenia muszą zostać uruchomione jako zwykły użytkownik po początkowym udostępnieniu. Pomyślałem, że mógłbym to zrobić używając oddzielnego skryptu powłoki i polecenia su --login -c <command> vagrant
, ale nie uzyskuje to ścieżki użytkownika ani innych ustawień środowiska z .bashrc.
na przykład:
#!/usr/bin/env bash
su --login -c "rbenv install 2.0.0-p353" vagrant
su --login -c "rbenv global 2.0.0-p353" vagrant
su --login -c "gem update --system" vagrant
su --login -c "yes | gem update" vagrant
su --login -c "gem install rdoc" vagrant
su --login -c "gem install rails pg" vagrant
Czy jest na to sposób? Może trzeba to zrobić za pomocą innego narzędzia do obsługi administracyjnej, takiego jak Puppet lub Chef? Myślałem o stworzeniu kolejnego skryptu powłoki, który pozyskuje .bashrc
plik, skopiowaniu go do skrzynki za pomocą: file Provisioner i wykonaniu takich poleceń, ale wygląda to na coś w rodzaju włamania.
Jaki jest właściwy sposób, aby to zrobić?
su -p
zachowa zmienne środowiskowe - czy to pomoże?