Как использовать диск восстановления ПО на практически любом Mac


Ситуация, описываемая в этом рецепте, хорошо знакома многим. Представьте себе, что у вас имеется диск для восстановления ПО, но нет диска аварийного восстановления для того Mac, на который вы хотите восстановить это ПО. В этой статье рассказывается о том, как восстановить приложения с диска восстановления ПО на любой Mac по вашему выбору.

Задавались ли вы когда-нибудь вопросом о том, как происходит инсталляция программного обеспечения под Mac OS X? В большинстве случаев, когда вы загружаете приложение из Интернета, достаточно просто перетащить загруженное приложение в папку Applications и запустить его двойным щелчком мыши. В некоторых случаях, тем не менее, приложения поставляются с программой-инсталлятором. Обычно эта ситуация имеет место, когда для корректной работы приложения необходимо поместить некоторые файлы в различные папки файловой системы (например, /Users/username/Library/Application Support/Name of the App/).

Инсталляторы представляют собой программы, которые предоставляют пользователям возможность выбирать опции, отвечая на ряд вопросов (обычно предлагается согласиться с условиями лицензии, выбрать инсталляционный диск, ввести пароль администратора и т. п.), после чего производится установка всех необходимых файлов. Иными словами, инсталляторы выглядят как программы, которые устанавливают другие программы.

Однако это просто иллюзия. Обычно инсталляторы не являются приложениям. Напротив, это файлы с расширением .pkg (рис. 3.15), известные под названием пакетов (packages). При двойном щелчке мышью по такому файлу он открывается приложением, предоставляемым Apple. Это приложение называется Installer и располагается в папке /System/Library/CoreServices. Installer анализирует файл пакета, показывает пользователю только те опции, которые имеют значение, запрашивает ввода пароля, а затем копирует файлы в нужные каталоги файловой системы (рис. 3.16).

Пакеты можно описать как атомарные инсталляционные единицы (например, приложения iCal и iChat), которые, в свою очередь, могут быть собраны в метапакеты (metapackages). Метапакеты не представляют собой реальные пакеты — напротив, они являются комбинациями пакетов, которые могут устанавливаться совместно. Например, комплект приложений iLife представляет собой комбинацию iMovie, iWeb, iDVD и т. д.

Рис. 3.15. Пакеты (packages) и метапакеты (metapackages), отображаемые в Finder
Рис. 3.15. Пакеты (packages) и метапакеты (metapackages), отображаемые в Finder
Рис. 3.16. Пример окна, отображаемого стандартным инсталлятором
Рис. 3.16. Пример окна, отображаемого стандартным инсталлятором

Каким образом проводятся различия между пакетами и метапакетами? В первую очередь, их можно отличить по расширению имени файла — файлы пакетов имеют расширение .pkg, а метапакеты — .mpkg. Знание этой информации поможет вам при работе с DVD, поставляющимися в комплекте с каждым компьютером Mac. Эти диски могут использоваться для восстановления Mac OS X, выполнения тестирования аппаратных средств, а также для установки дополнительного программного обеспечения (например, Xcode).

Как логично было бы ожидать, ПО на таких DVD организовано в форме пакетов и метапакетов. Это означает, что установка Mac OS X связана с установкой большого количества пакетов и метапакетов. На данном этапе возникает логичный вопрос: «А можно ли использовать DVD, поставляемые в комплекте с одним Mac, для установки программ на другом Mac?» Ответ на этот вопрос будет однозначно положительным, причем в вашем распоряжении имеется три различных метода выполнения этой задачи.

В качестве примера, иллюстрирующего ситуацию, в которой у вас может возникнуть такая необходимость, я расскажу случай из моей собственной практики. Я путешествовал поездом и, находясь в дороге, захотел протестировать набор приложений iLife 06, приобретенный несколькими днями раньше. К сожалению, DVD с дистрибутивом iLife 06 я забыл дома. Мне действительно хотелось установить новейшую на тот момент версию знаменитого пакета Apple на свой PowerBook, но при себе имел лишь DVD, входившие в комплект с моим новым MacBook, поэтому я задумался о том, как извлечь пакеты iLife и установить их.

