В операционной системе Mac OS X (или просто OS X) существует весьма годный пакетный менеджер под названием Homebrew. Он является аналогом таких пакетных менеджеров как Fink и MacPorts (который в свою очередь является аналогом портов из FreeBSD). Одно из главных преимуществ Homebrew - это открытый исходный код (двухпунктовая лицензия BSD). Это позволило энтузиастам создать его форк для Linux-систем, адаптировать его и позволить легко использовать в паре со штатным пакетным менеджером. Давайте посмотрим, что из себя представляет Linuxbrew и в каких случаях он может пригодиться.
Для начала стоит поговорить о самом Homebrew. Это пакетный менеджер, написанный на язке Ruby, имеющий весьма простой и понятный код. Он позволяет устанавливать самые свежие (да любые, по сути) программы в ваш домашний каталог, не запрашивая права sudo и не нарушая работы штатного менеджера пакетов. Суть работы Homebrew заключается в том, что при запросе установки нужной вам программы, он выкачивает её исходный код прямо из git-репозитория, собирает его, устанавливает программу в домашний каталог и создаёт символьную ссылку в /usr/local. Всё крайне просто. Вот список основных его достоинств:
Как видим, штука неплохая. Linuxbrew полностью аналогичен. Разработка ведётся на GitHub, каждый день появляются новые изменения, исправляются какие-либо недорработки. Также добавляются новые формулы. Теперь давайте попробуем его установить. Сначала поставим нужные зависимости. Для Debian/Ubuntu:
sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev
Для Fedora/CentOS:
sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel
Внимание: 32-х битные системы не поддерживаются!
Теперь поставим скрипт, который скачает и установит Linuxbrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
Далее настроим переменные среды. Открываем
nano .bashrc
и в конец добавляем строки:
export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
Вот и всё. Программы устанавливаются коммандой:
brew install <имя нужной программы>
Для поиска доступных программ:
brew search --desc
Для вывода полного списка доступного ПО:
brew search
Или можно непосредственно перейти на сайт braumeister.org и посмотреть доступные пакеты там. Вывод справки:
brew help или man brew
Ссылки:
Официальный сайт
Сайт Homebrew
Репозиторий Linuxbrew на GitHub
Для начала стоит поговорить о самом Homebrew. Это пакетный менеджер, написанный на язке Ruby, имеющий весьма простой и понятный код. Он позволяет устанавливать самые свежие (да любые, по сути) программы в ваш домашний каталог, не запрашивая права sudo и не нарушая работы штатного менеджера пакетов. Суть работы Homebrew заключается в том, что при запросе установки нужной вам программы, он выкачивает её исходный код прямо из git-репозитория, собирает его, устанавливает программу в домашний каталог и создаёт символьную ссылку в /usr/local. Всё крайне просто. Вот список основных его достоинств:
- устанавливает программы в домашний каталог, без запроса прав администратора, в их собственые директории;
- крайне просто способ создания своих пакетов для него (буквально парой строк);
- так как в основе лежит Git, можно легко откатывать изменения;
- для установки того или иного приложения, использются формулы, которые представляют собой крайне простой скрипт на Ruby
- class Wget < Formula
homepage "https://www.gnu.org/software/wget/"
url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"
def install
system "./configure", "--prefix=#{prefix}"
system "make", "install"
end
end - не выкачивает дублирующиеся зависимости, а использует то, что уже есть в системе.
Как видим, штука неплохая. Linuxbrew полностью аналогичен. Разработка ведётся на GitHub, каждый день появляются новые изменения, исправляются какие-либо недорработки. Также добавляются новые формулы. Теперь давайте попробуем его установить. Сначала поставим нужные зависимости. Для Debian/Ubuntu:
sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev
Для Fedora/CentOS:
sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel
Внимание: 32-х битные системы не поддерживаются!
Теперь поставим скрипт, который скачает и установит Linuxbrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
Далее настроим переменные среды. Открываем
nano .bashrc
и в конец добавляем строки:
export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
Вот и всё. Программы устанавливаются коммандой:
brew install <имя нужной программы>
Для поиска доступных программ:
brew search --desc
Для вывода полного списка доступного ПО:
brew search
Или можно непосредственно перейти на сайт braumeister.org и посмотреть доступные пакеты там. Вывод справки:
brew help или man brew
Ссылки:
Официальный сайт
Сайт Homebrew
Репозиторий Linuxbrew на GitHub
Комментариев нет:
Отправить комментарий