Update Error 4.2.x to 4.3.x


#1

Hallo Zusammen,
habe ein Problem nach dem Anstoßen eines Updates:

**** Starting univention-updater with parameter=['/usr/share/univention-updater/univention-updater', 'net', '--updateto', '4.3-0', '--ignoressh', '--ignoreterm']
Version=4.2
Patchlevel=4
starting net mode
--->DBG:update_available(mode=net, cdrom_mount_point=/media/cdrom, iso=None)
Checking network repository
Update to = 4.3-0
**** Downloading scripts at Tue Jul 17 09:20:47 2018
**** Starting actual update at Tue Jul 17 09:20:56 2018
Running preup.sh script
Di 17. Jul 09:20:56 CEST 2018

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

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

Do you want to continue [Y/n]?
Custom preupdate script /var/lib/local-preup.sh not found
dpkg: Warnung: Die Anforderung, univention-config-wrapper zu entfernen, wird ignoriert; es ist nicht installiert
Checking for space on /var/cache/apt/archives: OK
Checking for space on /boot: OK
Checking for space on /: OK
WARNING: PostgreSQL-9.1 is no longer supported by UCS-4.3 and must be migrated to
         a newer version of PostgreSQL. See https://help.univention.com/t/8073 for
         more details.
Error: Update aborted by pre-update script of release 4.3-0

Kann mir jemand mit einfach worten erklären was ich tun muss um das das Update durchläuft? Der Beitrag 8073 hat mir auch nicht wirklich anworten gebracht! Danke im Voraus!


#2

Huhu,

hier im Forum gibt es entsprechende Anleitungen, wie man von PostgreSQL 9.1 auf 9.4 und später auf 9.6 aktualisiert. Das Update auf 9.4 und das Entfernen von 9.1 muss vor dem UCS-Update auf 4.3 erfolgen. Das PostgreSQL-Update auf 9.4 sollte danach erfolgen.

Gruß
mosu


#3

Hallo, habe versucht die Anleitung (PostgreSQL 9.1 auf 9.4) umzusetzten. Mír ist nur nicht ganz klar was die beiden Zeilen wirken sollen bzw. was ich eingeben muss:

[ -f /usr/sbin/univention-pkgdb-scan ] && chmod -x /usr/sbin/univention-pkgdb-scan 
[ -f /usr/sbin/univention-pkgdb-scan ] && chmod +x /usr/sbin/univention-pkgdb-scan

Update läuft jetzt weiter, ist aber auch nicht erfolgreich. Springt wieder auf 4.2.x zurück. Danke im Voraus für eine Anregung was ich vergessen oder falsch gemacht habe bzw. was noch zutun ist!**

Das habe ich **umgesetzt**:

Using keyboard-interactive authentication.
Password:
Univention DC Master 4.2-4:

The UCS management system is available at xxxx (192.168.0.3)
You can log into the Univention Management Console - the principal tool to manage
users, groups, etc. - using the "Administrator" account and the password selected
for the root user on the master domain controller.
Last login: Wed May 31 10:50:15 2017
**root@mail:~# service postgreql stop**
**Failed to stop postgreql.service: Unit postgreql.service not loaded.**
**root@mail:~# rm -rf /etc/postgresql/9.4**
**root@mail:~# apt-get install --reinstall postgresql9.4**
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket postgresql9.4 kann nicht gefunden werden.
E: Mittels regulärem Ausdruck »postgresql9.4« konnte kein Paket gefunden werden.
root@mail:~# apt-get install --reinstall postgresql-9.4
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libgsoap-kopano-2-8-43 libkcpyconv0 libkcpydirector0
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  postgresql-client-9.4
Vorgeschlagene Pakete:
  oidentd ident-server locales-all postgresql-doc-9.4
