5 votos

Cómo comprobar instalado OS X versión de la línea de comandos en cada partición?

Estoy dirigiendo una gran cantidad de Macs y cada una de las máquinas tiene varias particiones con diferentes versiones del sistema operativo.

Me gustaría crear un script que me podía correr a hacer un inventario de todas las particiones de todos los equipos y tomar nota de lo que OS está instalado en cada partición.

En la partición activa, sería fácil de conseguir a través de la sw_vers comando. Pero ¿qué pasa en una partición diferente?

4voto

Brian Puntos 11

El siguiente comando le dará la versión para OS X instalado en volumeName:

defaults read /Volumes/volumeName/System/Library/CoreServices/SystemVersion ProductVersion

Para obtener una lista de cada uno de los volúmenes de la versión del SO, usted necesita un simple script que va a obtener una lista de los volúmenes, de la búsqueda de cada uno de los SystemVersion.plist, y cualquier informe que se encuentran.

He encontrado una secuencia de comandos en Mac OS X Hints, por Hal Itosis, que hace precisamente eso (reposteado a continuación para su conveniencia).

#!/bin/bash -
PATH=/bin:/usr/bin
export PATH
IFS=$'\n'

vList=$(df -l | sed '1d;s:^.*%[[:space:]]*::')
sPath=$(find -x /Volumes -maxdepth 1 -type l -not -inum 2)
pFile=/System/Library/CoreServices/SystemVersion

SysVers ()
{
   if [ -e "${1}${pFile}.plist" ]; then
      n="$1"; if [ "$1" = '/' ]; then n="$sPath"; fi
      x=`defaults read ${1}${pFile} ProductVersion`
      b=`defaults read ${1}${pFile} ProductBuildVersion`
      printf '%-16s %-8s %-8s\n' "${n##/*/}" "$x" "($b)"
   fi
}

if [ $# -eq 0 ]; then for v in $vList; do SysVers "$v"; done
else while [ $# -gt 0 ]; do SysVers "$1"; shift; done; fi
exit

2voto

mtnygard Puntos 141

Puede utilizar el comando diskutil en el terminal, que a grandes rasgos proporciona la capacidad de secuencia de comandos y realizar las mismas acciones que usted puede en la versión GUI.

El uso de este es posible crear un script que las redes de arrastre para la información que necesita, pero usted tiene que tener cuidado en la especificación de los discos que se mire - si haces una manta de verificación en todos los discos, obtendrá imágenes de disco y de todo tipo incluido si usted no tiene cuidado, además de que va a terminar con la recuperación de particiones y etc etc.

También, la utilidad de disco sólo proporciona el formato de partición, a pesar de que te da una pista sobre lo que puede, posteriormente, en la búsqueda, es decir, buscar un archivo llamado "mach_kernel" y las posibilidades son que tiene OS X, es que tiene un "/windows el directorio"...etc, etc, incluso entonces usted va a encontrar las particiones formateadas en Mac o Win formatos con ningún sistema operativo instalado, así que todo no es una tarea trivial. Si sabes donde está el OSX/Windows installer registros se puede ser capaz de insertar esa lógica como para sacar un nivel de service pack, o un nivel de revisión, etc, pero no puedo encontrar la manera de hacer todavía.

Dans-iMac:~ stuffe$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *640.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            639.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *18.7 MB    disk1
   1:        Apple_partition_map                         32.3 KB    disk1s1
   2:                  Apple_HFS SMARTReporter           18.7 MB    disk1s2
Dans-iMac:~ stuffe$ diskutil info disk0s2
   Device Identifier:        disk0s2
   Device Node:              /dev/disk0s2
   Part of Whole:            disk0
   Device / Media Name:      Customer

   Volume Name:              Macintosh HD
   Escaped with Unicode:     Macintosh%FF%FE%20%00HD

   Mounted:                  Yes
   Mount Point:              /
   Escaped with Unicode:     /

   File System Personality:  Journaled HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended (Journaled)
   Journal:                  Journal size 49152 KB at offset 0x129d000
   Owners:                   Enabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      Yes
   Media Type:               Generic
   Protocol:                 SATA
   SMART Status:             Verified
   Volume UUID:              7B3DEC51-1C86-37B5-95CE-888AE0EBD610

   Total Size:               639.3 GB (639275270144 Bytes) (exactly 1248584512 512-Byte-Blocks)
   Volume Free Space:        343.5 GB (343520002048 Bytes) (exactly 670937504 512-Byte-Blocks)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No
   Ejectable:                No

   Whole:                    No
   Internal:                 Yes
   Solid State:              No

Dans-iMac:~ stuffe$ mountpoint=`diskutil info disk0s2 | grep "Mount Point" | awk '{print $3}'`
Dans-iMac:~ stuffe$ ls -l $mountpoint | grep -E "mach_kernel|windows"
-rw-r--r--@  1 root  wheel  15565404 10 Aug  2011 mach_kernel
Dans-iMac:~ stuffe$ 

Poniendo todo esto junto en un bucle que identifica todos los discos de los que usted está interesado en, la eliminación de imágenes de disco memorias USB, etc, y la configuración para ejecutar de forma remota a través de SSH o lo que sea....se deja como ejercicio para los interesados...

2voto

matthew k Puntos 11

Aquí se muestra una línea que se obtiene la información de la versión de SystemVersion.plist:

ex -s +'%s/<[^>].\{-}>//ge' +'%s/\s\+//e' +'%norm J' +'g/^$/d' +%p +q! /System/Library/CoreServices/SystemVersion.plist

Usted puede usar head, tail o awk para su posterior análisis, por ejemplo, para obtener ProductVersion, trate de añadir:

| grep ^ProductVersion | cut -d' ' -f2

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X