如何在 raspberry pi 3 (cloud-init) 上的 ubuntu 16.04 中设置静态 ip?

如何在 raspberry pi 3 (cloud-init) 上的 ubuntu 16.04 中设置静态 ip?

我在 Raspberry pi 3 上安装了 Ubuntu 16.04,但当我编辑/etc/network/interfaces设置静态 IP 时,它在启动时会被替换为默认设置。看起来cloud-init是在管理网络设置。你是怎么管理的cloud-init
谷歌没有提供任何帮助。
谢谢。

答案1

我尝试简单地从 Pi Flavour Maker 的最新 16.04 服务器映像中删除 cloud-init,结果导致我的系统无法启动。这个针对不同 Ubuntu(可能是官方桌面 18.04)的提示警告说,可能还有其他进程依赖于 cloud-init,而这些依赖关系不会通过删除它自动清除: 关于 18.04 的警告

您刚刚为自己部署了 Ubuntu Server 18.04 Bionic Beaver 的全新副本。它应该是最新最好的版本,您只需要一台虚拟机来进行一些 Web 开发,或者您可能只想启用 IP 转发并将这台机器用作路由器。这很好,但最新的 Ubuntu 假设您是当前将所有内容放在云中的趋势的一部分,因此附带了名为 cloud-init 的东西。

通常不会造成任何损害,但如果您不在云端,这会浪费宝贵的几秒钟时间去做一些您不需要的事情。按照(修改后的)说明操作,可以轻松删除此包 这里

dpkg-reconfigure cloud-init

然后取消选择除没有任何

sudo apt-get purge cloud-init
sudo mv /etc/cloud/ ~/; sudo mv /var/lib/cloud/ ~/cloud-lib

我更喜欢移动而不是删除,以防出现问题而您希望恢复文件。

当您按照上述步骤删除 cloud-init 时,您的机器将停止启动,并且显然有一个服务正在等待网络启动。这通常只是一种不便,但启动会无限期地挂起,等待所述网络。开箱即用的配置选择很奇怪,但无论如何,您可以通过以下方式修复此问题:

  • 列出依赖网络在线的服务。

    sudo systemctl show -p WantedBy network-online.target
    

    这会将罪魁祸首列为一些您可能不需要的 iscsi 服务。

  • 禁用服务并删除 open-iscsi 包

    systemctl disable <service name>
    sudo apt remove open-iscsi
    

这样就可以启动系统,而不需要某些服务无休止地等待网络连接。

相关内容