The Debian operating system’s most recent stable release, Debian 10 (codename Buster) was released on July 6, 2019. It will be supported until 2022 though LTS support for it may be provided through 2024.
Let us go through some of the important new features of Debian 10.
GNOME uses Wayland now
GNOME in Buster defaults to using Wayland display server over Xorg. Wayland offers a simpler and modern design and offers security benefits.
UEFI Secure Boot Enabled
Debian finally has support for Secure Boot. It is a feature that prevents loading unsigned code and protection against root/boot kits. You won’t need a workaround anymore to install Debian on Secure Boot enabled systems.
AppArmor Enabled by Default
AppArmor is an access control framework for restricting program capabilities and permissions. It works by loading application profiles into the kernel and then using those profiles to enforce limits on various programs.
Earlier Debian releases shipped with AppArmor but it was never enabled by default which Debian 10 does by default by carrying profiles for some common applications like Apache, PHP, Bash, and Python. You can install more profiles by installing the `apparmor-profiles-extra` package.
/usr merge on Fresh Installs
On Fresh Debian 10 installs, the content of /bin, /sbin and /lib will be installed to /usr/bin, /usr/sbin and /usr/lib by default. /bin, /sbin and /lib directories will be soft-links to their /usr counterpart. If you are upgrading from an earlier release, no changes will be made although you can use usrmerge package to convert to the new structure.
Apt Updates
Apt now supports https repositories by default. You won’t need to install the apt-transport-https package anymore before adding an https repository.
If you enable the Debian’s unattended-upgrades package, Debian will now support upgrading to point releases. Earlier the upgrades under this package included updates only from the security suite.
nftables replaces iptables
This is probably the biggest change that will affect a lot of users. Debian Buster is replacing iptables firewall subsystem with nftables. nftables provide better performance, better support for IPv4/IPv6 dual-stack firewalls and built-in support for data sets such as dictionaries and maps.
You can use the iptables-nft command to maintain compatibility with existing iptables scripts. You can read more about how to transition from iptables to nftables.
Linux Kernel 4.19
Buster ships with Linux Kernel v4.19. This is a long term support kernel that was released on October 22, 2018, and will be supported until December 2020.
Some of the new features that this kernel ships with(over the last Debian kernel) include Virtual GPU support, improvements for large-scale SSD-based swap, improvements to the Ext4 filesystem, support for 4 petabytes of physical memory(up from 64TB) and vulnerability updates and security patches for Meltdown and Spectre.
Python 2 Deprecated
Buster still ships with Python 2 and hopes to remove it by the next release. Officially, Python 2 was officially deprecated on January 1, 2020. So if you have code running on Python 2, now would be the time to switch to Python 3.
Existing PostgreSQL Databases need to be reindexed
When you are upgrading from Stretch to Buster, you will need to reindex your PostgreSQL databases due to the locale data that is upgraded due to glibc library. This will change how PostgreSQL indexes data so you need to update the indexes immediately to avoid corruption. You can use the following command.
sudo -u postgres reindexdb --all
Check PostgreSQL Wiki for more information.
Differences between Debian 9 and 10
Debian 9 was released on 17 June 2017 and is supported through 2022. Debian 9 made MariaDB as the default MySQL variant. An earlier version of Debian shipped with both Upstart and SystemD but with 9, Upstart was removed completely. You can read our detailed post on what’s new in Debian 9.
Between Debian 9 and 10, lots of software packages saw major upgrades such as
– Apache (2.4.38 vs 2.4.25)
– MariaDB (10.1 vs 10.3)
– Nginx (1.10 vs 1.14)
– OpenJDK (8 vs 11)
– PHP (7.0 vs 7.3)
– PostgreSQL (9.6 vs 11)
– Vim (8.0 vs 8.1)
– Go (1.7 vs 1.11)
– Node.js (4.8.2 vs 10.15.2)
– Rust (1.24 vs 1.34)
– Linux Kernel (4.9 vs 4.19)
– systemd (232 vs 241)
So if you are looking to upgrade your packages and are okay with the changes in Debian 10, you should upgrade.
Conclusion
That’s all for now. We have tried to cover all major changes to Debian 10 so you can decide if you are ready to upgrade to it or not.