如何在 ubuntu 12 上通过内核命令行更改主机名

如何在 ubuntu 12 上通过内核命令行更改主机名

我在 xen 上启动了一个客户虚拟机,我想在配置文件中指定 guest-domU 的主机名。像这样

...
extra='ip=::::myguest-vm-hostname::dhcp'
...

它是用于设置网络启动网络环境的内核命令行。


它在 gentoo 上运行良好。文件中的一些代码/etc/init.d/hostname

start(){
  hostname=${hostname-${HOSTNAME-localhost}}
  hostname $hostname
}

这会将网络启动主机名分配到真实主机名中。


但是!在 ubuntu 12 上,脚本/etc/init/hostname.conf(upstart)只能获取hostname中的值/etc/hostname,否则将为无...

我试过在 ubuntu 上编辑 /etc/init/hostname.conf

exec hostname=${hostname-${HOSTNAME-localhost}}
exec hostname "$hostname"

但它不起作用......

任何帮助都将不胜感激!谢谢!

答案1

我来这里是为了回答我的问题...我不应该删除 /etc/init/hostname.conf(ubuntu) 中的所有内容,并将 /etc/init.d/hostname(gentoo) 的相同代码写入其中。原始的 /etc/init/hostname.conf 是

task
exec hostname -b -F /etc/hostname 

可行的 hostname.conf 是

task
export hostname=${hostname-${HOSTNAME-localhost}}
exec hostname $hostname

在 Ubuntu 上,我不应该直接分配像这样的变量hostname=xxx,而应该将其添加export到其前面。

看起来真的很蠢...哈哈。

相关内容