Homebrew mac os что это

Обновлено: 06.07.2024

Пользователи Linux имеют одно неоспоримое преимущество перед пользователями Windows и Mac: у них есть репозитарии и пакетные менеджеры. Вместо того чтобы искать сайт приложения, скачивать его оттуда и устанавливать, достаточно приказать Linux «Установи это!» — и он установит. С Homebrew ваш Mac научится делать то же самое.

Homebrew — «менеджер недостающих пакетов для macOS», как его называет создатель. Изначально он предназначается для компиляции приложений из исходных кодов. Если вы ещё не забыли об этом, в Mac за красивой оболочкой Aqua кроется самый настоящий Unix, в котором сборка из исходных кодов — обычное дело. Но Homebrew умеет не только это. Вместе с дополнением Homebrew-Cask он способен устанавливать приложения из «Терминала».

Установка Homebrew и Homebrew-Cask

Установить Homebrew очень просто.

Прежде всего установите Xcode — набор для расширенного использования «Терминала». Откройте «Терминал» и скопируйте туда следующую команду:

Затем дайте команду установить Homebrew:

Введите свой пароль, если потребуется. Прежде чем что-то выполнить, Homebrew остановится и объяснит, что он делает.

Подождите, пока Homebrew установится — это займёт около минуты. «Терминал» уведомит вас о завершении установки.

Теперь введите такую команду:

brew tap caskroom/cask

Операции с программами

Homebrew готов. Испробуем его.

Чтобы установить что-нибудь, введите в «Терминал» команду:

brew cask install имя_пакета

Если опечатались или не знаете точного названия пакета, Homebrew-Cask подскажет правильное написание.

Например, чтобы установить Chrome, введите:

brew cask install google-chrome

Chrome появится в папке Applications.

Если хотите установить несколько приложений, введите:

brew cask install firefox double-commander

Homebrew-Cask установит Firefox и Double Commander. Можно вводить столько наименований, сколько нужно. Гораздо удобнее, чем скачивать установочные файлы, не так ли?

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

brew cask uninstall google chrome

Так можно удалить несколько ненужных приложений за один раз.

Удаление Homebrew

Удалить менеджер так же просто, как установить. Выполните в «Терминале»:

Homebrew позволяет устанавливать программы не открывая ни браузер, ни App Store. Пользователи Linux, да и все, кто предпочитает «Терминал», оценят это.

Если истосковались по командной строке или переехали на новую систему и хотите установить всё сразу — Homebrew поможет.

Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.

До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.

В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.

Что оно делает?

Основная мысль очень проста. Homebrew упрощает и автоматизирует монотонные действия по скачиванию и сборке пакетов. Если вам надоели бесконечные ./configure && make && make install , Homebrew поможет.

Зачем оно?

Как я уже заметил выше, для OS X уже есть два решения: Fink и MacPorts. Если какое-то из них у вас уже установлено и всем устраивает — отлично. Но если вы имели неудачный опыт с ними в прошлом, я сильно рекомендую попробовать Homebrew. С ним намного проще. Плюс, его легко модифицировать, ведь он состоит всего из нескольких сотен строк кода на Ruby.

Homebrew не навязывает никакой строгой структуры и путей. По-умолчанию, он устанавливается в /usr/local , но его можно поставить куда угодно. Все пакеты устанавливаются в директории в специальном «подвале» (cellar), например Cellar/git/1.6.5.4/ . После установки Homebrew делает симлинки в стандартные Unix-директории. Ручная установка каких-то пакетов не из Homebrew отлично уживается с ними.

Это редко может понадобиться, но пакеты можно ставить напрямую из систем контроля версий. Если у пакета есть публичный git, svn, cvs или mercurial репозиторий, всегда можно собрать самую свежую devel-версию прямо оттуда простым brew install .

