¿Cómo ejecutar el script .sh desde usb en modo de recuperación de terminal? [cerrado]

Soy un usuario novato. Me gustaría ejecutar el script de shell exportado de MacUserGenerator para crear una cuenta en un nuevo iMac sin hacerlo manualmente en el proceso de configuración. ¿No estás seguro si esto es posible? El script bash shell está en mi memoria USB:usbName/Install/Scripts/createAccount.sh

Pasos tomados:

  1. Arranque en modo de recuperación/modo de usuario único

  2. Ejecute lo siguiente:

    diskutil list
    diskutil mountDisk both usb stick and internal HD
    cd /Volumes/usbName/Install/Scripts/
    sh createAccount.sh
    

    fsck –fy
    mount –uw /
    mount_msdos /dev/disk2s1 /Volumes
    cd Install/Scripts
    sh createAccount.sh
  1. Lo anterior escupe:

    Print: Entry, ":_writers_UserCertificate", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_hint", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_jpegphoto", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_passwd", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_picture", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_realname", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":_writers_UserCertificate", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":authentication_authority", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":generateduid", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":gid", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":home", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":name", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":passwd", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":realname", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":shell", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":uid", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    Print: Entry, ":ShadowHashData", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    chmod: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    Print: Entry, ":jpegphoto", Does Not Exist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    File Doesn't Exist, Will Create: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    sed: /private/var/db/dslocal/nodes/Default/users/esoadmin.plist: No such file or directory
    Print: Entry, ":DidSeeCloudSetup", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    Print: Entry, ":DidSeeSiriSetup", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    Print: Entry, ":DidSeeTouchIDSetup", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    Print: Entry, ":LastSeenCloudProductVersion", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    Print: Entry, ":LastSeenBuddyBuildVersion", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    Print: Entry, ":DidSeePrivacy", Does Not Exist
    File Doesn't Exist, Will Create: /Users/esoadmin/Library/Preferences/com.apple.SetupAssistant.plist
    mkdir: /Users/esoadmin/Library/Preferences: Read-only file system
    chmod: /Users/esoadmin: No such file or directory
    chown: esoadmin: illegal user name
    chmod: /Users/esoadmin/Library: No such file or directory
    chown: esoadmin: illegal user name
    chmod: /Users/esoadmin/Library/Preferences: No such file or directory
    chown: esoadmin: illegal user name
    

¿Qué está fallando y cómo puedo solucionarlo?

¿Por qué se espera que esto funcione desde el modo de recuperación? La utilidad que está utilizando no describe eso como un caso de uso.
¿Puede agregar el script o (ya que es demasiado grande para eso) ponerlo en una esencia en Github (o similar) y compartir el enlace? Supongo que el script no está diseñado para ejecutarse en modo de recuperación (donde las rutas a los archivos del sistema son diferentes).
Las dos publicaciones a continuación tienen muchas preguntas de aclaración, por lo que en este momento la pregunta no está clara para obtener buenas respuestas. ¿Puede editar su pregunta y abordar los problemas que se plantean a continuación?

Respuestas (2)

Amigo, a primera vista vas a tener un problema con la jerarquía de archivos, dado que no es el volumen normal y su estructura que el script presumió usar.

Su sistema de archivos raíz en modo de recuperación es un volumen diferente y no el normal que se usa en el uso normal.

Es probable que esté mejor en modo normal, o arrancando en modo de usuario único y luego ejecutando el script.

F.

Arranqué en modo de usuario único, sin embargo, todavía termino obteniendo el mismo escupitajo que se mencionó anteriormente.

¿Son estos dos guiones? ¿Ejecutaste ambos? He perdido el contexto. Si escribió estos comandos en la terminal, debería ver los comandos en la salida, pero no he podido encontrar los comandos. Debe colocar su memoria USB en su máquina antes de arrancar.

Creo que el problema es que los comandos que intenta usar no se ejecutan en el modo de usuario único.

Supongamos que está arrancado en modo de usuario único. Tienes que hacer lo siguiente:

fsck –fy
mount –uw /

# diskutil mountDisk tanto en la memoria USB como en el disco duro interno

En el modo de usuario único, su disco de inicio ahora está en modo de lectura/escritura. Debe colocar su memoria USB en su máquina antes de arrancar. En 10.4.11, al arrancar en modo de usuario único, la unidad flash se montaba automáticamente. Supongamos que todavía lo es. Las cosas pueden haber cambiado. Es posible que deba seguir estas instrucciones. https://support.apple.com/en-us/HT201573

Veamos lo que está montado:

diskutil list

Sospecho que necesita iniciar más de macOS. Esto funcionó para mí en 10.4.11. Estoy mirando alrededor para ver cuál es el caso ahora...

sh /etc/rc

Consulte esta página para conocer los sistemas operativos posteriores http://osxdaily.com/2011/04/25/change-admin-password-mac/ lea la sección sobre este comando. #3 lanzarctl cargar /Sistema/Biblioteca/LaunchDaemons/com.apple.opendirectoryd.plist

cd /Volumes/usbName/Install/Scripts/

¿Tu script está escrito para el shell sh? La documentación indica que está escrito para bash

bash createAccount.sh

Vas a tener que poner un poco de depuración en tu secuencia de comandos para ver qué está pasando. Puedes probar:

 bash -v createAccount.sh
Excelente respuesta, y estoy de acuerdo con las recomendaciones aquí.