Debian 10.3 Released

Debian Linux

Pretty cool! I almost missed that Debian 10.3 got released last week. This is a corrective release, meaning it’s about improving stability and security rather than about introducing major innovations.

Upgrade Debian 10.2 to 10.3

I only have one dedicated server running Debian 10, and will possibly reinstall even that – turns out I’m much more used to CentOS servers than anything else.

BUT this server is still there, so why not upgrade it?

Step 1: Update Debian repositories

First, we run apt-get update. I never noticed it before, but apparently this command is clever enough to recognize that InRelease changes version from 10.2 to 10.3 (see the last line of the output):

root@srv:~ # apt-get update
 Get:1 http://mirrors.online.net/debian buster InRelease [122 kB]
 Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
 Get:3 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
 Ign:4 http://mirrors.online.net/debian buster/non-free Sources
 Ign:5 http://mirrors.online.net/debian buster/main Sources
 Ign:6 http://mirrors.online.net/debian buster/main amd64 Packages
 Ign:7 http://mirrors.online.net/debian buster/main Translation-en
 Ign:8 http://mirrors.online.net/debian buster/non-free amd64 Packages
 Ign:9 http://mirrors.online.net/debian buster/non-free Translation-en
 Get:4 http://mirrors.online.net/debian buster/non-free Sources [86.3 kB]
 Get:5 http://mirrors.online.net/debian buster/main Sources [7,832 kB]
 Get:10 http://security.debian.org/debian-security buster/updates/main Sources [102 kB]
 Get:11 http://security.debian.org/debian-security buster/updates/main amd64 Packages [176 kB]
 Get:12 http://security.debian.org/debian-security buster/updates/main Translation-en [92.8 kB]
 Get:6 http://mirrors.online.net/debian buster/main amd64 Packages [7,907 kB]
 Get:7 http://mirrors.online.net/debian buster/main Translation-en [5,970 kB]
 Get:8 http://mirrors.online.net/debian buster/non-free amd64 Packages [88.0 kB]
 Get:9 http://mirrors.online.net/debian buster/non-free Translation-en [88.7 kB]
 Fetched 22.6 MB in 3s (6,828 kB/s)
 Reading package lists… Done
 N: Repository 'http://mirrors.online.net/debian buster InRelease' changed its 'Version' value from '10.2' to '10.3'

Step 2: Upgrade packages and Debian distro

apt-get dist-upgrade brings all the packages to the current release of your Debian/Ubuntu distro. In my case,

root@srv:~ # apt-get dist-upgrade
 Reading package lists… Done
 Building dependency tree
 Reading state information… Done
 Calculating upgrade… Done
 The following NEW packages will be installed:
   linux-headers-4.19.0-8-amd64 linux-headers-4.19.0-8-common linux-image-4.19.0-8-amd64
 The following packages will be upgraded:
   base-files e2fsprogs git-man libboost-iostreams1.67.0 libboost-system1.67.0 libcom-err2 libcups2 libcupsimage2 libext2fs2 libgnutls30 libidn2-0
   libnss-systemd libopenjp2-7 libpam-systemd libpython3.7 libpython3.7-dev libpython3.7-minimal libpython3.7-stdlib libsasl2-2 libsasl2-modules
   libsasl2-modules-db libss2 libsystemd0 libtiff5 libtimedate-perl libudev1 linux-compiler-gcc-8-x86 linux-headers-amd64 linux-image-amd64 linux-kbuild-4.19
   linux-libc-dev openssh-client openssh-server openssh-sftp-server python-apt python-apt-common python3-apt python3.7 python3.7-dev python3.7-minimal sudo
   systemd systemd-sysv udev
 44 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
 Need to get 129 MB of archives.
 After this operation, 325 MB of additional disk space will be used.
 Do you want to continue? [Y/n] y
...

Step 3: Reboot (when convenient)

You don’t have to reboot immediately. The biggest reason to do it is to start using new version of Linux kernel, but there’s hardly a specific update in minor kernel upgrade that justifies immediate downtime.

Here’s the kernel version before reboot:

root@srv:~ # uname -a
Linux srv.ts.fm 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux

When possible, you should do a graceful reboot:

root@srv:~ # shutdown -r now

