Upgrade 4.1 -> 4.2

update

#1

Ich hab ein etwas älteres System “entdeckt” und möchte es auf 4.2 bringen. Wenn ich das versuche bekomme ich das unterstehende. Dort sagt er mit dass ich die “issues fixen soll”. Aus der Meldung kann ich aber keine “issues” herauslesen. Gut, es gibt ein paar “warnings”, aber da komme ich auch nicht weiter. Weiss jemand Rat?

Gekürzt, komplett hier: https://pastebin.com/nvdh9Vim

21.05.18 10:49:15.644 DEBUG_INIT
**** Starting univention-updater with parameter=['/usr/share/univention-updater/univention-updater', 'net', '--updateto', '4.2-0', '--ignoressh', '--ignoreterm']
Version=4.1
Patchlevel=5
starting net mode
--->DBG:update_available(mode=net, cdrom_mount_point=/cdrom, iso=None)
Checking network repository
Update to = 4.2-0
**** Downloading scripts at Mon May 21 10:49:17 2018
**** Starting actual update at Mon May 21 10:49:19 2018
Running preup.sh script
Mo 21. Mai 10:49:19 CEST 2018

HINT:
Please check the release notes carefully BEFORE updating to UCS 4.2-0:
English version: https://docs.software-univention.de/release-notes-4.2-0-en.html
German version: https://docs.software-univention.de/release-notes-4.2-0-de.html

Please also consider documents of following release updates and
3rd party components.

Do you want to continue [Y/n]?
Trying to detect if migration to dependency based boot will fail:
WARNING: Removed, but configured, package console-tools left /etc/init.d/console-screen.sh behind
WARNING: Removed, but configured, package portmap left /etc/init.d/portmap behind
insserv: remove service /etc/init.d/../rcS.d/S20module-init-tools
insserv: warning: script 'klogd' missing LSB tags and overrides
insserv: remove service /etc/init.d/../rc0.d/S30urandom
insserv: enable service ../init.d/urandom -> /etc/init.d/../rc0.d/S12urandom
insserv: remove service /etc/init.d/../rc0.d/S40umountfs
insserv: enable service ../init.d/umountfs -> /etc/init.d/../rc0.d/S01umountfs
...
...
...
insserv: remove service /etc/init.d/../rcS.d/S10checkroot.sh
insserv: enable service ../init.d/checkroot.sh -> /etc/init.d/../rcS.d/S07checkroot.sh
insserv: remove service /etc/init.d/../rcS.d/S02hostname.sh
insserv: enable service ../init.d/hostname.sh -> /etc/init.d/../rcS.d/S06hostname.sh
insserv: remove service /etc/init.d/../rcS.d/S05bootlogd
insserv: enable service ../init.d/bootlogd -> /etc/init.d/../rcS.d/S04bootlogd
insserv: remove service /etc/init.d/../rcS.d/S30procps
insserv: enable service ../init.d/procps -> /etc/init.d/../rcS.d/S12procps
insserv: remove service /etc/init.d/../rcS.d/S12mtab.sh
insserv: enable service ../init.d/mtab.sh -> /etc/init.d/../rcS.d/S08mtab.sh
insserv: remove service /etc/init.d/../rcS.d/S13checkroot-bootclean.sh
insserv: enable service ../init.d/checkroot-bootclean.sh -> /etc/init.d/../rcS.d/S08checkroot-bootclean.sh
insserv: remove service /etc/init.d/../rcS.d/S55bootmisc.sh
insserv: enable service ../init.d/bootmisc.sh -> /etc/init.d/../rcS.d/S21bootmisc.sh
insserv: remove service /etc/init.d/../rcS.d/S99stop-bootlogd-single
insserv: enable service ../init.d/stop-bootlogd-single -> /etc/init.d/../rcS.d/S22stop-bootlogd-single
insserv: remove service /etc/init.d/../rcS.d/S36udev-mtab
insserv: enable service ../init.d/udev-mtab -> /etc/init.d/../rcS.d/S12udev-mtab
insserv: remove service /etc/init.d/../rcS.d/S70x11-common
insserv: enable service ../init.d/x11-common -> /etc/init.d/../rcS.d/S21x11-common
insserv: remove service /etc/init.d/../rcS.d/S70screen-cleanup
insserv: enable service ../init.d/screen-cleanup -> /etc/init.d/../rcS.d/S21screen-cleanup
insserv: remove service /etc/init.d/../rcS.d/S20kmod
insserv: enable service ../init.d/kmod -> /etc/init.d/../rcS.d/S08kmod
insserv: remove service /etc/init.d/../rcS.d/S37plymouth-log
insserv: enable service ../init.d/plymouth-log -> /etc/init.d/../rcS.d/S21plymouth-log
insserv: remove service /etc/init.d/../rcS.d/S48kbd
insserv: enable service ../init.d/kbd -> /etc/init.d/../rcS.d/S20kbd
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
insserv --dryrun: OK
Aborting, because the update would likely fail.
Please check and fix the aforementioned issues.
(To ignore, set the UCRV variable update42/ignore_insserv to yes)
Error: Update aborted by pre-update script of release 4.2-0