Возможно, вы удивлены тем, почему я не рассматривал такую возможность, как просто вставить DVD от MacBook в привод PowerBook, и просто установить все необходимое ПО. Кстати, этот метод сработает для инструментария разработчика (например, Xcode, Interface Builder) и большинства опционно устанавливаемых приложений (включая драйверы принтеров, Safari, Dictionary, iCal, iChat, iTunes, X11, Address Book), что подтверждается иллюстрациями, приведенными на рис. 3.17 и 3.18. Однако для так называемых «программных комплексов» (bundled software), к числу которых относятся, например, iPhoto, iMovie, iDVD и многие другие комплекты программ, а также для самой операционной системы это, к сожалению, не так. Если вы попытаетесь установить программные комплексы с DVD, поставлявшегося с MacBook, на PowerBook, вы потерпите неудачу (рис. 3.19). Позже мы изучим эту ситуацию и посмотрим, что можно сделать, чтобы решить данную проблему.

Рис. 3.17. Опционные пакеты и инструментарий разработчика
Рис. 3.17. Опционные пакеты и инструментарий разработчика
Рис. 3.18. Необязательные приложения и инструментарий разработчика могут быть установлены с любого DVD на любой Mac без всяких дополнительных ухищрений
Рис. 3.18. Необязательные приложения и инструментарий разработчика могут быть установлены с любого DVD на любой Mac без всяких дополнительных ухищрений
Рис. 3.19. В случае программных комплексов кросс-инсталляция невозможна
Рис. 3.19. В случае программных комплексов кросс-инсталляция невозможна

Этот рецепт был мною протестирован на примере MacBook, поставлявшихся в комплекте с ним носителей DVD, с PowerBook и iMac G4. Есть основания предполагать, что с другими системами существенных отличий не будет. Говоря более общими словами, в этом примере я буду называть свой MacBook именем NewMac, PowerBook — OldMac, а iMac G4 — AnotherOldMac. Наконец, следует напомнить о том, что использовать этот хак следует только при установке программного обеспечения, на которое вы приобрели лицензию.

Подход с использованием режима целевого диска (не обеспечивает 100% гарантии безопасности)

Простейший способ обойти ситуацию с выводом сообщения о невозможности установки программного комплекса на данном компьютере (см. рис. 3.19) заключается в использовании режима целевого диска. Для этой цели запустите инсталлятор на NewMac, а в качестве диска для установки укажите жесткий диск компьютера OldMac. Это возможно благодаря режиму целевого диска (Target Disk Mode), в котором компьютер OldMac фигурирует в качестве внешнего жесткого диска, доступ к которому можно получить с любого компьютера Mac, оснащенного портом FireWire (как правило, этому требованию удовлетворяют любые компьютеры Mac, выпущенные после 1997 года). Перезапуск компьютера в режиме целевого диска показан на рис. 3.20.


Рис. 3.20. Перезапуск компьютера в режиме целевого диска
Рис. 3.20. Перезапуск компьютера в режиме целевого диска

Итак, для установки программного комплекса NewMac на OldMac действуйте следующим образом:

  1. Соедините два компьютера (OldMac и NewMac) кабелем FireWire (вам потребуется кабель с двумя 6-контактными разъемами).
  2. Переведите OldMac в режим целевого диска. Для этой цели выполните следующие шаги:
    • Щелкните мышью по меню Apple в верхнем левом углу, выберите опции System Preferences → Startup Disk.
    • Щелкните мышью по кнопке Target disk mode… и нажмите кнопку Restart.
    • На экране компьютера OldMac появится большой логотип FireWire.
  3. На рабочем столе компьютера NewMac вы увидите новый значок, названный так же, как и жесткий диск вашего компьютера OldMac (обычно он называется Macintosh HD).

Теперь между вашими компьютерами установлена связь, и вы можете вставить DVD от вашего компьютера NewMac в привод NewMac, а затем запустить инсталлятор.

