Установка и использование Homebrew на Linux — полное руководство
Homebrew — удобный менеджер пакетов для macOS и Linux. Он позволяет устанавливать пакеты, отсутствующие в репозиториях дистрибутива, управлять версиями и поддерживает тысячи формул. В статье показано, как установить Homebrew на Linux, настроить PATH, использовать основные команды, а также безопасно удалить менеджер при необходимости.

Homebrew — бесплатный и открытый менеджер пакетов для macOS и Linux. Хотя большинство дистрибутивов Linux поставляются со своими менеджерами пакетов (APT, DNF, Pacman и т. п.), Homebrew полезен, когда нужно установить программу, которой нет в официальных репозиториях дистрибутива.
В этом руководстве разберём, что такое Homebrew, как его установить на Linux, как управлять пакетами и какие есть типичные сценарии использования и потенциальные проблемы.
Кому полезен этот материал
- Разработчикам, которым нужны утилиты и версии ПО вне стандартных репозиториев.
- Системным администраторам, желающим унифицировать инструменты между macOS и Linux.
- Пользователям, которым удобнее пользоваться одной экосистемой пакетов на разных машинах.
Кратко о Homebrew
Homebrew упрощает установку программ, отсутствующих в официальных репозиториях. На момент публикации официальная коллекция Homebrew содержит более 5000 пакетов (формул). Homebrew подходит для установки Unix-утилит, языков, CLI-инструментов и многих опенсорс-проектов.
Преимущества Homebrew:
- Простая модель управления пакетами (install / upgrade / uninstall).
- Локальная изоляция (пакеты устанавливаются в префикс Homebrew, обычно /home/linuxbrew/.linuxbrew).
- Часто актуальные версии пакетов, даже на старых дистрибутивах.
Определение: формула — рецепт установки пакета в Homebrew; к участникам экосистемы применим термин «formula».
Подготовка: системные инструменты сборки
Перед установкой Homebrew убедитесь, что на системе есть инструменты для сборки пакетов (компилятор, make, git и пр.). Это требуется для сборки некоторых формул из исходников.
На Debian/Ubuntu выполните в терминале:
sudo apt install build-essential procps curl file gitНа Fedora/CentOS/Red Hat (YUM)
sudo yum group install 'Development Tools'
sudo yum install procps-ng curl file git
sudo yum install libxcrypt-compatПроверка компилятора:
which makeЕсли команда возвращает путь (например /usr/bin/make), компилятор доступен. В противном случае установите пакет сборки снова и проверьте вывод.
Important: на минималистичных контейнерах и образах cloud-продавцов набор пакетов может отличаться — установите дополнительные зависимости по сообщениям ошибок при сборке.
Установка Homebrew
Скрипт установки загружает и разворачивает префикс Homebrew в /home/linuxbrew/.linuxbrew по умолчанию. Запустите установку так:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Во время выполнения скрипта следуйте инструкциям. Когда установка завершится, в терминале появится сообщение “Installation successful” и блок “Next steps” с командами для добавления Homebrew в PATH.
Типичные команды для добавления в PATH (необходимо выполнить указанные именно для вашей учётной записи):
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/user_name/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"Пояснение: первая команда добавляет вызов настройки окружения в файл профиля пользователя, вторая выполняет ту же настройку в текущем сеансе оболочки.
Note: замените /home/user_name на реальную домашнюю директорию пользователя, если скрипт вывел другую строку.
Базовые команды Homebrew
После установки рекомендуется обновить определения пакетов и затем устанавливать необходимые программы.
Обновление метаданных Homebrew:
brew updateПоиск пакета:
brew search <имя_пакета>Установка пакета:
brew install <имя_пакета>Например:
brew install htopОбновление конкретного пакета:
brew upgrade <имя_пакета>Обновление всех установленных пакетов:
brew upgradeПроверка версий установленных пакетов:
brew list --versions <имя_пакета>Удаление пакета:
brew uninstall <имя_пакета>Очистка старых версий и кэша:
brew cleanupПолезные команды диагностики:
brew doctor
brew outdated
brew info <имя_пакета>
brew help
brew help Расширенные сценарии использования
Установка пакетов в пользовательский префикс
Homebrew обычно использует /home/linuxbrew/.linuxbrew. Если вы хотите кастомизировать префикс, делайте это осознанно — многие формулы ожидают стандартного пути.
Управление версиями языков и инструментов
Homebrew предлагает формулы для версионирования (например, python@3.9). Для переключения между версиями часто используются утилиты вроде update-alternatives или личные пути в .profile.
Сервисы и демоны
Некоторые формулы включают поддержку запуска как сервиса (systemd). Используйте “brew services” для управления, если формула поддерживает эту опцию:
brew services list
brew services start <имя_пакета>
brew services stop <имя_пакета>- Создание своей формулыЕсли нужной формулы нет, можно написать свой Ruby-скрипт формулы и разместить её в tap (пользовательском репозитории). Краткая методика:
- Инициализируйте tap: brew tap-new <ваш-логин>/<название-tap>
- Создайте файл формулы и протестируйте локально.
- Опубликуйте в GitHub и используйте brew tap <логин>/
.
Типичные ошибки и способы их устранения
Ошибка компиляции при установке формулы
- Прочитайте лог сборки в терминале — часто не хватает dev-зависимостей. Установите дополнительные системные пакеты через apt/yum.
brew: команда не найдена после установки
- Скорее всего, не добавлен PATH. Выполните команды, показанные в разделе “Next steps” после установки или вручную добавьте eval “$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)” в свой .profile / .bashrc / .zshrc и откройте новый сеанс.
Конфликты с системными пакетами
- Некоторые файлы могут конфликтовать с пакетами дистрибутива. В таких случаях рассмотрите установку в отдельный контейнер, LXC или use brew только для пользовательских инструментов.
Проблемы с правами доступа
- Убедитесь, что у вашего пользователя есть права на префикс Homebrew. Не запускайте brew под root. Если права нарушены, восстановите их командой chown -R $(whoami) /home/linuxbrew/.linuxbrew (выполнять с осторожностью).
Important: не используйте sudo с brew install — это нарушает модель безопасности Homebrew.
Как удалить Homebrew
Для удаления Homebrew используется официальный скрипт удаления:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"После выполнения скрипта он выведет список оставшихся файлов и директорий, которые не были автоматически удалены. Их можно удалить вручную через файловый менеджер или из терминала.
Критерии приёмки
- Homebrew удалён и команда brew не доступна.
- Префикс /home/linuxbrew/.linuxbrew (или тот, который использовался) пуст или удалён по вашему усмотрению.
- В файлах .profile/.bashrc удалены строки, добавленные установщиком.
Практический чеклист: установка пакета (сценарий)
- Обновить Homebrew: brew update
- Найти пакет: brew search <имя>
- Посмотреть информацию: brew info <имя>
- Установить: brew install <имя>
- Проверить версию: <имя> –version или brew list –versions <имя>
- При проблемах: brew doctor
Роль-based чеклисты
Для разработчика:
- Установить нужные версии интерпретаторов (python@3.x, node@16).
- Проверить локальные PATH и шэлы.
- Настроить виртуальные окружения (venv, nvm).
Для администратора:
- Проверить права на префикс Homebrew.
- Настроить автоматические бэкапы конфигураций.
- Контролировать, какие пакеты устанавливаются на сервере.
Мини‑методика оценки целесообразности использования Homebrew
- Наличие нужного пакета в официальном репозитории дистрибутива?
- Да: предпочтительнее использовать системный менеджер пакетов.
- Нет: можно использовать Homebrew.
- Требуется ли конкретная версия, отсутствующая в репозитории?
- Да: Homebrew обычно предпочтительнее.
- Работаете ли вы в управляющей среде (CI/CD) или на продакшн-сервере?
- Продакшн:慎重ное использование; документируйте отличия от системных пакетов.
Decision tree
graph TD
A[Нужно установить пакет?] --> B{Есть в репозитории дистрибутива?}
B -- Да --> C[Использовать системный пакетный менеджер]
B -- Нет --> D{Требуется конкретная версия?}
D -- Да --> E[Установить через Homebrew]
D -- Нет --> F{Требуется долгосрочная поддержка?}
F -- Да --> G[Сборка и поддержка в CI / собственный репозиторий пакетов]
F -- Нет --> E
Тест кейсы и критерии приёмки для установки пакета через Homebrew
Тесты:
- U1: После выполнения brew install htop команда htop запускается и показывает процесс-список.
- U2: brew list –versions htop возвращает версию, совпадающую с установленной.
- U3: brew uninstall htop удаляет бинарь и записи о пакете (проверить, что команда htop больше не работает.
Критерии приёмки:
- Пакет устанавливается без ошибок.
- Команда запускается в пользователском сеансе без вызова sudo.
- Операции upgrade и uninstall завершаются успешно.
Безопасность и конфиденциальность
- Homebrew устанавливает пакеты в пользовательский префикс, что уменьшает потребность в правах root. Это снижает риск системных изменений.
- Скрипты установки и формулы запускаются с привилегиями пользователя. Проверяйте, что вы устанавливаете — изучайте формулы и tap-ы перед их подключением.
- При использовании сторонних tap-ов обращайте внимание на доверие к репозиторию (известный аккаунт, активность, обзор кода).
Privacy/GDPR заметка: Homebrew не передаёт ваши личные данные серверам Homebrew при обычной работе; однако при подключении сторонних tap-ов или использовании CI могут передаваться логи и метаданные сборки — оцените это отдельно.
Когда лучше НЕ использовать Homebrew
- На строго контролируемых продакшн-серверах, где допустимы только пакеты от поставщика дистрибутива.
- Если ваш дистрибутив содержит оптимизированные, патченные версии ПО, критичные для стабильности.
Контрпример: в некоторых корпоративных окружениях политика безопасности запрещает использование сторонних менеджеров пакетов — в таких случаях используйте внутренние репозитории и системный менеджер.
Полезные шаблоны и команды-«подсказки» (cheat sheet)
- Обновить Homebrew и все пакеты:
brew update && brew upgrade && brew cleanup- Найти устаревшие пакеты:
brew outdated- Зафиксировать пакет (не обновлять):
brew pin <имя_пакета>
brew unpin <имя_пакета>- Просмотреть путь к установленному исполняемому файлу:
which <команда>
# или
brew --prefix <имя_пакета>Краткий глоссарий
- Формула: рецепт установки пакета в Homebrew.
- Tap: пользовательский репозиторий формул.
- Префикс: корневая директория установки Homebrew (обычно /home/linuxbrew/.linuxbrew).
Часто задаваемые вопросы
Q: Можно ли использовать Homebrew вместе с APT/DNF?
A: Да, можно. Homebrew не заменяет системный пакетный менеджер, он дополняет его. Однако следите за конфликтами файлов и путями.
Q: Нужно ли запускать brew под root?
A: Нет. Запуск brew под root не рекомендуется и может испортить права в префиксе Homebrew.
Q: Можно ли запускать Homebrew в контейнере Docker?
A: Да, но в контейнере часто удобнее установить пакет напрямую через OS-пакетный менеджер или включить нужные инструменты в Dockerfile.
Итог
Homebrew — мощный и удобный инструмент для установки и управления пакетами, особенно когда нужно ПО, отсутствующее в репозиториях дистрибутива. Он особенно полезен разработчикам и пользователям, работающим одновременно на macOS и Linux. Придерживайтесь простых правил безопасности: не запускать brew под root, проверять сторонние tap-ы и документировать установки на серверах.
Summary
- Установите необходимые инструменты сборки перед установкой Homebrew.
- Запустите официальный скрипт установки и выполните команды из раздела “Next steps” для настройки PATH.
- Используйте brew install/upgrade/uninstall для управления пакетами.
- Проверяйте права и избегайте использования sudo с brew.
Спасибо за чтение. Если нужно, могу подготовить короткий пошаговый Playbook для автоматической установки Homebrew в образах CI/CD или для конкретного дистрибутива (Debian/Ubuntu, Fedora/CentOS).
Похожие материалы
Как превратить ПК в Wi‑Fi‑роутер
Добавление беспроводной зарядки к телефону
Безопасность фронтенда — защита входа
Как безопасно купить подержанный компьютер
Будильник, таймер и секундомер в Windows 10