Los archivos /etc/*release
contienen información específica del sistema operativo, como el nombre de la distribución y la versión, principalmente en las distribuciones de Linux .
Una de las finalidades de los archivos es ayudar al software a detectar el tipo de distribución.
Un archivo que contiene información similar no existe realmente en OS X/MacOS pero puede ser imitado con el siguiente shell script:
#!/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}
Ejecutando el script en mi sistema se obtiene:
Darwin Mac OS X 13.4.0(SORRY_NO_PSEUDONAME 13F1911 x86_64)
En OS X/MacOS el archivo no es necesario porque los requisitos de un paquete de software se determinan por otros medios:
- Info.plist en una aplicación de instalación (por ejemplo Instalar MacOS Sierra.app requiere LSArchitecturePriority=x86_64 o LSMinimumSystemVersion=10.7)
- preflight scripts en un paquete de instalación que utiliza
sw_vers
o comandos similares para determinar la versión del sistema operativo.