Установка программных комплексов

Выполните двойной щелчок мышью по опции Install Bundled Software Only, если вы хотите установить iPhoto, iDVD, iMovie, GarageBand, iWeb, iWork Trial, Front Row, Photo Booth, Comic Life, OmniOutliner или любое другое программное обеспечение, включенное в состав релизов Mac OS X. Комплекты программ, поставляющихся с Mac OS X, могут отличаться в зависимости от типа вашего Mac.

Многие новые модели Mac, в особенности те, которые были выпущены после выхода Mac OS X 10.4 Tiger, поставляются в комплекте с DVD, на котором содержится инсталлятор iLife. Этот DVD может использоваться без модификации.

Установка операционной системы

Если вы хотите установить более новую версию операционной системы на старый компьютер, выполните инструкции, приведенные в данной статье. Раскройте окно Finder, нажмите клавиатурную комбинацию Command+Shift+G (или выберите из меню команды Go → Go to Folder) и введите следующую команду: $ /Volumes/Mac OS X Install Disc 1/System/Installation/Packages/. Обратите внимание, что имя диска может варьироваться. Например, для инсталляционного DVD оно будет выглядеть следующим образом: /Volumes/Mac OS X Install DVD/System/Installation/Packages. Выполните двойной щелчок мышью по метапакету OSInstall.mpkg, далее следуйте инструкциям, выводимым на экран, а когда вам будет предложено выбрать диск для установки, выберите жесткий диск компьютера OldMac (рис. 3.21).

Рис. 3.21. Кросс-инсталляция программных комплексов
Рис. 3.21. Кросс-инсталляция программных комплексов

Почему эта процедура не является 100% надежной?

Эта процедура кросс-инсталляции не является полностью (т. е. на все 100%) надежной, поскольку инсталлятор может основываться на определенных допущениях, принятых на основе анализа аппаратных средств, на которых запущено приложение Installer (в рассматриваемом примере это компьютер NewMac), в то время как установка операционной системы осуществляется на компьютер с другой аппаратной конфигурацией. В моем примере, а также в ситуациях, с которыми столкнулись многие мои друзья и коллеги, данный метод сработал хорошо. Однако в вашей конкретной ситуации, в зависимости от аппаратных конфигураций ваших компьютеров, эта методика может и не привести к успеху. Так что предпринимайте эту операцию на свой страх и риск и считайте, что вы предупреждены.

Два старых компьютера

Теперь рассмотрим другую, более сложную ситуацию, когда у вас нет нового Mac, зато в вашем распоряжении имеются два старых Macintosh, ни один из которых не удовлетворяет требованиям восстановительного диска. Хотя эта ситуация и кажется безнадежной, на самом деле она таковой не является. В данной ситуации вам поможет немного хакинга.

К сожалению, эта процедура не работает с Mac OS X 10.5 Leopard, потому что в этой новой версии используется иной формат файлов пакетов, нежели применявшийся в Mac OS X 10.4 Tiger.

Итак, если у вас есть два старых Mac и восстановительные диски версий Mac OS X, более ранних, нежели Leopard, вы можете прибегнуть к следующей процедуре:

    1. Соедините два старых компьютера — назовем их OldMac и AnotherOldMac — с помощью кабеля FireWire, действуя по приведенной ранее инструкции.
    2. Переведите OldMac в режим целевого диска, действуя в соответствии с ранее приведенными инструкциями.
    3. Вставьте первый DVD от NewMac в привод компьютера AnotherOldMac.
    4. Раскройте окно Finder и перейдите в папку /Volumes/Mac OS X Install Disc 1/System/Installation/Packages/ или /Volumes/Mac OS X Install DVD/System/Installation/Packages/.
    5. Скопируйте на свой рабочий стол файл OSInstall.mpkg.
    6. Выполните по этому файлу щелчок правой кнопкой мыши (или щелкните по нему мышью при нажатой клавише Ctrl), а затем выберите из контекстного меню команду Show package contents. Откроется новое окно.
    7. Перейдите в папку Contents (рис. 3.22).
