Yeni bir yeniden yüklemeden sonra Snow Leopard'a uygulamalar nasıl yüklenir ve MacBook hala önyükleme öncesi durumda tutulur?


8

2007 Beyaz MacBook'umu satıyorum.

Çevrimiçi gördüğüm birçok öneri doğrultusunda Sürücüyü güvenli bir şekilde sildim ve yeniden yükleme yaptım ama bir sorunla karşılaştım.

Makine OS X 10.4 Tiger ile geldi ama o zamandan beri Leopard'a ve sonra Snow Leopard'a yükselttim.

İdeal olarak, yeni sahibine dönen Hoş Geldiniz metni ile yeni MacBook deneyimini sunmak istiyorum, ancak en son Snow Leopard'a da yapıştırmak istiyorum. Sorun şu ki, Snow Leopard'ın yeni bir kurulumunu yaptığımda makinenin iLife uygulamaları olmayacak (orijinal Tiger kurulum disklerinde).

Makinede bir hesap oluşturmaya gerek olmadan iLife uygulamalarını oraya getirebilmemin bir yolu var mı?

Değilse, yapılacak en iyi şey nedir? Bir hesap oluşturmak istemediğim bir şeydir (ikinci el bir MacBook satın alırsam ve zaten bir hesabı varsa rahatsız olurdum). Öte yandan Tiger'ı kurmak ve yükseltme disklerini vermek de biraz zayıf görünüyor.

Herhangi bir öneriniz lütfen?

Şimdiden teşekkürler.

Takip:
Aşağıdaki tüm cevaplar çok bilgilendirici, açık bir şekilde açıklanmış ve muhtemelen aynı derecede etkilidir. Koşullarıma en uygun olanı seçtim ama umarım hepsi bu sorunun gelecekteki okuyucuları için yararlı olacaktır. Emeği geçen herkese çok teşekkür ederiz.

Yanıtlar:


7

İki şey - bir unix kabuk sözdiziminin temellerini bilmiyorsanız (doğru yerde boşluk olması, / gibi noktalama işaretleri), her şeyi yeniden yüklemeyi göze alamazsanız 2. adımı yapmayın - rmkomut affedilmez - ile yanlış dosya veya dizini silerseniz rm -rfmac önyükleme yapmaz. Sen kullanarak güvenli fazla olabilir srmyerine komutu rmve yavaş yavaş dosyaları parçalamak - ben kullanmak srm -sz -rfyerine rm -rfbir kez parçalamak için aşağıdaki ardından bir silme sonra iki geçiş ve varlık biter hangi (sıfır dışında - benim ihtiyaçları için değil, bol güvenli silinmeden önce varsayılan 35 geçişinin üzerine yazma kadar yavaş)

  1. Makineyi satın alan kişinin kurtarma diskleri için ne aldığını bildiğinden emin olun. Snow Leopard diskini teslim etmek yerine tüm güncellemeleri çalıştırmak için bir test hesabı yapmak gerçekten güzel.

  2. Snow Leopard Mac'inizi, parola olmadan test adlı bir yönetici hesabı eklemek üzere ayarlayın ve test hesabını kullanarak diğer hesapları silin. Tutarak tek kullanıcı moduna yeniden başlatın command+ sve bunlar tam yazın:

    / sbin / mount -uw /
    cd / var / db
    srm .AppleSetupDone
    cd dslocal / nodes / Varsayılan / kullanıcılar
    srm test.plist
    cd / Kullanıcılar
    rm -rf testi
    durdurmak

Artık kurulum karşılama film oynatmalarını görmek için mac'u önyükleyebilir ve ad soruları sormaya başladığında command+ kullanarak birkaç adımda asistandan çıkabilirsiniz qve hesap oluşturulmaz ancak tüm uygulamalar korunur. Wifi ayarlarınızı hatırlayacaktır, bu nedenle 2. adıma başlamadan önce bunları silin veya bu tür bir şeyden endişe ediyorsanız güncellemeleri çalıştırmak için ethernet / güvenli bir genel wifi kullanın.


Tüm seçenekleri tarttıktan sonra bu yaklaşım için gittim. Tüm güncellemeleri çalıştırma ve komutları net bir şekilde düzenleme hakkındaki ipucu için teşekkürler.
Darren Greaves

Burada ve Hobs'un daha sağlam (ve daha karmaşık) senaryosuyla mükemmel geri bildirim. Yeni bir kullanıcı için bir makineyi tazelemek için onlarca kez güvendim.
bmike

7

Kesinlikle iLife'i yükleyebilir, tek kullanıcı moduna önyükleyebilir, kullanıcı hesabını bu süper kullanıcı bağlantısı üzerinden silebilirsiniz (ayrıca aşağıda ve tek kullanıcı modunda da yapabilirsiniz) ve daha sonra tek kullanıcı modunda sadece rm /var/db/.AppleSetupDonebir geçiş anahtarı gibi yazın , söyler ilk önyüklemeden başlamak için mac.

#!/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

Bilgi için teşekkürler - önerilen diğer seçeneği deneyeceğim ama bu başarısız olursa bunu deneyeceğim.
Darren Greaves

İyi şanslar! Nasıl gittiğini bize bildirin.
ConstantineK

Snow Leopard'da tek kullanıcı moduna önyüklendiğinde, bu komut dosyası benim için çalışmıyor - kullanıcının mevcut olmadığını söylüyor.
Ivan X

Daha sonra / usr / bin / dscl çalıştırılırken herhangi bir nedenle kök mevcut olmaz. -search / Users adı "$ user" (burada $ user köküdür). Bu çok garip.
ConstantineK

2

Tiger'ı normal gibi yükleyin, ardından Snow Leopard kurulum disklerini önyükleyin ve dahili sürücüden önyükleme yapmadan ve bir kullanıcı hesabı oluşturmadan bir yükseltme-yükleme yapın.


Bu, önerilen temizleme seçeneğinden biraz daha basit geliyor, bu yüzden bir deneyin - teşekkürler.
Darren Greaves

Test kullanıcısını silmek de oldukça kolaydır. Yukarıdaki komut dosyasından biraz daha kapsamlı olan bir cevap vereceğim, ancak "boş" bir ana klasörün yedek kopyasının bırakılması ve bırakılması, açıkladığınız durumda garanti edilmez.
bmike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.