OS anzeigen lassen
depp
- webserver
hi
wie kann man sich unter linux anzeigen lassen, welches os man in welcher version nutzt?
also nicht uname -r oder wie das hieß... da zeigt er ja nur die kernel version an aber ich will z.b. sehen "suse 9.1" oder sowas.
danke
Hi,
also nicht uname -r oder wie das hieß... da zeigt er ja nur die kernel version an aber ich will z.b. sehen "suse 9.1" oder sowas.
danke
Das geht nur, wenn die jeweilige Distribution einen eigenen Befehl oder eine Variable dafür bereitstellt.
Linux ist grundsätzlich nur der Kernel, und der heisst eben so, wie der Entwickler ihn genannt hat.
Sobald ich aber z.B. auf meinem Debian einen eigene Kernel backe, kann ich den auch so nennen, wie ich lustig bin ;)
Es gibt also keine Möglichkeit, auf einer Linuxmaschine zu erfahren, welche Distri verwendet wird, ausser, du überprüfst Distri-Spezifische Dinge auf ihre vorhandenheit/gültigkeit.
Hallo Manuel.
Es gibt also keine Möglichkeit, auf einer Linuxmaschine zu erfahren, welche Distri verwendet wird, ausser, du überprüfst Distri-Spezifische Dinge auf ihre vorhandenheit/gültigkeit.
Naja, es geht schon.
Einen schönen Samstag noch.
Gruß, Ashura
echo $begrüßung;
Es gibt also keine Möglichkeit, auf einer Linuxmaschine zu erfahren, welche Distri verwendet wird, ausser, du überprüfst Distri-Spezifische Dinge auf ihre vorhandenheit/gültigkeit.
Naja, es geht schon.
Ich nehme mal an, du hast nicht nachgesehen, wie phpsysinfo an die Information des Distributionsnamen gelangt.
distros.ini
/includes/os/class.Linux.inc.php
-> foreach-Schleife(n) im Konstruktor (function sysinfo())
-> if (file_exists(dateiname aus distros.ini))
distro = Name der Distribution aus distro.ini
echo "$verabschiedung $name";
Hallo dedlfix.
Ich nehme mal an, du hast nicht nachgesehen, wie phpsysinfo an die Information des Distributionsnamen gelangt.
Doch, habe ich. Ich habe es ja auch installiert.
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Ashura,
Es gibt also keine Möglichkeit, auf einer Linuxmaschine zu erfahren, welche Distri verwendet wird, ausser, du überprüfst Distri-Spezifische Dinge auf ihre vorhandenheit/gültigkeit.
Ich nehme mal an, du hast nicht nachgesehen, wie phpsysinfo an die Information des Distributionsnamen gelangt.
Doch, habe ich. Ich habe es ja auch installiert.
und was macht phpsysinfo anderes als distributionsspezifische Dinge auf Vorhandensein zu überprüfen?
Freundliche Grüße
Vinzenz
Hallo Vinzenz.
und was macht phpsysinfo anderes als distributionsspezifische Dinge auf Vorhandensein zu überprüfen?
Nichts. Etwas Gegenteiliges wollte ich auch nicht behauptet haben.
Einen schönen Samstag noch.
Gruß, Ashura
Moin!
hi
wie kann man sich unter linux anzeigen lassen, welches os man in welcher version nutzt?
nach den hier bereits vorgestellten Erkenntnissen also mit:
cat /etc/*-release
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
cat /etc/*-release
Erschien irgendjemanden "nicht hilfreich".
Ok.
~> grep -v "=" /etc/*-release /etc/*-version 2>/dev/null|cut -d ":" -f 2
Zurückgegeben werden aus allen Dateien aus dem Ordner /etc, die auf "-version" oder "-release" enden, mit grep -v "=" gibt die Zeilen zurück die kein "=" enthalten. Diese Ausgabe erfolgt mit datei:Zeile. Deshalb wird die Rückgabe in eine Pipe geleitet und nachfolgend mit cut beschnitten und zwar so, dass in der mit dem ":"(d- delimiter) getrennten einzeiligen Tabelle nur die 2. Spalte (-f 2)zurückgegeben wird. Das "2> /dev/null" verhindert, dass der notwendige Fehler (es gibt ja nach Version immer nur entweder eine "distributor"-version oder "distributor"-release-Datei auf der Konsole erscheint. Die Fehlermeldung wird verworfen (genau dies geschieht, wenn man Kanal 2, also <stderr> nach /dev/null (dem universellen Unix-Mülleimer) umleitet.
oder:
~> cat /etc/*-release /etc/*-version 2> /dev/null | grep -v "="
Die Inhalte aller Dateien aus dem Ordner /etc, die auf "-version" oder "-release" enden, werden ausgegeben und nach dem Umleiten in eine Pipe nur die Zeilen ausgegeben, die kein "=" enthalten. Das "2> /dev/null" verhindert, dass der notwendige Fehler (es gibt ja nach Version immer nur entweder eine "distributor"-version oder "distributor"-release-Datei auf der Konsole erscheint.
Die Frage war, ob es einen Befehl gibt, der die "Linux-Version" ausgibt. Gemeint war die Distribution, denn die Kernel-Version hätte ja das "uname -r" gebracht.
Das ganze lässt sich natürlich auch hübsch in PHP, Perl oder andere Skriptsprachen verpacken, die natürlich auch die Dateien selbst lesen und auswerten könnten.
<?php
system('cat /etc/*-release /etc/*-version 2> /dev/null | grep -v "="');
?><br />
<?php
echo `cat /etc/*-release /etc/*-version 2> /dev/null | grep -v "="`;
?>
oder:
#! /usr/bin/perl -w
print `grep -v "=" /etc/*-release /etc/*-version 2>/dev/null|cut -d ":" -f 2`;
print "<br />\n";
system('cat /etc/*-release /etc/*-version 2> /dev/null | grep -v "="');
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
echo $begrüßung;
~> cat /etc/*-release /etc/*-version 2> /dev/null | grep -v "="
Die Inhalte aller Dateien aus dem Ordner /etc, die auf "-version" oder "-release" enden, werden ausgegeben und nach dem Umleiten in eine Pipe nur die Zeilen ausgegeben, die kein "=" enthalten. Das "2> /dev/null" verhindert, dass der notwendige Fehler (es gibt ja nach Version immer nur entweder eine "distributor"-version oder "distributor"-release-Datei auf der Konsole erscheint.
Schon besser als die erste Version aber auch nicht perfekt. Debian wird von der jetzigen Version immer noch nicht erkannt.
Ist es denn festgelegt, dass es in /etc nur eine Datei geben darf, die auf release oder -version endet, und das diese nur die Distributionsinformation enthalten darf? Und was hat die "="-Prüfung zu bedeuten? (Ein = kommt in diesem Kontext auf meinem System nicht vor, deshalb kann ich dessen Bedeutung nicht erkennen.)
echo "$verabschiedung $name";
Moin!
Schon besser als die erste Version aber auch nicht perfekt.
Kann es auch nicht. "Linux" ist ein freies System und jeder Distributor kann in gewissen Grenzen machen was er will. Auch ist für die Funktion des zusammengestellten Linux/GNU-Systems das Wissen um den Distributor nicht wirklich notwendig.
Ist es denn festgelegt, dass es in /etc nur eine Datei geben darf, die auf release oder -version endet, und das diese nur die Distributionsinformation enthalten darf?
Meines Wissens nicht. Vielleicht gibt es aber eine Übereinkunft, ähnlich wie beim Filesystem und der Frage, was kommt in welchen Ordner?
SuSE hat zwei jedenfalls solche Dateien. Deshalb der Aufstand.
/etc/lsb-release:
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32"
/etc/SuSE-release:
SUSE LINUX 10.0 (i586)
VERSION = 10.0
Und was hat die "="-Prüfung zu bedeuten? (Ein = kommt in diesem Kontext auf meinem System nicht vor, deshalb kann ich dessen Bedeutung nicht erkennen.)
Ich denke, das ergibt sich jetzt aus dem oben stehenden.
Ich habe es gerade gesehen: Debian verwendet Unterstriche, statt Bindestriche. *rrrrrrrr*
Also:
~> grep -v "=" /etc/-release /etc/*_release /etc/*-version /etc/*_version 2>/dev/null|cut -d ":" -f 2
oder
~> cat /etc/-release /etc/*_release /etc/*-version /etc/*_version 2> /dev/null | grep -v "="
Der Einbau in PHP funktioniert dann wie schon gehabt.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®