منبع اصلی نوشتار زیر در این لینک قرار دارد

ائی بیلد در Gentoo چیست

ائی بویلد یا ائی بیلد یا ebuild در Gentoo فایل هائی هستند که اطلاعات مربوط به بسته ها را در خود نگه داری می نمایند.

پرتیج portage باید به نحوی از بسته هائی که می تواند بروی سیستم شما نصب نماید، مطلع گردد و البته همانطور که می دانید هر بسته ها پیش نیازها و وابستگی هائی به بسته های دیگر دارد که حتما باید پیش از نصب بسته مهیا شوند.
به این ترتیب فایل های اطلاعاتی به نام ebuild ها وارد داستان می شوند که همه اطلاعات لازم برای نصب یک برنامه یا یک بسته در سیستم عامل جنتو هستند. مثلا اینکه این بسته (Package)به چه بسته های دیگری وابستگی دارد، در کجای یک مخزن می توان آنرا جستجو نمود و البته اطلاعاتی درباره مجوز یا License بسته ها ، پچ (Patch) هائی که برای باگ های احتمالی آن نوشته شده و  به شکل کلی هر آنچه برای نصب یک بسته لازم است توسط پرتیج دانسته شود را در خود نگهداری می نمایند.
تعداد و حجم این بسته ها کم نیستند و البته شما بخوبی می دانید که حجم این فایل ها چه مقدار می توانند باشند: در هنگام عملیات نصب دستور:


emerge –rsync


را بخاطر می آورید که شروع به دانلود چند ده مگابایت اطلاعات از اینترنت نمود؟ آنها همان فایل های ائی بیلد هستند و خبر بد اینکه شما باید هر از چندگاهی برای بروزرسانی سیستم خودتان این دستور را اجرا نمایید (و البته دستور بروزرسانی و از نو سازی بسته ها را که کاری ملالت آور به حساب می آید البته برای کامپیوتر!) اما بخاطر داشته باشید که برای اینکار مدودیتی به اندازه روزی یک بار دارید. متخلفین از این قانون امکان rsync نمودن سیستمشان را برای همیشه از دست خواهند داد. حتما می پرسید چرا؟

علت آن است که سرورهای جنتو محدودیت پهنای باند دارند و اگر همه کاربران بخواهند روزی دوبار این فایل ها را دریافت نمایند، این سرورها دچار کمبود پهنای باند خواهند شد. البته در نظر داشته باشید که این کاری که شما بخواهید زودتر از هر چندهفته یکبار انجام دهید هم نیست :)
اما ممکن است بعد از اینکار متوجه وجود یک پرتیج جدید یا بروزآوری های امنیتی جدیدی بشوید که اعمال آنها در سیستم تان مهم باشد. پس برنامه منظمی برای اجرای این دستور در هر دو یا سه یا … هفته برای دستگاهتان قرار دهید و البته حجم دانلود مناسبی را هم برای این کار کنار بگذارید.

به بحث اصلی برگردیم: آدرس قرار گیری ebuild ها در روی سیستم شما در:


/usr/portage


است که البته گستره بسیار زیادی شامل برنامه هائی که حتی اصلا به درد کار دستگاه شما هم نمی خورند، نیز می گردند. برای مثال در هنگام دریافت انها متوجه خواهید شد که مثلا شما بروی سیستمتان گنوم نصب نموده اید و در حال دریافت اطلاعاتی درباره بسته های خاص KDE هستید.

اگر می خواهید بدانید داخل یک فایل ebuild چه چیزی نوشته می شود، متن زیر نمونه کپی برداری شده ائی از داخل یکی از این فایل هاست:


# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-util/xqf/xqf-1.0.5.ebuild,v 1.11 2012/05/03 03:41:15 jdhore Exp $
 
EAPI=2
inherit base eutils
 
DESCRIPTION="A server browser for many FPS games (frontend for qstat)"
HOMEPAGE="http://www.linuxgames.com/xqf/"
SRC_URI="mirror://sourceforge/xqf/${P}.tar.gz"
 
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 hppa ppc x86"
IUSE="bzip2 geoip nls"
 
RDEPEND="x11-libs/gtk+:2
    >=games-util/qstat-2.11
    nls? ( virtual/libintl )
    geoip? ( dev-libs/geoip )
    bzip2? ( app-arch/bzip2 )"
DEPEND="${RDEPEND}
    virtual/pkgconfig
    nls? ( sys-devel/gettext )"
 
# bug #288853
PATCHES=( "${FILESDIR}"/${P}-cpu-overrun.patch
    "${FILESDIR}"/${P}-underlink.patch
    "${FILESDIR}"/${P}-zlib-1.2.5.1-compile-fix.patch )
 
src_configure() {
    econf \\
        $(use_enable nls) \\
        $(use_enable geoip) \\
        $(use_enable bzip2) \\
        --enable-gtk2
}
 
src_install() {
    emake DESTDIR="${D}" install || die "emake install failed"
    dodoc AUTHORS BUGS ChangeLog NEWS README TODO
}


و البته دوستانی که با برنامه نویسی مقداری آشنائی دارند می توانند متوجه شوند که از برنامه نویسی بش (Bash) در آن استفاده شده اما برای اینکه متوجه شوید در حال صحبت درباره چه چیزهائی است نیاز به تخصص برنامه نویسی ندارید. مطالب آشکاری در آن ذکر شده.

با هر بار اجرای دستور:


emerge –rsync


شما فایل های بروز شده این ائی بویلد ها را از سرورهای جنتو دریافت داشته و جایگزین فایل های قبلی می نمایید. اکنون اگر بخواهید با استفاده از دستور emerge در پرتیج یک برنامه را جستجو نمایید و وابستگی های آنرا کشف نموده و شروع به نصب آن نمایید، پرتیج نیاز به کنکاش مستقیم برنامه ها در سرورها را ندارد بلکه با جستجو میان این فایل ها می تواند دریابد که به چه چیزهائی نیاز است و آنها را در کجا می توان یافت و به چه ترتیب می توان آنها را برای یک نصب موفق بروی سیستم شما کامپایل نمود.



به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد