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

axo*_*otl 6 ubuntu migration debian package-management distributions

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

\n

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

\n

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

\n

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

\n

eud*_*xos 7

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

\n

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

\n
deb http://deb.debian.org/debian bullseye main contrib non-free\ndeb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free\ndeb http://deb.debian.org/debian bullseye-updates main contrib non-free\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
Package: *\nPin: release o=Ubuntu\nPin-Priority: -1000\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

是时候跑步了apt-get update

\n

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

\n

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

\n

我对Ubuntu 22.04 focal\xe2\x86\x92做了大致的处理Debian bullseye做了大致的处理,大多数事情都进展顺利(包括 IMAP/SMTP 服务器、有一些小故障的 apache2(不同的 php 版本)、nextcloud(redis 版本更改 \xe2\x80\x94 小麻烦))。

\n

祝你好运。

\n

  • 提示:删除 ubuntu 源后, aptitude search ~o(孤立的)会显示它们。 (5认同)
  • 非常感谢这个(最新的)指南,它对我来说从 Ubuntu 16.04 到 Debian 10 Buster 都很完美 (4认同)

小智 4

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

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