我有一个Ubuntu 1604
虚拟机Azure
,它默认已经cloud-init
安装好了。
为了调试cloud-init
问题,我删除了默认的cloud-init
(apt remove cloud-init
)并从中克隆了源代码https://git.launchpad.net/cloud-init/
,并想要构建我的版本cloud-init
进行调试。
请你帮助我好吗:
- 如何从源代码树编译 cloud-init?
- 如何从本地源安装 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