Кстати, установка занимает меньше времени, поскольку Homebrew старается избегать дублирования пакетов. Например, она не ставит очередную версию Perl в качестве зависимости, поскольку в системе уже есть готовый и работающий Perl. Плюс, Homebrew задуман так, чтобы вам не приходилось использовать sudo при работе с пакетами.

Звучит неплохо. Как это установить?

Первая и единственная зависимость Homebrew — OS X Developer Tools, которые есть на любом установочном диске с OS X и доступны для бесплатного скачивания с сайта Apple.

Все, установка завершена. Давайте проверим что все работает:
brew install wget
brew info git

На сайте Homebrew есть wiki, где можно почитать всякого интересного про интеграцию с Rubygems, CPAN и Python EasyInstall.

Следить за обновлениями Homebrew тоже достаточно просто:
brew install git
brew update

Если у вас установлен git, вы можете в любой момент обновлять репозитории Homebrew и устанавливать последнии версии пакетов.

После сохранения пакета, его можно протестировать: brew install -vd wget . Если что-то работает неправильно и вам нужна помощь по настройке пакета, на wiki есть много документации. Еще там можно посмотреть примеры создания таких пакетов как git или flac.

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

gem install json github
git add .
git commit -m "Added a formula for wget"
github fork
git push <ваш_логин_на_github> mastergitx

После того, как вы сделаете push, нужно в Homebrew issue tracker создать новый тикет с темой «New formula: <название_пакета>». Если там все в порядке, ваш пакет будет добавлен в главный репозиторий Homebrew и доступен всем пользователям.

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

Интерфейс командной строки macOS имеет множество таких же функций, как в Linux и других системах Unix, однако из коробки у него нет хорошего менеджера пакетов. Менеджер пакетов – это набор программных инструментов, предназначенный для автоматизации установки, настройки и обновления программного обеспечения. Менеджеры пакетов централизованно хранят ПО, которое они устанавливают, и поддерживают все пакеты в системе в широко используемых форматах.

Homebrew – это менеджер пакетов для macOS, который позволяет устанавливать бесплатное программное обеспечение с открытым исходным кодом с помощью терминала. Homebrew можно использовать для установки таких инструментов разработчика, как Python, Ruby, Node.js и др.

В этом мануале мы покажем, как установить Homebrew на Mac и начать работу с ним.

Требования

Для работы вам понадобится компьютер macOS с версией High Sierra+, административным доступом и подключением к Интернету.

1: Работа с терминалом macOS

Чтобы получить доступ к интерфейсу командной строки на вашей машине, используйте приложение Terminal, предоставляемое macOS по умолчанию. Как и любое другое приложение, вы можете найти терминал через поиск, перейдя в папку Applications, а затем в Utilities. Чтобы открыть приложение терминала, дважды кликните по нему. Кроме того, вы можете использовать Spotlight, чтобы найти терминал: удерживайте клавишу COMMAND и нажмите пробел, а затем введите Terminal в появившемся поле.

Примечание: больше полезной информации о работе с командной строкой вы найдете в мануале Основы работы с терминалом Linux. Интерфейс командной строки macOS очень похож.

Терминал запущен, а теперь давайте установим дополнительные инструменты, необходимые Homebrew.

2: Установка инструментов командной строки Xcode

Xcode – это интегрированная среда разработки (IDE), состоящая из инструментов разработки программного обеспечения для macOS. Xcode не понадобится для работы Homebrew, но некоторые программы и компоненты, которые пригодятся вам в будущем, используют пакет инструментов командной строки Xcode.

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

Вам будет предложено начать установку, а затем – принять лицензию. После этого инструменты автоматически загрузятся и установятся.

Теперь вы можете установить Homebrew.

3: Установка и настройка Homebrew

Чтобы установить Homebrew, загрузите сценарий установки, а затем выполните его.

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

Команда использует curl для загрузки сценария установки Homebrew из Git репозитория Homebrew на GitHub.

Давайте рассмотрим флаги, связанные с командой curl:

