La meilleure façon de trouver nom du système d'exploitation et la version Unix/Linux plate-forme
J'ai besoin de trouver le nom du système d'exploitation et version sur Unix/Linux plate-forme. Pour cela, j'ai essayé de suivre:
-
lsb_release
utilitaire -
/etc/redhat-release
ou de fichier spécifique
Mais il ne semble pas être la meilleure solution en tant que LSB_RELEASE aucun support n'est plus pour RHEL 7.
Est-il un moyen qui fonctionne sur n'importe quel Unix ou Linux plate-forme?
- Ce problème approche heuristique, c'est pourquoi je vous ai donné un perl fragment de code à exécuter dans un shell
- lsb_release -d travail sur ubuntu
- Pas sur toutes les distros
uname
est dans la plupart des environnements unix et la garantie d'être sur tous les LSB conforme distro linux: refspecs.linuxfoundation.org/LSB_2.0.1/LSB-Core/LSB-Core/...- comment obtenir la version d'os, par exemple. redhat 6.5 à l'aide de la commande uname ?
- Par la lecture de la page de manuel de linux.die.net/man/1/uname et grokking sa sortie (en supposant qu'il est pris en charge dans RH6.5) ... de toute façon il n'y a pas de (unique) des portables façon d'obtenir ce parce qu'il est la plupart du temps inutiles info. Les programmes portables doivent sonde pour les fonctionnalités requises, ne pas utiliser de liste blanche de prechecked distros.
lsb_release -d
travaille pour Red Hat trop.- Double Possible de Comment puis-je identifier les Linux via la ligne de commande?, Comment savoir quelle distribution Linux est en cours d'utilisation, etc.
Vous devez vous connecter pour publier un commentaire.
Ce beau travail pour tous environnement Linux.
Dans Ubuntu:
ou 12.04:
Dans RHEL:
Ou de l'Utilisation de ce Script:
lsb_release
de commande par défautLinux 3.16.4-1-ARCH( 3.16.4-1-ARCH x86_64)
Linux RedHat 6.3(Santiago 2.6.32-279.22.1.el6.x86_64 x86_64)
cat /etc/redhat-release | sed s/.*\(// | sed s/\)//
dans votre RHEL 6.5Commande suivante fonctionné pour moi gentiment. Il vous donne le nom du système d'exploitation et version.
unix
La "lsb_release" commande fournit certains Linux Standard Base et de distribution de l'information.
Donc, en utilisant la commande ci-dessous, nous pouvons obtenir nom du système d'Exploitation et la version du système d'exploitation.
"lsb_release -a"
Avec perl et Linux::Distribution, la solution la plus propre pour un vieux problème :
Linux::Distribution
liblinux-distribution-perl
paquet pour debian & les dérivésDans tous les distribuer a la différence des fichiers donc j'écris plus courantes:
en dernière /etc/problème n'existait pas alors, j'ai essayé le deuxième et il a renvoyé la bonne réponse
Mon propre chef, prendre à @kvivek du script, avec de plus en plus facilement la machine analysée de sortie:
NOTE: Uniquement testé sur une Debian 11
Exemple Fonctionne
Pas args
de sortie:
- Tête avec les noms et séparateur personnalisé
de sortie:
Filtré de sortie
de sortie:
Utilisez la commande suivante
Mon OS est CentOs et m'a donné comme
Avec des guillemets:
donne en sortie:
Sans les guillemets:
donne en sortie:
cette commande vous donne une description de votre système d'exploitation
cat /etc/os-release