Cloud-init:如何从源代码安装?

Cloud-init:如何从源代码安装?

我有一个Ubuntu 1604虚拟机Azure,它默认已经cloud-init安装好了。

为了调试cloud-init问题,我删除了默认的cloud-initapt remove cloud-init)并从中克隆了源代码https://git.launchpad.net/cloud-init/,并想要构建我的版本cloud-init进行调试。

请你帮助我好吗:

  1. 如何从源代码树编译 cloud-init?
  2. 如何从本地源安装 cloud-init?

谢谢!

答案1

我建议使用包含必要补丁、错误修复等的 Ubuntu 特定源。

下载源代码:

apt source --download-only cloud-init

要下载、提取、应用 Ubuntu/Debian 补丁来修复错误和安全问题:

apt source --download cloud-init

要编译,首先安装构建过程所需的包:

apt build-dep cloud-init

然后使用:

apt source --compile cloud-init

如果您想要更改源代码,请先下载并解压,然后安装构建的依赖项,并在完成更改后构建它:

apt source --download cloud-init
apt build-dep cloud-init
# Add your changes
apt source --compile cloud-init

编译过程完成后,您将得到一个.deb文件,使用以下命令安装它dpkg

sudo dpkg -i package-name.deb

答案2

我有更完整的答案https://stackoverflow.com/a/48845732/117471

基本答案是:

sudo pip3 install -r requirements.txt
sudo python3 setup.py build
sudo python3 setup.py install --init-system systemd
sudo cloud-init init --local

信用:https://www.ibm.com/support/knowledgecenter/en/SSB27U_6.4.0/com.ibm.zvm.v640.hcpo5/instsubuntu.htm

相关内容