الحالة: مهجور
تم تجاهل هذه المقالة ولا تصلح للصيانة بعد الآن.
السبب
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)، ولكن
-
الحزم في المستودعات القياسية غالباً ما تكون أقدم من الإصدارات الأحدث المتوفرة، و
-
العديد من الحزم مفتوحة المصدر غير متوفرة في المستودعات القياسية (مثل الأدوات الحيوية الشائعة).
-
-
لينكس برو يوفر مستودعًا لوصفات تثبيت البرامج (يتم تثبيت الحزم من المصدر وتجميعها على الجهاز المحلي) لتكملة الحزم من مستودع النظام القياسي.
-
لينكس برو يوفر طريقة سهلة لبناء مستودعات خاصة بك (أي قائمة من الحزم مفتوحة المصدر مصممة وفقًا لاحتياجاتك).
-
لينكس برو يقوم بتثبيت البرامج في الدليل المحدد من قبل المستخدم (ليس على مستوى النظام)، ولا يتطلب وصول
sudo
. -
LinuxBrew (و HomeBrew) يدمجان بشكل جيد جدًا مع GitHub، مما يمكّن من مشاركة وصفات التثبيت بسهولة.
خاصة مع DigitalOcean، التي (في وقت كتابة هذا) لا توفر صورًا قابلة للمشاركة لـ Droplet (مع برمجيات مثبتة مُعدلة حسب الطلب)، يمكن أن يوفر مستودع LinuxBrew طريقة سريعة لتثبيت الحزم والإصدارات المحددة على جهاز Linux قياسي.
جوهر 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 WORD
لرؤية جميع الحزم (التي يُطلق عليها صيغ في لغة HomeBrew) التي تحتوي على 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: بينما تحتوي أوبونتو على 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
قائمة المستودعات المتاحة:
$ 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 tap. يمكن أن يكون NAME
أي اسم تريده.
مثال:
المستخدم في GitHub agordon لديه مستودع HomeBrew يُسمى gordon، الرابط الكامل هو: https://github.com/agordon/homebrew-gordon.
لاستخدام هذا المستودع (“تثبيته كـ TAP”):
$ 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
ملاحظات
-
brew tap
استخدم اسم المستخدمagordon
ولاحقة المستودعgordon
(لاحقة “homebrew-gordon”) واستنتج عنوان URL للوصول إلى GitHub. -
الصُيَغ في المستودعات المخصصة قد تتعارض مع الصُيَغ في مستودعات HomeBrew الرسمية. هذا أمر طبيعي تمامًا. انظر أدناه لمعرفة كيفية تثبيت مثل هذه الحزم.
لتثبيت الحزم بدون تعارض من مستودعات مخصصة، قم بتشغيل:
$ brew install libjson
لتثبيت الحزم من حنفيات محددة، قم بتشغيل:
$ brew install agordon/gordon/coreutils
مزيد من المعلومات
ملاحظة: عند قراءة المعلومات المتعلقة بـ HomeBrew، خذ في الاعتبار أن HomeBrew تم تطويره لنظام التشغيل Mac OS X.
LinuxBrew (الإصدار المخصص لنظام التشغيل لينكس من HomeBrew) يشترك في العديد من الأمور مع HomeBrew، ولكنه يختلف أيضًا في بعض النقاط الخاصة بنظام التشغيل لينكس.
<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