Рис. 3.22. Находим файл OSInstall.dist
Рис. 3.22. Находим файл OSInstall.dist
Рис. 3.23. Файл OSInstall.dist, открытый в редакторе TextEdit
Рис. 3.23. Файл OSInstall.dist, открытый в редакторе TextEdit
  1. Теперь вам потребуется дать приложению Installer указание пропустить проверку аппаратной конфигурации. Для этого найдите файл OSInstall.dist (см. рис. 3.22) и раскройте его своим любимым редактором. Для этого щелкните по файлу правой кнопкой мыши и из раскрывшегося меню выберите команды File → Open with → Other. Выберите редактор TextEdit (или любой другой, к которому вы привыкли). Будучи раскрытым в текстовом редакторе, файл будет выглядеть, как показано на рис. 3.23.
  2. Выполните поиск строки hwbe_machine_message; вы получите только одно совпадение (рис. 3.24).
    Рис. 3.24. Текст в файле OSInstall.dist, нуждающийся в модификации
    Рис. 3.24. Текст в файле OSInstall.dist, нуждающийся в модификации

    Фрагмент файла OSInstall.dist, нуждающийся в модификации, будет выглядеть примерно так, как в листинге.

    12345678// Фрагмент файла OSInstall.dist, нуждающийся в модификацииfunction hwbeInstallCheck() {if ( !hwbeModelCheck() ) {my.result.message =system.localizedStringWithFormat(‘hwbe_machine_message’);my.result.type = ‘Fatal’;return false;}

  3. Отредактируйте этот код так, как показано в листинге.12345678910// Фрагмент файла OSInstall.dist, отредактированный для отменыпроверки аппаратной конфигурацииfunction hwbeInstallCheck() {return true;if ( !hwbeModelCheck() ) {my.result.message =system.localizedStringWithFormat(‘hwbe_machine_message’);my.result.type = ‘Fatal’;return false;}
  4. Сохраните файл и закройте его.
  5. Теперь вам потребуется отредактировать еще один или несколько файлов, входящих в пакет:
      • Откройте своим любимым редактором файл Info.plist. Этот файл находится в той же самой папке, что и только что отредактированный файл OSInstall.dist.
      • Выполните поиск строки component; вы обнаружите только одно совпадение.
      • Вы обнаружите фрагмент текста, выглядящий так, как показано в листинге.

    123// Фрагмент файла Info.plist, нуждающийся в модификации<key>IFPkgFlagComponentDirectory</key><string>..</string>

      • Отредактируйте этот фрагмент текста так, как показано в листинге (если вы используете инсталляционный DVD, замените строку Disc 1 на строку DVD).

    123// Отредактированный фрагмент файла Info.plist<key>IFPkgFlagComponentDirectory</key><string>/Volumes/Mac OS X Install Disc 1/System/Installation/Packages</string>

  6. Сохраните файл и закройте его.

Итак, выполнив только что описанные операции, вы подготовили пакет для инсталляции в вашей конкретной ситуации. В сущности, вы просто изменили инструкции по установке с тем, чтобы включить конкретный компьютер, на который вы собираетесь установить программное обеспечение, в список поддерживаемых. Выполните двойной щелчок мышью по файлу OSInstall.mpkg и следуйте выводимым на экран инструкциям. Когда вам будет предложено указать диск для установки, выберите жесткий диск компьютера, на который вы будете производить инсталляцию. Работа инсталлятора показана на рис. 3.25.

Рис. 3.25. Теперь вы готовы к установке программного обеспечения
Рис. 3.25. Теперь вы готовы к установке программного обеспечения

Установка одиночных пакетов (надежный, но сложный метод)

Этот подход более сложен, чем все остальные, однако внимательное изучение этого материала поможет вам действительно разобраться с тем, как работают пакеты. Данный метод будет полезен и в тех случаях, когда у вас имеется только один Mac и несовместимый с ним восстановительный диск, поскольку, как вы скоро увидите, вы можете работать с OldMac непосредственно, применяя для этого DVD от NewMac. Если вы заинтересованы в установке лишь одного приложения (в качестве примера возьмем iPhoto), вы можете найти пакет iPhoto.pkg или iPhoto.mpkgи установить программное обеспечение непосредственно.

