Debian: man-db Crontab Error

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
Post Reply
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Debian: man-db Crontab Error

Post by kase »

Ich bekomme täglich eine Mail mit folgendem Inhalt:

run-parts: /etc/cron.daily/man-db exited with return code 2

Ich habe an der Datei noch nie was verändert, weiß nicht mal 100 %, was die macht :D

Den Crontab gibts seit anfang an, hab Debian noch CaptainCrunchs Howto installiert.

Hier die Datei man-db:

Code: Select all

#!/bin/sh
#
# Last modification: Thu,  5 Jul 2001 03:32:35 +0100
# man-db cron daily

# expunge old catman pages which have not been read in a week
if [ -d /var/cache/man ]; then
  cd /
  start-stop-daemon --start --pidfile /dev/null --startas /bin/sh 
        --oknodo --chuid man -- -c 
        "find /var/cache/man -type f -name '*.gz' -atime +6 -print0 | 
         xargs -r0 rm -f"
fi

# regenerate man database
if [ -x /usr/bin/mandb ]; then
    # --pidfile /dev/null so it always starts; mandb isn't really a daemon,
    # but we want to start it like one.
    start-stop-daemon --start --pidfile /dev/null 
                      --startas /usr/lib/man-db/mandb --oknodo --chuid man 
                      -- --no-purge >/dev/null 2>/dev/null
fi
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Debian: man-db Crontab Error

Post by captaincrunch »

Ich habe an der Datei noch nie was verändert, weiß nicht mal 100 %, was die macht
Ist ein Cronjob, der die Datenbank der man-Pages auf dem laufenden hält.

Sind denn die angegebenen Pfade und Dateien (/var/cache/man und /usr/bin/mandb) vorhanden ? Hast du ein par Sachen mal von Hand ausgeführt ?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: Debian: man-db Crontab Error

Post by kase »

# start-stop-daemon --start --pidfile /dev/null --startas /bin/sh
> --oknodo --chuid man -- -c
> "find /var/cache/man -type f -name '*.gz' -atime +6 -print0 |
> xargs -r0 rm -f"

Keine Ausgabe !

# start-stop-daemon --start --pidfile /dev/null
> --startas /usr/lib/man-db/mandb --oknodo --chuid man
> -- --no-purge
Processing manual pages under /usr/share/man...
fopen: No such file or directory
Updating index cache for path `/usr/share/man'. Wait...mandb: can't create a temporary filename: Permission denied

Nur so 100 % mir was sagen, tut das mit auch nicht...

Vor allem das Permission denied finde ich komisch, wurde als root ausgeführt.

/var/cache/man/ existiert und /usr/bin/mandb auch.

Edit: /usr/share/man ist auch vorhanden !
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: Debian: man-db Crontab Error

Post by kase »

ok, bin wieder etwas weiter...

Der konnte jede Menge Dateien nicht erstellen, weil irgendwie die Rechte gefehlt haben. (Obwohl überall die Rechte man:root gesetzt warn.)

Hab also die chuid=root gemacht und 2-3 Mal ausgeführt, als root kommen jetzt auch keinerlei Fehler mehr.

Nur als User man kann er irgendwo keine Temp Dateien erstellen, nur leider weiß ich nicht, wo er die versucht zu erstellen :(

Die Ausgabe als Root:

Code: Select all

# ./man-db
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
Checking for stray cats under /usr/share/man...
Checking for stray cats under /var/cache/man...
Purging old database entries in /usr/local/man...
Processing manual pages under /usr/local/man...
Checking for stray cats under /usr/local/man...
Checking for stray cats under /var/cache/man/oldlocal...
Purging old database entries in /usr/X11R6/man...
Processing manual pages under /usr/X11R6/man...
Checking for stray cats under /usr/X11R6/man...
Checking for stray cats under /var/cache/man/X11R6...
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
Die Ausgabe als man:

Code: Select all

# ./man-db
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
mandb: warning: can't create temp file (null): Permission denied
Purging old database entries in /usr/local/man...
Processing manual pages under /usr/local/man...
mandb: warning: can't create temp file (null): Permission denied
Purging old database entries in /usr/X11R6/man...
Processing manual pages under /usr/X11R6/man...
mandb: warning: can't create temp file (null): Permission denied
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
Nur weiß ich wie gesagt jetzt leider nicht, wo er versucht, da eine Temp File zu erstellen.
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: Debian: man-db Crontab Error

Post by kase »

Sorry fürs spammen :D

Es liegt am tmp Verzeichnis :D (Wer hätte das gedacht, dass mandb versucht eine tmp Datei im Verzeichnis tmp zu ertsllen.

Das Tmp Verzeichnis hat die Rechte root:root.
Wenn ich die änder in man:root funktioniert es.

Welche Rechte muss denn das Verzeichnis tmp haben ?

drwxr-xr-x 3 man root 1024 Jan 27 00:46 tmp

bzw

drwxr-xr-x 3 root root 1024 Jan 27 00:46 tmp

ist sicher falsch ?!?!
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: Debian: man-db Crontab Error

Post by kase »

ok, extrem selbst-unterhalting :D :D

Hab die Rechte des Tmp Verzeichnises auf 777 root:root gesetzt, jetzt geht alles wunderbar...

777 fürs Tmp ist doch auch richtig ??

Weil nach CaptainChruchs Debian Script hat das Tmp Verzeichnis die Rechte 755
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Debian: man-db Crontab Error

Post by captaincrunch »

Mir ist mittlerweile auch aufgefallen, dass bei der Installation die falschen Rechte für /tmp gesetzt werden, wobei ich nicht nachvollziehen kann, warum der Installer das nicht mitbekommt.

Ist-Zustand nach der Installation (wie von kase schon gepostet) :
drwxr-xr-x 3 man root 1024 Jan 27 00:46 tmp

Soll :
drwxrwxrwt 4 root root 4096 Jan 27 07:02 /tmp/

Werde ich auf jeden Fall noch schnellstens ändern.

EDIT : Das Script ist jetzt geändert. Danke an kase für den Hinweis.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Debian: man-db Crontab Error

Post by captaincrunch »

An alle, die das Script durchlaufen lassen haben, und auch Probleme mit den Berechtigungen auf /tmp haben :

chmod 1777 /tmp

schafft ganz schnelle Abhilfe.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: Debian: man-db Crontab Error

Post by kase »

ich glaube kaum, dass das hier jemand lesen wird, nach den 5 Seiten Programmcode von mir und dem eher seltenen Problem wird den Thread keiner bis zum Ende lesen :D :D

Die Rechte nach deinem Script warn schon root:root, und nicht man:root, aber halt 755 und nicht 777.

Aber egal, inzwischen sollte alles gehn.
Auch dir THX4Help
Post Reply