Fehler beim Starten von Diensten wie postfix

Nach dem erfolgreichen Updates des Gentoo-Systems werden testweise die wichtigsten Dienste wie apache2, proftpd, mysql, postfix, usw. einmal neugestartet, um die Installation bzw. Upgrades zu überprüfen.

Leider trat nach einem Update und dem Versuch, postfix neuzustarten, folgende Fehlermeldung auf:

# /etc/init.d/postfix restart
 * Caching service dependencies ...
sh: /bin/mktemp: No such file or directory
 * Failed to create temporary cache!
bash: /var/lib/init.d/depcache: No such file or directory
sh: /bin/mktemp: No such file or directory
 * Failed to create temporary cache!
gawk: /lib/rcscripts/awk/gendepends.awk:506: fatal: expression for `>>'
redirection has null string value
 * Failed to cache service dependencies      [ !!]

 * Error running '/sbin/depscan.sh'!
 * Please correct any problems above.

Als nächstes versucht man dementsprechend, mktemp neu zu installieren, was aber nicht funktioniert:

# emerge mktemp
Calculating dependencies... done!
[ebuild  N    ] sys-apps/mktemp-1.5
[blocks B     ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r2)
[blocks B     ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)

Jetzt muss man vorsichtig sein, denn coreutils gehört wie util-linux zu den Systempaketen und enthalten unter anderem wichtige Programme wie mount oder ls. Ohne diese Pakete funktioniert das System erst einmal überhaupt nicht mehr!

Lösung

Seit einer bestimmten Version von coreutils ist mktemp in coreutils enthalten, so dass das Problem folgendermaßen lösen kann:

// Portage aktualisieren
# emerge --sync

// mktemp deinstallieren
# emerge -C mktemp

// coreutils installieren
# emerge coreutils