Software Monitor

german

#1

Hallo,

öffne ich den Software Monitor, erhalte ich folgende Fehlermeldung:

Ein Fehler ist aufgetreten Das Laden der Systemrollen und Systemversionen von der Univention Paketstatus-Datenbank ist fehlgeschlagen. Bitte überprüfen Sie Ihre Installation von univention-pkgdb und rufen "univention-pkgdb-check" und "univention-pkgdb-scan" auf. Ok

postgres@mastersrv:/root$ dpkg -l | grep univention-pkgdb ii python-univention-pkgdb 4.0.4-4.109.201103230933 UCS - PkgDB ii univention-pkgdb 4.0.4-4.109.201103230933 UCS - PkgDB ii univention-pkgdb-tools 4.0.4-4.109.201103230933 UCS - PkgDB-Tools

root@mastersrv:~# univention-pkgdb-check check the postgres installation, the command 'python2.4 /usr/share/pyshared/univention/pkgdb.py --test-superuser' failed root@mastersrv:~# univention-pkgdb-scan PKGDB: cannot create a handle to the database pkgdb in mastersrv.siedl.local

Datenbank selber existiert, sowie auch Tabellen:

[code]root@mastersrv:~# su postgres
postgres@mastersrv:/root$ psql
Dies ist psql 8.3.14, das interaktive PostgreSQL-Terminal.

Geben Sie ein: \copyright für Urheberrechtsinformationen
\h für Hilfe über SQL-Anweisungen
? für Hilfe über interne Anweisungen
\g oder Semikolon, um eine Anfrage auszuführen
\q um zu beenden

postgres=# \l
Liste der Datenbanken
Name | Eigentümer | Kodierung
-----------±-----------±----------
cwldaten | meso | SQL_ASCII
cwlsystem | meso | SQL_ASCII
dvsdb | postgres | UTF8
pkgdb | postgres | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(7 Zeilen)

postgres=# \c pkgdb
Sie sind jetzt verbunden mit der Datenbank »pkgdb«.
pkgdb=# SELECT table_name FROM information_schema.tables
Ungültige Anweisung . Versuchen Sie ? für Hilfe.
pkgdb-# WHERE table_schema = ‘public’;
table_name

packages_on_systems
packages
systems
(3 Zeilen)

pkgdb=# \q[/code]

Woran kanns liegen??

lG


#2

Hallo,

Die Meldung “check the postgres installation, the command ‘python2.4 /usr/share/pyshared/univention/pkgdb.py --test-superuser’ failed” deutet daraufhin, dass es Probleme bei der Authentifizierung gibt.
Könnten Sie die Authentifizierung mit dem Benutzer pkgdbu einmal gegen die Datenbank testen?

psql pkgdb -U pkgdbu -h localhost

Das erwartete Passwort finden Sie in der Datei “/etc/postgresql/pkgdb.secret”.

Sollte die Authentifizierung auf diesem Weg nicht funktionieren, führen Sie bitte folgenden Befehl aus, um das Passwort zu setzen:

su - postgres -c "psql -c \"ALTER USER pkgdbu WITH PASSWORD '`cat /etc/postgresql/pkgdb.secret`';\" template1"

Desweiteren könnten Sie einmal die Berechtigungen auf die Passwort-Datei prüfen:

ls -la /etc/postgresql/pkgdb.secret

Die Datei sollte dem Benutzer postgres und der Gruppe www-data gehören - Benutzer sowie Gruppe sollten Leserechte haben.

-r--r----- 1 postgres www-data 17  1. Feb 21:23 /etc/postgresql/pkgdb.secret

Darüberhinaus wäre es gut, wenn Sie uns folgende Log-Dateien anfügen könnten um näher untersuchen zu können, wie es zu diesem Zustand gekommen ist:

/var/log/postgresql/postgresql-8.3-main.log /var/log/univention/pkgdb.log /var/log/dpkg.log

Mit freundlichen Grüßen,
Tim Petersen


#3

Hallo,

wohl hat der Benutzer pkgdbg nicht existiert?!

Habe dieses nun angelegt, und Rechte auf die Datenbank, sowie Tabelle geben.

Der Befehl “univention-pkgdb-check” wird nun auch ohne Fehler ausgeführt, aber der scan Befehl liefert noch folgenden Fehler:

[quote]root@mastersrv:~# univention-pkgdb-scan
PKGDB: cannot create a handle to the database pkgdb in mastersrv.siedl.local[/quote]

lG


#4

Hallo,

Ich vermute, Sie meinen an dieser Stelle den Benutzer “pkgdbu”.
Wie genau haben Sie den Benutzer angelegt?

Können Sie uns zur weiteren Analyse die erwähnten Log-Dateien zur Verfügung stellen?
Gern können Sie die Dateien selbstverständlich auch an feedback@univention.de senden.

/var/log/postgresql/postgresql-8.3-main.log /var/log/univention/pkgdb.log /var/log/dpkg.log

Mit freundlichen Grüßen,
Tim Petersen


#5

Log- Dateien folgen morgen.

Angelegt habe ich es so:

[code]root@mastersrv:~# su postgres
postgres@mastersrv:/root$ psql
Dies ist psql 8.3.14, das interaktive PostgreSQL-Terminal.

Geben Sie ein: \copyright für Urheberrechtsinformationen
\h für Hilfe über SQL-Anweisungen
? für Hilfe über interne Anweisungen
\g oder Semikolon, um eine Anfrage auszuführen
\q um zu beenden

postgres-# \l
Liste der Datenbanken
Name | Eigentümer | Kodierung
-----------±-----------±----------
cwldaten | meso | SQL_ASCII
cwlsystem | meso | SQL_ASCII
dvsdb | postgres | UTF8
pkgdb | postgres | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(7 Zeilen)

postgres=# CREATE USER pkgdbu WITH ENCRYPTED PASSWORD ‘xxxxxxxxxxxxxxxxxxx’;
CREATE ROLE

postgres=# ALTER DATABASE postgres OWNER TO pkgdbu;
ALTER DATABASE

pkgdb=# GRANT ALL ON packages_on_systems TO pkgdbu;
GRANT
pkgdb=# GRANT ALL ON packages TO pkgdbu;
GRANT
pkgdb=# GRANT ALL ON systems TO pkgdbu;
GRANT[/code]

lG


#6

So wie ich sehe schlägt der Auth an der Datenbank fehl:

[quote]2012-02-02 17:01:11 CET [6269] LOG: connection received: host=192.168.168.1 port=39745
2012-02-02 17:01:11 CET [6269] FATAL: password authentication failed for user “mastersrv$”[/quote]

Kann ich das Paketsystem dazu bringen, mir den Benutzer neu anzulegen??


#7

Hallo,

sie haben den PostgreSQL-Benutzer pkgdbu zum Besitzer der Datenbank postgres gemacht - er müsste stattdessen der Besitzer der Datenbank pkgdb sein (Die Datenbank postgres gehört per default dem Benutzer postgres).
Sie sollten dies gegebenfalls korrigieren, da ich nicht mit Sicherheit sagen kann, ob so mit ungewünschten Nebeneffekten zu rechnen ist.

Desweiteren würde ich mir gern einmal die vollständigen Log-Dateien anschauen - der von Ihnen zitierte Auszug ist so leider ohne Kontext schwer zu beurteilen.
Wie bereits erwähnt, können Sie uns die Log-Dateien selbstverständlich auch gern an feedback@univention.de senden.

Mit freundlichen Grüßen,
Tim Petersen