如何在LinuxVPS上安装和使用LinuxBrew

来自菜鸟教程
跳转至:导航、​搜索

介绍


LinuxBrew 是流行的 Mac OS X HomeBrew 包管理器的 Linux 分支。

LinuxBrew 是包管理软件,它可以在系统默认包管理(例如 Debian/Ubuntu 中的“apt/deb”和 CentOS/RedHat 中的“yum/rpm”)。

为什么使用 LinuxBrew?


  • HomeBrew 最初是为 Mac OS X(没有标准的开源包管理系统)开发的。 它取代了包管理,例如 MacPortsFinkLinuxBrew 是移植到 Linux 的自制软件。
  • 大多数 Linux 发行版都有一个很好的包管理系统(例如 Debian/Ubuntu 中的“apt/deb”和 CentOS/RedHat 中的“yum/rpm”),但是
    • 标准存储库中的软件包通常比最新的可用版本更旧,并且
    • 许多开源软件包在标准存储库中不可用(例如 常用的生物信息学工具)。
  • LinuxBrew 提供了软件安装配方的存储库(软件包从源代码安装并在本地计算机上编译)以补充来自发行版标准存储库的软件包。
  • LinuxBrew 提供了一种简单的方法来构建您自己的存储库(即 根据您的需求量身定制的开源软件包列表)。
  • LinuxBrew 将软件安装在用户指定的目录(不是系统范围)中,并且不需要 sudo 访问权限。
  • LinuxBrew(和 HomeBrew)与 GitHub 集成得非常好,可以轻松共享安装配方。

尤其是 DigitalOcean,它(在撰写本文时)不提供可共享的 Droplet 图像(带有自定义配置的安装软件),LinuxBrew 存储库可以提供快速安装方法标准 Linux 机器上的特定软件包和版本。

LinuxBrew 的要点


简单地说,LinuxBrew 负责下载 tar.gz 文件并为您运行 ./configure && make && make install(或安装软件包所需的任何命令)。

LinuxBrew Formula 是一个 Ruby 脚本,它定义了在哪里可以找到 tar.gz 文件、如何构建包以及如何安装它。

公式文件可以像 hmmer.rb(一种生物信息学工具) 一样简单:

class Hmmer < Formula
  homepage 'http://hmmer.janelia.org/'
  url 'http://selab.janelia.org/software/hmmer3/3.1b1/hmmer-3.1b1.tar.gz'

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make"
    system "make install"
  end
end

或者像 emacs.rb 一样复杂。

一旦正确定义了公式文件,安装包就很简单了:

$ brew install FORMULA

准备 LinuxBrew - Debian/Ubuntu


对于基于 Debian/Ubuntu 的系统,运行以下命令:

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo sudo apt-get install -y build-essential make cmake scons curl git \
                               ruby autoconf automake autoconf-archive \
                               gettext libtool flex bison \
                               libbz2-dev libcurl4-openssl-dev \
                               libexpat-dev libncurses-dev

准备 LinuxBrew - CentOS/RedHat


对于基于 RedHat/CentOS 的系统,运行以下命令:

$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ sudo yum install -y \
        autoconf automake19 libtool gettext \
        git scons cmake flex bison \
        libcurl-devel curl \
        ncurses-devel ruby bzip2-devel expat-devel

安装 LinuxBrew


安装 LinuxBrew 只需克隆 LinuxBrew Repository

第 1 步 - 克隆 LinuxBrew


为了保持整洁,将 LinuxBrew 克隆到用户主目录的隐藏目录中:

$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

但是任何其他目录也可以正常工作。

第 2 步 - 更新环境变量


下一步是将 LinuxBrew 添加到用户的环境变量中。

将以下行添加到用户的 ~/.bashrc 文件的末尾:

# Until LinuxBrew is fixed, the following is required.
# See: https://github.com/Homebrew/linuxbrew/issues/47
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH
## Setup linux brew
export LINUXBREWHOME=$HOME/.linuxbrew
export PATH=$LINUXBREWHOME/bin:$PATH
export MANPATH=$LINUXBREWHOME/man:$MANPATH
export PKG_CONFIG_PATH=$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH

注意:如果您将LinuxBrew安装到不同的目录,请更改上面LINUXBREWHOME中的路径。

第 3 步 - 测试安装


为确保这些更改生效,请注销并再次登录。 然后,shell 应该使用这些新设置。

要测试这些新设置,请尝试:

$ which brew
/home/ubuntu/.linuxbrew/bin/brew
$ echo $PKG_CONFIG_PATH
/home/ubuntu/.linuxbrew/lib64/pkgconfig:/home/ubuntu/.linuxbrew/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:

使用 LinuxBrew 安装软件包


哪些软件包可用?


