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.

Stephen Kitt
  • 434,908
Gabz
  • 105
  • 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.) – Stephen Kitt Dec 22 '16 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? – Faheem Mitha Dec 22 '16 at 16:16
  • @FaheemMitha thanks, I learned this lesson know. Never mix repositories and never do distr-upgrade targeting backports. – Gabz Dec 22 '16 at 16:22
  • Indeed. Live and learn. :-) – Faheem Mitha Dec 22 '16 at 16:24

2 Answers2

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

derobert
  • 109,670
Ipor Sircer
  • 14,546
  • 1
  • 27
  • 39
  • This will bring my stable version back? Do I need to reinstall the whole system to completely fix this mistake? Thanks – Gabz Dec 22 '16 at 16:20
  • 1
    This method downgrades only the packages which are newer than stable. Read more at: https://wiki.debian.org/AptPreferences – Ipor Sircer Dec 22 '16 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 '16 at 16:24
  • 1
    @IporSircer I think it should be release a=stable – NarūnasK Dec 22 '16 at 17:00
  • @NarūnasK: yes, maybe. it's based on what term you used in sources.list. – Ipor Sircer Dec 22 '16 at 17:09
  • @IporSircer it's based on the release file in the archive—you can see the pin fields available by running apt-cache policy. BTW: Your pins are incomplete, and I've testing this quickly in a VM to see how bad it is. – derobert Dec 22 '16 at 17:13
  • I updated your answer based on my VM testing. Please feel free to clean it up a bit, or revert it entirely. – derobert Dec 22 '16 at 17:30
  • Thanks to everyone intended to help, I did the above suggested solution but it didn't work to fix my wine/playonlinux issue. My Os version came back to 8.0 but fortunately my kernel still is 4.8 (which I imagine that is the most important to keep upgraded). Then in the next week I'm gonna reinstall my whole system. This was my first time with Stack Exchange and I'm really impressed, I hope to be capable to help others in this community soon as possible too. – Gabz Dec 22 '16 at 22:36
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

GAD3R
  • 66,769