0

Originally my system was on 8.0 and now it's 8.6 but this latest version does not support all playonlinux requirements to run 86x_64x applications, then I'd like to know if it's possible to safely do a downgrade to my old version 8.0.

Ps: I did nothing with the repositories except adding jessie-backports to sources.list and performing:

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

After that my kernel was also upgraded as well my /etc/os-release status to Debian Jessie 8.6.

Ps2: Would be great to keep my current Os and Kernel versions and also have my playonlinux 32 bits software working, but, if not, going back to my old system version is ok too.

Sorry if this topic was already answered in another question, but I've been searching for that and haven't found it.

4
  • 3
    You should probably concentrate on your real problem, which is getting PlayOnLinux working again. Could you edit your question to give details of which requirements are no longer supported? (Also, dist-upgradeing to jessie-backports is a pretty bad idea, but we can fix that if necessary.) Dec 22, 2016 at 16:01
  • Upgrading wholesale to jessie-backports is never something you want to do. It isn't the intended use of backports, for a start. Consider a reinstall if you have a new system, but make sure you have backups instead. And this time don't do a wholesale installation of backports. Did the version of jessie you were running before the upgrade to backports work for your requirements, whatever they are? Dec 22, 2016 at 16:16
  • @FaheemMitha thanks, I learned this lesson know. Never mix repositories and never do distr-upgrade targeting backports.
    – Gabz
    Dec 22, 2016 at 16:22
  • Indeed. Live and learn. :-) Dec 22, 2016 at 16:24

2 Answers 2

2

You should use 8.6 which is 100% compatible with 8.0. The jessie-backports repo is the one which is not fully compatible, because they're packages from the unstable release called Stretch.

To force downgrade all your packages to Jessie, first make sure you have a rescue disc available. Then create a file: /etc/apt/preferences.d/jessie

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

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

Start a script session (to record exactly what is happening): script downgrade.log (note this will appear to immediately return—you're actually at a shell prompt inside script, with everything being logged to that file; you'll need a second "exit" to log out). Then do apt-get dist-upgrade. According to quick testing in a VM, this will fail at some point, at which point you'll need to dpkg -i /var/cache/apt/archives/systemd_215*.deb. Then apt-get install -f. Then another apt-get dist-upgrade. You will be asked if you really want to remove the running kernel—unfortunately, you do. Finally, do an apt-get autoremove at the end but take a look at the packages it's removing before saying yes!

Before rebooting, confirm that you have kernel 3.16.0-4 installed. Then reboot.

updates

8
  • This will bring my stable version back? Do I need to reinstall the whole system to completely fix this mistake? Thanks
    – Gabz
    Dec 22, 2016 at 16:20
  • 1
    This method downgrades only the packages which are newer than stable. Read more at: wiki.debian.org/AptPreferences Dec 22, 2016 at 16:22
  • @Gabz Upgrading to jessie-backports (as opposed to grabbing the few packages you need) is something that is officially not supposed to be done. And downgrades are officially not supported. But they often work... So a full reinstall would definitely fix, but it's possible the downgrade will, too. The other option is to take Stephen Kitt's suggestion and just downgrade a few packages (and then when you upgrade to Stretch, the backports will go away, basically)
    – derobert
    Dec 22, 2016 at 16:24
  • 1
    @IporSircer I think it should be release a=stable
    – NarūnasK
    Dec 22, 2016 at 17:00
  • @NarūnasK: yes, maybe. it's based on what term you used in sources.list. Dec 22, 2016 at 17:09
0

Boot from a linux live cd and create your chroot environment ( step 1,2 and 3)

Edit your sources.list comment the backports entry then update your system.

Get the list of the backported package and save it :

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

To keep the current kernel version , edit the backports.txt and remove the kernel package entry e,g:

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

Purge the packported packages:

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

Enable backport entry from your sources.list , then run ;

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

Maybe you will get a held package , run sudo apt-get -f install

Exit the chroot ( step 6) and reboot your system

1
  • Thanks, too. But I installed it all again.
    – Gabz
    Dec 27, 2016 at 22:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .