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.