Die folgenden NEUEN Pakete werden installiert:
  postgresql-9.4 postgresql-client-9.4
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 4.789 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 23,1 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Holen: 1 https://updates.software-univention.de/4.2/maintained/ 4.2-4/amd64/ postgresql-client-9.4 9.4.15-0+deb8u1 [1.086 kB]
Holen: 2 https://updates.software-univention.de/4.2/maintained/ 4.2-4/amd64/ postgresql-9.4 9.4.15-0+deb8u1 [3.704 kB]
Es wurden 4.789 kB in 3 s geholt (1.480 kB/s).
Vormals nicht ausgewähltes Paket postgresql-client-9.4 wird gewählt.
(Lese Datenbank ... 154380 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../postgresql-client-9.4_9.4.15-0+deb8u1_amd64.deb ...
Entpacken von postgresql-client-9.4 (9.4.15-0+deb8u1) ...
Vormals nicht ausgewähltes Paket postgresql-9.4 wird gewählt.
Vorbereitung zum Entpacken von .../postgresql-9.4_9.4.15-0+deb8u1_amd64.deb ...
Entpacken von postgresql-9.4 (9.4.15-0+deb8u1) ...
Trigger für postgresql-common (165+deb8u3A~4.2.3.201801251012) werden verarbeitet ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
  de_de
Removing obsolete dictionary files:
postgresql-client-9.4 (9.4.15-0+deb8u1) wird eingerichtet ...
update-alternatives: /usr/share/postgresql/9.4/man/man1/psql.1.gz wird verwendet, um /usr/share/man/man1/psql.1.gz (psql.1.gz) im automatischen Modus bereitzustellen
postgresql-9.4 (9.4.15-0+deb8u1) wird eingerichtet ...
Creating new cluster 9.4/main ...
  config /etc/postgresql/9.4/main
  data   /var/lib/postgresql/9.4/main
  locale de_DE.UTF-8
Flags von /var/lib/postgresql/9.4/main wie folgt gesetzt: -------------e-C
  port   5433
update-alternatives: /usr/share/postgresql/9.4/man/man1/postmaster.1.gz wird verwendet, um /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) im automatischen Modus bereitzustellen
**root@mail:~# pg_dropcluster 9.4 main --stop**
**root@mail:~# service postgresql start**
**root@mail:~# test -e /var/lib/postgresql/9.4/main && mv /var/lib/postgresql/9.4/main /var/lib/postgre**
**root@mail:~# pg_upgradecluster 9.1 main**
Stopping old cluster...
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
  config /etc/postgresql/9.4/main
  data   /var/lib/postgresql/9.4/main
  locale de_DE.UTF-8
Flags von /var/lib/postgresql/9.4/main wie folgt gesetzt: -------------e-C
  port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database pkgdb...
Analyzing database pkgdb...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

  pg_dropcluster 9.1 mainroot@mail:~# ucr commit /etc/postgresql/9.4/main/*
**root@mail:~# chown -R postgres /var/lib/postgresql/9.4**
**root@mail:~# service postgresql restart**
**root@mail:~# pg_dropcluster 9.1 main --stop**
**root@mail:~# apt-get purge postgresql-9.1**

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libgsoap-kopano-2-8-43 libkcpyconv0 libkcpydirector0
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  univention-postgresql-9.4
Die folgenden Pakete werden ENTFERNT:
  postgresql-9.1* univention-postgresql-9.1*
Die folgenden NEUEN Pakete werden installiert:
  univention-postgresql-9.4
