Homebrew
Недостающий менеджер пакетов для macOS
Установка Homebrew
Вставьте эту строку в терминал.
Перед выполнением скрипт объяснит, что он собирается сделать. Другие варианты установки можно найти здесь.
Что делает Homebrew?
Homebrew устанавливает нужные вам пакеты, не предоставляемые Apple.
Homebrew устанавливает программы в их собственные директории и создает символьную ссылку на них в /usr/local .
Homebrew не устанавливает файлы за пределами своей директории. Вы можете установить Homebrew в любую директорию.
Создавать свои пакеты для Homebrew просто.
Под капотом — ruby и git . Так что можно спокойно редактировать пакеты, а в случае чего сможете легко откатить свои изменения.
Спецификация пакета это просто скрипт на Ruby:
Homebrew дополняет macOS. Устанавливайте гемы, используя gem , а их зависимости через brew .
«Чтобы установить, перетащите эту иконку. » больше не требуется. brew cask устанавливает приложения, шрифты, плагины для macOS и другое программное обеспечение с закрытым исходным кодом.
Создать cask также легко, как создать formula .
Установка и работа с менеджером пакетов для Maс OS X (MacPort и Homebrew)
Менеджер пакетов в Mac OS X позволит нам легко работать с пакетам посторонних разработчиков. В этом топике рассмотрим два таких менеджера: MacPort и Homebrew.
1. MacPort
Официальний сайт
На этом же сайте можна найти Mac OS X Package (.pkg) Installer для Mountain Lion, Lion, Snow Leopard и Leopard. Установите подходящий вам пакет и пользуйтесь на здоровье. Есть и другие способы установки, но мы выбрали простой и быстрый. На случей чево, у меня port установился сюда: /opt/local/bin/port.
Требование:
Работать с port придельно просто — ищем в «портах» нужный пакет и устанавливаем его:
Дополнительные команды:
2. Homebrew
Официальная страница
О Homebrew поговорим подробнее…
Требование:
Установка:
После успешной установки виполним следующую команду:
Если в результате этой команди получим ответ: «Your system is raring to brew», тогода все хорошо и можете спокойно начинать работу з brew. В ином случае продолжим…
Если возникла ошибка Warning: Experimental support for using Xcode without the «Command Line Tools», то скорее всего была обновлена «ось», к примеру, с Lion к Mountain Lion, но не была переустановлена Command Line Tools для Xcode.
Если возникла ошибка Error: No such file or directory — /usr/local/Cellar, то нужна создать эту директорию:
После этого опять запускаем команду:
Если мы получим что-то вроде этого:
то исправляем примером так:
Если на этот раз никаких ошибок не произошло, тогда все — можна спокойно работать с Homebrew.
Mac на службе у хакера. Часть 6 – Настройка менеджера пакетов Homebrew
Половина пути по настройке Mac для нужд пентестера уже пройдена, и теперь, после ознакомления с основами Git, настало время научиться использовать менеджер пакетов.
Автор: Barrow
Половина пути по настройке Mac для нужд пентестера уже пройдена, и теперь, после ознакомления с основами Git, настало время научиться использовать менеджер пакетов.
Без помощи менеджера пакетов в среде Linux/Unix вы будете делать много дополнительной работы. То есть, если вы захотите опробовать новую утилиту, то придется выполнять компиляцию исходников. Конечно, можно воспользоваться Mac App Store, однако большинство нужных нам утилит с открытым исходным кодом, которыми пользуются хакеры и профессионалы по безопасности, там отсутствуют.
Чтобы приложение появилось в Mac App Store разработчик должен заплатить деньги, а код утилиты пройти проверку со стороны сотрудников Apple, что, как вы понимаете, вносит дополнительные сложности. В общем, нам нужен альтернативный менеджер пакетов для загрузки и установки свободного программного обеспечения такого как Hydra, Aircrack-ng, GNU Coreutils (если вы, как и я, тяготеете больше к Linux, чем к Unix) или некоторые зависимости для утилит, которые размещаются на GitHub.
Почему без менеджера пакетов жизнь становится сложнее
Если бы я захотел скомпилировать Aircrack-ng из исходных текстов на моей машине с macOS, то вначале мне нужно было бы удостовериться, что присутствуют в нужных местах и работают корректно все необходимые зависимости. Затем мне потребовалось бы загрузить и сконфигурировать Aircrack-ng, выполнить компиляцию и попутно решить все возникающие проблемы.
Через несколько месяцев мне потребовалось бы обновить скомпилированное приложение. То есть нужно было бы удалить ранее установленное приложение, проверить, все ли библиотеки последних версий и повторить процесс заново.
атем проверить, есть ли зависимости, которые больше не используются (пришлось бы отслеживать, что установлено ранее).
В случае с менеджером пакетов, все вышеупомянутые операции выполняются в автоматическом режиме.
Выбор подходящего менеджера пакетов
Существует несколько менеджеров пакетов для macOS (например, Macports и Nix), но я предпочитаю Homebrew, поскольку у этого приложения интуитивно понятный синтаксис, высокая скорость и хорошая поддержка пакетов. Кроме того, Homebrew больше использует стандартные библиотеки, встроенные в macOS, вместо установки новых. Еще одно удобство: можно работать от имени обычного пользователя, и нет необходимости в использовании sudo. И самый главный плюс: Homebrew хранит всю информацию внутри своей песочницы в папке /usr/local.
При скачивании исходных текстов и бинарных файлов этот менеджер пакетов попутно скачивает все необходимые зависимости. Далее Homebrew отслеживает все, что установлено, и в какой директории. Кроме того, отслеживается информация о конфигурации. Короче говоря, поддержка программного обеспечения сильно упрощается.
Вначале я буду искать нужный мне пакет в резпозитории Homebrew прежде чем клонировать с GitHub и компилировать исходные тексты. Если пакет не найден через Homebrew, можно попробовать создать новую формулу для отсутствующего пакета. Хотя в резпозитории Homebrew не особо много приложений, используемых пентестерами, однако много библиотек и других полезных утилит с открытым исходным кодом.
Шаг 1: Установка Homebrew
Первый шаг – скачать Homebrew с сайта http://brew.sh. Перед установкой нелишним будет проверить исходный код установочного скрипта. В целом, я не очень люблю пользоваться скриптами из интернета, но в случае с Homebrew я доверяю коду, который хранится в репозитории. Во-первых, исходники хранятся на GitHub и доступны для изучения. Во-вторых, у автора нет доступа к внутренней кухне GitHub, и нет возможности поиска и подключения к каналам, используемым cURL.
Откройте iTerm и выполните следующую команду:
Появится запрос на ввод пароля.
Рисунок 1: Установка Homebrew
Шаг 2: Создание токена доступа
Если вы выполняете поиск в репозитории brew достаточно часто, вам понадобится токен доступа поскольку GitHub API имеет ограничение на количество запросов.
Рисунок 2: Ошибка при поиске в репозитории, связанная с ограничением количества запросов
Чтобы настроить токен, нужно перейти по ссылке из терминала, залогиниться на GitHub и удостовериться, что сняты все флажки, поскольку нам нужен только токен.
Рисунок 3: Настройка нового токена
В самом низу страницы нажмите на «Generate Token». Далее нужно добавить созданный токен в Homebrew.
Шаг 3: Добавление токена
Чтобы добавить созданный токен, нужно отредактировать файлы .bashrc и .bash_profile, которые находятся в вашей домашней директории. Файл .bash_profile представляет собой персональный файл для инициализации, используемый во время авторизации в шелле (через SSH или консоль), в то время как .bashrc используется при каждом открытии нового экземпляра шелла после авторизации.
Мы можем один раз связать .bash_profile с .bashrc и затем все настройки перенести в .bashrc. В этом случае, если, например, мы подключимся к системе через SSH, то будем иметь среду с теми же настройками, что и в локальном терминале.
Для редактирования файлов я буду использовать Vim, однако вы можете работать с любым привычным вам текстовым редактором, либо стандартным редактором, если в терминале введете команду open
Чтобы использовать Vim, откройте новое окно с iTerm или введите команду cd для перехода в домашнюю директорию, и запустите следующую команду (если .bashrc отсутствует, для создания этого файла введите команду touch .bashrc):
Далее в режиме вставки добавьте в конец файла следующую строку. Для добавления после курсора введите символ a, для добавления перед курсором – символ i.
Строку YOUR_TOKEN_HERE необходимо заменить на созданный токен.
Рисунок 4: Содержимое файла .bashrc
Далее нажмите Esc для переключения в обычный режим и введите :wq для сохранения файла. Двоеточие означает начало команды, символы wq – сохранить изменения и завершить работу.
Затем необходимо отредактировать файл .bash_profile. Вводим следующую команду (если .bash_profile отсутствует, для создания этого файла введите команду touch .bash_profile):
В конце файла добавьте следующую строку (схожим образом используйте символы a и i для добавления после и до курсора):
Рисунок 5: Содержимое файла .bash_profile
После завершения редактирования нажмите Esc и введите команду :wq для сохранения изменений и выхода из редактора.
Далее укажем Bash, что нужно выполнить команды из файла .bashrc, как если бы эти команды запускались из командной строки:
Настройка токена завершена. Переходим к работе непосредственно с Homebrew.
Шаг 4: Использование Homebrew
Homebrew во многом схож с другими менеджерами пакетов, используемыми в Linux. Перед началом работы ознакомимся со справочной информацией при помощи следующей команды:
Рисунок 6: Справочная информация о Homebrew
Очень простой менеджер пактов. Если вы знакомы с APT, то, возможно, найдете много общего между этими двумя приложениями.
Теперь попробуем установить какой-нибудь пакет. Я выбрал популярную утилиту Hydra, которая предназначена для брутфорса паролей. Вначале проверяем, есть ли этот пакет в репозитории, при помощи следующей команды:
Далее смотрим информацию о найденном пакете, чтобы удостовериться, что это именно то приложение, которое мы ищем:
Рисунок 7: Поиск и получение информации о пакете Hydra
Затем при помощи следующей команды устанавливаем пакет (я выбрал установку с графическим интерфейсом):
- brew install hydra —with-gtk+
После завершения установки приложение готово к работе:
Рисунок 8: Графическая оболочка для приложения Hydra
Как вы могли убедиться, прочитав справку, обновление, удаление и другие операции с утилитами интуитивно понятны.
Заключение
Установка и поддержка пакетов при помощи Homebrew не составляет труда, особенно если у вас есть опыт работы с Linux. Перед установкой приложения с открытым исходным кодом я практически всегда вначале ищу в репозитории для Homebrew. Если пакет отсутствует, я скачиваю исходный текст с GitHub. Большинство нужд, связанных с приложениями, можно решить при помощи этих двух методов.
Подписывайтесь на каналы «SecurityLab» в Telegram и
Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.