我想在我的 Ubuntu 桌面中运行一个运行 Debian 服务器的虚拟机。
这样做的目的是生成 Debian 软件包。我有一些最初在我的 Ubuntu 机器上开发的 C++ 应用程序,我需要在 Debian 服务器上(重新)编译它们,以便:
- 构建 Deb 包以部署在 Debian 服务器上
- 确保应用程序一定能在 Debian 服务器上运行
我的想法是,我可以在 Ubuntu(我更喜欢它)上完成 90% 的开发工作,并部署一个可以在 Debian 上运行的二进制包。
顺便说一句,我在 Karmic Kola(Ubuntu 9.10)上进行开发。
[编辑]
根据目前得到的建议,我已在机器上的 /srv/chroot/debian_lenny 上安装了 debootstrap 和 Debian“Lenny”。我不确定这是服务器版本,但无论如何我认为这对我的目的来说并不重要(尽管知道如何具体安装服务器版本会很有用)。
不过,目前我就像一条离开水的鱼,因为没有 GUI,而且这只是我在 chroot jail 中的一个控制台。我查看了主文件夹(我作弊了,使用 Ubuntu 中的 KNavigator),那里没有文件夹 - 这可能意味着 Debian“系统”中尚未设置用户。
我想知道如何执行以下操作:
- 下载并安装(重新)编译我的 C++ 应用程序所需的开发工具
- 将我的项目从 Ubuntu“系统”复制到 Debian“系统”
- 构建二进制文件后,我想创建一个包含所有二进制文件的 Debian 二进制包,以便我可以在 Debian 服务器(我的远程服务器)上安装该包
答案1
使用 virtualbox 完成此任务
答案2
许多 Debian 开发人员(可能还有 Ubuntu 开发人员)使用 chroots 作为一种更简单的方法来获取用于开发的单独文件系统。您可以使用 debrootstrap 创建 Debian 或 Ubuntu 文件系统,然后使用 schroot 来帮助管理和进入 chroot。
https://help.ubuntu.com/community/DebootstrapChroot
如果您将文件系统保存在 LVM 逻辑卷中,则可以将原始安装保存为只读卷,然后创建可写快照以针对特定项目自定义安装。您还可以查看新 btrfs 文件系统的快照功能。
答案3
他的链接对 debootstrap 和 chroot 进行了很好的介绍。