К сожалению, эта процедура не работает с Mac OS X 10.5 Leopard, потому что в этой новой версии используется иной формат файлов пакетов, нежели применявшийся в Mac OS X 10.4 Tiger.

Поиск пакета на CD

Перейдите в папку /Volumes/Mac OS X Install Disc 1/System/Installation/Packages/.packages/ — ну как, нашли нужный пакет? И все прошло благополучно? Получили сообщение об ошибке? Тогда вставьте в привод диск номер 2 и перейдите в папку /Volumes/Mac OS X Install Disc 2/Packages, где вы увидите другой файл iPhoto.mpkg, объемом 500 Мбайт.

Поиск пакета на DVD

Перейдите в папку /Volumes/Mac OS X Install DVD/System/Installation/Packages/.packages/ — ну как, нашли нужный пакет? На этот раз вы его точно найдете. Выполните по нему двойной щелчок мышью и… вы получите сообщение об ошибке! Этот пакет может быть установлен только вместе с другими приложениями, включенными в комплект программ. Скопируйте файл на свой рабочий стол (это может занять некоторое время), выполните на нем щелчок правой кнопкой мыши и выберите опцию Show package contents, а затем перейдите в папку Contents. Найдите файл iPhoto.dist и раскройте его своим любимым редактором. Найдите строки, показанные в листинге.

12345// Строки файла iPhoto.dist, нуждающиеся в редактированииfunction installationCheck(){// yes, this is secureif (system.files.fileExistsAtPath(‘/tmp/com.apple.mpkg.iLife’))

Закомментируйте оператор if, как показано в листинге ниже.

1234// function installationCheck(){// yes, this is secure// if (system.files.fileExistsAtPath(‘/tmp/com.apple.mpkg.iLife’))

Обратите внимание — мы добавили всего лишь два символа (две наклонных косых черты), но тем самым сделали очень много. Теперь оператор проверки выполняться не будет, и это позволит избежать появления сообщения об
ошибке. Сохраните файл, закройте его, а затем выполните двойной щелчок мышью по файлу iPhoto.mpkg, расположенному на вашем рабочем столе. Теперь все будет работать отлично.

Тем, кто хорошо знаком с приложением Terminal, а также хорошо знает принципы работы инсталлятора операционной системы на CD, можно порекомендовать еще более быстрый путь выполнения этой операции. Вместо копирования всего метапакета iPhoto.mpkg с диска 2, вы можете скопировать пакет с диска 1, отредактировать файл iPhoto.dist, как было описано ранее, и создать символические ссылки на инсталляторы с диска 2. Команды, которые необходимо для этого выполнить, приведены в листинге (первая команда, cd, возвращает вас в домашнюю папку).

12345// Команды, необходимые для установки iPhoto через приложение Terminalcdln -s /Volumes/Mac OS X Install Disc2/Packages/iPhoto.mpkg/Contents/Installers/*Desktop/iPhoto.mpkg/Contents/Installers/

Безопасный способ изменения требований к системе

Третий способ — наиболее элегантный из всех методов установки программных комплектов, не требующий загрузки в режиме целевого диска (установка может быть произведена непосредственно на OldMac). Идея, лежащая в основе этого подхода, заключается в редактировании требований пакета к системе, на которой он устанавливается (в рассматриваемом примере смысл редактирования заключается в снятии ограничения, разрешающего установку только на конкретном типе MacBook).

С учетом того, что большинство пакетов на текущий момент фактически никак не зависят от типа Mac, на который они устанавливаются, это ограничение не имеет никакого технологического смысла и фактически накладывается исключительно в целях проведения антипиратской политики Apple. Прежде чем приступить к обсуждению вносимой модификации, следует отметить, что все модели Mac различаются по именам и отличительным номерам. Вот лишь несколько примеров:

  • iMac G3 SE — PowerMac 2,1
  • iMac G5 — PowerMac 12,1
  • iMac aluminum (intel) — iMac 7,1
  • PowerMac G5 — PowerMac 7,2
  • iBook G4 — PowerBook 6,7
  • MacBook — MacBook 1,1
  • MacBook Pro — MacBookPro 1,1

