最初我的系统是 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)并重新启动系统