我正在使用 Veewee (ubuntu 12.04) 构建我的第一个 Vagrant 盒子,并且在大约 95% 的过程中,我遇到了一些问题。我有一个自定义的安装后脚本,在 之后调用postinstall.sh
,它构建了我喜欢的用户环境。它...
- 安装 curl、zsh 和 git
- 安装 oh-my-zsh
- 编写自定义主题文件
- 编写自定义 .zshrc 文件
所有这一切似乎都很好,但下一个合乎逻辑的步骤是更改我的外壳,以便在我vagrant ssh
第一次时一切准备就绪,但我被卡住了。该脚本的最后一行是chsh -s /usr/bin/zsh
,但不需要。难道我做错了什么?还有另一种从脚本更改外壳的方法吗?我想我可以/etc/passwd
用 sed 更新,但是……呃。如果它可以以比这更清洁的方式完成,那就太好了。
此外,在尝试解决此问题时,我发现了另一个可能的问题。我没有无密码的 sudo 访问权限。在打包的postinstall.sh
脚本中,我看到它正在运行以实现这一点,但至少在 12.04 中,/etc/sudoers
它是只读的,这可能会阻止进行更改。
其他人注意到这些事情了吗?关于如何解决它们的任何提示?我的搜索一无所获。
谢谢。