需要将 Debian 服务器从 i686 移至 x86_64 架构

需要将 Debian 服务器从 i686 移至 x86_64 架构

我有一台debian服务器需要从一个托管提供商迁移到另一个。我不太清楚旧服务器是如何设置的,我只知道它正在运行一个Ruby on Rails安装了大量自定义库的应用程序,我应该做好痛苦的迁移准备。

旧服务器:
-os:debian 5.0.9
-已用磁盘空间:3.2GB
-架构:i686

新服务器:
-os:-debian 5.0.9
可用磁盘空间:-10GB
架构:x86_64

正如您所看到的,问题在于服务器运行的是不同的架构。

问:有没有什么办法可以通过几个步骤将旧服务器迁移到新服务器(或者我只是梦想我可以这样做)?

我在想也许我可以:
- 获取安装在旧服务器上的软件包和 gem 列表并使用 for 循环将它们全部安装在新服务器上
- 将磁盘内容从旧服务器复制到新服务器,同时排除特定于体系结构的内容(问题是我真的不知道要排除什么)。

答案1

Debian Wiki 中有一个从 32 位升级到 64 位的分步指南。http://wiki.debian.org/Migrate32To64Bit 这真是太丑了,而且你的 Ruby 安装也存在问题。你确定你的 Ruby 库是在 64 位上运行的吗?我肯定会对机器进行完整备份/镜像/其他操作,这样万一出现问题,你就可以回滚到正常运行状态。

答案2

dpkg --get-selections > /backup/installed-software.log应将安装的所有内容转储到installed-software.log

dpkg --set-selections < /backup/installed-software.log然后dselect就应该恢复它。

您可能还需要从 /etc/ 复制配置文件 - 这取决于您的具体设置。

你可能还想安装ia-32-库用于在 x86 上支持 ia32 软件

到目前为止,您应该不会遇到太多问题。

现在,Debian 确实支持在 x64 上运行 x86 库,因此只需复制文件,查看哪些地方出现问题,然后安装适当的库就可以了

另外,一个更棘手但“更简单”的选择可能是设置 32 位 chroot在系统中,只需将旧服务器的设置复制到新服务器即可。另一个安装指南这里

相关内容