Thứ sáu, 14/02/2014 | 00:00 GMT+7

Cách cài đặt và sử dụng LinuxBrew trên VPS Linux


Giới thiệu


LinuxBrew là một Linux-fork của trình quản lý gói Mac OS X HomeBrew phổ biến.

LinuxBrew là phần mềm quản lý gói, cho phép cài đặt các gói từ nguồn, ở trên cùng trên quản lý gói mặc định của hệ thống (ví dụ: “apt / deb” trong Debian / Ubuntu và “yum / rpm” trong CentOS / RedHat).

Tại sao sử dụng LinuxBrew?


  • HomeBrew ban đầu được phát triển cho Mac OS X (không có hệ thống quản lý gói open-souce tiêu chuẩn). Nó tăng cường quản lý gói như MacPortsFink . LinuxBrew là homebrew được chuyển sang Linux.

  • Tuy nhiên, hầu hết các bản phân phối Linux đều có hệ thống quản lý gói tốt (ví dụ: “apt / deb” trong Debian / Ubuntu và “yum / rpm” trong CentOS / RedHat)

    • Các gói trong repositories tiêu chuẩn thường cũ hơn các version mới nhất hiện có, và
    • Nhiều gói open-souce không có sẵn trong repository tiêu chuẩn (ví dụ: các công cụ tin sinh học thông thường).
  • LinuxBrew cung cấp một kho chứa các công thức cài đặt phần mềm (các gói được cài đặt từ nguồn và được biên dịch trên máy local ) để bổ sung cho các gói từ kho tiêu chuẩn của bản phân phối.

  • LinuxBrew cung cấp một phương pháp dễ dàng để xây dựng repository của bạn (tức là danh sách các gói open-souce phù hợp với nhu cầu của bạn).

  • LinuxBrew cài đặt phần mềm trong folder do user chỉ định (không phải trên toàn hệ thống) và không yêu cầu quyền truy cập sudo .

  • LinuxBrew (và HomeBrew ) tích hợp rất tốt với GitHub , cho phép chia sẻ các công thức cài đặt một cách dễ dàng.

Đặc biệt với DigitalOcean , (tại thời điểm viết bài này) không cung cấp Hình ảnh server nước có thể chia sẻ (với phần mềm được cài đặt cấu hình tùy chỉnh), repository LinuxBrew có thể cung cấp phương pháp nhanh chóng để cài đặt các gói và version cụ thể trên máy Linux tiêu chuẩn.

Giới thiệu về LinuxBrew


Nói một cách đơn giản, LinuxBrew đảm nhận việc download file tar.gz và chạy ./configure && make && make install cho bạn (hoặc bất kỳ lệnh nào cần thiết để cài đặt gói).

Công thức LinuxBrew là một tập lệnh Ruby xác định nơi tìm file tar.gz , cách xây dựng gói và cách cài đặt nó.

Một file công thức có thể đơn giản như hmmer.rb (một công cụ tin sinh học) :

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

Hoặc phức tạp như emacs.rb .

Sau khi file công thức được xác định đúng cách, việc cài đặt gói này chỉ đơn giản là chạy:

$ brew install FORMULA

Chuẩn bị cho LinuxBrew - Debian / Ubuntu


Đối với hệ thống dựa trên Debian / Ubuntu, hãy chạy các lệnh sau:

$ 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

Chuẩn bị cho LinuxBrew - CentOS / RedHat


Đối với hệ thống dựa trên RedHat / CentOS, hãy chạy các lệnh sau:

$ 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

Cài đặt LinuxBrew


Cài đặt LinuxBrew chỉ đơn giản là sao chép Kho lưu trữ LinuxBrew .

Bước 1 - Nhân bản LinuxBrew


Để giữ mọi thứ ngăn nắp, sao chép LinuxBrew vào một folder ẩn trong folder chính của user :

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

Nhưng bất kỳ folder nào khác cũng sẽ hoạt động tốt.

Bước 2 - Cập nhật các biến môi trường


Bước tiếp theo là thêm LinuxBrew vào các biến môi trường của user .

Thêm các dòng sau vào cuối file ~/.bashrc của user :

# 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

LƯU Ý : Nếu bạn đã cài đặt LinuxBrew vào một folder khác, hãy thay đổi đường dẫn trong LINUXBREWHOME ở trên.

Bước 3 - Cài đặt thử nghiệm


Để đảm bảo những thay đổi đó có hiệu lực, hãy đăng xuất và đăng nhập lại. Sau đó, shell sẽ sử dụng các cài đặt mới này.

Để kiểm tra các cài đặt mới này, hãy thử:

$ 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:

Cài đặt Gói với LinuxBrew


Có những gói nào?


brew search để xem danh sách tất cả các gói có sẵn (tất cả các gói mà bản cài đặt hiện tại của LinuxBrew biết - xem bên dưới về cách thêm repository ).

brew search WORD để xem tất cả các gói (được gọi là Công thức trong biệt ngữ HomeBrew) có chứa WORD. Thí dụ:

