Folgender procmail Fehler
procmail: Opening "/var/spool/mail/root"
procmail: Acquiring kernel-lock
procmail: Error while writing to "/var/spool/mail/root"
procmail: Truncated file to former size
in Zusammenhang mit großen mboxfiles, kann auf die Größenbeschränkung von mbox Files durch Postfix in der main.cf hinweisen.
Um das Problem zu beheben ist der Wert
mailbox_size_limit = 50000000
in der Datei “/etc/postfix/main.cf” auf einen großzügigeren Wert zu ändern und Postfix per reload die Konfiguration neu laden zu lassen.
Mit Apache 2 hat sich die authentication module Architektur geändert. Dadurch wird bei Benutzung von mod_auth_mysql folgender Parameter nötig:
AuthBasicAuthoritative Off
Ansonsten gibt es folgenden Fehler im error_log:
[Thu Jul 26 11:53:39 2007] [error] Internal error: pcfg_openfile() called with NULL filename
[Thu Jul 26 11:53:39 2007] [error] [client xxxxxxxxxxxx] (9)Bad file descriptor: Could not open password file: (null)
Das Generieren des “Authentication Digest” kann durch die Installation der “rng-tools” deutlich beschleunigt werden. Grund dafür sind die “entropy” Quellen des Kernels:
cat /proc/sys/kernel/random/entropy_avail
rng-tools macht in dem Fall nichts anderes als /dev/random aus /dev/urandom zu versorgen.
Installation unter gentoo erfolgt folgendermaßen:
# emerge -va rng-tools
# rc-update add rngd default && /etc/init.d/rngd start
– Alternativ kann die “APR” Library mit dem “urandom” USE Flag gebaut werden.
Nähere Informationen hier: http://www.raptorized.com/?p=70
Syslog-NG hat für unix logging sources die Möglichkeit eine maximale Anzahl an Prozessen welche auf eine FIFO zugreifen können implementiert. Der Standardwert dafür ist “10”.
Folglich kann folgender Fehler entstehen, sofern mehr Ressourcen oder Dienste auf (z.Bsp.) “/dev/log” zugreifen:
syslog-ng[3606]: Number of allowed concurrent connections exceeded; num='10', max='10'
Folgendermaßen ist der Wert einstellbar (unter gentoo /etc/syslog-ng/syslog-ng.conf):
source src { unix-stream("/dev/log" max-connections(20)); internal(); pipe("/proc/kmsg"); };
Nach einem syslog-ng restart läuft das Ganze dann wieder.
Beim erstellen eines ebuild in gentoo ist auf die korrekte Versionskennzeichnung im Dateinamen zu achten:
<name>-<version>.<release>.ebuild
Insofern dieses Schema nicht beachtet wird erscheint folgender Fehler beim Erzeugen des digest für das ebuild:
!!! app-admin/hpasm-7.7.0-115 does not follow correct package syntax.
Das ebuild muss demnach folgenden Namen haben:
hpasm-7.7.0.115.ebuild
MySQL und Charsets in Verbindung mit PHP ist meistens ein echter Graus. Vor allem wenn man die alte mysql_* Extension von PHP nutzt. Um das Charset dort zu ändern genügt der cfg wert “default_charset” in PHP nicht. Um beispielsweise auf latin1 umzuschalten ist folgender Parameter in der Config zu setzen:
mysql.connect_charset = latin1
beim compile eines neuen Kernels eines bestehenden Systems (32bit) über die gentoo-live CD (bei einem hardware update) kann folgender Fehler erfolgen:
arch/x86_64/kernel/asm-offsets.c:1: error: code model 'kernel' not supported in the 32 bit mode
Das Problem liegt scheinbar an der x64 Umgebung und kann folgendermaßen umgangen werden:
linux32 chroot /mnt/gentoo /bin/bash
Kurze Erklärung zu “linux32”:
the linux32 tools allows 64bit systems with support for 32 bit applications to set the personality to the 32 bit native type.
Beim Upgrade auf den Apache 2.2 habe ich feststellen m�ssen, dass die SVN und Authentication Konfiguration so nicht mehr funktioniert. Authentication wurde stets mit dem eher unscheinbaren Satz:
configuration error: couldn't check access. No groups file?: ...
im ErrorLog und auf User Seite mit einem ERRCODE 500 beantwortet. Der Grund dafür ist das neue Auth-Modul Konzept des Apache – die neuen Module definieren eine Art Abfolge, welche irgendwann den Nutzer authentifzierung. Sollte keines der Module eine Authentifizierung ermöglichen (durch Fehlkonfiguration) wird dieser Fehler angezeigt. Folgende Module sollten geladen werden, um eine reine Text Authentifizierung zu konfigurieren:
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_user_module modules/mod_authz_user.so
Danach kann wie gewohnt authentifiziert werden.
Tar funktioniert auch über SSH:
ssh tar cvlf - /source-dir | (cd /target-dir; tar xf - )
Sollte ssh nicht zur Verfügung stehen, so kann man das Ganze auch über Netcat abwickeln:
Source Maschine
tar czSp -l -numeric-owner -f - /source-dir | nc -l -p NUMERIC-PORT -q 1
Target Maschine
nc REMOTE-MACHINE REMOTE-NUMERIC-PORT | tar xzSpv
Syslog-NG ist eine deutliche Verbesserung des alten Syslog daemons. Die Syntax und das Konzept ist jedoch nicht auf Anhieb klar.
Auf folgender Seite ist das Ganze gut dokumentiert und mit Beispielen hinterlegt:
http://www.reintechnisch.de/Inhalt/computer/admin/syslog-ng.html
Nach kurzer Zeit entstand für mich folgende Config:
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.conf.gentoo,v 1.5 2005/05/12 05:46:10 mr_bones_ Exp $
#
# Syslog-ng default configuration file for Gentoo Linux
# contributed by Michael Sterrett
options {
chain_hostnames(off);
sync(0);
# The default action of syslog-ng 1.6.0 is to log a STATS line
# to the file every 10 minutes. That’s pretty ugly after a while.
# Change it to every 12 hours so you get a nice daily update of
# how many messages syslog-ng missed (0).
stats(43200);
};
source src { unix-stream(“/dev/log”); internal(); pipe(“/proc/kmsg”); };
destination messages { file(“/var/log/messages”); };
destination d_mail { file(“/var/log/mail”); };
# By default messages are logged to tty12…
destination console_all { file(“/dev/tty12”); };
# …if you intend to use /dev/console for programs like xconsole
# you can comment out the destination line above that references /dev/tty12
# and uncomment the line below.
#destination console_all { file(“/dev/console”); };
filter f_mail { facility(mail); };
filter fr_mail { not facility(mail); };
# /var/log/messages
# – all we do not log elsewhere
log { source(src);
destination(messages);
filter(fr_mail);
};
# /var/log/mail
# – all mail shit
log { source(src); filter(f_mail); destination(d_mail); };
# console
# – the rest
log { source(src); destination(console_all); };