从 Ubuntu 迁移到 Debian 并保留应用程序数据

从 Ubuntu 迁移到 Debian 并保留应用程序数据

由于各种原因,我正在考虑从 Ubuntu 切换到 Debian,转向更自由的软件支持系统就是其中之一。 (GNU.org 提到,如果我们愿意,我们可以选择保持 Debian 完全自由,不包括非自由存储库。)

除了安装(我应该能够管理,因为我已经非常习惯阅读手册和使用终端),我有一个主要担心:我的互联网连接在带宽和使用限制方面都很弱。因此,如果我必须识别我当前习惯使用并已在 Ubuntu 上设置的所有软件包(例如 Python3、python-pip 软件包、GNU Octave 及其数据,以及基本上我使用过的所有其他软件包),那就很不方便了。已使用 apt) 从互联网上安装,然后重新下载并安装它们。

我想问的是,有什么巧妙的方法可以做到这一点吗?首先,是否可以将我的包裹连同数据从一个系统转移到另一个系统?我特意询问是因为 Ubuntu 是基于 Debian 的。

如果不可能,我愿意下载软件包(当然,这需要很长时间,但我必须这样做)。但在这种情况下,一旦我在 Debian 上设置了软件包,我可以只在两个系统之间移动数据吗?即使那样也会非常方便。

答案1

聚会迟到了,但这绝对是可行的。

选择与您要升级的 Ubuntu 版本接近的 Debian 稳定版或测试版。添加debiandebian-security(也许还有debian-backports存储库到/etc/apt/sources.list组件main contrib non-free,如下所示:

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free

暂时保留其他(ubuntu)源。/etc/apt/preferences.d/10-no-ubuntu使用以下内容创建:

Package: *
Pin: release o=Ubuntu
Pin-Priority: -1000

从packages.debian.org 手动安装debian 密钥环(搜索debian-keyringdebian-archive-keyring包,获取下载链接,wget然后dpkg -i debian-*.deb在计算机上执行此操作。

是时候跑步了apt-get update

然后apt-get dist-upgrade,具有更高版本的 ubuntu 软件包(如果有)应该根据需要降级。

从中删除 ubuntu 存储库/etc/apt/souces.list,删除/etc/apt/preferences.d/10-no-ubuntu.检查您是否已linux-image-amd64(或类似的)安装,因为 ubuntu 对其内核软件包的调用略有不同。跑apt-get autoremove几次。

我大致做了Ubuntu 22.04 focalDebian bullseye并且大多数事情都很顺利(包括 IMAP/SMTP 服务器、有一些小故障的 apache2(不同的 php 版本)、nextcloud(redis 版本更改 - 小麻烦))。

祝你好运。

答案2

不幸的是,您无法直接迁移,Ubuntu 软件包虽然基于 Debian,但有时会使用不同的版本进行完全重新编译。 Ubuntu 也并不与 Debian 共享完全相同的磁盘布局,因此您通常也不能只移动配置文件。

我建议一个干净的 Debian 安装并复制您的数据。

相关内容