$ 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

Cài đặt một gói


Để cài đặt một gói, hãy chạy brew install PACKAGE .

Ví dụ, cài đặt bộ xử lý 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

Tính hữu ích của LinuxBrew là rõ ràng: Trong khi Ubuntu có jq trong repository mới nhất, version của nó đã cũ (1.2). Debian Ổn định và Kiểm tra hoàn toàn không có gói jq . Phiên bản của LinuxBrew là version mới nhất (1.3). Ngoài ra, LinuxBrew cài đặt chương trình vào một đường dẫn sẽ không xung đột với vị trí mặc định của hệ thống.

Thêm repository HomeBrew hiện có


Kho lưu trữ HomeBrew / LinuxBrew được gọi là TAPS . Đây chỉ đơn giản là các repository GitHub chứa các tập lệnh Ruby ('Công thức'). Người dùng HomeBrew Githab có một số repository chung.

Ví dụ: thêm kho homebrew-science (chứa nhiều chương trình khoa học open-souce hữu ích) và kho 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

Liệt kê các vòi có sẵn:

$ brew tap
homebrew/science
homebrew/games

Cài đặt bất kỳ gói nào từ các kho đó:

$ 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

Cập nhật TAP và Gói


Để download bất kỳ bản cập nhật nào cho Công thức, hãy chạy:

$ brew update

Để nâng cấp gói (nếu có bản cập nhật), hãy chạy:

$ brew upgrade PACKAGE

Tạo TAP tùy chỉnh / riêng tư (Kho lưu trữ)


HomeBrew TAP / Kho lưu trữ chỉ đơn giản là một tập hợp các Công thức - tập lệnh Ruby được lưu trữ trong các file local hoặc trong các repository GitHub.

Công thức trong file local


Để cài đặt một công thức từ một file local , hãy chạy:

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

Điều này rất hữu ích khi tạo (và gỡ lỗi) một công thức mới.

Công thức trong repository GitHub


Để tạo repository TAP tùy chỉnh trong github, hãy tạo một repository GitHub mới (trong account github của user của bạn) và đặt tên là homebrew-NAME . Nó phải bắt đầu bằng 'homebrew-' để hoạt động như một vòi HomeBrew / LinuxBrew. NAME có thể là bất kỳ tên nào bạn muốn.

Thí dụ:

User GitHub agordon có một repository HomeBrew tên là gordon , URL đầy đủ là: https://github.com/agordon/homebrew-gordon .

Để sử dụng repository này (“chạm vào nó”):

$ 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

LƯU Ý

  1. brew tap sử dụng tên user agordon và hậu tố repository gordon (hậu tố của 'homebrew-gordon') và suy ra URL github để truy cập.

  2. Công thức trong repository lưu trữ tùy chỉnh có thể xung đột với công thức trong repository lưu trữ HomeBrew chính thức. Đó là điều hoàn toàn bình thường. Xem bên dưới về cách cài đặt các gói như vậy.

Để cài đặt các gói không xung đột từ repository tùy chỉnh, hãy chạy:

$ brew install libjson

Để cài đặt các gói từ các lần nhấn cụ thể, hãy chạy:

$ brew install agordon/gordon/coreutils

Thêm thông tin


LƯU Ý: Khi đọc thông tin liên quan đến HomeBrew, hãy nhớ rằng HomeBrew được phát triển cho Mac OS X.

LinuxBrew (cổng linux của HomeBrew) có nhiều điểm chung với HomeBrew, nhưng cũng có một số khác biệt dành riêng cho linux.

Trang chủ Wiki

Câu hỏi thường gặp về HomeBrew

HomeBrew Formula Cookbook

HomeBrew Khắc phục sự cố

Trang web LinuxBrew

Các vấn đề đã biết của LinuxBrew

<div class = “author”> Được gửi bởi <a href=osystemhttps://github.com/agordonosystem> Assaf Gordon </a> </div>


Tags:

Các tin liên quan

cách sử dụng role và môi trường trong Chef để kiểm soát cấu hình server
2014-02-04
Cách cài đặt Chef Server, Workstation và Client trên Phiên bản VPS Ubuntu
2014-01-30
Giới thiệu về Chuyển hướng I / O Linux
2014-01-23
Giới thiệu về Chuyển hướng I / O Linux
2014-01-23
Cách thiết lập server email Postfix với Dovecot: Dynamic Maildirs và LMTP
2013-12-17
Cách xem và cấu hình log Linux trên Ubuntu và Centos
2013-12-17
Cách cài đặt Linux Socket Monitor (LSM) trên CentOS 6.4
2013-11-26
Cách sử dụng ApacheBench để thực hiện kiểm tra tải trên VPS Arch Linux
2013-11-21
Cách thiết lập server VPN đa giao thức bằng SoftEther
2013-11-19
Cách thiết lập server e-mail Postfix với Dovecot
2013-11-14