วิธีการติดตั้งแอพลง Snow Snow หลังจากติดตั้งใหม่และยังคง MacBook ไว้ในสถานะก่อนบูตเครื่องครั้งแรก


8

ฉันขาย MacBook White 2007 ของฉัน

ตามคำแนะนำมากมายที่ฉันเห็นทางออนไลน์ฉันได้ทำการล้างไดรฟ์อย่างปลอดภัยและทำการติดตั้งใหม่ แต่ได้ประสบปัญหา

เครื่องมาพร้อมกับ OS X 10.4 Tiger แต่ฉันได้อัพเกรดเป็น Leopard แล้ว Snow Leopard

เป็นการดีที่ฉันต้องการให้เจ้าของใหม่ได้รับประสบการณ์ MacBook ใหม่ด้วยข้อความต้อนรับที่หมุนรอบตัว แต่ฉันก็อยากจะติดกับ Snow Leopard ล่าสุด ปัญหาคือเมื่อฉันติดตั้ง Snow Leopard ใหม่เครื่องจะไม่มีแอปพลิเคชัน iLife (อยู่ในดิสก์ติดตั้ง Tiger ดั้งเดิม)

มีวิธีที่ฉันสามารถใช้แอพ iLife ได้หรือไม่โดยไม่จำเป็นต้องตั้งค่าบัญชีในเครื่อง?

ถ้าไม่เป็นสิ่งที่ดีที่สุดที่จะทำคืออะไร? การตั้งค่าบัญชีเป็นสิ่งที่ฉันไม่อยากทำ (ฉันรู้ว่าฉันจะรำคาญถ้าฉันซื้อ MacBook มือสองและมีบัญชีอยู่แล้ว) ในทางกลับกันการติดตั้ง Tiger และให้ดิสก์การอัพเกรดแก่พวกเขาดูเหมือนจะไม่ดีนัก

ข้อเสนอแนะโปรด?

ขอบคุณล่วงหน้า.

การติดตาม:
คำตอบทั้งหมดด้านล่างมีข้อมูลที่อธิบายอย่างชัดเจนและอาจมีประสิทธิภาพเท่ากัน ฉันเลือกสิ่งที่เหมาะสมกับสถานการณ์ของฉันมากที่สุด แต่หวังว่าพวกเขาจะใช้กับผู้อ่านในอนาคตของคำถามนี้ ขอขอบคุณทุกท่านที่มีส่วนร่วม

คำตอบ:


7

สองสิ่ง - หากคุณไม่ทราบพื้นฐานของไวยากรณ์เชลล์ unix (มีช่องว่างในที่ที่ถูกต้องเครื่องหมายวรรคตอนเช่น / เรื่อง) ไม่ทำขั้นตอนที่ 2 เว้นแต่ว่าคุณจะสามารถติดตั้งทุกอย่างได้อีกครั้ง - rmคำสั่ง เป็นเรื่องให้อภัย - ลบไฟล์หรือไดเรกทอรีที่ไม่ถูกต้องด้วยrm -rfและ Mac จะไม่บูต คุณสามารถมีความปลอดภัยมากขึ้นโดยใช้srmคำสั่งแทนrmและมันจะทำการฉีกไฟล์อย่างช้าๆ - ฉันใช้srm -sz -rfแทนrm -rfด้านล่างเพื่อทำลายหนึ่งครั้งและจากนั้นก็หมดศูนย์ ช้าที่สุดเท่าที่ค่าเริ่มต้น 35 ผ่านเขียนทับก่อนที่จะลบ)

  1. ตรวจสอบให้แน่ใจว่าคนที่ซื้อเครื่องรู้สิ่งที่พวกเขาได้รับดิสก์กู้คืน เป็นเรื่องดีจริง ๆ ที่สร้างบัญชีทดสอบเพื่อเรียกใช้การอัปเดตทั้งหมดแทนที่จะส่งมอบดิสก์ Snow Leopard

  2. ตั้งค่า Snow Leopard Mac ของคุณเพื่อเพิ่มบัญชีผู้ดูแลระบบหนึ่งชื่อทดสอบโดยไม่มีรหัสผ่านและลบบัญชีอื่น ๆ โดยใช้บัญชีทดสอบ รีบูตเข้าสู่โหมดผู้ใช้คนเดียวโดยกดcommand+ sและพิมพ์สิ่งเหล่านี้ทั้งหมด:

    / sbin / mount -uw /
    cd / var / db
    srm .AppleSetupDone
    cd dslocal / nodes / Default / users
    srm test.plist
    cd / ผู้ใช้
    การทดสอบ rm -rf
    หยุด

ตอนนี้คุณสามารถบูตเครื่อง mac เพื่อดูภาพยนตร์ต้อนรับการตั้งค่าและออกจากผู้ช่วยไม่กี่ขั้นตอนในการใช้command+ qเมื่อเริ่มถามคำถามชื่อและมันจะปิดตัวลงโดยไม่มีบัญชีที่สร้างขึ้น มันจะจดจำการตั้งค่า wifi ของคุณดังนั้นให้ลบการตั้งค่าเหล่านั้นก่อนเริ่มขั้นตอนที่ 2 หรือใช้อีเธอร์เน็ต / wifi สาธารณะที่ปลอดภัยเพื่อเรียกใช้การอัปเดตหากคุณกังวลเกี่ยวกับสิ่งนั้น


หลังจากชั่งน้ำหนักตัวเลือกทั้งหมดที่ฉันได้ไปสำหรับวิธีนี้ ขอบคุณสำหรับเคล็ดลับเกี่ยวกับการเรียกใช้การอัปเดตทั้งหมดและกำหนดคำสั่งอย่างชัดเจน
Darren Greaves

ข้อเสนอแนะที่ยอดเยี่ยมที่นี่และด้วยสคริปต์ที่แข็งแกร่งและซับซ้อนยิ่งขึ้นของ Hobs ฉันใช้หลายสิบครั้งนี้เพื่อเพิ่มความสดชื่นให้กับเครื่องสำหรับผู้ใช้ใหม่
bmike

7

คุณสามารถติดตั้ง iLife ได้อย่างแน่นอนบูตเข้าสู่โหมดผู้ใช้คนเดียวลบบัญชีผู้ใช้ผ่านลิงค์ superuser นี้ (รวมถึงด้านล่างและทำในโหมดผู้ใช้คนเดียว) จากนั้นในโหมดผู้ใช้คนเดียวเพียงพิมพ์rm /var/db/.AppleSetupDoneซึ่งเป็นเหมือนสวิตช์สลับ 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

ขอบคุณสำหรับข้อมูล - ฉันจะลองใช้ตัวเลือกที่แนะนำอื่น ๆ แต่จะลองทำสิ่งนี้หากตัวเลือกนั้นล้มเหลว
Darren Greaves

โชคดี! แจ้งให้เราทราบว่ามันไปอย่างไร
ConstantineK

เมื่อทำการบูทเข้าสู่โหมดผู้ใช้คนเดียวใน Snow Leopard สคริปต์นี้ไม่ทำงานสำหรับฉัน - มันบอกว่าผู้ใช้ไม่มีอยู่
Ivan X

จากนั้นด้วยเหตุผลบางอย่างไม่มีรากอยู่เมื่อรัน / usr / bin / dscl - การค้นหา / ชื่อผู้ใช้ "$ user" (โดยที่ $ user คือ root) นั่นเป็นสิ่งที่แปลก
ConstantineK

2

ติดตั้ง Tiger เหมือนปกติจากนั้นบู๊ตติดตั้งแผ่นดิสก์เสือดาวหิมะและทำการอัพเกรดติดตั้งโดยไม่ต้องบูตจากไดรฟ์ภายในและสร้างบัญชีผู้ใช้


ฟังดูง่ายกว่าตัวเลือกการทำความสะอาดเล็กน้อยซึ่งจะทำให้ได้ลอง - ขอบคุณ
Darren Greaves

นอกจากนี้ยังง่ายต่อการลบผู้ใช้ทดสอบ ฉันจะให้คำตอบเพื่อให้เข้าใจว่าสคริปต์นั้นง่ายกว่าสคริปต์ข้างต้นที่ละเอียดกว่าเล็กน้อย แต่การตรวจสอบเพิ่มเติมและทิ้งสำเนาสำรองของโฟลเดอร์โฮม "ว่าง" นั้นไม่ได้รับประกันในสถานการณ์ที่คุณอธิบาย
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.