Прежде чем запустить загруженный из интернета сценарий, рекомендуем просмотреть его содержимое, чтобы точно знать, что он будет делать. Используйте команду less для просмотра:

Когда вы изучите содержание скрипта, выполните его с помощью команды bash:

Сценарий установки объяснит, что он будет делать, и предложит вам подтвердить эти действия. Так вы будете точно знать, что Homebrew собирается сделать с вашей системой, прежде чем вы решите продолжить установку. Кроме того, вы сможете убедиться, что выполнили все предварительные условия, необходимые для установки.

Во время установки вам будет предложено ввести пароль. Однако при этом нажатия клавиш не будут отображаться в окне терминала. Это мера безопасности, которая часто используется при запросе пароля в командной строке. Все нажатия клавиш регистрируются системой, хотя вы их и не видите. После ввода пароля нажмите RETURN.

Каждый раз, когда система будет предлагать подтвердить установку, нажимайте y.

После завершения установки нужно поместить каталог, который Homebrew использует для хранения своих исполняемых файлов, в начало переменной среды PATH. Благодаря этому установки Homebrew будут вызываться через инструменты, которые включает macOS.

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

Если же вы используете ZSH, откройте

Когда файл откроется в терминале, добавьте в конец следующие строки:

Первая строка – это комментарий, который поможет вам вспомнить, что делает следующая строка.

Чтобы сохранить изменения, удерживайте клавишу CTRL и O, а при появлении запроса нажмите RETURN. Затем выйдите из редактора, удерживая CTRL и нажав X. Это вернет вас в окно терминала.

Чтобы активировать эти изменения, закройте и снова откройте терминал. Также для загрузки изменений можно использовать команду source.

Если вы изменили .bash_profile, выполните эту команду:

Если вы редактировали .zshrc, выполните команду:

Как только вы это сделаете, изменения, внесенные вами в переменную среды PATH, вступят в силу. Переменная будет правильно настроена даже после завершения этой сессии, поскольку конфигурационный файл для вашей оболочки запускается автоматически при открытии приложения Terminal.

Теперь давайте убедимся в том, что Homebrew настроен правильно. Выполните эту команду:

Your system is ready to brew.

В противном случае вы можете получить предупреждение о необходимости запустить другую команду, например, brew update, чтобы обновить установку Homebrew. Следуйте инструкциям на экране, чтобы обновить среду, прежде чем двигаться дальше.

4: Установка, обновление и удаление пакетов

Теперь, когда менеджер пакетов Homebrew установлен, попробуйте использовать его для загрузки пакета tree. Эта команда позволяет увидеть графическое дерево каталогов и доступна через Homebrew.

Установите ее с помощью команды brew install:

brew install tree

Homebrew обновит свой список пакетов, а затем загрузит и установит команду tree:

По умолчанию Homebrew устанавливает файлы в каталог /usr/local, чтобы они не мешали будущим обновлениям macOS. Убедитесь, что пакет tree установлен, запросив расположение команды с помощью which:

Вывод показывает, что пакет находится в /usr/local/bin:

Версия будет выведена на экран (что также подтвердит, что пакет установлен правильно):

tree v1.8.0 (c) 1996 - 2018 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

Иногда возникает необходимость обновить существующий пакет. Для этой задачи используйте команду brew upgrade, в которой укажите имя пакета:

brew upgrade tree

Если запустить brew upgrade без дополнительных аргументов, команда обновит все программы и пакеты, которыми управляет Homebrew.

Когда вы устанавливаете новую версию пакета, Homebrew сохраняет старую версию. Через некоторое время вы, возможно, захотите освободить место на диске, удалив эти копии старых версий. Запустите команду brew cleanup, чтобы удалить все старые версии программ, управляемых Homebrew.

Чтобы удалить пакет, которым вы больше не пользуетесь, используйте brew uninstall. Чтобы удалить команду tree, введите:

brew uninstall tree

Вывод покажет, что пакет был удален:

Uninstalling /usr/local/Cellar/tree/1.8.0. (8 files, 117.2KB)

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

