0

我正在使用 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它是只读的,这可能会阻止进行更改。

其他人注意到这些事情了吗?关于如何解决它们的任何提示?我的搜索一无所获。

谢谢。

4

1 回答 1

0

这在使用 Vagrant(又名“precise32”)安装 Ubuntu 12.04.3 时对我有用:因为默认的 vagrant 密码只是“vagrant”:

echo "vagrant" | chsh -s /bin/zsh
于 2013-10-25T11:48:55.400 回答