#2

Huhu,

Sie sollten prüfen, ob es im Verzeichnis /etc/init.d Dateien mit Endungen wie .dpkg-dist, .dpkg-old gibt. Diese gilt es, richtig zu behandeln, bevor das Update durchlaufen kann. Hintergrund ist, dass durch die Umstellung auf systemd vorhandene SysV-Init-Scripte umgestellt werden müssen, und das klappt nicht, wenn alte Scripte vorhanden sind oder solche ohne brauchbare ### BEGIN INIT INFO-Abschnitte.

Ich habe für das Behandeln von dpkg-dist/dpkg-old-Dateien ein Script namens dpkgdiff entwickelt (genauer: ich habe das pacdiff von Arch Linux als Basis genommen und es für Debian-basierte Systeme angepasst). Das durchsucht komplett /etc nach solchen Dateien (ein paar andere Dateinamenserweiterungen werden ebenfalls gefunden) und bietet für jede verschiedene Aktionen an: entfernen, vorhandene Datei überschreiben, ignorieren und die wichtigste: vimdiff mit den beiden Dateien starten, damit die Administratorin beurteilen kann, was damit zu tun ist.

Ebenfalls sinnvoll ist, all diejenigen Symlinks in /etc/init.d zu löschen, die auf nicht mehr existierende Dateien verweisen. Diese kann man mit folgendem Befehl finden: find /etc/init.d -type l -xtype l

Gruß
mosu


#3

Danke so weit. Hatte heute wieder mal ein Wartungsfenster und habe das alles gemacht, leider ohne Erfolg. Der Fehler bleibt der selbe. Ideen?


#4

For me this two lines seem not be standard - but don’t know what that packages are for

rg
Christian


#5

Hallo maheschko,

falls Du ein Image deines Servers hast und du ihn jederzeit bei fehlerhaftem UpDate wieder zurücksetzen kannst, würde ich einfach diese Variable setzen:

To ignore, set the UCRV variable update42/ignore_insserv to yes

Den gleichen Fehler hatte ich bei mir auch schon mehrmals und ein Setzen dieser Variable war die Lösung.
Wahrscheinlich hatte ich in grauer Vorzeit auf den Server irgendwelche Apps mal installiert und dann deinstalliert und bei der Deinstallation sind Reste übrig geblieben.

hth,
O. Bertgen


#6

Ist eine VM und ich hab Backups und kann Snapshots machen. Ich probiere das im nächsten Wartungsfenster aus.


#7

Würde das Setzen dieser Variable über die Console mit root-Rechten machen:

ucr set update42/ignore_insserv=‘yes’

Über das Webinterface hat das damals bei mir nicht funktioniert.


#8

Huhu,

Zusätzlich zur bereits erwähnten Behandlung von .dpkg-dist-Dateien und Verwandten, sollte man generell vor einem großen Update (und 4.1 auf 4.2 ist das Paradebeispiel) alle Pakete im Status “removed, configured” vollständig entfernt werden[1]. Man bekommt all diese Pakete angezeigt, indem man nach dem Status rc filtert:

dpkg -l | grep '^rc'

Wenn man sich sicher ist, davon keine Konfigurationsdateien mehr zu benötigen, dann entfernen:

dpkg -l | awk '/^rc/ { print $2 }' | xargs -r -d'\n' dpkg --purge

