So nicht!

Kurz und schmerzlos: so fehlerhaft darf ein OS-Upgrade nicht geschehen!

Kurz und schmerzlos, es war an der Zeit, meinen NUC von Ubuntu 14.04 LTS mal in die Jetztzeit zu hieven. Also brav »apt-get update && apt-get autoremove && apt-get dist-upgrade && do-release-upgrade« gemacht. Daß man mich dann wg. DSA-Key aussperrt, kenne ich ja, also noch vor dem Reboot DSA wieder aktiviert. Und dabei problemlos sshd, über /etc/init.d/ allerdings, restarted. Nach dem Reboot aber:

ssh: connect to host host.doma.in port 22: Connection refused

WTF‽ Diese NUC-Generation/-Ausführung hat kein Remote-Management, und die Kiste steht auch nicht auf meinem Schreibtisch. Sowas ist super uncool und darf einfach nicht passieren!

Also physische Relokation mitten in der Nacht, vielen Dank auch.

Was war also passiert? Die Seuche systemd hat augenscheinlich den Start von sshd torpediert:

root@host:~# grep sshd /var/log/syslog
Apr 12 03:03:26 host systemd-tmpfiles[500]: Unsafe symlinks encountered in /var/run/sshd, refusing.
Apr 12 03:03:26 host systemd-tmpfiles[633]: Unsafe symlinks encountered in /var/run/sshd, refusing.
Apr 12 03:03:36 host sshd[2458]: Missing privilege separation directory: /var/run/sshd
Apr 12 03:03:37 host sshd[2548]: Missing privilege separation directory: /var/run/sshd

Wobei, da ist kein Verzeichnis /var/run/sshd. Ich habe es als root angelegt, den Dienst per systemctl gestartet, lief. Rebootet: lief nimmer. Hals!

Priv-Sep-Kacke deaktiviert, Reboot, tut. Ernsthaft, mit so einer gequirlten Scheiße erzieht man Nutzer dazu, Jahrzehnte alte Software zu nutzen, denn: never change a running system (it WILL break). Und sinnvolle Features zu deaktivieren. Gna. (Allerdings, auch das muß erwähnt werden, ist das das erste Mal, daß das Ubuntu-LTS-Upgrade bei mir so spektakulär ins Klo gegriffen hat. Allein, es darf nie geschehen, sonst fährt man nur alle Pandemie mal – wenn man mal aureichend Zeit hat für esotrisches Debugging – überfällige Upgrades.)

Nachtrag:

root@host:~# do-release-upgrade 
Checking for a new Ubuntu release
Get:1 Upgrade tool signature [819 B]                                                                                                              
Get:2 Upgrade tool [1.242 kB]                                                                                                                     
Fetched 1.243 kB in 0s (0 B/s)                                                                                                                    
authenticate 'bionic.tar.gz' against 'bionic.tar.gz.gpg' 
extracting 'bionic.tar.gz'
/var/run/utmp: No such file or directory

[screen is terminating]
root@host:~# do-release-upgrade 
Traceback (most recent call last):
  File "/usr/bin/do-release-upgrade", line 11, in 
    from UpdateManager.Core.MetaRelease import MetaReleaseCore
  File "/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py", line 25, in 
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in 
    import apt_pkg
ImportError: /usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so: symbol _ZN13debListParser12ParseDependsEPKcS1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RjRKbSB_SB_RKS7_ version APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in 
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in 
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in 
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in 
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in 
    import apt_pkg
ImportError: /usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so: symbol _ZN13debListParser12ParseDependsEPKcS1_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RjRKbSB_SB_RKS7_ version APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference
[…]

Ganz. Großes. Kino. :-(

2 thoughts on “So nicht!

  1. Ich habe mir den do-release-upgrade-Rotz schon vor Jahren abgewöhnt. Schön debian-style manuell die sources.list anpassen und dann:

    apt upgrade -d
    apt full-upgrade -d
    apt upgrade
    apt full-upgrade

    (Vermutlich kann ich den ersten Befehl weglassen. Egal.)

    machen. Ich verpasse dann zwar den süßen Kram, der bei jeder Distribution neu dazu kommt, aber mein System bleibt stabil.

    • Danke!

      Aber letztlich war das war ein guter Hint: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1811580

      Denn:

      root@rincewind:~# ls -lad /
      drwxr-xr-x 25 libvirt-qemu kvm 4096 Apr 12 02:21 /
      root@rincewind:~# chown root:root /

      Statt …

      root@rincewind:~# apt-get -f install
      […]
      Setting up systemd (237-3ubuntu10.39) ...
      Synchronizing state of ondemand.service with SysV service script with /lib/systemd/systemd-sysv-install.
      Executing: /lib/systemd/systemd-sysv-install enable ondemand
      Unsafe symlinks encountered in /var/log/journal, refusing.
      Unsafe symlinks encountered in /var/log/journal, refusing.
      Unsafe symlinks encountered in /var/log/journal, refusing.
      Unsafe symlinks encountered in /var/log/journal, refusing.
      dpkg: error processing package systemd (--configure):
       installed systemd package post-installation script subprocess returned error exit status 1
      Errors were encountered while processing:
       systemd
      E: Sub-process /usr/bin/dpkg returned an error code (1)

      … installiert’s sich nun. Wäre aber schon nett, zielführende Fehlermeldungen zu bekommen statt »Unsafe symlinks encountered«.

Comments are closed.