Linuxbrew

Linuxbrew — форк проекта Homebrew для MacOS. Удобный инструмент для быстрой установки некоторых программ, не требующий при этом прав суперпользователя.

Разработанный изначально для MacOS, Brew пришёл на Linux в виде форка. Не смотря на то, что здесь дистрибутивы и так имеют свои менеджеры пакетов, Linuxbrew стал достаточно популярен, и на то есть причины:

  • Хорошее взаимодействие с Github, которое позволяет совместно работать, например, над установочными наборами команд.
  • Отсутствие требований прав суперпользователя для установки ПО.
  • Большое количество программ, доступных на Github, но по разным причинам не добавленных в репозитори систем.
  • Возможность устанавливать последние версии ПО, в то время как в обычных репозиториях оказывается доступна устаревшая версия.

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

Установка.

Ставим и всё необходимое для установки самого linuxbrew и создаём для него отдельного пользователя:

# yum groupinstall 'Development Tools'
# yum install curl file git irb python-setuptools ruby
# useradd sysadmin
# passwd sysadmin

Устанавливаем linuxbrew, перейдя на уровень созданного ранее пользователя sysadmin:

# su - sysadmin
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

Добавляем бинарник в переменную среды:

 # echo 'export PATH="/home/sysadmin/.linuxbrew/bin:$PATH"' >>~/.bash_profile
 # echo 'export MANPATH="/home/sysadmin/.linuxbrew/share/man:$MANPATH"' >>~/.bash_profile
 # echo 'export INFOPATH="/home/sysadmin/.linuxbrew/share/info:$INFOPATH"' >>~/.bash_profile

Работа с linuxbrew.

При установке какого-либо пакета, linuxbrew скачивает его исходники, собирает из них ПО и устанавливает его относительно окружения текущего пользователя, под которым установка выполнялась. Для поиска, установки, обновления или удаления пакета, достаточно выполнить соответствующую команду (mypkg — это имя пакета):

$ brew search mypkg
$ brew install mypkg
$ brew upgrade mypkg
$ brew uninstall mypkg

Репозитории.

Конечно же, в brew имеются и репозитории (taps). Информацию о них можно найти на соответствующей странице. Репозитории в данном случае — это проекты на Github, со специальными ruby-скриптами (formulas). Для добавления репозитория, достаточно выполнить команду:

$ brew tap homebrew/php

Добавленные репозитории можно вывести командой:

$ brew tap

Для обновления репозиториев выполняем:

$ brew update

Что же в итоге? Linuxbrew — это утилита, которой часто пользуются те, кто размещает свой проект на Github. Для каких-то программ, это и вовсе единственная альтернатива ручной сборке из исходников. Тащить brew на продакшн серверы конечно же большого смысла нет, но для работы с некоторым софтом, для знакомства с ним, linuxbrew, на мой скромный взгляд, отлично подходит.

@SysadminNotes | https://sysadmin.pm

2 thoughts on “Linuxbrew


  1. # cat > ~/.bash_profile << END
    export PATH="/home/sysadmin/.linuxbrew/bin:$PATH"
    export MANPATH="/home/sysadmin/.linuxbrew/share/man:$MANPATH"
    export INFOPATH="/home/sysadmin/.linuxbrew/share/info:$INFOPATH"
    END

  2. Думаю — это хороший вариант для девопса и админа.
    Ошибки легко обходятся.
    В случае сбоя, происходит вывод прямо в консоль ссылкок на связанные гитхабовские-ошибки.
    Просто, в случае чего, разрулить окружения: brew unlink FORMULA (если вдруг с системными библиотеками что-л. ставится без ошибок), без рута юзать perl,ruby,python, lua (см. brew homepage luaver; brew homepage rbenv; в конце установки языка прочесть, как записать его в окружение (в консоли строки с заголовком Caveats)).
    Также сбои компиляции можно обойти используя готовые elf-бинарники (ключ —force-bottle после brew install FORMULA).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *