Hay algunos comandos que deben ejecutarse como un usuario normal después del aprovisionamiento inicial. Pensé que podría hacer esto usando un script de shell separado y el comando su --login -c <command> vagrant
, pero no obtiene la ruta del usuario u otras configuraciones del entorno de .bashrc.
p.ej:
#!/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
¿Hay alguna forma de hacer esto? ¿Quizás deba hacerse con otra herramienta de aprovisionamiento como Puppet o Chef? He pensado en crear otro script de shell que obtenga el .bashrc
código, copiarlo en la caja usando un: aprovisionador de archivos y ejecutar los comandos de esa manera, pero parece una especie de truco.
¿Cuál es la forma correcta de hacer esto?
su -p
preservará las variables de entorno, ¿esto ayuda?