Как расширить возможности Mac с помощью Fink и MacPorts


Набор программ, написанных специально для Mac, весьма впечатляющ. Тем не менее, существует целый мир программного обеспечения, которое не разрабатывалось специально для Mac, но может существенно расширить его возможности. Для этого вам потребуется ознакомиться с несколькими дополнительными инструментами и затратить немного времени на предварительное планирование. Итак, данный рецепт позволит вам расширить спектр доступных вам программ.Одним из самых благоразумных шагов, предпринятых Apple на пути к Mac OS X, заключался в том, что новая ОС базировалась на BSD, бесплатной вариации UNIX, почти такой же старой, как и сами персональные компьютеры. Новое ядро операционной системы, получившее имя Darwin, позволило Apple влиться в сообщество разработчиков UNIX/Linux и расширить сообщество пользователей продукта. Вследствие этого многие приложения, доступные пользователям BSD и Linux, доступны и пользователям Mac OS X, В этом разделе мы рассмотрим два проекта — Fink и MacPorts, которые позволяют высвободить скрытую мощь BSD UNIX, кроющуюся за красивой оболочкой Mac OS X. Оба продукта бесплатны и представляют собой продукты на основе открытого исходного кода. Они позволяют находить и устанавливать модифицированное программное обеспечение UNIX, которое компилируется для работы под Mac OS X. Кроме того, они обеспечивают простые и удобные возможности по инсталляции пакетов и управлению уже установленными.

Бесплатное ПО или свободное ПО на основе открытого кода

Попадая в мир бесплатного и открытого (Open Source) программного обеспечения (а это случится с вами рано или поздно, если уже не случилось), многие пользователи часто бывают озадачены, услышав о разнице между бесплатным (free as in beer) и открытым (free as in speech) ПО. Разница эта не слишком очевидна с точки зрения конечного пользователя, и она действительно почти неуловима, поскольку в английском языке граница между gratis и libre довольно размыта.

Тем не менее, различие действительно существует, и понять его действительно необходимо. Термин «бесплатное пиво» (free as in beer) относится к стоимости программного обеспечения (бесплатно). При этом даже программы на основе открытого кода не всегда бывают бесплатными (например, Redhat делает очень неплохой бизнес на разработке открытого ПО). Поэтому ПО, о котором говорят «free as in beer» — это ПО, за которое просто не просят денег. С другой стороны, свободное ПО (free as in speech) — это программное обеспечение, свободное от скрытого кода и лицензионных соглашений. ПО на основе открытого кода является свободным, так как вам разрешается модифицировать исходный код программы и делать с ней практически что угодно (причем в довольно широких пределах).

Использовать Fink и MacPorts позволит вам делать многое, в том числе:

  • Выполнять обновления открытого ПО, поставляющегося вместе с вашим Mac, в том числе Perl и Python, до новейших версий из числа доступных.
  • Устанавливать программы, для которых на Mac не существует эквивалентов, например, GnuCash и ImageMagick.
  • Устанавливать бесплатные и открытые альтернативы существующим приложениям Mac, например, Amarok вместо iTunes или Gimp вместо Photoshop.
  • Устанавливать инструментарий, интерпретаторы и библиотеки, позволяющие разрабатывать программное обеспечение для платформ UNIX и Mac.

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

Применение Fink или MacPorts позволит избежать противоречий между пакетами. В сообществе ведутся оживленные споры о том, какая из систем лучше — Fink или MacPorts, и каждый из проектов имеет своих сторонников. При этом каждый из проектов действительно имеет и свои выигрышные стороны, и свои недостатки. Многие пользователи применяют даже не один продукт, а оба. Их цель заключается в том, чтобы перенести на платформу Mac OS X как можно большее количество программного обеспечения. Они настраивают и модифицируют открытое программное обеспечение UNIX таким образом, чтобы его поведение на платформе Mac OS X было оптимальным, при этом обеспечивая для других пользователей относительно простой путь к получению новых программ.