0 aktualisiert, 1 neu installiert, 2 zu entfernen und 0 nicht aktualisiert.
Es müssen 15,4 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 17,2 MB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] j
Holen: 1 https://updates.software-univention.de/4.2/maintained/ 4.2-0/all/ univention-postgresql-9.4 9.0.0-4A~4.2.0.201703151958 [15,4 kB]
Es wurden 15,4 kB in 0 s geholt (41,5 kB/s).
Vormals nicht ausgewähltes Paket univention-postgresql-9.4 wird gewählt.
(Lese Datenbank ... 154809 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../univention-postgresql-9.4_9.0.0-4A~4.2.0.201703151958_all.deb ...
Entpacken von univention-postgresql-9.4 (9.0.0-4A~4.2.0.201703151958) ...
Trigger für univention-config (12.0.1-8A~4.2.0.201802061802) werden verarbeitet ...
dpkg-query: Kein Paket gefunden, das auf ldapacl_66univention-appcenter_app.acl passt
dpkg-query: Kein Paket gefunden, das auf xxxx passt
dpkg: univention-postgresql-9.1: Abhängigkeitsprobleme, wird aber wie gefordert dennoch entfernt:
 univention-postgresql hängt ab von univention-postgresql-9.4 | univention-postgresql-9.1; aber:
  Paket univention-postgresql-9.4 ist noch nicht konfiguriert.
  Paket univention-postgresql-9.1 soll entfernt werden.

(Lese Datenbank ... 154806 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von univention-postgresql-9.1 (9.0.0-4A~4.2.0.201703151958) ...
Löschen der Konfigurationsdateien von univention-postgresql-9.1 (9.0.0-4A~4.2.0.201703151958) ...
Entfernen von postgresql-9.1 (9.1.24-0.A~4.2.0.201708211719) ...
Löschen der Konfigurationsdateien von postgresql-9.1 (9.1.24-0.A~4.2.0.201708211719) ...
Dropping cluster main...
warning: corrupted cluster: data directory does not exist
Trigger für postgresql-common (165+deb8u3A~4.2.3.201801251012) werden verarbeitet ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
  de_de
Removing obsolete dictionary files:
univention-postgresql-9.4 (9.0.0-4A~4.2.0.201703151958) wird eingerichtet ...
Multifile: /etc/postgresql/9.4/main/pg_hba.conf
Multifile: /etc/postgresql/9.4/main/pg_ident.conf
File: /etc/postgresql/9.4/main/postgresql.conf
Create security/packetfilter/package/univention-postgresql-9.4/tcp/5432/all
Create security/packetfilter/package/univention-postgresql-9.4/tcp/5432/all/en
File: /etc/security/packetfilter.d/10_univention-firewall_start.sh
File: /etc/security/packetfilter.d/80_univention-firewall_policy.sh
Module: kopano-cfg
Trigger für univention-config (12.0.1-8A~4.2.0.201802061802) werden verarbeitet ...
dpkg-query: Kein Paket gefunden, das auf ldapacl_66univention-appcenter_app.acl passt
dpkg-query: Kein Paket gefunden, das auf xxx passt
root@mail:~#

#4

Huhu,

Die Zeilen exakt 1:1 so eingeben, wie sie da stehen. Die sollen nur dafür sorgen, dass das Paketdatenbank-Scan-Programm während der Umstellung nicht ausgeführt werden kann.

[ -f … ] ist das gleiche wie test -f …, und a && b führt b nur aus, wenn a erfolgreich war. In Summe: wenn es die Datei /usr/sbin/univention-pkgdb-scan gibt, so mache sie nicht mehr ausführbar (erste Zeile) bzw. ausführbar (zweite Zeile).

Der Rest des Upgradelogs sieht doch gut aus. Da sollte nun PostgreSQL 9.4 laufen. Eventuell sind noch Client-Pakete von 9.1 installiert, die man entfernen sollte, siehe Ausgabe von dpkg -l |grep 'postgres.*9\.1'

Gruß
mosu


#5

Hm,
schade, leider hat es mir scheinbar das ganz System zerlegt, da ich mich nicht mehr auf die Webapp anmelden kann, mache jetzt erstmal eine rool back. Info vom System war nachfolgenes:

root@mail:~# dpkg -l |grep 'postgres.*9\.1'
ii  postgresql-client-9.1                               9.1.24-0.A~4.2.0.2017082 

Zusätzlich lief scheinbar jetzt lief noch:

ii  univention-postgresql-9.4                           10.0.1-1A~4.3.0.201802271714                     all          UCS - PostgreSQL 9.4 configuration

Any other idea?


#6

Hey,

Das ist schade, weil man dann nicht mehr herausfinden kann, was genau schief gelaufen ist. Kann nicht mal raten.

Ja, das ist ja Sinn und Zweck der Übung: PostgreSQL auf 9.4 zu aktualisieren, damit UCS aktualisiert werden kann. Wenn die UCS-Aktualisierung dann OK war, dann kann man PostgreSQL noch auf 9.6 aktualisieren (und die Überreste von 9.4 entfernen). Aber das ist halt erst Schritt 3.

Um welche “Webapp” geht es hier denn überhaupt?

Gruß
mosu


#7

Falls es um Kopano geht: Kopano hat gar nichts mit PostgreSQL zu tun; Kopano nutzt ausschließlich MySQL. Wenn Sie sagen wollen, dass nach dem UCS-Update auf 4.3 die Kopano-Webapp nicht mehr läuft, dann ist das ein bekanntes Problem, zu dem es hier zig Forenthreads gibt. Kurzum: es fehlt höchstwahrscheinlich das Paket libapache2-mod-php7.0. Das einfach nachinstallieren, Apache neu starten, dann wird die Kopano Webapp auch wieder unter 4.3 laufen.


#8

FYI: In der neuesten Kopano Version unter 4.3 sollte das behoben worden sein, da das kopano4ucs-webapp Paket jetzt die nötigen Abhängigkeiten mitbringt. Es sollte also reichen unter UCS 4.3 auf Kopano WebApp Version 3.4.17.1613 zu aktualisieren. Falls das in einem Szenario doch nicht klappt würde ich das gerne wissen.


#9

Ich bin gerade beim Kunden drauf — es lag nicht am Kopano/PHP, sondern daran, dass das Update auf 4.3 mittendrin aus mir noch nicht ganz nachvollziehbaren Gründen abgebrochen ist. Ich führe es gerade fort. Das libapache2-mod-php7.0 war aber bereits richtig installiert, insofern war es definitiv nicht das.