- Установка и использование Homebrew на macOS
- Требования
- 1: Работа с терминалом macOS
- 2: Установка инструментов командной строки Xcode
- 3: Установка и настройка Homebrew
- 4: Установка, обновление и удаление пакетов
- 5: Установка настольных приложений
- 6: Удаление Homebrew
- Заключение
- Mac на службе у хакера. Часть 6 – Настройка менеджера пакетов Homebrew
Установка и использование Homebrew на macOS
Интерфейс командной строки – это неграфический способ взаимодействия с компьютером. Вместо того чтобы нажимать кнопки в окнах при помощи мыши, вы можете вводить команды в виде текста и получать обратную связь – тоже в виде текста. Командная строка, также известная как оболочка, позволяет автоматизировать многие задачи, которые вы выполняете ежедневно, и является важным инструментом для разработчиков программного обеспечения.
Интерфейс командной строки 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 -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/master/install.sh
Команда использует curl для загрузки сценария установки Homebrew из Git репозитория Homebrew на GitHub.
Давайте рассмотрим флаги, связанные с командой curl:
- Флаг -f (или –fail) не дает терминалу выдавать HTML-документ при ошибках сервера.
- Флаг -s (–silent) отключает индикатор выполнения, а в сочетании с флагом -S (–show-error) он заставляет curl выводить сообщение об ошибке в случае сбоя.
- Флаг -L (–location) сообщает curl, что перенаправления нужно обрабатывать. Если сервер говорит, что запрошенная страница перемещена в другое место, команда автоматически выполнит запрос снова, используя новое расположение.
- Флаг -o определяет локальное имя файла.
Прежде чем запустить загруженный из интернета сценарий, рекомендуем просмотреть его содержимое, чтобы точно знать, что он будет делать. Используйте команду less для просмотра:
Когда вы изучите содержание скрипта, выполните его с помощью команды bash:
Сценарий установки объяснит, что он будет делать, и предложит вам подтвердить эти действия. Так вы будете точно знать, что Homebrew собирается сделать с вашей системой, прежде чем вы решите продолжить установку. Кроме того, вы сможете убедиться, что выполнили все предварительные условия, необходимые для установки.
Во время установки вам будет предложено ввести пароль. Однако при этом нажатия клавиш не будут отображаться в окне терминала. Это мера безопасности, которая часто используется при запросе пароля в командной строке. Все нажатия клавиш регистрируются системой, хотя вы их и не видите. После ввода пароля нажмите RETURN.
Каждый раз, когда система будет предлагать подтвердить установку, нажимайте y.
После завершения установки нужно поместить каталог, который Homebrew использует для хранения своих исполняемых файлов, в начало переменной среды PATH. Благодаря этому установки Homebrew будут вызываться через инструменты, которые включает macOS.
Файл, который вам нужно сейчас отредактировать, зависит от того, какую оболочку вы используете. Если вы используете Bash, вам нужен файл
Если же вы используете ZSH, откройте
Когда файл откроется в терминале, добавьте в конец следующие строки:
# Add Homebrew’s executable directory to the front of the PATH
export PATH=/usr/local/bin:$PATH
Первая строка – это комментарий, который поможет вам вспомнить, что делает следующая строка.
Чтобы сохранить изменения, удерживайте клавишу 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:
Updating Homebrew.
==> Downloading https://homebrew.bintray.com/bottles/tree-1.8.0.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Pouring tree-1.8.0.catalina.bottle.tar.gz
🍺 /usr/local/Cellar/tree/1.8.0: 8 files, 117.2KB
По умолчанию Homebrew устанавливает файлы в каталог /usr/local, чтобы они не мешали будущим обновлениям macOS. Убедитесь, что пакет tree установлен, запросив расположение команды с помощью which:
Вывод показывает, что пакет находится в /usr/local/bin:
Запустите команду tree с флагом –version, чтобы увидеть версию установленного пакета:
Версия будет выведена на экран (что также подтвердит, что пакет установлен правильно):
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
Приложение будет установлено:
Updating Homebrew.
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
abstract cacher chirp sipgate-softphone
==> Downloading https://update.code.visualstudio.com/1.48.2/darwin/stable
==> Downloading from https://az764295.vo.msecnd.net/stable/a0479759d6e9ea56afa657e454193f72aef85bd0/VSC
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask ‘visual-studio-code’.
==> Installing Cask visual-studio-code
==> Moving App ‘Visual Studio Code.app’ to ‘/Applications/Visual Studio Code.app’.
==> Linking Binary ‘code’ to ‘/usr/local/bin/code’.
🍺 visual-studio-code was successfully installed!
Вы найдете приложение в папке 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:
curl -fsSL -o uninstall.sh https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
Рекомендуем всегда предварительно проверять содержимое загруженных из сети сценариев с помощью команды less:
После проверки сценария запустите его с флагом –help; это выведет на экран различные флаги, которые вы можете использовать со сценарием:
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 на службе у хакера. Часть 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. Большинство нужд, связанных с приложениями, можно решить при помощи этих двух методов.
Источник