Прежде чем устанавливать Fink или MacPorts, вам необходимо подготовить ваш компьютер. Ваша копия Mac OS X должна быть установлена таким образом, чтобы в ней имелась подсистема BSD (в Leopard она устанавливается автоматически). Кроме того, вам потребуется и среда разработки Xcode, доступная для загрузки с сайта Apple Developer Connection (ADC) (http://developer.apple.com). Кроме того, среда разработки Xcode должна быть доступна и на дисках, поставляющихся в комплекте с вашим компьютером. Для скачивания дистрибутива Xcode ADC вам потребуется зарегистрироваться на сайте ADC, но сам продукт бесплатен, а его установка в большинстве случаев проходит без осложнений.

Xcode содержит основной инструментарий, необходимый для компиляции и запуска большей части программ на основе открытого кода. Наконец, дополнительно вам потребуется X11 (в Finder вы не увидите расширения .app, но вам потребуется включить его при использовании Terminal). X11 включается в состав необязательных пакетов (optional installs) дистрибутивов версий Mac OS X, более ранних, чем Leopard. Если вы устанавливаете Leopard, то этот шаг вам выполнять не потребуется, поскольку X11 устанавливается по умолчанию.

На данном этапе будет полезно ознакомиться с Terminal и X11, если этого не было сделано до сих пор. Terminal послужит для вас окном в мир программ, работающих через командную строку. Запустите это приложение и попробуйте поработать с простыми командами, например, ls (вывод списка содержимого каталога) и wc (отображение количества строк, слов и символов в текстовом файле). Файл X11.app предоставляет в ваше распоряжение оконный интерфейс для приложений UNIX и Linux с графическим пользовательским интерфейсом.

Чтобы запускать графические приложения на основе открытого кода, вам необходимо запустить X11. В Leopard приложение X11.app должно быть настроено таким образом, чтобы запускаться автоматически при запуске программы X11 через Terminal. Файл X11.app расположен в каталоге /Applications/Utilities.

Начинаем работать с Fink

Загрузите Fink (http://fink.sourceforge.net) и установите эту программу. Ближе к завершению установки вам будет предложено ответить на ряд вопросов, касающихся информации о вашей системе. Если вы чувствуете себя
уверенно при работе с командной строкой (Terminal), для начала дайте следующую команду:

1$ fink scanpackages; fink index

Чтобы установить любой из отображенных пакетов, введите следующую команду:

1$ fink install package_name

Здесь package_name — это имя устанавливаемого пакета. Например, команда fink install gaim установит Gaim — популярную клиентскую программу на основе открытого кода, предназначенную для систем мгновенного обмена сообщениями (instant messaging), включая все пакеты, от которых зависит работоспособность программы. Чтобы запустить Gaim, дайте команду gaim из командной строки Mac OS X Terminal. По умолчанию Fink устанавливает все свое программное обеспечение в каталоге /sw, а исполняемые программы попадают в каталог /sw/bin. Это позволяет проводить различие между программным обеспечением, установленным с помощью Fink, и другими программами, и хранить его отдельно от программ, поставляющихся с Mac OS X. За счет этого деинсталляция всех пакетов, установленных с помощью Fink, сводится к удалению каталога /sw.

Gaim (GTK+ AOL Instant Messenger) — это модульный клиент мгновенного обмена сообщениями. По требованию AOL разработчики Gaim приняли решение отказаться от использования имени Gaim и переименовали программу в Pidgin.

Если вы опасаетесь командной строки, в вашем распоряжении имеется альтернативное приложение с графическим интерфейсом — Finkcommander (http://finkcommander.sourceforge.net). Эта открытая утилита предоставляет внешний интерфейс для работы с Fink. С ее помощью можно отображать список пакетов, а также устанавливать или обновлять пакеты и управлять ими. Скачайте и установите Finkcommander (установка осуществляется точно так же, как и установка любого другого приложения Mac OS X). При первом запуске Finkcommander предпримет попытку «самовосстановления», а затем позволит вам выбирать пакеты для установки.

Finkcommander предоставит вам список доступных для установки пакетов. Этот список — просто графическое представление вывода команды fink list. Работая через Fink, вы имеете возможность установки пакетов из готовых сборок (binaries, prebuilt programs) или из исходного кода (source). При установке программ из исходного кода сборка программ производится в вашей системе. Fink имеет тысячи пакетов, из которых вы можете выбирать все, что вам необходимо.

Чтобы установить любой пакет, выберите его из списка или введите имя нужного пакета в поле поиска в правом верхнем углу окна. Чтобы выполнить установку из исходного кода, выберите из меню команды Source→Install. Чтобы установить готовую сборку, выберите команды Binary→Install. Новичкам удобнее устанавливать готовые сборки. Установка из исходного кода позволяет построить программы, настроенные именно для вашей системы, причем в этом случае вы можете получить чуть более новую версию программного обеспечения. Fink запрашивает пароль администратора каждый раз, когда вы начинаете устанавливать программы. Кроме того, в нижней панели окна Finkcommander отображается индикатор степени завершенности процесса.

Наверняка вам хотелось бы, чтобы новые версии пакетов отображались в таблице Fink практически сразу же, как только они становятся доступны. Чтобы обновить базу данных Fink, выберите из меню команды Source→Selfupdate. После этого список доступных пакетов будет обновлен, и вы сможете просмотреть его и проверить, не устарели ли некоторые из установленных у вас пакетов. Дополнительную информацию об использовании Fink вы сможете найти в руководстве пользователя и списке часто задаваемых вопросов (FAQ) на сайте Fink или дав из командной строки команду man fink.

MacPorts

Продукт MacPorts во многих отношениях похож на Fink. MacPorts тоже предоставляет обширный список доступных пакетов на основе открытого кода, а также предоставляет удобные опции по управлению ими. Загрузите дистрибутив MacPorts с сайта http://www.MacPorts.org, и установите его на ваш компьютер. После этого, чтобы установить нужный вам пакет, дайте из командной строки следующую команду:

1$ sudo port install packagename

Как уже говорилось чуть ранее, для Fink имеется внешний графический интерфейс — Finkcommander. Подобно Fink, для MacPorts тоже имеется внешний графический интерфейс — PortAuthority. PortAuthority обладает интуитивно понятным и удобным графическим интерфейсом для установки пакетов и управления ими. Разумеется, хранилище пакетов MacPorts отделено от хранилища Fink. Находится оно в каталоге /opt/local. Сделать выбор в пользу Fink и MacPorts, а не использовать оба продукта одновременно, рекомендуется тем, кто желает избежать возможного возникновения противоречий и дублирования установленных пакетов.

Три способа установки Gimp

Давайте рассмотрим способы установки открытого ПО на примере Gimp — мощного графического редактора на основе открытого кода. Простейший способ установки заключается в том, чтобы действовать точно так же, как и при установке любого другого приложения Mac OS X — из файла формата DMG (http://gimp-app.sourceforge.net). Многие популярные приложения на основе открытого кода доступны в виде файлов с расширением .app, и Gimp — одно из таких приложений. Для установки Gimp требуется X11.app.

Однако чтобы закрепить на практике знания, полученные в этой статье, вы можете попытаться установить то же самое приложение через MacPorts. Делается это следующим образом:

1$ sudo port install gimp-app

Если вы решите выполнить ту же задачу с помощью Fink, то для этого дайте следующую команду:

1$ fink install gimp

При установке с помощью Fink .app-файла не создается. В действительности .app-файлы представляют собой полускрытые папки, содержащие множество ресурсов и расположенные в вашем каталоге Applications. Вместо этого Fink создает исполняемый файл в каталоге /sw/bin, запустить который можно, дав в Terminal следующую команду:

1$ gimp

Если пакет на основе открытого кода недоступен ни через Fink, ни через MacPorts, в некоторых случаях его все же можно установить в Mac OS X. Пакет может быть доступен непосредственно с Web-сайта, иногда в виде готовой сборки, а иногда — в виде исходного кода, нуждающегося в компиляции.

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

1$ tar -zxf packagename.tar.gz

Как правило, эта команда создает каталог с именем filename, в котором располагается исходный код пакета. Как правило, там же можно найти и файл README или INSTALL (а иногда и оба), содержащий инструкции по установке и другую полезную информацию. Если таких файлов в каталоге нет, то, скорее всего, установка должна производиться стандартным образом. Типичная процедура установки открытого программного обеспечения в UNIX-подобных системах состоит из следующей серии команд (см. листинг ниже).

123456// Типовая последовательность команд для установки ПО на основе// открытого кода в UNIX-подобных системах$ cd packagename$ ./configure$ make$ sudo make install

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

Сообщество разработчиков, работающих над созданием версий свободного ПО, портированных на Mac OS X, позволяет Mac OS X оставаться жизнеспособной альтернативой не только для операционных систем из семейства Windows, но и для большинства клонов UNIX и Linux. Тем не менее, несмотря на это, ни Fink, ни MacPorts, в том виде, в котором они существуют на текущий момент, не свободны от проблем. По-прежнему оставляет желать лучшего стабильность. Правда, на момент написания этой книги большинство пользователей считало, что под Leopard MacPorts работает намного лучше, чем Fink. Однако это не значит, что со временем ситуация не изменится.

Кроме того, как Fink, так и MacPorts довольно сложны для освоения (по крайней мере, так считает большинство новичков). Тем не менее, оба пакета с течением времени были существенно улучшены, и ожидается, что с ростом количества пользователей Mac OS X эта тенденция сохранится.