执行“apt-get dist-upgrade -t jessie-backports”后如何在 debian 中降级

执行“apt-get dist-upgrade -t jessie-backports”后如何在 debian 中降级

最初我的系统是 8.0,现在是 8.6,但是这个最新版本不支持运行 86x_64x 应用程序的所有 playonlinux 要求,那么我想知道是否可以安全地降级到我的旧版本 8.0。

Ps:除了将 jessie-backports 添加到 resources.list 并执行之外,我对存储库没有执行任何操作:

sudo apt-get -t jessie-backports dist-upgrade

之后我的内核也升级到了 Debian Jessie 8.6。

Ps2:如果能保留我当前的操作系统和内核版本,并且让我的 playonlinux 32 位软件正常工作,那就太好了,但是,如果不能,回到我的旧系统版本也可以。

抱歉,如果这个主题已经在另一个问题中得到回答,但我一直在寻找它但没有找到它。

答案1

您应该使用 8.6,它与 8.0 100% 兼容。该jessie-backports存储库是不完全兼容的,因为它们是来自名为 Stretch 的不稳定版本的软件包。

要强制将所有软件包降级为 Jessie,首先确保您有可用的救援光盘。然后创建一个文件:/etc/apt/preferences.d/jessie

Package: *
Pin: release n=jessie
Pin-Priority: 1100

Package: *
Pin: release n=jessie-updates
Pin-Priority: 1100

启动脚本会话(准确记录正在发生的情况):(script downgrade.log请注意,这似乎会立即返回 - 您实际上处于脚本内的 shell 提示符处,所有内容都记录到该文件中;您需要第二次“退出”注销)。然后做apt-get dist-upgrade。根据虚拟机中的快速测试,这会在某个时刻失败,此时您需要dpkg -i /var/cache/apt/archives/systemd_215*.deb.然后apt-get install -f。然后是另一个apt-get dist-upgrade。系统会询问您是否确实要删除正在运行的内核——不幸的是,您确实想删除。最后,在最后做一个apt-get autoremove,但在说“是”之前先看看它正在删除的软件包!

重新启动之前,请确认您已安装内核 3.16.0-4。然后重新启动。

更新

答案2

从 linux live CD 启动并创建您的chroot环境(步骤 1,2 和 3

编辑您的sources.list评论向后移植条目,然后更新您的系统。

获取向后移植的包的列表并保存它:

dpkg -l  |awk '/^ii/ && $3 ~ /bpo[6-8]/ {print $2}' > backports.txt

要保留当前内核版本,请编辑backports.txt并删除内核包条目,例如:

linux-headers-4.7.0-0.bpo.1-amd64
linux-headers-4.7.0-0.bpo.1-common
linux-image-4.7.0-0.bpo.1-amd64

清除 packported 包:

sudo apt-get purge $(cat backports.txt) 

从您的启用向后移植条目sources.list,然后运行;

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install $(cat backports.txt)

也许你会得到一个保留的包裹,跑吧sudo apt-get -f install

退出chroot(步骤6)并重新启动系统

相关内容