Come trovare "file-release" in OS X El Capitan 10.11.6?

2

Non riesco a trovare il rilascio di file tramite la riga di comando su OS X El Capitan versione 10.11.6. Sulla mia macchina virtuale in Ubuntu posso fare "ls / etc / * release" e mi mostra due file con tutte le informazioni necessarie:

$ 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)"

Non ho idea di come trovare il file con le informazioni di rilascio su Mac. Per favore, dammi un suggerimento o un suggerimento su come cercarlo?

    
posta nohillside 05.08.2016 - 11:31
fonte

2 risposte

2

I file /etc/*release contengono informazioni specifiche del sistema operativo come nome di distribuzione e versione principalmente nelle distribuzioni Linux .

Uno degli scopi dei file è aiutare il software a rilevare il tipo di distribuzione.

Un file che contiene informazioni simili non esiste in OS X / macOS ma può essere imitato con il seguente script di shell:

#!/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'esecuzione dello script nel mio sistema produrrà:

Darwin Mac OS X 13.4.0(SORRY_NO_PSEUDONAME 13F1911 x86_64)

In OS X / macOS il file non è necessario perché i requisiti di un pacchetto software sono determinati con altri mezzi:

  • Info.plist in un'app di installazione (ad es. Installa macOS Sierra.app richiede LSArchitecturePriority = x86_64 o LSMinimumSystemVersion = 10.7)
  • script di preflight in un pacchetto di installazione che utilizza sw_vers o comandi simili per determinare la versione del sistema operativo.
risposta data 02.10.2016 - 17:40
fonte
0

Mettendo da parte che linux ha una diversa struttura di rilascio di macOS - puoi usare lo strumento nativo e i file per catalogare le versioni di macOS per tutti OS X precedenti alla 10.12:

 /System/Library/CoreServices/SystemVersion.plist

E la pagina di manuale per sw_vers documenta il precedente come origine per la creazione e la denominazione del sistema operativo.

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

Inoltre, la documentazione di javascript sembra un po 'più dettagliata se non hai bisogno di uno strumento bash / shell / command: link

    
risposta data 02.10.2016 - 18:00
fonte

Leggi altre domande sui tag