After system is back online, we can see that it’s running Debian Buster 10.3 now:

greys@srv:~ $ uname -a
Linux srv.ts.fm 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux

See Also




OpenMediaVault Default Login

OpenMediaVault
OpenMediaVault

With Debian 10 Buster release out of the way, next major release of OpenMediaVault – OMV5 – is still on track for Q4/2019 release. This makes it a perfect timing to refresh install procedures in my mind and to capture the default login.

OpenMediaVault Default Login

  • Username: admin
  • Password: openmediavault

How To Reset Admin Password in OpenMediaVault

You may remember, I have a post explaining how to reset admin password in OpenMediaVault – you still need ssh access to the server as regular user though.

See Also




Debian 10 – Buster

debian-linux-logo

Debian 10 “Buster” got released ealier this week, culminating work of the past 2 years. It’s a massive upgrade to Debian 9 and a solid release available for 10 architectures (x86/x64/AMD64 and arm64/amrhf plus MIPS, PowerPC and IBM System Z.

I’m away from home for the past 2 weeks but will attempt distro upgrade in my Debian 9 VM, so stay tuned.

Notable Improvements in Debian 10 Buster

Secure Boot is finally here in Debian 10!

This means Debian 10 comes with signed and fully trusted version of GRUB boot loader that is activated by the Shim loader.

Secure Boot is a cool security feature found on most modern PCs and laptops, basically to ensure that trusted (secure) code is loaded by UEFI (Unified Extensible Firmware Interface) before Operating System.

AppArmor is Activated by Default

This means at least the core OS functionality will run with improved security. You’ll need to disable AppArmor using GRUB options if you want to continue running OS without AppArmor.

nftables is the Default Packet Filter

nftables tool will help with managing both IPv4 and IPv6 packets. I think iptables compatibility is there, meaning you can run iptables commands with common syntax – but implementation will actually be done using nftables.

Linux Kernel Updated to 4.19

Not quite the bleeding edge (I hear Linux Kernel 5.2 released recently), but that’s exactly the point: Debian always prides itself on being one of the most stable and reliable distros, meaning it won’t have latest features but will ensure that everything avaialbe will work as expected.

See Also




How To: Upgrade Packages That Were Kept Back

ubuntu-linux-logo

Now and then you may notice that apt-get upgrade command keeps a few packages back, meaning they don’t get upgraded. This quick post shows what you can do about it and how to get all the packages upgraded.

How apt-get Keeps Packages Back

This is how keeping packages back will look like:

greys@xps:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

Why Packages Are Kept Back by apt-get

Most likely reason for keeping packages back is that upgrading them means installing new packages or removing existing ones. apt-get upgrade strictly upgrades existing packages, without removing or installing anything.

Since the command you’re giving to apt-get is upgrade and not to install new packages, packages that require some old packages removed or new packages installed are kept back.

How To Upgrade Packages That Were Kept Back

Simply use the dist-upgrade option of apt-get, which will resolve dependencies and install/remove dependent package as needed:

greys@xps:~ $ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed
linux-headers-5.0.0-20 linux-headers-5.0.0-20-generic linux-image-5.0.0-20-generic linux-modules-5.0.0-20-generic
linux-modules-extra-5.0.0-20-generic
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 to upgrade, 5 to newly install, 0 to remove and 0 not to upgrade.
Need to get 67.0 MB of archives.
After this operation, 334 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

That’s it for todat, enjoy!

See Also




Automatically Remove Packages in Ubuntu

It is possible that removing some packages on your Debian, Ubuntu or Mint Linux system will leave a number of software packages behind. Although they are not required by any existing package, they are still kept until you implicitly remove them.

Packages That Are No Longer Required

You will probably see a message like this every time when you’re running apt or apt-get command (using sudo, of course):

The following packages were automatically installed and are no longer required:
...
Use 'sudo apt autoremove' to remove them.

This happens when you run apt/apt-get for any reason. For instance, I’m trying to install a PCAP library, but look at all the packages that can be autoremoved:

greys@xps:/home/greys$ sudo apt install libpcap-dev
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages were automatically installed and are no longer required:
adobe-flashplugin cabextract chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi libaribb24-0 libavcodec-extra
libbasicusageenvironment1 libcddb2 libdrm-dev libdvbpsi10 libebml4v5 libegl1-mesa-dev libgl1-mesa-dev libgles1
libgles2-mesa-dev libglu1-mesa-dev libglvnd-core-dev libglvnd-dev libgroupsock8 libhal1-flash libhunspell-dev
libjs-jquery libjs-jquery-scrollto liblivemedia62 liblua5.2-0 libmad0 libmatroska6v5 libmicrodns0 libminizip1
libmspack0 libnfs11 libopengl0 libopenmpt-modplug1 libplacebo4 libprotobuf-lite10 libpthread-stubs0-dev
libresid-builder0c2a libsdl-image1.2 libsidplay2 libssh2-1 libunshield0 libupnp6 libusageenvironment3 libva-wayland2
libvlc-bin libvlc5 libvlccore9 libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev libxau-dev libxcb-dri2-0-dev
libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev
libxshmfence-dev libxxf86vm-dev mesa-common-dev qt5-qmake qt5-qmake-bin qtchooser sigil-data unshield vlc-bin
vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-video-output x11proto-core-dev x11proto-damage-dev
x11proto-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libpcap0.8-dev
The following NEW packages will be installed:
libpcap-dev libpcap0.8-dev
0 upgraded, 2 newly installed, 0 to remove and 251 not upgraded.
Need to get 221 kB of archives.
After this operation, 748 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

Use apt autoremove to uninstall software packages

As suggested, this is what happens when I run apt autoremove:

greys@xps:/home/greys$ sudo apt autoremove
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following packages will be REMOVED:
adobe-flashplugin cabextract chromium-codecs-ffmpeg-extra gstreamer1.0-vaapi libaribb24-0 libavcodec-extra
libbasicusageenvironment1 libcddb2 libdrm-dev libdvbpsi10 libebml4v5 libegl1-mesa-dev libgl1-mesa-dev libgles1
libgles2-mesa-dev libglu1-mesa-dev libglvnd-core-dev libglvnd-dev libgroupsock8 libhal1-flash libhunspell-dev
libjs-jquery libjs-jquery-scrollto liblivemedia62 liblua5.2-0 libmad0 libmatroska6v5 libmicrodns0 libminizip1
libmspack0 libnfs11 libopengl0 libopenmpt-modplug1 libplacebo4 libprotobuf-lite10 libpthread-stubs0-dev
libresid-builder0c2a libsdl-image1.2 libsidplay2 libssh2-1 libunshield0 libupnp6 libusageenvironment3 libva-wayland2
libvlc-bin libvlc5 libvlccore9 libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev libxau-dev libxcb-dri2-0-dev
libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev
libxshmfence-dev libxxf86vm-dev mesa-common-dev qt5-qmake qt5-qmake-bin qtchooser sigil-data unshield vlc-bin
vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-video-output x11proto-core-dev x11proto-damage-dev
x11proto-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 0 newly installed, 88 to remove and 251 not upgraded.
After this operation, 131 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 270228 files and directories currently installed.)
Removing adobe-flashplugin (1:20190212.1-0ubuntu0.18.04.1) ...
Removing cabextract (1.6-1.1) ...
Removing chromium-codecs-ffmpeg-extra (71.0.3578.98-0ubuntu0.18.04.1) ...
Removing gstreamer1.0-vaapi:amd64 (1.14.1-1~ubuntu18.04.1) ...
Removing vlc-plugin-base:amd64 (3.0.4-1ubuntu0.2) ...
Removing libaribb24-0:amd64 (1.0.3-1) ...
Removing libavcodec-extra (7:3.4.4-0ubuntu0.18.04.1) ...
Removing libbasicusageenvironment1:amd64 (2018.02.18-1) ...
Removing libcddb2 (1.3.2-5fakesync1) ...
Removing libgles2-mesa-dev:amd64 (18.2.2-0ubuntu1~18.04.2) ...
Removing libegl1-mesa-dev:amd64 (18.2.2-0ubuntu1~18.04.2) ...
Removing libglu1-mesa-dev:amd64 (9.0.0-2.1build1) ...
Removing libgl1-mesa-dev:amd64 (18.2.2-0ubuntu1~18.04.2) ...
Removing mesa-common-dev:amd64 (18.2.2-0ubuntu1~18.04.2) ...
Removing libdrm-dev:amd64 (2.4.95-1~18.04.1) ...
Removing libdvbpsi10:amd64 (1.3.2-1) ...
Removing libmatroska6v5:amd64 (1.4.8-1.1) ...
Removing libebml4v5:amd64 (1.3.5-2) ...
Removing libglvnd-dev:amd64 (1.0.0-2ubuntu2.2) ...
Removing libgles1:amd64 (1.0.0-2ubuntu2.2) ...
Removing libglvnd-core-dev:amd64 (1.0.0-2ubuntu2.2) ...
Removing libgroupsock8:amd64 (2018.02.18-1) ...
Removing libhal1-flash (0.3.3-2) ...
Removing libhunspell-dev:amd64 (1.6.2-1) ...
Removing libjs-jquery-scrollto (2.1.2+dfsg-4) ...
Removing libjs-jquery (3.2.1-1) ...
Removing liblivemedia62:amd64 (2018.02.18-1) ...
Removing liblua5.2-0:amd64 (5.2.4-1.1build1) ...
Removing libmad0:amd64 (0.15.1b-9ubuntu18.04.1) ...
Removing libmicrodns0:amd64 (0.0.8-1) ...
Removing libminizip1:amd64 (1.1-8build1) ...
Removing libmspack0:amd64 (0.6-3ubuntu0.2) ...
Removing libnfs11:amd64 (2.0.0-1~exp1) ...
Removing libopengl0:amd64 (1.0.0-2ubuntu2.2) ...
Removing libopenmpt-modplug1:amd64 (0.3.6-1) ...
Removing vlc-plugin-video-output:amd64 (3.0.4-1ubuntu0.2) ...
Removing libplacebo4:amd64 (0.4.0-2) ...
Removing libprotobuf-lite10:amd64 (3.0.0-9.1ubuntu1) ...
Removing libx11-xcb-dev:amd64 (2:1.6.4-3ubuntu0.2) ...
Removing libxxf86vm-dev:amd64 (1:1.1.4-1) ...
Removing libresid-builder0c2a (2.1.1-15ubuntu1) ...
Removing libsdl-image1.2:amd64 (1.2.12-8) ...
Removing libsidplay2 (2.1.1-15ubuntu1) ...
Removing libssh2-1:amd64 (1.8.0-1) ...
Removing unshield (1.4.2-1) ...
Removing libunshield0:amd64 (1.4.2-1) ...
Removing libupnp6:amd64 (1:1.6.24-4) ...
Removing libusageenvironment3:amd64 (2018.02.18-1) ...
Removing libva-wayland2:amd64 (2.1.0-3) ...
Removing vlc-bin (3.0.4-1ubuntu0.2) ...
Removing libvlc-bin:amd64 (3.0.4-1ubuntu0.2) ...
Removing libvlc5:amd64 (3.0.4-1ubuntu0.2) ...
Removing vlc-plugin-notify:amd64 (3.0.4-1ubuntu0.2) ...
Removing libvlccore9:amd64 (3.0.4-1ubuntu0.2) ...
Removing libwayland-dev:amd64 (1.16.0-1ubuntu1.1~18.04.1) ...
Removing libwayland-bin (1.16.0-1ubuntu1.1~18.04.1) ...
Removing libxcb-dri2-0-dev:amd64 (1.13-1) ...
Removing libxcb-dri3-dev:amd64 (1.13-1) ...
Removing libxcb-glx0-dev:amd64 (1.13-1) ...
Removing libxcb-present-dev:amd64 (1.13-1) ...
Removing libxcb-randr0-dev:amd64 (1.13-1) ...
Removing libxcb-xfixes0-dev:amd64 (1.13-1) ...
Removing libxcb-render0-dev:amd64 (1.13-1) ...
Removing libxcb-shape0-dev:amd64 (1.13-1) ...
Removing libxcb-sync-dev:amd64 (1.13-1) ...
Removing libxdamage-dev:amd64 (1:1.1.4-3) ...
Removing libxext-dev:amd64 (2:1.3.3-1) ...
Removing libxfixes-dev:amd64 (1:5.0.3-1) ...
Removing libxshmfence-dev:amd64 (1.3-1) ...
Removing qt5-qmake:amd64 (5.9.5+dfsg-0ubuntu1) ...
Removing qt5-qmake-bin (5.9.5+dfsg-0ubuntu1) ...
Removing qtchooser (64-ga1b6736-5) ...
Removing sigil-data (0.9.12+dfsg-1ubuntu1804) ...
Removing vlc-data (3.0.4-1ubuntu0.2) ...
Removing vlc-l10n (3.0.4-1ubuntu0.2) ...
Removing x11proto-damage-dev (1:2018.4-4) ...
Removing x11proto-xf86vidmode-dev (2018.4-4) ...
Removing x11proto-xext-dev (2018.4-4) ...
Removing x11proto-fixes-dev (1:2018.4-4) ...
Removing libx11-dev:amd64 (2:1.6.4-3ubuntu0.2) ...
Removing libxcb1-dev:amd64 (1.13-1) ...
Removing libpthread-stubs0-dev:amd64 (0.3-4) ...
Removing libxau-dev:amd64 (1:1.0.8-1) ...
Removing libxdmcp-dev:amd64 (1:1.1.2-3) ...
Removing x11proto-core-dev (2018.4-4) ...
Removing x11proto-dev (2018.4-4) ...
Removing xorg-sgml-doctools (1:1.11-1) ...
Removing xtrans-dev (1.3.5-1) ...
Processing triggers for sgml-base (1.29) ...
Processing triggers for mintsystem (8.4.1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
greys@xps:/dist/wireshark/wireshark-ninja$

Just to finish this brief example, here’s what happens when I try the same apt install command again. Note how there are no more packages suggested for auto-remove:

greys@xps:/home/greys$ sudo apt install libpcap-dev
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
libpcap0.8-dev
The following NEW packages will be installed:
libpcap-dev libpcap0.8-dev
0 upgraded, 2 newly installed, 0 to remove and 251 not upgraded.
Need to get 221 kB of archives.
After this operation, 748 kB of additional disk space will be used.
Do you want to continue? [Y/n]

See Also




How To List Files in Ubuntu/Debian Package

dpkg -L

 

If you’re ever looking for a specific list of files included with one of the packages on your Ubuntu/Debian/Mint Linux setup, here’s how you can do it using the dpkg command:

# dpkg --listfiles libcurl4-openssl-dev
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/libcurl.pc
/usr/lib/x86_64-linux-gnu/libcurl.a
/usr/lib/x86_64-linux-gnu/libcurl.la
/usr/share
/usr/share/doc
/usr/share/doc/libcurl4-openssl-dev
/usr/share/doc/libcurl4-openssl-dev/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/curl-config.1.gz
/usr/share/aclocal
/usr/share/aclocal/libcurl.m4
/usr/include
/usr/include/curl
/usr/include/curl/curlver.h
/usr/include/curl/mprintf.h
/usr/include/curl/stdcheaders.h
/usr/include/curl/easy.h
/usr/include/curl/curlrules.h
/usr/include/curl/multi.h
/usr/include/curl/curlbuild.h
/usr/include/curl/typecheck-gcc.h
/usr/include/curl/curl.h
/usr/bin
/usr/bin/curl-config
/usr/lib/x86_64-linux-gnu/libcurl.so
/usr/share/doc/libcurl4-openssl-dev/changelog.Debian.gz
/usr/share/doc/libcurl4-openssl-dev/NEWS.Debian.gz

The same can also be done with the shorter version of the command line option: dpkg -L

One of the most typical things to check next would be to verify the integrity of all these files in the package – usually dpkg keeps checksums for all the files installed.

Verifying integrity of files instlaled by the package:

# dpkg --verify libcurl4-openssl-dev
??5?????? /usr/include/curl/curl.h

In this example I have gone and edited the comment in the curl.h header file, just to change it enough for dpkg to pick it up. Since checksums are used for highlighting differences and also because most of package installed files are binaries or special non-cleartext formats, you don’t see the text-based diff but instead just get an indication that certain file differs from the original version installed by dpkg.

The shorter version of the same is dpkg -V.