由于各种原因,我正在考虑从 Ubuntu 切换到 Debian,转向更自由的软件支持系统就是其中之一。 (GNU.org 提到,如果我们愿意,我们可以选择保持 Debian 完全自由,不包括非自由存储库。)
除了安装(我应该能够管理,因为我已经非常习惯阅读手册和使用终端),我有一个主要担心:我的互联网连接在带宽和使用限制方面都很弱。因此,如果我必须识别我当前习惯使用并已在 Ubuntu 上设置的所有软件包(例如 Python3、python-pip 软件包、GNU Octave 及其数据,以及基本上我使用过的所有其他软件包),那就很不方便了。已使用 apt
) 从互联网上安装,然后重新下载并安装它们。
我想问的是,有什么巧妙的方法可以做到这一点吗?首先,是否可以将我的包裹连同数据从一个系统转移到另一个系统?我特意询问是因为 Ubuntu 是基于 Debian 的。
如果不可能,我愿意下载软件包(当然,这需要很长时间,但我必须这样做)。但在这种情况下,一旦我在 Debian 上设置了软件包,我可以只在两个系统之间移动数据吗?即使那样也会非常方便。
答案1
聚会迟到了,但这绝对是可行的。
选择与您要升级的 Ubuntu 版本接近的 Debian 稳定版或测试版。添加debian
和debian-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-keyring
和debian-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 focal
→Debian bullseye
并且大多数事情都很顺利(包括 IMAP/SMTP 服务器、有一些小故障的 apache2(不同的 php 版本)、nextcloud(redis 版本更改 - 小麻烦))。
祝你好运。
答案2
不幸的是,您无法直接迁移,Ubuntu 软件包虽然基于 Debian,但有时会使用不同的版本进行完全重新编译。 Ubuntu 也并不与 Debian 共享完全相同的磁盘布局,因此您通常也不能只移动配置文件。
我建议一个干净的 Debian 安装并复制您的数据。