Linux Distribution herausfinden

Oftmals möchte man rausfinden was für eine Linux Distribution (Debian sarge/etch, RedHat 3/4, SuSE, usw.) man am laufen hat.

ede Linux Distribution hat andere release Dateien unter /etc/ gespeichert. Diese Dateien sind oft wie folgt benannt "DISTRIBUTION-release".

Diese Dateien beinhalten Informationen über die Distribution und die Version. Bei manchen Distributionen auch Infos über "Codenames".

Da jede Linux Distribution anders ist, gibt es keinen sicheren Weg diese Distributions Informationen auszulesen. Wer also ein Programm schreibt, egal ob Batch-Skript oder PHP-Skript, kann Informationen wie die Linux-Distribution oft gut gebrauchen (Spezielle Pfade, Konfigurationswerkzeuge wie z.B. Yast [SuSE], Update Check, etc).

Um diese Informationen zuverlässig auszulesen gibt es leider nur einen manuellen Weg. Man muss jede mögliche release-Datei anfragen und wenn eine Datei einen Inhalt hat, diese auslesen.

Liste der Distributionen:

Annvix: /etc/annvix-release
Arch Linux: /etc/arch-release
Arklinux: /etc/arklinux-release
Aurox Linux: /etc/aurox-release
BlackCat: /etc/blackcat-release
Cobalt: /etc/cobalt-release
Conectiva: /etc/conectiva-release
Debian: /etc/debian_version, /etc/debian_release (rare)
Fedora Core: /etc/fedora-release
Gentoo Linux: /etc/gentoo-release
Immunix: /etc/immunix-release
Knoppix: knoppix_version
Linux-From-Scratch: /etc/lfs-release
Linux-PPC: /etc/linuxppc-release
Mandrake: /etc/mandrake-release
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
MkLinux: /etc/mklinux-release
Novell Linux Desktop: /etc/nld-release
PLD Linux: /etc/pld-release
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
SME Server (Formerly E-Smith): /etc/e-smith-release
Solaris SPARC: /etc/release
Sun JDS: /etc/sun-release
SUSE Linux: /etc/SuSE-release, /etc/novell-release
SUSE Linux ES9: /etc/sles-release
Tiny Sofa: /etc/tinysofa-release
TurboLinux: /etc/turbolinux-release
Ubuntu Linux: /etc/lsb-release
UltraPenguin: /etc/ultrapenguin-release
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
VA-Linux/RH-VALE: /etc/va-release
Yellow Dog: /etc/yellowdog-release

apache Meldung: „Warning: SuexecUserGroup directive requires SUEXEC wrapper“ nach debian upgrade

Nach einem debian upgrade von etch zu lenny mit aktiviertem suexec kann es passieren, dass der apache bei jedem Neustart viele Warnmeldungen wie diese bringt:

"Warning: SuexecUserGroup directive requires SUEXEC wrapper"

Bei einigen Seiten steht zudem dann auch einfach der Text "Access denied".

Dieses Problem kann man jedoch relativ einfach lösen indem man das Paket apache2-suexec (neu-) installiert:

apt-get install apache2-suexec

Nach etch-upgrade: Falscher Standard-Editor

Normalerweise ist der Standardeditor unter Linux "vi". Nach dem Upgrade von Debian sarge zu etch jedoch wird der Standard-Editor entweder nano oder joe. Falls man dies ändern möchte:

update-alternatives --config editor

Dann den Editor auswählen. Nach drücken der Enter-Taste hat man seinen gewohnten Editor wieder.

Nach Debian-etch Upgrade: Kein imap/pop3 Login mehr möglich

Nach einem Upgrade von Debian-sarge nach etch kann es vorkommen, dass man sich dann nicht mehr am Mailserver anmelden kann.

Grund dafür ist, dass seit Debian 4 Etch nicht mehr das courier-authmysql Paket installiert werden muss, sondern das courier-authlib-mysql

Ein:

apt-get install courier-authlib-mysql

behebt das Problem.

Nagios: NRPE Fehlermeldung ‚Return code of 127 is out of bounds – plugin may be missing‘

Problem: Nagios läuft lokal super, versucht man dann aber per NRPE einen remote Host zu Monitoren erhält man die Fehlermeldung: "Return code of 127 is out of bounds – plugin may be missing". Skurillerweise klappt das ganze, wenn man check_nrpe lokal aufruft; die Meldung kommt nur in der Web-Oberfläche.

Ursache: Bei mir lag das Problem daran, dass sich das NRPE-Plugin in einen anderes Verzeichnis installiert hatte als die übrigen (lokalen) Plugins. So Lagen die lokalen Plugins unter: "/usr/local/nagios/libexec/", das NRPE Plugin, aber unter: "/usr/lib/nagios/plugins/check_nrpe". Da ich das NRPE Plugin immer über den korrekten Pfad aufgerufen hatte, funktionierte dort auch alles.

Lösung: Man kann nun entweder:

    1. Den zusätzlichen Pfad in der: "/etc/nagios/resource.cfg" anpassen, sowie auch die $USER$ Variable in der Konfiguration des überwachten Hosts.

2. Einen Symlink auf den Pfad des NRPE Plugins legen

3. Das NRPE Plugin in das normale Plugin Verzeichnis verschieben (und dann evtl. noch symlink auf die "alte" Destination).

