כיצד להתקין ולהשתמש ב־LinuxBrew על שרת VPS של Linux

מצב: מופסק

מאמר זה מופסק ואינו נתמך יותר.

סיבה

Homebrew מספקת כעת תמיכה ראשית עבור Linux.

ראה במקום זאת

מאמר זה עדיין עשוי להיות שימושי כמקור ייחודי, אך עשוי שלא לעבוד או לא לעקוב אחרי הפרקטיקות הטובות ביותר. אנו ממליצים מאוד על שימוש במאמר אחרון כתוב עבור מערכת ההפעלה שאתה משתמש בה.

מבוא


LinuxBrew הוא בקרנה של Linux של מנהל החבילות HomeBrew הפופולרי ב־Mac OS X.

LinuxBrew הוא תוכנת ניהול חבילות, שמאפשרת התקנת חבילות מהמקור, מעל מערכת הניהול המוגדרת כברירת מחדל של המערכת (לדוגמה, "apt/deb" ב-Debian/Ubuntu ו-"yum/rpm" ב-CentOS/RedHat).

למה להשתמש ב-LinuxBrew ?


  • HomeBrew פותחה מקורית עבור Mac OS X (שאין לו מערכת ניהול חבילות פתוחה מסוגננת). היא החליפה מערכות ניהול חבילות כגון MacPorts ו־Fink. LinuxBrew היא הצינור המבוסס על Homebrew ל-Linux.

  • רוב ההפצות של Linux מגיעות עם מערכת ניהול חבילות טובה (לדוגמה, "apt/deb" ב-Debian/Ubuntu ו-"yum/rpm" ב-CentOS/RedHat), אך

    • החבילות במאגרים התקניים נפוצות יותר מהגרסאות העדכניות ביותר, ו

    • רבות מהחבילות הפתוחות בקוד אינן זמינות במאגרים התקניים (לדוגמה, כלי ביואינפורמטיקה נפוצים).

  • LinuxBrew מספק מאגר של מתכונים להתקנת תוכנות (החבילות מתקנות מהמקור ומהודרות במכונה המקומית) כדי להשלים את החבילות ממאגר התקני של ההפצה.

  • LinuxBrew מספק שיטה קלה לבניית מאגרים משלך (כלומר, רשימת חבילות קוד פתוח המותאמות לצרכיך).

  • LinuxBrew מתקין תוכנה בספריית המשתמש המוגדרת על ידי המשתמש (ולא בכל המערכת), ואינו דורש גישה sudo.

  • LinuxBrew (וגם HomeBrew) משתלב באופן מצוין עם GitHub, מאפשר שיתוף של מתכונים להתקנה בקלות.

במיוחד עם DigitalOcean, שבה כתבתי זאת, אשר לא מספקת תמונות Droplet שניתן לשתף (עם תוכנה מותקנת בהתאמה אישית), מאגר של LinuxBrew יכול לספק אמצעי מהיר להתקנת חבילות וגרסאות ספציפיות על מכונת לינוקס סטנדרטית.

סכום של LinuxBrew


פשוט לומר, LinuxBrew טופלת את ההורדה של קובץ tar.gz והרצת ./configure && make && make install בשבילך (או כל פקודות אחרות שנדרשות להתקנת החבילה).

A LinuxBrew Formula is a Ruby script which defines where to find the tar.gz file, how to build the package, and how to install it.

A formula file can be as simple as hmmer.rb (a bioinformatics tool):

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 של המשתמש:

# עד ש-LinuxBrew ייתוקן, התקן הבא נחוץ.
# ראה: 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
## התקנת 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 – בדיקת ההתקנה


כדי לוודא שהשינויים אכן ייכנסו לתוקף, התנתק והתחבר מחדש. לאחר מכן, השל ישתמש בהגדרות החדשות.

כדי לבדוק את ההגדרות החדשות אלו, נסה:

$ 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 מילת-מפתח כדי לראות את כל החבילות (נקראות פורמולות בשפת המקור של HomeBrew) שמכילות את המילה המפתח. לדוגמה:

$ 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 חבילה.

לדוגמה, התקנת 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 Stable ו־Testing לא מכילות את חבילת jq בכלל. הגרסה של LinuxBrew היא העדכנית ביותר (1.3). בנוסף, LinuxBrew מתקין את התוכנה בנתיב שאינו פוגע במיקום ברירת המחדל של המערכת.

הוספת מאגרי מידע קיימים של HomeBrew


המאגרים של HomeBrew/LinuxBrew נקראים TAPS. אלה פשוט מאגרי GitHub המכילים סקריפטים ב־Ruby ('פורמולות'). למשתמש HomeBrew ב־GitHub יש מספר מאגרים רגילים.

דוגמה: הוספת מאגר ה־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

רשימת ה־taps הזמינים:

$ 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

עדכון של TAPs וחבילות


כדי להוריד עדכונים לפורמולות, הריץ:

$ brew update

כדי לשדרג חבילות (אם יש עדכונים זמינים), הריץ:

$ brew upgrade PACKAGE

יצירת TAPs (מאגרים) מותאמים/פרטיים


A HomeBrew TAP/Repository is simply a collection of Formulas – Ruby scripts stored in local files or in GitHub repositories.

פורמולות בקבצים מקומיים


כדי להתקין פורמולה מקובץ מקומי, הריץ:

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

זה שימושי כאשר יש צורך ביצירת (ובבדיקה) של פורמולה חדשה.

נוסחאות באחסוני GitHub


כדי ליצור אחסון TAP מותאם אישית ב-GitHub, צרו ריפוזיטורי חדש ב-GitHub (בחשבון ה-GitHub שלך) ותינו לו את השם homebrew-NAME. הוא חייב להתחיל ב-'homebrew-' כדי לפעול כאחסון HomeBrew/LinuxBrew. NAME יכול להיות כל שם שתרצו.

דוגמה:

למשתמש ב-GitHub בשם agordon יש ריפוזיטורי HomeBrew בשם gordon, ה-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') והפעיל את ה-URL של GitHub כדי לגשת אליו.

  2. נוסחאות בריפוזיטורי מותאמים אישית עשויים לפגוש בעיות עם נוסחאות בריפוזיטורי HomeBrew הרשמיים. זה לגמרי רגיל. ראו למטה כיצד להתקין חבילות כאלו.

כדי להתקין חבילות שאינן תואמות ממאגרי המידע המותקנים, הריץ:

$ brew install libjson

כדי להתקין חבילות מקפיצים ספציפיים, הריץ:

$ brew install agordon/gordon/coreutils

מידע נוסף


הערה: כאשר אתה קורא מידע הקשור ל-HomeBrew, שים לב ש-HomeBrew פותח עבור Mac OS X.

LinuxBrew (פורט לינוקס של HomeBrew) מכיל הרבה דברים משותפים עם HomeBrew, אך גם כמה הבדלים ספציפיים ללינוקס.

ויקי של HomeBrew

שאלות נפוצות על HomeBrew

ספר המתכונים של HomeBrew

פתרון בעיות ב-HomeBrew

אתר של LinuxBrew

בעיות ידועות ב-LinuxBrew

<div class=“author”>הוגש על ידי <a href=“https://github.com/agordon”>אסף גורדון</a></div>

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-linuxbrew-on-a-linux-vps