我有一台 Fedora 服务器,它已经过时了……实际上是 Fedora 8。与其经历复杂的更新过程,我宁愿安装一份全新的 Debian。我想备份 webroot 中的大多数内容以及一些用户文件夹,但不需要备份太多内容。我应该提到,我的组织正在赞助商的服务器上免费获得一台 VM。我们与他们确实没有太多交流,所以我宁愿尽可能自己做这件事。
是否可以远程安装操作系统的全新副本?我认为可以,但值得吗?只要我确保在重新启动之前设置 SSH,就应该没问题,对吗?
答案1
如果 /boot 分区上有剩余空间,或者您有一个实际的交换分区,那么这应该非常容易。
使用以下方式构建 debinstaller 映像NetworkConsole 功能已启用。请将安装程序放在 /boot 分区的空闲空间上,或者在交换分区上创建新的文件系统并将其放在那里。调整引导加载程序以启动安装程序。通过 ssh 连接到安装程序会话。执行安装,并确保在安装过程中正确设置网络并安装 ssh 服务器。
您还可以放置系统救援光盘或该启动/交换分区中的其他一些工具,并配置系统以启动它。您可能需要进行一些重新分区。Debian 安装程序没有附带许多用于修改现有分区或文件系统的工具。
如果您有备用分区,另一种方法是使用debbootstrap 安装进入该备用分区。该过程相对简单,但我建议您先在本地 VM 中尝试。
所有这些步骤都是可行的。无论你做什么,我强烈建议你设置一个 Fedora VM,其分区和设置与远程系统类似,不必是完整安装,只需具有类似分区的基本安装就足够了。然后通过网络在 VM 上执行升级。我建议你不要在没有在本地测试几次的情况下第一次在远程机器上尝试这样的操作。
答案2
有一个项目叫debtakeover
旨在实现这一点。尽管我有从来没有成功地做过。
您需要确保当前安装(在本例中为 Fedora 8)的库版本与目标 Debian 内核和二进制文件匹配。否则您将收到重定位错误和段错误。这就是我总是陷入困境的地方。
由于 Fedora 8 是在 2009 年左右推出的,我建议尝试debtakeover
使用 Etch,然后在成功接管后升级到 lenny/squeeze。
但请注意,接管失败将导致您的系统完全无法使用,因此这不是胆小者可以做的。请先在测试虚拟机上执行此操作。
答案3
要安装 Linux 副本(或在另一个分区上),您只需启动到 iso 即可。要做到这一点,无需刻录物理介质,可以使用许多程序,或者只需将磁盘添加到 grub 即可启动,就好像它是自己的 Linux 版本(它基本上就是)。
在每个 Linux iso 文件中,都有一个内核副本和加载到 RAM 中的数据片段,用于引导加载。这些可以作为内核和 initrd 添加到 grup 中,就像任何其他 Linux 操作系统一样,然后直接从那里启动。
http://www.instantfundas.com/2007/08/install-any-linux-distro-directly-from.html
详细介绍了如何执行此操作(有关 Linux 的详细信息,请转至最后一段或两段),但非常简单。1
. 提取 iso
2. 添加一个 grub 条目,将内核指向“vmlinuz”,即 debian 内核,将 initrd 指向 initrd.gz(这可能需要根据 grub 的版本进行提取)并重新启动。2a
. 确保首先在虚拟化中执行此操作,因为如果 grub 不喜欢您所做的操作,则修复起来会很麻烦。3
. 启动到 iso。4.
???
5. 利润。