5: Установка настольных приложений

Homebrew не ограничивается установкой инструментов командной строки. Homebrew Cask позволяет также устанавливать настольные приложения. Эта функция включена в Homebrew, поэтому дополнительно ничего устанавливать не нужно.

Например, чтобы использовать Homebrew для установки Visual Studio Code, выполните следующую команду:

brew cask install visual-studio-code

Приложение будет установлено:

Вы найдете приложение в папке Applications, как если бы вы установили его вручную.

Чтобы удалить его, используйте brew cask uninstall:

brew cask uninstall visual-studio-code

Homebrew удалит установленное программное обеспечение:

==> Uninstalling Cask visual-studio-code
==> Backing App 'Visual Studio Code.app' up to '/usr/local/Caskroom/visual-studio-code/1.48.2/Visual St
==> Removing App '/Applications/Visual Studio Code.app'.
==> Unlinking Binary '/usr/local/bin/code'.
==> Purging files for version 1.48.2 of Cask visual-studio-code

Сначала команда выполнит резервное копирование (на случай сбоя операции удаления); после полного удаления программы резервная копия также будет удалена.

6: Удаление Homebrew

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

Загрузите скрипт удаления с помощью curl:

Рекомендуем всегда предварительно проверять содержимое загруженных из сети сценариев с помощью команды less:

bash uninstall.sh --help

На экране появятся доступные опции:

Homebrew Uninstaller
Usage: uninstall.sh [options] -p, --path=PATH Sets Homebrew prefix. Defaults to /usr/local.
--skip-cache-and-logs
Skips removal of HOMEBREW_CACHE and HOMEBREW_LOGS.
-f, --force Uninstall without prompting.
-q, --quiet Suppress all output.
-d, --dry-run Simulate uninstall but don't remove anything.
-h, --help Display this message.

Используйте флаг –d, чтобы увидеть действия сценария:

bash uninstall.sh -d

Скрипт покажет список всех файлов, которые он собирается удалить:

Warning: This script would remove:
/Users/brianhogan/Library/Caches/Homebrew/
/Users/brianhogan/Library/Logs/Homebrew/
/usr/local/Caskroom/
/usr/local/Cellar/
/usr/local/bin/brew -> /usr/local/bin/brew
==> Removing Homebrew installation.
Would delete:
.

Если вы готовы удалить все эти файлы, выполните сценарий без флагов:

Эта команда удалит Homebrew и все программы, которые вы установили с его помощью.

Заключение

В этом мануале вы установили Homebrew на свой Mac и попробовали работать с этим менеджером пакетов. Теперь вы можете использовать Homebrew для установки инструментов командной строки, языков программирования и других утилит, которые вам понадобятся для разработки программного обеспечения.

У Homebrew есть много пакетов, которые вы можете установить. Изучите официальный список пакетов, чтобы выбрать необходимые вам программы.

Половина пути по настройке Mac для нужд пентестера уже пройдена, и теперь, после ознакомления с основами Git, настало время научиться использовать менеджер пакетов.

image

Автор: 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

Откройте 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.

  • export HOMEBREW_GITHUB_API_TOKEN="YOUR_TOKEN_HERE"


Строку 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

Затем при помощи следующей команды устанавливаем пакет (я выбрал установку с графическим интерфейсом):

После завершения установки приложение готово к работе:



Рисунок 8: Графическая оболочка для приложения Hydra

Как вы могли убедиться, прочитав справку, обновление, удаление и другие операции с утилитами интуитивно понятны.

Заключение

Установка и поддержка пакетов при помощи Homebrew не составляет труда, особенно если у вас есть опыт работы с Linux. Перед установкой приложения с открытым исходным кодом я практически всегда вначале ищу в репозитории для Homebrew. Если пакет отсутствует, я скачиваю исходный текст с GitHub. Большинство нужд, связанных с приложениями, можно решить при помощи этих двух методов.

Читайте также: