Come installare app su Snow Leopard dopo una nuova reinstallazione e mantenere comunque il MacBook in uno stato pre-primo avvio?


8

Sto vendendo il mio MacBook bianco del 2007.

In linea con molti suggerimenti che ho visto online, ho cancellato in modo sicuro l'unità e fatto una reinstallazione ma ho riscontrato un problema.

La macchina è arrivata con OS X 10.4 Tiger ma da allora l'ho aggiornato a Leopard e poi a Snow Leopard.

Idealmente, vorrei offrire al nuovo proprietario la nuova esperienza di MacBook con il testo di benvenuto, ma vorrei anche incollarli all'ultimo Snow Leopard. Il problema è che quando eseguo una nuova installazione di Snow Leopard la macchina non avrà le applicazioni iLife (si trovano sui dischi di installazione Tiger originali).

Esiste un modo per ottenere le app iLife lì senza la necessità di configurare un account sulla macchina?

In caso contrario, qual è la cosa migliore da fare? Configurare un account è qualcosa che preferirei non fare (so che sarei infastidito se avessi acquistato un MacBook di seconda mano e su cui fosse già presente un account). D'altra parte, installare Tiger e dare loro i dischi di aggiornamento sembra anche un po 'scarso.

Qualche suggerimento per favore?

Grazie in anticipo.

Seguito:
tutte le risposte di seguito sono state molto istruttive, spiegate chiaramente e probabilmente ugualmente efficaci. Ho scelto quello più adatto alle mie circostanze, ma spero che possano essere utili ai futuri lettori di questa domanda. Grazie a tutti coloro che hanno contribuito.

Risposte:


7

