10 votes

Comment trouver "file-release" dans OS X El Capitan 10.11.6 ?

Je n'arrive pas à trouver file-release en ligne de commande sur OS X El Capitan Version 10.11.6. Sur ma machine virtuelle sous Ubuntu, je peux faire "ls /etc/*release" et cela me montre deux fichiers avec toutes les informations nécessaires :

$ cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)

$ cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server"
VERSION="7.0 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.0"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.0 (Maipo)"

Je ne sais pas comment trouver le fichier contenant les informations de publication sur Mac. Merci de me donner un indice ou une indication sur la façon de le rechercher.

9voto

klanomath Points 63400

Le(s) fichier(s) /etc/*release contiennent des informations spécifiques au système d'exploitation, comme le nom de la distribution et la version, principalement dans les distributions Linux .

L'un des objectifs de ce(s) fichier(s) est d'aider le logiciel à détecter le type de distribution.

Un fichier contenant des informations similaires n'existe pas vraiment dans OS X/MacOS mais peut être imité avec le shell script suivant :

#!/bin/sh

OS=`uname -s`
REV=`uname -r`
MACH=`uname -m`
if [ "${OS}" = "Darwin" ]; then
    OIFS="$IFS"
    IFS=$'\n'
    set `sw_vers` > /dev/null
    DIST=`echo $1 | tr "\n" ' ' | sed 's/ProductName:[ ]*//'`
    VERSION=`echo $2 | tr "\n" ' ' | sed 's/ProductVersion:[ ]*//'`
    BUILD=`echo $3 | tr "\n" ' ' | sed 's/BuildVersion:[ ]*//'`
    OSSTR="${OS} ${DIST} ${REV}(SORRY_NO_PSEUDONAME ${BUILD} ${MACH})"
    IFS="$OIFS"
fi
echo ${OSSTR}

L'exécution du script dans mon système donnera :

Darwin Mac OS X 13.4.0(SORRY_NO_PSEUDONAME 13F1911 x86_64)

Dans OS X/MacOS, ce fichier n'est pas nécessaire car les exigences d'un logiciel sont déterminées par d'autres moyens :

  • Info.plist dans une application d'installation (par ex. Installer MacOS Sierra.app nécessite LSArchitecturePriority=x86_64 ou LSMinimumSystemVersion=10.7)
  • preflight scripts dans les paquets d'installation qui utilisent sw_vers ou des commandes similaires pour déterminer la version du système d'exploitation.

6voto

Oskar Points 1242

Si l'on met de côté le fait que Linux a une structure de versions différente de celle de MacOS, vous pouvez utiliser l'outil et les fichiers natifs pour cataloguer les versions de MacOS pour tous les systèmes d'exploitation antérieurs à la version 10.12 :

 /System/Library/CoreServices/SystemVersion.plist

Et la page du manuel pour sw_vers documente ce qui précède comme source pour la construction et la dénomination du système d'exploitation.

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.12
BuildVersion:   16A323

De plus, la documentation sur le javascript semble un peu plus détaillée si vous n'avez pas besoin d'un outil bash / shell / command : https://developer.apple.com/reference/installerjs/system

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X