Homebrew — это менеджер пакетов, изначально разработанный для macOS и позволяющий устанавливать бесплатное программное обеспечение с открытым исходным кодом через терминал. Для установки программ и инструментов из доверенных и поддерживаемых репозиториев пакетов все системы Linux используют собственные встроенные менеджеры пакетов: это менеджер apt в Debian, Ubuntu и их производных, dnf в Red Hat, Fedora и Rocky Linux.
Однако иногда устанавливать все программное обеспечение через apt или dnf непрактично. Например, для индивидуальной установки дополнительных скриптов или библиотек некоторые языки программирования предпочитают использовать свои собственные менеджеры пакетов, например, pip в Python или npm в Node.js.
Совсем недавно Homebrew добавил встроенную поддержку Linux. Хотя Homebrew изначально создавался для установки инструментов Linux на macOS, многие пакеты Homebrew лучше поддерживаются или более удобны в использовании, чем их эквиваленты из репозиториев Linux. Кроме того, поскольку пакеты Homebrew предназначены только для обеспечения индивидуальных пользовательских сред, этот менеджер можно использовать вместе с вашим системным менеджером пакетов, не создавая конфликтов.
В этом руководстве мы расскажем, как установить и использовать Homebrew в среде Linux. Мы установим системные инструменты и настроим среду оболочки для использования Homebrew из интерфейса командной строки.
Требования
- Машина Linux и пользователь с привилегиями sudo. Чтобы настроить пользователя с этими привилегиями, обратитесь к этому мануалу.
- Система управления версиями git. Читайте этот мануал или следуйте официальной документации Git.
1: Установка компилятора
Перед установкой Homebrew нужно установить работающий компилятор, чтобы Homebrew мог собирать пакеты. Большинство пакетов предварительно скомпилированы, однако некоторые зависимости пакетов все же необходимо будет собирать непосредственно на вашем компьютере. Большинство дистрибутивов Linux позволяют установить компилятор с помощью одной команды, хотя и не предоставляют его по умолчанию.
В Ubuntu вы можете установить пакет build-essential, который предоставит все, что необходимо для создания современной среды компилятора. Установите пакет с помощью apt:
sudo apt build-essential
В Rocky Linux, CentOS и других производных от RedHat системах в качестве компилятора вы можете установить группу пакетов под названием Development Tools. Установите пакеты с помощью dnf:
dnf groups mark install "Development Tools"
dnf groupinstall "Development Tools"
Чтобы убедиться, что компилятор доступен, проверьте наличие команды make в вашей системе. Для этого используйте команду which:
which make
Вы получите:
/usr/bin/make
Теперь, когда у нас есть работающий компилятор, мы можем приступить к установке Homebrew.
2: Установка и настройка Homebrew
Чтобы установить Homebrew, сначала загрузите сценарий установки, а затем выполните его.
Загрузим сценарий на локальную машину:
curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
Команда curl загружает сценарий установки Homebrew из Git-репозитория.
Давайте пройдемся по флагам, которые мы использовали в curl:
- Флаг -f (–fail) отключает вывод HTML-документа при ошибках сервера.
- -s (–silent) отключает индикатор выполнения, а в сочетании с флагом -S (–show-error) гарантирует, что curl покажет сообщение об ошибке в случае сбоя.
- -L (–location) помогает обрабатывать перенаправления. Если сервер сообщает, что запрошенная страница перемещена в другое место, команда автоматически выполнит запрос снова, используя новое место.
- -o указывает локальное имя файла. Вместо того чтобы отображать содержимое на экране, флаг -o сохраняет его в указанный вами файл.
Перед запуском скрипта, который вы скачали из Интернета, рекомендуем просмотреть его содержимое, чтобы знать, что он будет делать. Используйте команду less, чтобы проверить сценарий установки и понять, что именно он делает.
less install.sh
Ознакомившись с содержимым скрипта, запустите его с помощью команды bash:
/bin/bash install.sh
Сценарий установки объяснит, что он будет делать, и предложит вам подтвердить эти действия. Так вы будете точно знать, что Homebrew собирается сделать с вашей системой, прежде чем позволите ему продолжить. Кроме того, так вы будете уверены, что выполнили все предварительные условия, прежде чем продолжить установку.
Во время установки вам будет предложено ввести пароль. Если у вас нет привилегий sudo, вместо этого вы можете нажать Ctrl+D, чтобы просто закрыть это окно, но тогда Homebrew будет установлен с более строгими настройками доступа. Больше информации об этом можно найти в документации Homebrew.
Нажмите y, когда вам будет предложено подтвердить установку.
По завершении установки в выводе Homebrew вы найдете раздел Next steps, который поможет настроить среду для работы с пакетами Homebrew. Эта конфигурация гарантирует, что инструменты Homebrew будут использоваться вместо инструментов, предоставляемых системным менеджером пакетов. Скопируйте из вашего вывода и вставьте команды, которые обнаружат правильные пути конфигурации в вашей системе. Пример, приведенный ниже, взят из bash:
==> Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: echo 'eval "$(/home/8host/.linuxbrew/bin/brew shellenv)"' >> /home/8host/.profile eval "$(/home/8host/.linuxbrew/bin/brew shellenv)"
Как только вы запустите эти две команды, изменения, внесенные вами в переменную среды PATH вашей оболочки, вступят в силу. Они будут установлены правильно, когда вы снова войдете в систему в будущем, поскольку конфигурационный файл оболочки автоматически запускается при открытии нового сеанса.
Теперь убедитесь, что Homebrew настроен правильно. Запустите эту команду:
brew doctor
Если в настоящее время обновления не требуются, вы получите следующий вывод:
Your system is ready to brew.
В противном случае вы можете получить предупреждение о необходимости выполнить другую команду, например brew update, чтобы обновить установку Homebrew. Следуйте инструкциям на экране, чтобы завершить настройку среды, прежде чем двигаться дальше.
3: Установка, обновление и удаление пакетов
Теперь, когда Homebrew установлен, давайте попробуем использовать его для загрузки пакета. Команда tree позволяет увидеть графическое дерево каталогов и доступна в Homebrew.
Установите tree с помощью команды brew install:
brew install tree
Homebrew обновит список пакетов и загрузит и установит команду:
. . . ==> Downloading https://ghcr.io/v2/homebrew/core/tree/manifests/2.0.2 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/tree/blobs/sha256:e1d7569f6930271d694e739e93eb026aac1e8b386 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:e1d7569f6930271d694e739 ######################################################################## 100.0% ==> Pouring tree--2.0.2.x86_64_linux.bottle.tar.gz 🍺 /home/linuxbrew/.linuxbrew/Cellar/tree/2.0.2: 8 files, 162.4KB ==> Running `brew cleanup tree`...
По умолчанию Homebrew устанавливает файлы в /home/linuxbrew/.linuxbrew/bin/, чтобы они не мешали будущим обновлениям Linux. Убедитесь, что команда установлена, запросив расположение при помощи which:
which tree
В выводе вы увидите, что tree находится в /home/linuxbrew/.linuxbrew/bin/:
/home/linuxbrew/.linuxbrew/bin/tree
Запустите команду tree, чтобы проверить версию:
tree --version
В выводе будет показано, что команда установлена:
tree v2.0.2 (c) 1996 - 2022 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 /home/linuxbrew/.linuxbrew/Cellar/tree/2.0.2... (8 files, 162.4KB)
4: Удаление Homebrew
Если менеджер Homebrew вам больше не нужен, вы можете удалить его.
Скачайте сценарий с помощью curl:
curl -fsSL -o uninstall.sh https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
Как и ранее, просмотрите содержимое скрипта с помощью команды less, чтобы проверить его содержимое:
less uninstall.sh
После проверки сценария запустите его с флагом –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:
/home/linuxbrew/.linuxbrew/Caskroom/ /home/linuxbrew/.linuxbrew/Cellar/ /home/linuxbrew/.linuxbrew/Homebrew/ /home/linuxbrew/.linuxbrew/Homebrew/.dockerignore /home/linuxbrew/.linuxbrew/Homebrew/.editorconfig . . .
Когда вы будете готовы удалить все эти файлы, запустите скрипт без флагов:
bash uninstall.sh
Он удалит Homebrew и все программы, которые вы установили с его помощью.
Заключение
В этом руководстве вы установили Homebrew в среду Linux и научились им пользоваться. Теперь вы можете использовать Homebrew для установки инструментов командной строки, языков программирования и других утилит, которые вам понадобятся для разработки программного обеспечения.