Archiv 12. Februar 2012

Sonntag, 12. Februar 2012

Den bash Prompt den eigenen Bedürfnissen anpassen

Wegen der im vorgängigen Post erwähnten Anpassung an der /etc/hosts schaute mein Bash Shell Prompt plötzlich folgendermassen aus:

mario@192:/ $

Ich habe mich deshalb daran gemacht, das Prompt meinen eigenen Bedürfnissen anzupassen. Folgendermassen schaut es nun aus:

[mario@192.168.0.102:/] $ 

Die Ausgabe beim root-User sieht identisch aus, ausser dass das $ durch ein # ersetzt wurde und der Prompt in roter Farbe hervorgehoben ist.

Für die Einstellungen des root-Users habe ich /etc/bash.bashrc angepasst:

...#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\\[$(tput setaf 1)\\]\\u@\\H:\\w # \\[$(tput sgr0)\\]"

Für die Einstellungen aller anderen User muss man sich in die /etc/profiles bemühen:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    #PS1='\u@\h:\w\$ '
    PS1="[\\u@\\H:\\w] $ "
  else
    if [ "`id -u`" -eq 0 ]; then
      #PS1='# '
      PS1="[\\u@\\H:\\w] # "
    else
      #PS1='$ '
      PS1="[\\u@\\H:\\w] $ "
    fi
  fi
fi

export PATH

umask 022

Damit dies bei den einzelnen Benutzern auch wirklich so ausschaut, müssen diese in ~/.bashrc und ~/.bash_profile jegliche Definition der PS1-Variable verhindern.

Fazit: Ein riesiges Chaos mit unzähligen Overrides und verschachtelten Abhängigkeiten, welches eines Linux-Betriebssystems im Grunde unwürdig ist.

Tags: ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 12. Februar 2012

Apache kann den FQDN des Servers nicht festlegen

Seit Jahren ärgere ich mich damit herum, dass meine Cron-Logs jedes Wochenende mit folgendem Fehler aufwarten:

apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.0.101 for ServerName

Diese Meldung taucht auch auf, wenn ich den Server mit apache2ctl graceful respektive apache2ctl restart neu starte.

Heute nun habe ich mich endlich des Problems angenommen und teile die Lösung gerne mit der ganzen Online-Welt.

Der vom lokalen BIND (DNS-Server) geliefert Hostname meines Web-Servers lautete wie folgt:

$ host 192.168.0.101
101.0.168.192.in-addr.arpa domain name pointer alpha.emeidi.local.

In meiner /etc/hosts stand aber nur folgendes:

127.0.0.1	localhost

192.168.0.101	ALPHA
...

Nach einigem Googlen wechselte ich die Zeile beginnend mit 192.168.0.101 folgendermassen aus:

192.168.0.101	ALPHA ALPHA.emeidi.local mad4you.homeip.net

Und siehe da, ab sofort kann Apache den Fully Qualified Domain Name des Servers selber erraten.

Tags: , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen