Làm cách nào để cài đặt ứng dụng lên Snow Leopard sau khi cài đặt lại mới mà vẫn giữ MacBook ở trạng thái khởi động trước?


8

Tôi đang bán MacBook trắng 2007 của tôi.

Theo nhiều gợi ý tôi đã thấy trực tuyến Tôi đã xóa ổ đĩa một cách an toàn và thực hiện cài đặt lại nhưng đã gặp sự cố.

Máy được cài sẵn OS X 10.4 Tiger nhưng tôi đã nâng cấp nó lên Leopard rồi Snow Leopard.

Lý tưởng nhất là tôi muốn mang đến cho chủ sở hữu mới trải nghiệm MacBook mới với văn bản Chào mừng quay vòng nhưng tôi cũng muốn dán chúng lên Snow Leopard mới nhất. Vấn đề là, khi tôi cài đặt Snow Leopard mới, máy sẽ không có ứng dụng iLife (chúng nằm trên đĩa cài đặt Tiger gốc).

Có cách nào để tôi có thể tải ứng dụng iLife trên đó mà không cần thiết lập tài khoản trên máy không?

Nếu không, điều tốt nhất để làm là gì? Thiết lập tài khoản là điều tôi không nên làm (Tôi biết tôi sẽ khó chịu nếu tôi mua MacBook cũ và nó đã có tài khoản trên đó). Mặt khác, cài đặt Tiger và cung cấp cho họ các đĩa nâng cấp cũng có vẻ hơi kém.

Có gợi ý nào không?

Cảm ơn trước.

Theo dõi:
Tất cả các câu trả lời dưới đây rất nhiều thông tin, được giải thích rõ ràng và có thể hiệu quả như nhau. Tôi đã chọn một câu phù hợp nhất với hoàn cảnh của mình nhưng hy vọng tất cả chúng sẽ được sử dụng cho những độc giả tương lai của câu hỏi này. Cảm ơn tất cả những người đã đóng góp.

Câu trả lời:


7

Hai điều - nếu bạn không biết những điều cơ bản của cú pháp shell unix (có khoảng trắng ở đúng vị trí, thì dấu câu / vấn đề) không thực hiện bước 2 trừ khi bạn có thể đủ khả năng cài đặt lại mọi thứ - rmlệnh không tha thứ - xóa tập tin hoặc thư mục sai rm -rfvà mac sẽ không khởi động. Bạn có thể an toàn hơn bằng cách sử dụng srmlệnh thay vì rmvà nó sẽ từ từ hủy các tệp - Tôi sử dụng srm -sz -rfthay vì rm -rfbên dưới để hủy một lần và sau đó thoát ra (kết thúc là hai lần và sau đó xóa - rất an toàn cho nhu cầu của tôi và không chậm như 35 mặc định vượt qua ghi đè trước khi xóa)

  1. Đảm bảo rằng người mua máy biết họ đang nhận đĩa khôi phục để làm gì. Thật tuyệt khi tạo một tài khoản thử nghiệm để chạy tất cả các bản cập nhật thay vì trao cho chúng đĩa Snow Leopard.

  2. Thiết lập Snow Leopard Mac của bạn để thêm một tài khoản quản trị viên có tên thử nghiệm không có mật khẩu và xóa bất kỳ tài khoản nào khác bằng tài khoản thử nghiệm. Khởi động lại vào chế độ người dùng bằng cách giữ command+ svà nhập chính xác:

    / sbin / gắn -uw /
    cd / var / db
    srm .AppleSetupDone
    cd dslocal / nút / Mặc định / người dùng
    srm test.plist
    cd / Người dùng
    kiểm tra rm -rf
    tạm dừng lại

Bây giờ bạn có thể khởi động mac để xem thiết lập phim chào mừng thiết lập và thoát trợ lý một vài bước khi sử dụng command+ qkhi nó bắt đầu đặt câu hỏi về tên và nó sẽ tắt mà không có tài khoản nào được tạo nhưng tất cả các ứng dụng được bảo tồn. Nó sẽ ghi nhớ các cài đặt wifi của bạn, vì vậy hãy xóa các cài đặt đó trước khi bắt đầu bước 2 hoặc sử dụng ethernet / wifi công cộng an toàn để chạy các bản cập nhật nếu bạn lo lắng về điều đó.


Sau khi cân nhắc tất cả các lựa chọn tôi đã thực hiện cho phương pháp này. Cảm ơn các mẹo về việc chạy tất cả các bản cập nhật và đưa ra các lệnh một cách rõ ràng.
Darren Greaves

Phản hồi tuyệt vời ở đây và với kịch bản mạnh mẽ hơn (và phức tạp hơn) của Hobs. Tôi đã dựa vào điều này hàng chục lần để làm mới máy cho người dùng mới.
bmike

7

Bạn chắc chắn có thể cài đặt iLife, khởi động vào chế độ người dùng, xóa tài khoản người dùng thông qua liên kết siêu người dùng này (cũng ở bên dưới và thực hiện ở chế độ người dùng đơn), sau đó ở chế độ người dùng chỉ cần gõ rm /var/db/.AppleSetupDonegiống như một công tắc bật tắt, nó sẽ báo mac để bắt đầu từ khởi động ban đầu.

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

Cảm ơn thông tin - tôi sẽ thử tùy chọn được đề xuất khác nhưng sẽ thử tùy chọn này nếu thất bại.
Darren Greaves

Chúc may mắn! Hãy cho chúng tôi biết làm thế nào nó đi.
ConstantineK

Khi được khởi động vào chế độ một người dùng trong Snow Leopard, tập lệnh này không hoạt động với tôi - nó nói rằng người dùng không tồn tại.
Ivan X

Sau đó, vì một số lý do, root không tồn tại khi chạy / usr / bin / dscl. -search / Tên người dùng "$ user" (trong đó $ user là root). Đó là khá kỳ lạ.
ConstantineK

2

Cài đặt Tiger như bình thường, sau đó khởi động đĩa cài đặt Snow Leopard và cài đặt nâng cấp mà không cần khởi động ổ đĩa trong và tạo tài khoản người dùng.


Điều này nghe có vẻ đơn giản hơn một chút so với tùy chọn dọn dẹp được đề xuất nên sẽ thử lại - cảm ơn.
Darren Greaves

Nó cũng khá dễ dàng để xóa một người dùng thử nghiệm. Tôi sẽ đưa ra câu trả lời để giải thích rằng nó đơn giản hơn nhiều so với kịch bản ở trên kỹ lưỡng hơn một chút, nhưng việc kiểm tra thêm và để lại một bản sao dự phòng của một thư mục nhà "trống rỗng" không được bảo đảm trong tình huống bạn mô tả.
bmike
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.