Troubleshooting: Fix a broken release update

Problem:

A release update broke

Solution:

1. The first step should always be to have a look in the /var/log/univention/updater.log for obvious reasons - an obvious reason could be no space on target device, for example (df -h):

less /var/log/univention/updater.log

2. Try to configure currently not fully configured packages - first take a look at the status:

dpkg -C

This should point to unconfigured packages - (re-)configure with:

export DEBIAN_FRONTEND=noninteractive
dpkg --configure -a

Sometimes post-scripts of a package configuration fail very specific - you have to take a look to the specific case then - here is an example where dpkg wanted to start winbindd in its configuration script - this failed because winbindd was still (and already) running:

Fehler traten auf beim Bearbeiten von:
winbind
univention-samba
univention-samba-slave-pdc
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@test:\~\# dpkg --configure winbind
winbind (2:3.6.8-1.601.201311261618) wird eingerichtet ...
Starting the Winbind daemon: winbind failed!
invoke-rc.d: initscript winbind, action "start" failed.
dpkg: Fehler beim Bearbeiten von winbind (--configure):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von: winbind
root@test:~# ps -ef | grep -i winbind
root      2862  9272  0 12:29 pts/2    00:00:00 grep -i winbin
root     12865     1  0 08:27 ?        00:00:00 /usr/sbin/winbindd
root     13062 12865  0 08:28 ?        00:00:00 [winbindd] defunct
root     13063 12865  0 08:28 ?        00:00:00 [winbindd] defunct
root     13309 12865  0 08:28 ?        00:00:00 [winbindd] defunct
root     16515 12865  0 08:37 ?        00:00:00 [winbindd] defunct
root     18250 12865 94 08:42 ?        03:32:39 /usr/sbin/winbindd
root@test:~# /etc/init.d/winbind stop
Stopping the Winbind daemon: winbind.

3. Re-run update:

univention-upgrade

4. Activate new sources.list entries - if a major update failed, perhaps you have to specify the old python binary - for example:

python2.6 /usr/sbin/ucr commit /etc/apt/sources.list.d/*
  1. Install missing packages:
apt-get -o DPkg::Options::=--force-confold -o DPkg::Options::=--force-overwrite -o DPkg::Options::=--force-overwrite-dir -f install

The order is not always strict like written above - it is possible and sometimes needed, that some commands have to be executed twice ( because a sepcific other command prepared needed things) - none of these commands should harm the system if entered twice.

Mastodon