I did a diff between the directory contents of the etc directory of the karaf 4.3.1 binary tarball, and the etc directory of the debian package: https://gist.github.com/steinarb/7a8427ac19b355c27598c945b27863f8
One file looked particularily interesting: org.apache.karaf.features.xml which was only in the etc directory of the debian package. And indeed, what the file seems to be doing is blacklist all 4.3.x feature repositories: https://gist.github.com/steinarb/c5041feca83d74f93973debedecfd5f9 So, what I did was: 1. Uninstall karaf ("apt remove karaf") 2. remove the file ("rm /etc/karaf/org.apache.karaf.features.xml") 3. Reinstall karaf 4.3.1 ("apt install karaf") And this time the debian-installed karaf booted normally. So where did org.apache.karaf.features.xml come from? The most obvious answer was that the file was installed by an earlier version of karaf, and not present in karaf 4.3.x, and therefore not overwritten or replaced on an "apt full-upgrade". I uninstalled karaf 4.3.1 and reinstalled karaf 4.2.11 from the debian package and then the org.apache.karaf.features.xml file was back. I think what I will do is to add an org.apache.karaf.features.xml file with empty content to the 4.3.1 debian package, so that the 4.2.11 file will be replaced, and "apt full-upgrade" will result in a working karaf 4.3.1.