Если в вашем распоряжении находится одна из только что перечисленных моделей, то вы смело можете вносить обсуждаемую модификацию. Как узнать точное название модели вашего Mac? Перейдите в меню Apple и из этого меню выберите команды About This Mac→More Info. При этом запустится приложение System Profiler (расположенное в папке /Applications/Utilities), которое и отобразит идентификатор вашей модели (Model Identifier). Пример информации, отображаемой приложением System Profiler, приведен в листинге.

123456789101112131415// Пример информации, выводимой приложением System ProfilerHardware Overview:Model Name: PowerBook G4 12″Model Identifier: PowerBook6,8Processor Name: PowerPC G4 (1.5)Processor Speed: 1.5 GHzNumber Of CPUs: 1L2 Cache (per CPU): 512 KBMemory: 1,25 GBBus Speed: 167 MHzBoot ROM Version: 4.9.0f0Serial Number: ———————Sudden Motion Sensor:State: EnabledVersion: 1.0

Прочитав идентификатор вашей модели Mac, вы можете вставить первый DVD, приложенный к вашему новому компьютеру, в привод вашего старого Mac (как вы помните, мы условились называть их NewMac и OldMac, соответственно) и выполнить следующие действия:

    1. Выделите значок Install Bundled Software Only и нажмите клавиатурную комбинацию Command+R (или выберите из меню команды File → Show Original).
    2. Скопируйте файл Bundled Software.mpkg на рабочий стол.
    3. Щелкните по этому файлу правой кнопкой мыши и выберите из появившегося контекстного меню команду Show Package Contents.
    4. Перейдите в папку Contents и откройте файл Info.plist своим любимым текстовым редактором.
    5. Найдите в файле Info.plist текстовые строки, показанные в листинге.

123// Фрагмент файла Info.plist, нуждающийся в редактировании<key>TestObject</key><string>MacBook2,1</string>

    1. Измените текст, показанный в листинге выше, так, как показано в листинге ниже. Обратите внимание, что в данном примере я ввел строку PowerBook6,8 потому, что это — именно та модель Mac, на которой я устанавливаю ПО. Вам потребуется ввести идентификатор, соответствующий вашей конкретной модели.

123// Модифицированный фрагмент файла Info.plist<key>TestObject</key><string>PowerBook6,8</string>

    1. Теперь найдите в файле Info.plist строки, показанные в листинге ниже.

1234// Еще один фрагмент файла Info.plist, нуждающийсяв модификации<key>IFPkgFlagComponentDirectory</key><string>../.packages</string>

    1. Чтобы инсталлятор обнаружил все пакеты, отредактируйте фрагмент, представленный в листинге, так, как показано в листинге (если вы используете установочный DVD, замените строку Disc 1 на строку DVD).

12345// Фрагмент файла Info.plist, модифицированный так,чтобы инсталлятор обнаружил все пакеты<key>IFPkgFlagComponentDirectory</key><string>/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/.packages</string>

  1. Сохраните модифицированный файл, затем выполните двойной щелчок мышью по файлу Bundled Software.mpkg на вашем рабочем столе. В этот раз установщик должен отработать без ошибок (рис. 3.26).
Рис. 3.26. Ваше программное обеспечение готово к установке
Рис. 3.26. Ваше программное обеспечение готово к установке

Этот рецепт я разработал при изучении принципов работы пакетов и метапакетов, а также методов манипуляции с ними. Возможно, в будущем Apple изменит эти принципы или внесет изменения, в результате которых снятие ограничений (например, таких как проверка идентификатора модели) будет затруднено. В этом случае вам придется провести самостоятельные исследования — впрочем, это и есть то, чем хакеры занимаются ежедневно.