About one week after Buster was released I upgraded my two main desktops, a 32bit VM and did a fresh install
on a HP Stream 14 laptop. Much to my dismay I had to keep bugsquashing for weeks on end. This is one of the worst upgrades I did in years.
Here is a summary (in order of appearance) of things that you also might come across, and some workarounds.
UPDATE: FSCK!!!
After two of my users complained about computers not being able to start, I discovered the file system checks were disabled. tune2fs showed a maximum mount count of -1. This means that ALL upgraded computers did not check their partitions anymore. On my own computer the /home and /var partitions had a mount count of 1113 and 1207. There is something seriously wrong with Buster!
### FIREWALL ###
- Debian has changed firewalling from iptables to nftables, but the default configuration is to use a compatibility layer so that you can use iptables rules. But in my case this did not work at all, and my system would hang 15 minutes at boot trying to raise network interfaces. Once I converted the iptables ruleset, removed the iptables deb and installed nftables the system would start normally.
There is a shortcut to convert all your iptables rules to nftables rules:
Code: Select all
iptables-save > save.txt
iptables-restore-translate -f save.txt
iptables-restore-translate -f save.txt > ruleset.nft
nft -f ruleset.nft
Bottom line: converting your ruleset and going with pure nftables might be simpler than using a buggy compat layer.
Furthermore, as of yet there is no GUI tool for easy nft configuration.
### KERNEL ###
- Debian ships with kernel 4.19 and that seems to have been quite buggy during development, even to the point of ext filesystem corruption issues. It is probably still buggy, because with this kernel lightdm would hang at a black screen with cursor on the HP Stream laptop. GDM gave no problems, but on a weak laptop I don't want GDM. The lightdm error is documented so I don't understand how Buster was even released with such a glaring bug:
https://bugs.debian.org/cgi-bin/bugrepo ... bug=857554
https://bugs.debian.org/cgi-bin/bugrepo ... bug=930631
https://bugs.debian.org/cgi-bin/bugrepo ... bug=932162
http://forums.debian.net/viewtopic.php?f=17&t=142680
http://forums.debian.net/viewtopic.php?f=5&t=142931
The 32bit Virtualbox install would hang at boot with the Virtual Machine itself giving an error. After a forced shutdown of the VM it started normally. After a reboot this whole process repeats itself. So I had to boot twice everytime to get into the VM.
All these problems vanished instantly when I downgraded the kernel to 4.18 from the MX Linux repos. Some people might say that I'm breaking Debian with a foreign repo, but in this case it fixed an issue.
EDIT: These issues seem to be fixed in point release 10.1. Kernel 4.19.0.6 works fine on both systems.
### WAYLAND / SSH ###
- Debian uses Wayland/GNOME as the default, big mistake. Gparted would not even start as root, effectively making the program useless. Xhost workarounds did not work for me.
https://bugs.launchpad.net/ubuntu/+sour ... ug/1713313
https://wiki.ubuntu.com/Wayland/gks
After various other weird glitches I quickly decided to use Xorg as the default. But even then, X Forwarding over SSH and then starting an application like synaptic as root on the remote system would give a vague error message about me using Wayland:
Code: Select all
X11 connection rejected because of wrong authentication.
Unable to init server: Could not connect: Connection refused
Failed to initialize GTK.
Probably you're running Synaptic on Wayland with root permission.
Please restart your session without Wayland, or run Synaptic without root permission
I worked around this by adding "AddressFamily inet" AND/OR "X11UseLocalhost no" in the SSH server configuration on the remote machines. Any of these options worked.
### SAMBA NETWORK ###
- SAMBA network/host browsing with any graphical file manager that uses gvfsd does not work at all. This is a major screwup, making home networks useless. It seems that gvfsd needs SMB1 enabled or else it just won't work. The only way to work around this is to install samba-common. This is installed already on samba server machines, BUT IN BUSTER IT IS ALSO NEEDED ON CLIENT MACHINES. This package installs a template /etc/smb.conf and you have to add the line "client max protocol = NT1" to make the graphical browsing work. The weird thing here is that /etc/smb.conf, which is a smb server configuration file, seems to be needed by gvfsd.
https://forums.linuxmint.com/viewtopic.php?t=270442
### APPARMOR ###
- Apparmor is now installed and enabled by default. Due to this paranoid strategy Thunderbird would not start anymore. I could not even get my mail! I disabled apparmor on the kernel command line in /etc/default/grub with GRUB_CMDLINE_LINUX_DEFAULT="apparmor=0". After that TB would start. If I didn't have snapd installed (I need this for one lousy package taken from the polarr website), I would purge apparmor altogether.
### OPENSSL ###
I have a downloaded application (not in the Debian repos) that would start in Stretch, but it did not in Buster:
Code: Select all
user@host$ pixeluvo
/usr/bin/pixeluvo: line 13: ldconfig: command not found
Using Pixeluvo Shipped Qt Libraries
Auto configuration failed
140329841391552:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
140329841391552:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140329841391552:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140329841391552:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf
Code: Select all
user@host$ OPENSSL_CONF=/etc/ssl /usr/bin/pixeluvo
/usr/bin/pixeluvo: line 13: ldconfig: command not found
Using Pixeluvo Shipped Qt Libraries
### OPT ###
- For some reason ownership of my /opt directory had been changed to the active user after upgrading. I had to execute "chown -R root.root /opt"
### XFCE NOTIFICATIONS ###
- Notifications in XFCE were broken. This happens if you also have KDE installed. The workaround is:
Code: Select all
mv -f /usr/share/dbus-1/services/org.kde.plasma.Notifications.service
/usr/share/dbus-1/services/org.kde.plasma.Notifications.service.000
### OBSOLETE PACKAGES ###
- Removed packages: Some packages that I used frequently were obsoleted:
Phatch: This was a must-have, but I have now found an even better solution, XnConvert. I have to add an Ubuntu PPA for this however.
pyRenamer: This is the best mass file renaming tool available and it's obsoleted in Buster! I tried GPRename (no recursion) and KRename (convoluted gui, have to save/load renaming preferences every time, recursion only available from file selection dialog). The strange thing is that when you add the oldstable/stretch repo and get pyrenamer via apt-pinning, it just works allright. It beats me why this package has been obsoleted.
gui-apt-key: In Stretch, the description of apt keys was broken when viewed with software properties. In Buster this is fixed so gui-apt-key is no longer needed.
chromium-widevine: The chromium-widevine DRM package to view Netflix is no longer available. Chromium now downloads the plugin the first time it is needed. However it downloads a version that did not work. I fixed this by installing google-chrome-stable and copying over /opt/google/chrome/libwidevinecdm.so to /usr/lib/chromium/libwidevinecdm.so. Of course you could also symlink it if you prefer that.
https://gist.github.com/ruario/3c873d43 ... 4d29fe37f1
### FIREFOX ###
- There is again no Firefox Quantum available in Buster, unbelievable. You are stuck with Firefox ESR. To add Quantum I added the repo from SolydXK.
### LOCAL GUI PROGRAMS AS ROOT ###
- gksu/gksudo has been deprecated. The recommended method to run GUI programs with root is now to run them with "pkexec programname" (policykit). However, some programs do not run as root because they are not shipped wit a *.policy file in /usr/share/polkit-1/actions. You will have to create such a file yourself if the application does not start as root, for example for gnome-logs and lshw-gtk:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>Debian Stable</vendor>
<vendor_url>https://wiki.debian.org/DebianStable</vendor_url>
<icon_name>debian-swirl</icon_name>
<action id="missing.actions.debian-stable-gnome-logs">
<description>Run Gnome Logs as root</description>
<message>Authentication is required to run Gnome Logs as root</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gnome-logs</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
<action id="missing.actions.debian-stable-lshw-gtk">
<description>Run LSHW GTK as root</description>
<message>Authentication is required to run LSHW GTK as root</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/lshw-gtk</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
- gdebi has a documented bug where it just crashes when clicking the install/reinstall button. This happens after you right click a file to install from a graphical filemanager.
### GIMP ###
- GIMP 2.10 is significantly slower than 2.8. The old 2.8 version worked very well for me. There is no option to roll back to 2.8 anywhere. Even the official GIMP site has no 2.8 debs or AppImage available. There is only a 2.8 Windoze version available, but I'm not gonna run this in Wine.
### KEYBOARD CONFIG ###
- "dpkg-reconfigure keyboard-configuration" has a French (screen 1) and Russian (screen 2) dialog menu.
### TOUCHPAD ###
- The touchpad from the HP Stream laptop worked, but there was no "click on tap". I had to research options and add a file in /etc/X11/xorg.conf.d:
Code: Select all
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
# Enable tapping
Option "Tapping" "on"
# The following options determines how "crisp" a tap must be to be
# considered a real tap. Decrease the value to require a more crisp
# tap. Properly adjusting this parameter can reduce false positives
# when the hands hover over or lightly touch the pad.
# Maximum time (in milliseconds) for detecting a tap.
Option "MaxTapTime" "125"
# Maximum time (in milliseconds) for detecting a double tap.
Option "MaxDoubleTapTime" "300"
EndSection
- Mounting external media happens in /media/username since Stretch. This is quite annoying in Buster because I have an rsnapshot backup script which runs as root and relies on large harddrives being mounted under /media directly. But the updated Rapid Photo Downloader in Buster relies on SD cards being mounted under /media/username or else the photos on my SD cards don't even show. I worked around this for now with adding a configuration file in /etc/udev/rules.d:
Code: Select all
# Prevent harddrive mounting in /media/username
# EXTERNAL SATA DRIVES
ENV{ID_ATA}=="1", ENV{ID_BUS}=="ata", ENV{ID_ATA_SATA}=="1", ENV{UDISKS_FILESYSTEM_SHARED}="1"
# MEMORY CARDS
ENV{ID_BUS}=="usb", ENV{ID_USB_DRIVER}=="usb-storage", ENV{UDISKS_FILESYSTEM_SHARED}="0"
- Apt-pinning behaviour seems to have been changed. I edited the /etc/apt/preferences.d/pin-priorities file that I used in stretch to reflect the new repos, but that did not work right. I had to revise every Pin-Priority line to get everything working as it should.
### GUI SHARES ADMIN FOR SAMBA ###
- Samba GUI tool "shares-admin" from package "gnome-system-tools" complains that samba is not installed while it is in fact installed.
### KDE MIMETYPES ###
- Mimetypes in KDE/Plasma were all wrong. When I tried to open desktop folders catfish would open. When I uninstalled catfish, gwenview would open. Fixed now but don't remember how.
### SPELLCHECK ###
- LibreOffice: myspell has been replaced by hunspell.
### KDE CUSTOM MENU ENTRIES ###
- I have a large collection of custom desktop files in /usr/local/share/applications, because the default menus are an unintuitive mess with those weird linux application names like "Gwenview" that no new user seems to be able to remember. My custom entries all show up in XFCE and GNOME. However KDE would not read the custom entries on one desktop, the laptop, and the virtual machine. It did read custom entries on my main desktop however. The thing is that the startkde scripts wrongly sets $XDG_DATA_DIRS to /usr/share:/usr/share:/usr/local/share. That way /usr/share takes precedence over /usr/local/share and so the custom menu entries don't show. But why was my main desktop showing the custom versions correctly? It seems that another thing went wrong, during the upgrade of snapd. The snapd package from Stretch has an /etc/X11/Xsession.d/65snappy configuration file which unintentionally corrects the $XDG_DATA_DIRS path for KDE. This 65snappy file was not removed during the upgrade!
I fixed the KDE custom menus by adding a file in /etc/X11/Xsession.d:
Code: Select all
BASESTARTUP=$(basename "$STARTUP" | cut -d\ -f1)
if [ "$BASESTARTUP" = x-session-manager ]; then
BASESTARTUP=$(basename $(readlink /etc/alternatives/x-session-manager))
fi
case "$BASESTARTUP" in
startkde)
if [ -z "$XDG_DATA_DIRS" ]; then
XDG_DATA_DIRS=/usr/local/share/:/usr/share/
else
XDG_DATA_DIRS=/usr/local/share:"$XDG_DATA_DIRS"
fi
export XDG_DATA_DIRS
;;
esac
lsb_release -r no longer shows the minor OS version. Instead of 10.1, I get 10.
### INXI ###
INXI has been updated to work with Perl. I used INXI in a shell script to get some temperatures. But bunning INXI from a bash script will fill up your memory very fast and when it is full the system starts swapping like crazy and the computer will lock up! Try it with:
Code: Select all
#!/bin/bash
inxi
So now, in the end everything seems to work allright on Buster, but this is the worst upgrade I ever had to do. Even in my Mandriva days +10 years ago I upgraded every half a year almost without a hitch. I can't say that Buster gives me the feel of a stable operating system. Next time I'll wait several point releases before upgrading Debian, that's for sure.