Due cose - se non conosci le basi di una sintassi della shell unix (avere uno spazio nel posto giusto conta, punteggiatura / cose) non fare il passo 2 a meno che non ti permetta di reinstallare tutto di nuovo - il rmcomando non perdona - elimina il file o la directory sbagliati con rm -rfe il mac non si avvia. Puoi essere più sicuro usando il srmcomando invece di rme distruggerà lentamente i file - io uso srm -sz -rfinvece di rm -rfsotto per distruggere una volta e poi azzerare (che finisce per essere due passaggi e poi una cancellazione - molto sicuro per le mie esigenze e non lento quanto la sovrascrittura pass 35 predefinita prima dell'eliminazione)

  1. Assicurarsi che la persona che acquista la macchina sappia per cosa stanno ottenendo i dischi di ripristino. È davvero bello creare un account di prova per eseguire tutti gli aggiornamenti anziché consegnarli al disco Snow Leopard.

  2. Configura il tuo Snow Leopard Mac per aggiungere un account amministratore denominato test senza password ed eliminare altri account utilizzando l'account test. Riavvia in modalità utente singolo tenendo premuto command+ se digita esattamente questi:

    / sbin / mount -uw /
    cd / var / db
    srm .AppleSetupDone
    cd dslocal / nodes / Default / users
    srm test.plist
    cd / Utenti
    test rm -rf
    arresto

Ora puoi avviare il mac per vedere il film di benvenuto di installazione riprodotto ed uscire dall'assistente alcuni passaggi nell'uso di command+ qquando inizia a fare domande sul nome e si chiuderà senza creare un account ma tutte le applicazioni conservate. Ricorderà le tue impostazioni wifi, quindi eliminale prima di iniziare il passaggio 2 o usa ethernet / un wifi pubblico sicuro per eseguire aggiornamenti se sei preoccupato per quel genere di cose.


Dopo aver valutato tutte le opzioni, ho scelto questo approccio. Grazie per il suggerimento su come eseguire tutti gli aggiornamenti e disporre i comandi in modo chiaro.
Darren Greaves,

Ottimo feedback qui e con la sceneggiatura più solida (e più complicata) di Hobs. Ho fatto affidamento su molte decine di volte per rinfrescare una macchina per un nuovo utente.
bmike

7

Puoi sicuramente installare iLife, avviare in modalità utente singolo, eliminare l'account utente tramite questo collegamento superutente (anche di seguito, e farlo in modalità utente singolo), quindi in modalità utente singolo basta digitare rm /var/db/.AppleSetupDoneche è come un interruttore a levetta, dice il mac per iniziare dall'avvio iniziale.

#!/bin/bash

# cf. http://www.macos.utah.edu/documentation/authentication/dscl.html

if [[ "$(/usr/bin/whoami)" != "root" ]]; then printf '\nMust be run as root!\n\n'; exit 1; fi

OPATH=$PATH
export PATH=/usr/bin:/usr/sbin:/bin:/sbin

OIFS=$IFS
export IFS=$' \t\n'

declare sudo=/usr/bin/sudo

printf "\e[1mDelete user account\e[m: "
read user

if [[ -z "$user" ]]; then printf '\nNo user specified! Please, try again!\n\n'; exit 1; fi

# make sure the user exists
usertest="$(/usr/bin/dscl . -search /Users name "$user" 2>/dev/null)"

if [[ -z "$usertest" ]]; then printf "\nUser does not exist: $user\n\n"; exit 1; fi 


# get user's group memberships
groups_of_user="$(/usr/bin/id -Gn $user)"

if [[ $? -eq 0 ]] && [[ -n "$(/usr/bin/dscl . -search /Groups GroupMembership "$user")" ]]; then 
   # delete the user's group memberships
   for group in $groups_of_user; do
      $sudo /usr/bin/dscl . -delete "/Groups/$group"  GroupMembership "$user"
      #$sudo /usr/sbin/dseditgroup -o edit -d "$user" -t user "$group"           
   done
fi


# delete the user's primary group
if [[ -n "$(/usr/bin/dscl . -search /Groups name "$user")" ]]; then
   $sudo /usr/sbin/dseditgroup -o delete "$user"
fi

# if the user's primary group has not been deleted ...
if [[ -n "$(/usr/bin/dscl . -search /Groups name "$user")" ]]; then
printf "
   \e[1mWarning\e[m:
   The group memberships of the user \e[1m$user\e[m have been deleted\x21
   groups_of_user: $groups_of_user
   The user's primary group \e[1m$user\e[m, however, has not been deleted\x21
   Please, try again\x21
   Exiting ...\n
"
  exit 1
fi


# find the GeneratedUID of the user and remove the password hash file 
# from /private/var/db/shadow/hash/<GeneratedUID>
# sudo ls -a /private/var/db/shadow/hash
# sudo ls -l /private/var/db/shadow/hash/<GeneratedUID>

guid="$(/usr/bin/dscl . -read "/Users/$user" GeneratedUID | /usr/bin/awk '{print $NF;}')"

if [[ -f "/private/var/db/shadow/hash/$guid" ]]; then
   $sudo /bin/rm -f /private/var/db/shadow/hash/$guid
fi


# delete the user
$sudo /usr/bin/dscl . -delete "/Users/$user"

# make a backup
if [[ -d "/Users/$user" ]]; then
   $sudo /usr/bin/ditto -rsrc -c -k "/Users/$user" "/Users/${user}-archive-$(/bin/date).zip"
fi

# remove the user's home directory
if [[ -d "/Users/$user" ]]; then
   $sudo /bin/rm -rf "/Users/$user"
fi

export IFS=$OIFS
export PATH=$OPATH

exit 0

Grazie per l'informazione - proverò l'altra opzione suggerita ma proverò se questa fallisce.
Darren Greaves,

In bocca al lupo! Fateci sapere come va.
ConstantineK,

Quando avviato in modalità utente singolo in Snow Leopard, questo script non funziona per me - dice che l'utente non esiste.
Ivan X,

Quindi per qualche ragione root non esiste quando si esegue / usr / bin / dscl. -search / Nome utente "$ user" (dove $ user è root). È abbastanza strano.
ConstantineK,

2

Installa Tiger come di consueto, quindi avvia i dischi di installazione di Snow Leopard ed esegui l'installazione di aggiornamento senza avviare l'unità interna e creare un account utente.


Sembra un po 'più semplice dell'opzione di pulizia suggerita, quindi ci proverai - grazie.
Darren Greaves,

È anche abbastanza facile eliminare un utente di prova. Darò una risposta a copertura del fatto che è molto più semplice dello script sopra che è un po 'più approfondito, ma che il controllo extra e lasciare una copia di backup di una cartella home "vuota" non è garantito nella situazione che descrivi.
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.