Ich entschied mich für die dritte Lösung, da so alle Plugins zusammen in einem Verzeichnis sind:

mv -v /usr/lib/nagios/plugins/check_nrpe /usr/local/nagios/libexec/
ln -s /usr/local/nagios/libexec/check_nrpe /usr/lib/nagios/plugins/check_nrpe

Doppelte IP-Adressen finden

In einem Netzwerk kommt es manchmal vor, dass mehrere Teilnehmer dieselbe IP-Adresse verwenden; dies kann sehr ärgerlich sein.

Unter Linux und mithilfe von MAC-Datenbanken gibt es zum Glück eine Möglichkeit den "Täter" zu finden. 😉

Unter einer Linux Konsole einfach:

arping -b $IP

ausführen und sehen, welche MAC-Adressen auftauchen.

Zu welchem Gerät diese dann gehört kann man im Internet herausfinden, z.B. unter: [http://www.coffer.com/mac_find/]

vi: Automatisches Einrücken verhindern

Fügt man Text mittels Copy/Paste in den vi ein, kann es zu einem sogenannten Treppeneffekt kommen, dass heisst der Text wird in jeder Zeile weiter eingerückt. Um dies zu verhindern, muss vor dem Einfügen das automatische Einrücken deaktiviert werden.

Das automatische Einrücken rückt die nächste Zeile so wie die vorhergehende automatisch ein. Dies ist normalerweise auch sehr nützlich, nur beim Einfügen von Text ist es störend.

Zuerst muss man sich im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechselt. Anschliessend lässt sich mit

set noai

das automatische Einrücken deaktivieren. Danach kann man den Text einfügen. Das automatische Einrücken wird nach dem Einfügen mit set ai im ex Modus wieder aktiviert.

Um das automatische Einrücken dauerhaft zu deaktivieren sind einieg Optionen in /etc/vimrc nötig:

" Switch off all auto-indenting
set nocindent
set nosmartindent
set noautoindent
set indentexpr=
filetype indent off
filetype plugin indent off

Quellen:

Der XHOST sendet kein Broadcast Signal aus

Wenn man Exceed aufruft wird ein neu installierter SLES(9) Server nicht in der Broadcast Liste angezeigt.
Um dies zu erreichen, muss die Datei: ‚/etc/opt/kde3/share/config/kdm/kdmrc‘ editiert- und

[Xdmcp]
 Enable=false

in

[Xdmcp]
 Enable=true

geändert werden.

Link: http://groups.google.ch/group/alt.os.linux.suse/browse_thread/thread/3c8fbc7d69c76e6f/c5bfe867c8d6dc26

Zu XDMCP gibt es auch Einträge in der SDB.

Weitere Lösungen, die zu diesem Problem führen könnten:

/etc/X11/xdm/xdm-config: Hier muss die Zeile:

DisplayManager.requestPort: 0

auskommentiert sein.

Weitere Dateien, die damit zusammenhängen:
-XAccess
-XServers
-xdm-config

Klassisch mounten statt subfs

den einen ist das automatische Mounten, wie es seit der SUSE Version 9.1 über submount/subfs standardmässig für Wechselmedien (Floppy, CD und DVD) sowie über Hotplug eingebundene Geräte, wie etwa USB-Sticks oder -Festplatten, unsympathisch bzw. die Funktionalität unerwünscht. Man würde deshalb gerne wieder auf die "klassische" Art des Mountens von Datenträgern umstellen.

Vorgehen
Für Floppy, CD- und DVD-Laufwerk lässt sich dies einfach durch Editieren der Datei /etc/fstab bewerkstelligen. Dazu ändert man die betreffenden Zeilen (hier am Beispiel von DVD und Floppy) einfach von

/dev/dvd     /media/dvd        subfs   fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/fd0     /media/floppy     subfs   fs=floppyfss,procuid,nodev,nosuid,sync 0 0

in

/dev/dvd     /media/dvd        auto    ro,noauto,user,exec,iocharset=utf8    0 0
/dev/fd0     /media/floppy     auto    noauto,user,exec,sync                 0 0

Wichtig: Bitte zunächst eine Sicherheitskopie der originalen /etc/fstab erzeugen!

Für Datenträger wie USB-Sticks, die über den Hotplug-Mechanismus eingebunden werden ist die Sache noch einfacher. Zunächst zunächst ein YaST Online Update durchführen, damit das Paket hotplug aktualisiert wird. Anschliessend als root die Datei /etc/sysconfig/hotplug öffnen und die Variable HOTPLUG_USE_SUBFS von yes auf no stellen. Durch den folgenden Befehl startet man nun das hotplug-System neu, um die Änderung zu übernehmen:

rchotplug restart
Hotplug wird in diesen Fall nicht weiterhin dafür sorgen, dass unterhalb von /media entsprechende Verzeichnisse angelegt werden, wenn ein neuer Datenträger über Hotplug erkannt wird. Wenn noch kein Verzeichnis besteht, muss es manuell angelegt werden, zum Beispiel durch den folgenden Befehl:

mkdir /media/sda1
Das Mounten der Datenträger funktioniert wie gehabt über (beispielsweise)

mount /dev/sda1 /media/sda1

Quelle: http://de.opensuse.org/SDB:9.1:_klassisch_mounten_statt_subfs