OpenVZ容器的启动脚本/文件在哪里?

我开始我的容器,它有一些错误。

[xxx@centosbuilder1 etc]$ sudo vzctl start 1011 Starting container... Container is mounted Adding IP address(es): 10.0.64.23 cp: cannot stat '/etc/conf.d/netcfg': No such file or directory /bin/bash: line 593: /etc/conf.d/netcfg: No such file or directory /bin/bash: line 594: /etc/conf.d/netcfg: No such file or directory A unit file for profile 'venet0' already exists Setting CPU units: 1000 

如果我创build目录,并触摸netcfg(在客人)错误消失。

我宁愿修理实际的问题。 它运行什么文件? 我希望find593行并进行调查。

根据文档, vzctl start会触发几个动作脚本来运行。 但是, 实际的代码似乎更复杂。 当我读到它时:

  1. 根据创build它的模板的名称确定在容器中运行的发行版。
  2. 装载容器的文件系统并触发预装和装载操作脚本。
  3. 创build虚拟环境并设置其资源(networking和资源限制)。 为此,它运行一些特定于在您的容器中运行的发行版的脚本 – 请参阅/etc/vz/dists/*.conf
  4. 运行prestart并启动脚本。
  5. 在容器中运行init ( /sbin/init/etc/init/bin/init )。

我相信你的错误发生在第3步。有关哪些脚本实际运行的更多信息,请尝试vzctl --verbose --verbose start 1011 。 如果仍然不够,可以试试strace -f -e file vzctl start 1011