Vom Setzen der update42/ignore_insserv rate ich eher ab, denn es kann dann gut sein, dass zwar der Check vor dem Update nicht mehr meckert, das Update aber mittendrin abbricht, wenn eben noch veraltete Dateien in /etc/init.d herumliegen. Die UCR-Variable verhindert eben nur die Vorabprüfung, nicht aber, dass der eigentliche Umstellvorgang durchgeführt wird.

Gruß
mosu

[1] Status “removed, configured” bedeutet, dass die Programmdateien bereits entfernt wurden, die Konfigurationsdateien aber noch existieren. Dazu gehören teilweise auch Dateien in z.B. /etc/init.d. Mehr Infos zu diesem Verhalten gibt’s im allgemeinen Debian-Admin-Handbuch.


#9

Ich habe mal wieder ein Wartungsfenster. Nach dem ich die Dateien

/etc/init.d/portmap
/etc/init.d/console-screen.sh

Weggeschoben habe (“purge” ging nicht) und dann noch in / und /var für genügend Platz gesorgt habe läuft jetzt das Upgrade … danke für die Tips so weit.


#10

War mal wieder nix. Update läuft zunächst, dann aber:

2018-06-23 13:24:29.290262257+02:00 (in joinscript_init)
Joinscript 03univention-directory-listener.inst finished with exitcode 1
Stopping Univention Directory Listener Daemon: univention-directory-listener
23.06.18 13:24:38.949 DEBUG_INIT
23.06.18 13:24:38.949 LISTENER ( ERROR ) : Could not get lock for database [/var/lib/univention-directory-listener/cache.db.lock]; Is another listener processs running?

ERROR: univention-directory-listener-convert failed
insgesamt 2524
drwxr-xr-x 6 listener nogroup 4096 Jun 23 13:24 .
drwxr-xr-x 71 root root 4096 Jun 23 13:19 ..
-rw------- 1 listener nogroup 3184 Jun 23 13:24 .bashrc
drwx------ 2 listener root 6 Jun 23 13:24 cache
-rw------- 1 listener nogroup 2551808 Jun 14 09:20 cache.db
-rw-r--r-- 1 listener nogroup 0 Aug 26 2013 cache.db.lock
drwx------ 2 listener nogroup 4096 Mai 21 10:38 handlers
-rw-r--r-- 1 listener nogroup 4 Jun 17 06:28 notifier_id
-rw------- 1 listener nogroup 675 Jun 23 13:24 .profile
drwxr-xr-x 2 listener nogroup 29 Jun 23 13:24 .univention-skel
-rw------- 1 listener nogroup 0 Jun 23 13:24 .univention-skel.lock
drwx------ 14 listener nogroup 4096 Jun 23 13:24 windows-profiles
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
univentio 25765 listener 3uW REG 253,2 0 42524 /var/lib/univention-directory-listener/cache.db.lock
univentio 25765 listener 6u REG 253,2 2551808 42525 /var/lib/univention-directory-listener/cache.db
Starting Univention Directory Listener Daemon: univention-directory-listener.
dpkg: Fehler beim Bearbeiten des Paketes univention-directory-listener (--configure):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von univention-ssl:
univention-ssl hängt ab von univention-directory-listener; aber:
Paket univention-directory-listener ist noch nicht konfiguriert.

dpkg: Fehler beim Bearbeiten des Paketes univention-ssl (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
Trigger für libc-bin (2.19-18+deb8u7) werden verarbeitet ...
Trigger für python-support (1.0.15.18.201403132013) werden verarbeitet ...
Trigger für systemd (215-17+deb8u5A~4.2.0.201701111554) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
univention-directory-listener
univention-ssl
E: Sub-process /usr/bin/dpkg returned an error code (1)
Error: Failed to execute "apt-get -o DPkg::Options::=--force-confold -o DPkg::Options::=--force-overwrite -o DPkg::Options::=--force-overwrite-dir --trivial-only=no --assume-yes --quiet=1 -u dist-upgrade"

#11

Ich habe beschlossen den Server neu zu machen. Mir reicht es jetzt. So viel ist da nicht konfiguriert, so, dass ich das nicht von Hand nachziehen könnte.