如何在Linux的VPS安装和使用LinuxBrew

简介

LinuxBrew是流行的Mac OS X的一个Linux叉自制包管理器。

LinuxBrew是包管理软件,它能从源(在Debian / Ubuntu的如“易/ DEB”,并在CentOS的/ RedHat的“Yum/ RPM”)系统的默认包管理安装软件包,在上面。

为什么要使用LinuxBrew?

  • 自制最初是为Mac OS X的开发(它没有一个标准的开源软件包管理系统)。 这所取代包管理层如的MacPorts芬克 。LinuxBrew的自制程序移植到Linux上。

  • 大多数Linux发行版都有一个很好的包管理系统(例如Debian / Ubuntu中的“apt / deb”和CentOS / RedHat中的“yum / rpm”),但是

    • 标准存储库中的软件包通常比最新的可用版本旧,和
    • 许多开源包在标准库中不可用(例如常见的生物信息学工具)。
  • LinuxBrew提供的软件安装Recipe(包从源代码安装在本地机器上编译),以补充从分布的标准库包的仓库。

  • LinuxBrew提供了一种简单的方法来建立自己的资料库(即根据您的需求的开源软件包列表)。

  • LinuxBrew安装在用户指定的目录(未全系统)软件,并且不需要sudo访问。

  • LinuxBrew(自制软件 )集成得很好, GitHub上 ,使安装Recipe分享轻松。

特别是随着DigitalOcean ,这(在写这篇文章的时间)不提供共享Droplet图像(自定义配置安装的软件),一个LinuxBrew库可以提供一个快捷的方法,以一个标准的Linux机器上安装特定的软件包和版本。

LinuxBrew的精神

简单地说,LinuxBrew需要下载的护理tar.gz文件,并运行./configure && make && make install你(或是安装软件包需要命令)。

一个LinuxBrew 公式是一个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库

第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包(称为自制行话公式 )。 例:

$ 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存储库

自制/ LinuxBrew库被称为水龙头 这些是简单的GitHub仓库包含Ruby脚本('公式')。 自制Githab用户有几种常见的存储库。

例如:加入自制的科学资料库 (包含许多有用的开源科学计划)和自制游戏资料库

$ 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(存储库)

一个自制TAP /存储库仅仅是公式的集合-存储在本地文件或在GitHub的库Ruby脚本。

本地文件中的公式

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

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

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

GitHub存储库中的公式

要在github上自定义TAP库,创建一个新的GitHub库(在你的用户的GitHub的帐户),并命名为homebrew-NAME它必须以“homebrew-”作为一个自制/ LinuxBrew自来水工作启动NAME可以是任何名称你要。

例:

GitHub的用户agordon有一个名为戈登自制软件库,完整的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和库Staplinggordon (Stapling'自制-戈登),并推导出GitHub的URL访问。

  2. 自定义repostiries中的公式可能与官方HomeBrew存储库中的公式冲突。 这是完全正常的。 有关如何安装此类软件包,请参见下文。

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

$ brew install libjson

要从特定点击安装软件包,请运行:

$ brew install agordon/gordon/coreutils

更多信息

注意:当读取自制软件的相关信息,请记住, 自制是为Mac OS X的开发

LinuxBrew(自制软件的linux的端口)有很多自制软件的共性,但也有一些Linux特有的差异。

首页

HomeBrew常见问题

自制公式Recipe

自制麻烦

LinuxBrew网站

LinuxBrew已知问题

提交阿萨夫·戈登
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