键入 brew search 以查看所有可用软件包的列表(LinuxBrew 的当前安装知道的所有软件包 - 请参阅下面关于添加存储库的信息)。

键入 brew search WORD 以查看所有包含 WORD 的包(在 HomeBrew 术语中称为 Formulas)。 例子:

$ brew search xml
blahtexml       libnxml   libxml2     xml-coreutils   xml2        xmlrpc-c
html-xml-utils  libwbxml  libxmlsec1  xml-security-c  xmlcatmgr   xmlsh
libmxml         libxml++  tinyxml     xml-tooling-c   xmlformat   xmlstarlet

安装一个包


要安装软件包,请运行 brew install PACKAGE

例如,安装 jq - JSON 处理器

$ brew install jq
==> Downloading http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz
==> ./configure
==> make
/home/ubuntu/.linuxbrew/Cellar/jq/1.3: 7 files, 256K, built in 10 seconds
$ which jq
/home/ubuntu/.linuxbrew/bin/jq
$ jq --version
jq version 1.3

LinuxBrew 的用处是显而易见的:虽然 Ubuntu 在最新的存储库中有 jq,但它的版本是旧的(1.2)。 Debian 稳定版和测试版根本没有 jq 软件包。 LinuxBrew 的版本是最新版本(1.3)。 此外,LinuxBrew 将程序安装到不会与系统默认位置冲突的路径。

添加现有的 HomeBrew 存储库


HomeBrew/LinuxBrew 存储库称为 TAPS。 这些只是包含 Ruby 脚本(“公式”)的 GitHub 存储库。 HomeBrew Githab User 有几个常用的存储库。

示例:添加 homebrew-science 存储库(包含许多有用的开源科学程序)和 HomeBrew-Games 存储库

$ brew tap homebrew/science
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-science'...
Tapped 237 formula
$ brew tap homebrew/games
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew-games'...
Tapped 57 formula

列出可用的水龙头:

$ brew tap
homebrew/science
homebrew/games

从这些存储库安装任何软件包:

$ brew install gnu-go
==> Downloading http://ftpmirror.gnu.org/gnugo/gnugo-3.8.tar.gz
#################################################################
==> ./configure --prefix=/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8 --with-readline=/usr/lib
==> make install
/home/ubuntu/.linuxbrew/Cellar/gnu-go/3.8: 9 files, 7.0M, built in 60 seconds

更新 TAP 和软件包


要下载公式的任何更新,请运行:

$ brew update

要升级软件包(如果有更新),请运行:

$ brew upgrade PACKAGE

创建自定义/私有 TAP(存储库)


HomeBrew TAP/存储库只是 Formulas 的集合——存储在本地文件或 GitHub 存储库中的 Ruby 脚本。

本地文件中的公式


要从本地文件安装公式,请运行:

$ brew install /full/path/to/file.rb

这在创建(和调试)新公式时很有用。

GitHub 存储库中的公式


要在 github 中创建自定义 TAP 存储库,请创建一个新的 GitHub 存储库(在您用户的 github 帐户中)并将其命名为 homebrew-NAME它必须以 'homebrew-' 开头才能用作 HomeBrew/LinuxBrew 水龙头。 NAME 可以是您想要的任何名称。

例子:

GitHub 用户 agordon 有一个名为 gordon 的 HomeBrew 存储库,完整 URL 为:https://github.com/agordon/homebrew-gordon。

要使用此存储库(“点击它”):

$ brew tap agordon/gordon
Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/agordon-gordon'...
Warning: Could not tap agordon/gordon/libestr over Homebrew/homebrew/libestr
Warning: Could not tap agordon/gordon/coreutils over Homebrew/homebrew/coreutils
Tapped 12 formula

笔记

  1. brew tap 使用用户名 agordon 和存储库后缀 gordon('homebrew-gordon' 的后缀)并推导出 github URL 来访问。
  2. 自定义存储库中的公式可能与官方 HomeBrew 存储库中的公式冲突。 这是完全正常的。 有关如何安装此类软件包的信息,请参见下文。

要从自定义存储库安装不冲突的包,请运行:

$ brew install libjson

要从特定水龙头安装软件包,请运行:

$ brew install agordon/gordon/coreutils

更多信息


注意: 阅读 HomeBrew 相关信息时,请记住 HomeBrew 是为 Mac OS X 开发的。

LinuxBrew(HomeBrew 的 linux 端口)与 HomeBrew 有许多共同点,但也有一些特定于 linux 的差异。

自制维基

家酿常见问题解答

自制配方食谱

HomeBrew 疑难解答

LinuxBrew 网站

LinuxBrew 已知问题

由[[“%3Ca|https://github.com/agordon]]提交 [[“%3C/a|”>阿萨夫·戈登]]