Mac OS X: системы управления пакетами (macPorts, homeBrew, etc..)

Что такое системы управления пакетами?

Немного истории

Как активно подсказывает Википедиа:

Система управления пакетами — набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения. Системы управления пакетами активно используются в различных дистрибутивах операционной системы Linux и других UNIX-подобных операционных системах.

А если своими словами, то системы управления пакетами в первозданном своем виде встретились в *BSD системах (в частности FreeBSD)

Выглядело это примерно так:
> cd /usr/ports/подпапка/что_нужно

> make install

Далее шла сборка/установка «что нужно», занимала она порой он нескольких минут до нескольких часов. Отсюда и пошла старая шутка про:

Шел 7 день portupgrade


Далее система портов эволюционировала и перешла на *UNIX подобные ОС. Яркими представителями *NIX дистрибутивов с системой портов являются старая добрая шапка (RedHut, на текущий момент Fedora & CentOS) и такой же старый и не мение добрый Debian (уменьшительно-ласкательное придумайте сами). Увы система MS Windows до сих пор обделена этим прекрасным изобретением человека (хотя подвижки в принципе есть).

Но к макам, для систем Mac OS долгое время существовала система MacPorts (аналог портов FreeSD), но из-за тех же трудностей что и на BSD она эволюционировала в чудную штуку HomeBrew

Обзор систем управления пакета для Mac OS X

Признаюсь честно я отказался от MacPorts в пользу HomeBrew, поэтому расскажу только про его базовую установку и использование.

MacPorts в Mac OS X

Установка и настройка

Для установки вам потребуется XCode вернее gcc + набор библиотек.
Для Mac OS X Shnow Leopard приходилось его выкачивать с трекеров (в преддверие выпуска Lion), ранее просто с официального сайта. Сейчас (12 октября 2011) это можно сделать так же либо с офф. сайта либо из App Store (левый верхний угол логотип яблочка > App Store) размер дистрибутива несколько подрос (за счет включения iOS SDK) и состовляет что-то около 4 Гб. Увы одним словом, отдельно набор библиотек разве что поискать. Я пытался в свое время, но кроме «Download Xcode» решений не нашел.
Далее можно просто скачать .pkg файл установки > далее как обычно клац-клац и все готово, либо собрать из исходных кодов.

Вообще лишний раз рекомендую не собирать ничего из изходников, штука это очень коварная хотя уже не очень. Но в свое время *NIX дистрибутивы после таких бестолковых сборов вылетали на раз.

Использование

После установки порты необходимо обновить
> sudo port selfupdate

Для установки того или иного пакета используется команда
> sudo port install имя_программы

Для поиска, в свою очередь, используется префикс search
> sudo port search имя_программы

Более подробна информация отражена в официальном мануале: ссылка

Home Brew в Mac OS X

Как гласит большая надпись на офф. сайте

Homebrew — The missing package manager for OS X

Система написана на Ruby, корни она берет свои из Ruby on Rails (веб-фреймворк для написания веб-сайтов, быстрый, хороший но еще немного сырой)

Для установки будет нужен ruby и curl (идут в стандартной поставке Mac OS X Lion) & XCode (см. выше)
> /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)

Для операции с коллекцией используются стандартные команды:

Для обновления пакетов (списки пакетов):
> sudo brew update

Для обновления пакетов (самих программ):
> sudo brew upgrade

Для поиска пакета:
> sudo brew search имя_пакета

Для установки пакета:
> sudo brew install имя_пакета

Сразу оговорюсь, в Mac OS X 10.6 Shnow Leopard была проблема обновления пакетов. Связана она была с git репозитариями, решалась принудительным выставлением что и откуда обновлять + выставлением chmod’ов. В 10.7 Lion и новых версиях HomeBrew такой проблемы нет.

К примеру:
Для установки Python’а
> sudo brew install python
Но тут есть определенный момент, стандартный python (тот что в поставке Mac OS) расположен в /usr/bin/python и при вызове
> python
будет загружен именно он (на текущий момент версия 2.7.1).
Для запуска питона установленного через HomeBrew необходимо вызвать его вот так:
> /usr/local/Cellar/python/2.7.2/bin/python
Тут будет более новая версия (2.7.2 как видно по листингу).
Решение проблемы будет в переопределении символической ссылки в /usr/bin
Действуйте на свой страх и риск (а то мало ли)
> sudo mv /usr/bin/python /usr/bin/python.bak
> sudo ln -s /usr/local/Cellar/python/2.7.2/bin/python /usr/bin/python

Теперь при вызове python будет открыта версия установленная через HomeBrew

На этом в принципе все, удачной установки


Другие новости