Be warned even with apt pinning it could turn your package management/system into chaos. No warranty from me.
For security install ppa-purge first. If something goes bad you can try revert/delete packages with
sudo ppa-purge system76-dev/stable
another way for be prepared is
/etc/apt/preferences.d/focal.pref
Package: *
Pin: release n=focal
Pin-Priority: 1001
for this in
/etc/apt/sources.list.d/system76-dev-ubuntu-stable-focal.list
the entries has to be comment out.
sudo apt full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
python3-distupgrade ubuntu-release-upgrader-core ubuntu-release-upgrader-qt
The following packages will be DOWNGRADED:
accountsservice libaccountsservice0 linux-firmware linux-generic linux-headers-generic linux-image-generic linux-libc-dev ubuntu-drivers-common
virtualbox virtualbox-dkms virtualbox-qt
3 upgraded, 0 newly installed, 11 downgraded, 0 to remove and 0 not upgraded.
Need to get 43,9 MB/145 MB of archives.
After this operation, 50,5 MB disk space will be freed.
Pinning for kernel
/etc/apt/preferences.d/kernel.pref
# Kernel pinnen
Package: linux-generic
Pin: origin security.ubuntu.com
Pin-Priority:1001
Package: linux-generic
Pin: origin archive.ubuntu.com
Pin-Priority: 1001
Package: linux-image-generic
Pin: origin security.ubuntu.com
Pin-Priority:1001
Package: linux-image-generic
Pin: origin archive.ubuntu.com
Pin-Priority:1001
Package: linux-headers-generic
Pin: origin archive.ubuntu.com
Pin-Priority: 1001
Package: linux-headers-generic
Pin: origin security.ubuntu.com
Pin-Priority: 1001
Package: *
Pin: origin ppa.launchpad.net
Pin-Priority: 300
Packages for kernel from origin archive.ubuntu.com/security.ubuntu.com are preffered (1001)
sudo apt full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be DOWNGRADED:
linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 3 downgraded, 0 to remove and 0 not upgraded.
Need to get 0 B/7.028 B of archives.
After this operation, 630 kB disk space will be freed.
Do you want to continue? [Y/n] y
dpkg: warning: downgrading linux-generic from 5.8.0.7630.32~1605108853~20.04~8bcf10e~dev to 5.4.0.54.57
(Reading database ... 291830 files and directories currently installed.)
Preparing to unpack .../linux-generic_5.4.0.54.57_amd64.deb ...
Unpacking linux-generic (5.4.0.54.57) over (5.8.0.7630.32~1605108853~20.04~8bcf10e~dev) ...
dpkg: warning: downgrading linux-image-generic from 5.8.0.7630.32~1605108853~20.04~8bcf10e~dev to 5.4.0.54.57
Preparing to unpack .../linux-image-generic_5.4.0.54.57_amd64.deb ...
Unpacking linux-image-generic (5.4.0.54.57) over (5.8.0.7630.32~1605108853~20.04~8bcf10e~dev) ...
dpkg: warning: downgrading linux-headers-generic from 5.8.0.7630.32~1605108853~20.04~8bcf10e~dev to 5.4.0.54.57
Preparing to unpack .../linux-headers-generic_5.4.0.54.57_amd64.deb ...
Unpacking linux-headers-generic (5.4.0.54.57) over (5.8.0.7630.32~1605108853~20.04~8bcf10e~dev) ...
Setting up linux-image-generic (5.4.0.54.57) ...
Setting up linux-headers-generic (5.4.0.54.57) ...
Setting up linux-generic (5.4.0.54.57) ...
you get for all other packages from your ppa updates for installt packages.
Note remaining kernel/headermodules packages from ppa you have to purge on your own.
You can do it on your own risk. Really. Be warned
Better is to remove the ppa with ppa-purge. Remove all apt pinning files.
Reactivate the ppa again.
then create
/etc/apt/preferences.d/system76.pref
# pinning für system-dev
Package: *
Pin: release o=LP-PPA-system76-dev-stable,a=focal
Pin-Priority: 300
If you need a particular package from ppa you can install it like this.
apt-get -s install -t focal linux-firmware
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
linux-firmware
1 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Inst linux-firmware [1.187.4] (1.190.1+system76~1605123765~20.04~3894207~dev System76 Stable PPA:20.04/focal [all])
Conf linux-firmware (1.190.1+system76~1605123765~20.04~3894207~dev System76 Stable PPA:20.04/focal [all])
Another example
apt-get -s install -t focal accountsservice
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libaccountsservice0
Suggested packages:
gnome-control-center
The following packages will be upgraded:
accountsservice libaccountsservice0
2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Inst accountsservice [0.6.55-0ubuntu12~20.04.4] (0.6.55-0ubuntu13.2pop0~1605745773~20.04~d9482b1~dev System76 Stable PPA:20.04/focal [amd64]) []
Inst libaccountsservice0 [0.6.55-0ubuntu12~20.04.4] (0.6.55-0ubuntu13.2pop0~1605745773~20.04~d9482b1~dev System76 Stable PPA:20.04/focal [amd64])
Conf accountsservice (0.6.55-0ubuntu13.2pop0~1605745773~20.04~d9482b1~dev System76 Stable PPA:20.04/focal [amd64])
Conf libaccountsservice0 (0.6.55-0ubuntu13.2pop0~1605745773~20.04~d9482b1~dev System76 Stable PPA:20.04/focal [amd64])