Начиная с версии 10.0 OS X является полноценной Unix системой и уходит своими корнями во FreeBSD и NEXTSTEP. Если вы работали ранее на *nix системах, то найдете очень много знакомого. Тут есть и привычный bash и полный набор coreutils (find, grep) и даже Apple’овскую реализацию X-сервера.

Что же это означает для простых пользователей? А то, что огромное множество программного обеспечения написаного для *nix будет прекрасно компилироваться и работать в любимом OS X. Да, да, я не оговорился, когда сказал «компилироваться». Небольшая часть разработчиков заботиться о mac пользователях и выпускает свои продукты в собраном виде в привычных dmg образах. Большая часть софта, однако, распространяется традиционным для *nix мира способом — в виде набора исходников укаованых в tar архив. Оданко, установка руками может оказаться трудоемкой и для опытного пользователя, особенно если вспомнить о зависимостях пакетов друг от друга. А уж новичка это и вовсе может поставить в тупик. Тут на помощь и приходит MacPorts.

macport.tiff

MacPorts — это система сборки программ из исходников, ориентированая на Mac OS X, и репозитарий информации необходимой для сборки. MacPorts был ранее известен как DarwinPorts и является аналогом «портов» из FreeBSD. На данный момент он насчитывает более 5400 программ.

Сами архивы с исходниками в MacPorts не хранятся, вместо этого для каждой программы существует специальный Portfile, в котором содержится описание и инструкции для системы MacPorts о том, где эти исходники скачать, как скомпилировать и установить. Более того там же храниться информация о том какие пакеты/библиотеки должны быть установлены для успешной сборки и корректной работы истересующей нас программы.

Прежде чем приступить к установке, убедитесь что у вас стоит XCode (он должен быть в папке /Developer/). Нам, на самом деле, нужен только компилятор и несколько утилит, но поставить их отдельно слишком сложно, проще установить XCode целиком. Как правило он должен быть на дисках прилагавшихся к вашему маку или же вы можете бесплатно скачать его с сайта Apple.

Теперь можно скачать и установить сам MacPorts. Заметьте, что пакет содержит в себе лишь набот утилит, в то время как репозитарий доступных программ будет загружен в процессе установки и его, желательно, регулярно обновлять. Если конечно вы хотите пользоваться самыми свежими версиями софта.

Проверить, что все успешно установилось можно отрыв терминал и набрав в нем команду “port version”. У меня он радостно сообщает Version: 1.700, что на данный момент является самой свежей версией. Вот список основных комманд которые будут нужны вам на первых порах. Стоит заметить, что все комманды которые приводят к изменениям в системе (установка/удаление пакетов, обновление и т.д.) требуют прав суперпользователя и должны запускаться через sudo.

Синтаксис

Описание

Пример

port search КЛЮЧЕВОЕ_СЛОВО

Ищет в репозитарии пакеты по ключевому слову

port search network

port install PACKAGE

Устанавливает пакет в систеу

port install ngrep

port uninstall PACKAGE

Удаляет пакет из системы

port uninstall ngrep

port selfupdate

Обновляет саму систему macports

port sync

Обновляет репозитарий

port help [КОММАНДА]

Выводит справку по доступным коммандам или конкретной комманде

port help selfupdate

Так получилось, что первой утилитой, установленой мной через MacPorts стал ngrep. Это очень удобный способ посмотреть какие данные реально приходят и уходят с сетевого интерфейса и отфильтровать по какому то параметру. Итак, для начала посмотрим есть ли она в репозитарии:

sergey-kuleshovs-macbook:~ svyatogor$ port search ngrep

ngrep @1.45 (net)

Network grep

Замечательно, значит можно ставить:

sergey-kuleshovs-macbook:~ svyatogor$ sudo port install ngrep

—> Fetching ngrep

—> Verifying checksum(s) for ngrep

—> Extracting ngrep

—> Configuring ngrep

—> Building ngrep

—> Staging ngrep into destroot

—> Installing ngrep @1.45_0

—> Activating ngrep @1.45_0

—> Cleaning ngrep

terminal.tiff

ngrep готов к работе!

Стоит обратить внимание, что установка программ из исходников, может занять значительное время, в зависимости от скорости системы, размера программы и количества библиотек которые придется предварительно установить.

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

P.S. Постскриптум для тех кто вынужден сидеть за прокси серверами. MacPorts использует для обновления репозитария протокол rsync который работает на порту отличном от 80 и не понимает HTTP прокси. Обойти это ограничение можно, но требует заметных усилий.

Share.