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
На этом в принципе все, удачной установки