اطلاعیه

بستن
No announcement yet.

کامپایل و نصب نرم افزار از سورس در گنو/لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    کامپایل و نصب نرم افزار از سورس در گنو/لینوکس

    شما یک بسته نرم افزاری با پسوند ‎.tar. gz یا ‎.tar. bz2 دریافت کرده اید و نمی دانید که باید با آن چه کار کنید . و یا شاید می دانید که این بسته سورس کد نرم افزار است و شما باید کامپایلش کنید ، ولی نمی دانید چطور . نگران نباشید ، کامپایل کردن نرم افزار در گنو / لینوکس به سختی چیزی که به نظر می رسد نیست !

    روند انجام کار :
    روند نصب نرم افزار هایی که در بسته های ‎.tar. gz و ‎.tar. bz2 می آیند ، همیشه یک شکل نیست ، ولی معمولا به صورت زیر است :

    کد PHP:
    tar xvzf packagetargz (or tar xvjf packagetarbz2)
    cd package
    . /configure
    make
    make install 
    اگر خوش شانس باشید ، با اجرای این دستورات ساده شما عملیات بازکردن ، پیکربندی، کامپایل و نصب بسته نرم افزاری را انجام داده اید و حتی نیاز ندارید که بدانید چه کار می کنید. به هر حال بهتر است که یک نگاه نزدیک تر به این مراحل بیاندازیم و ببینیم معنایشان چیست .

    مرحله اول. بازگشایی :
    شاید شما متوجه این نکته شده اید که بستهٔ شامل سورس کدِ نرم افزارتان با پسوندی مانند ‎.tar. gz یا tar. bz2‎. همراه است . و معنایش این است که این بسته یک بسته tar فشرده شده است ، که با اسم tarball هم شناخته می شود . در هنگام ساختن بسته ، سورس کد و تمام فایل های مورد نیاز در یک فایل آرشیو tar در کنار هم جمع می شوند که این یک پسوند tar را برایشان به همراه می آورد . بعد از انباشتنشان در کنار هم در یک فایل آرشیو tar ، آرشیو با gzip فشرده می شود که پسوند gz را برایش به ارمغان می آورد .
    بعضی دوست دارند که آرشیو tar را با استفاده از bzip2 به جای gzip فشرده کنند . در اینصورت بسته پسوند tar. bz2‎. به خود می گیرد . شما این بسته ها را دقیقا به همان صورت بسته های tar. gz‎. نصب می کنید ، اما با دستور متفاوتی ( کمی متفاوت ) از آن بازگشاییشان می کنید .
    این مهم نیست که tarball های دانلود شده از اینترنت را کجا ذخیره می کنید ، اما من پیشنهاد می کنم یک یک دایرکتوری مخصوص برای این منظور ایجاد کنید . در این آموزش من فرض بر این می گیرم که شما tarball ها را در پوشه ای به اسم dls که در شاخهٔ خانگیتان قرار دارد ذخیره می کنید . همچنین در این آموزش فرض می کنیم که نام کاربریتان me است و شما بسته ای به اسم pkg. tar. gz در دایرکتوری خانگیتان دانلود کرده اید (/home/me/dls).

    خوب ، سرانجام به مرحله بازگشایی tarball رسیدیم . پس از دانلود بسته ، با دستور زیر آن را از حالت فشرده خارج می کنید :

    کد PHP:
    me@puter: ~/dlstar xvzf pkgtargz 
    همانطور که می بینید دستور tar با گزینه ها (options) ی xvzf برای بازگشایی tarball همراه است . اگر شما بسته ای با پسوند tar. bz2 دارید ، باید به دستور tar بفهمانید که این بسته gzip شده نیست . پس این کار را با استفاده از گزینهٔ j به جای استفاده از z انجام می دهید ، به صورت زیر :

    کد PHP:
    me@puter: ~/dlstar xvjf pkgtarbz2 
    چیزی که بعد از بازگشایی رخ می دهد ، به بسته ربط دارد . اما در بیشتر مواقع شاخه ای با اسم بسته ساخته می شود . شاخهٔ تازه ساخته شده در همان شاخه ای ایجاد می شود که الان در آن قرار دارید ، برای اطمینان می توانید از دستور ls استفاده کنید :

    کد PHP:
    me@puter: ~/dlsls
    pkg pkg
    targz
    me
    @puter: ~/dls
    در مثال ما بازگشایی بسته pkg. tar. gz همان چیزی را که انتظارش می رفت را انجام داد و شاخه ای با اسم بسته ایجاد کرد ، حالا باید به شاخهٔ جدید وارد شوید :

    کد PHP:
    me@puter: ~/dlscd pkg
    me
    @puter: ~/dls/pkg
    هر سندی که در این شاخه یافتید ، نظیر README یا INSTALL را مطالعه کنید . در اغلب مواقع نکات بسیار مهمی در این اسناد ذکر شده است . از جملهٔ این نکات می توان به وابستگی های نرم افزار ( نرم افزار های دیگری که برای کامپایل درست نرم افزار حاضر باید روی سیستمتان نصب باشد ) و دستورات خاصی که برای کامپایل نرم افزار به آن ها نیاز دارید اشاره کرد . پس لازم است قبل از ادامهٔ این مراحل یک نگاهی به این نکات بیاندازید.

    مرحله دوم. پیکربندی :
    حالا پس از نقل مکان به شاخهٔ بستهٔ نرم افزاری ، نوبت به پیکربندی بسته می رسد . معمولا ، و نه همیشه ( این همان دلیلی است که مجبورتان می کند که فایل های README و INSTALL را بخوانید ) این عمل با اجرای اسکریپت configure انجام می گیرد.

    این اسکریپت را با دستور زیر اجرا می کنید :

    کد PHP:
    me@puter: ~/dls/pkg$ ./configure 
    پس از اجرای اسکریپت پیکربندی ، شما هنوز هیچ چیزی را کامپایل نکرده اید . Configure فقط سیستم را چک کرده و مقادیر را به متغیر های وابستگی سیستم اختصاص می دهد . این مقادیر برای تولید Makefile استفاده می شود . Makefile نیز به نوبه خود binary اصلی را تولید می کند .
    وقتی شما اسکریپت پیکربندی را اجرا می کنید ، شاهد گروهی از پیغام های عجیب و غریب خواهید بود که روی صفحهٔ نمایشات بالا می روند . این طبیعی است و نباید نگرانش باشید . اگر configure اخطاری پیدا کند ، در موردش توضیح داده و خارج می شود . به هر حال اگر همه چیز آن طور که باید انجام شد configure از چیزی شکایتی نمی کند و خارج می شود .
    اگر configure بدون اخطار خارج شد ، نوبت آن رسیده که به مرحله بعد برویم .

    مرحله سوم . ساختن :
    سرانجام نوبت به ساختن فایل باینری (binary) رسیده است ، برنامه ای که قابلیت اجرا داشته باشد و با استفاده از کد منبع تولید می شود . این کار با استفاده از فرمان make صورت می گیرد :

    کد PHP:
    me@puter: ~/dls/pkgmake 
    توجه داشته باشید که فرمان make به فایل Makefile برای ساختن برنامه نیازمند است . در غیر این صورت نمی داند که چه کار باید بکند . این همان دلیل مهمی است که باید به خاطرش فرمان اسکریپت configure به درستی تا پایان تمام شود ، و یا فایل Makefile به روش دیگری تولید شود .
    وقتی که شما make را اجرا می کنید ، دوباره با مقداری از پیغام های نا آشنا بر روی صفحهٔ نمایشتان روبرو می شوید . این کاملا طبیعی است و چیزی برای نگران شدن وجود ندارد . این مرحله ممکن است مقداری طول بکشد ، که به اندازهٔ برنامه و سرعت کامپیو تر شما بستگی دارد . اگر این کار را دارید با یک کامپیو تر قدیمی انجام می دهید ، آن هم با یک پردازنده ضعیف ، بروید و یک فنجان قهوه برای خود آماده کنید . در این زمان من معمولا صبرم را کاملا از دست می دهم .
    اگر همه چیز همانطور که باید پیش برود ، فایل اجراییتان آمادهٔ اجرا و انجام کارش است . حالا نوبت به قدم آخر یعنی نصب نرم افزار می رسد .

    مرحلهٔ چهارم . نصب :
    سرانجام به مرحلهٔ آخر رسیدیم . وقتی که می خواهید این کار را انجام دهید ، باید مجوز ریشه داشته باشید . اگر کار ها را با کاربر عادی انجام داده اید ، می توانید با فرمان su تبدیل به کاربر ریشه شوید . این فرمان از شما پسوورد ریشه را خواهد پرسید و سپس شما برای مرحلهٔ آخر آماده اید !

    کد PHP:
    me@puter: ~/dls/pkgsu
    password
    :
    root@puter: /home/me/dls/pkg# make install 
    دوباره پیغام های عجیب و غریبی را می بینید که بر روی صفحه نمایشتان بالا می روند . بعد از پایانش ، تبریک می گویم : شما نرم افزار را نصب کرده و آماده اید تا اجرایش کنید !
    به این دلیل که در این مرحله ما تغییری در اسکریپت configure اجرا نکردیم ، برنامه در محل عادی سیستم نصب شد . در بسیاری از موارد این محل ‎/usr/local/bin می باشد ( یا هر جای دیگری که برنامه هایتان در آنجا نصب شده ) و طبیعتا در PATH سیستمتان قرار دارد . شما می توانید این برنامه را با تایپ اسمش اجرا کنید .

    و یک نکتهٔ دیگر :
    اگر با su وارد کاربر ریشه شده اید ، بهتر است که دوباره به کاربر عادی برگردید ، که این کار را می توانید با استفاده از کلید های ترکیبی CTRL+D و یا تایپ فرمان exit انجام دهید .

    کد PHP:
    root@puter: /home/me/dls/pkg# exit
    exit
    me@puter: ~/dls/pkg
    تمیز کاری :
    حدس می زنم که به فضای خالی دیسکتان نیازمندید . اگر موردتان این است ، می توانید بی خیال تعدادی از فایل ها که نیازی بهشان ندارید بشوید . وقتی که فرمان make را اجرا می کنید ، مقدار زیادی از فایل ها که برای تولید فایل باینری نیازمندشان هستیم تولید می شوند ، ولی بعد از نصب دیگر بی استفاده می شوند و فقط فضای دیسکتان را اشغال می کنند . این همان دلیلی است که باید سیستمتان را تمیز کنید :

    کد PHP:
     me@puter: ~/dls/pkgmake clean 
    به هر حال ، مطمئن شوید که فایل Makefileتان را نگه می دارید . این فایل بعد ها که می خواهید برنامه را از سیستمتان پاک کنید مورد نیازتان می شود !

    پاک کردن :
    خوب ، فکر می کنید که بعد از گذشتن از همهٔ این مراحل دیگر به این نرم افزار نیازی ندارید ؟ پاک کردن نرم افزار هایی که کامپایل کرده اید به آسانی پاک کردن نرم افزار های نصب شده توسط مدیر بسته هایتان نیست .
    اگر تصمیم دارید که نرم افزاری را که خودتان کامپایل کرده اید را پاک کنید ، بدیهی است که باید مثل گذشته یک کاری انجام دهید . خواندن اسنادی که همراه با بستهٔ نرم افزار دانلود کرده اید و ببینید که چیزی در مورد پاک کردن نرم افزار می گوید یا خیر . اگر نه ، می توانید شروع به کشیدن مو هایتان کنید !

    اگر فایل Makefileتان را پاک نکرده اید ، ممکن است که بتوانید برنامه را با اجرای دستور uninstall پاک کنید :

    کد PHP:
    root@puter: /home/me/dls/pkg# make uninstall 
    اگر می بینید که متن های عجیب و غریب روی صفحه تان بالا و پایین می رود ( اما دیگر این جا احتمالا منظور این نوشته ها را باید فهمیده باشید ) نشانهٔ خوبی است . اگر شروع به شکایت کرد ، نشانهٔ بدی است . پس شما باید فایل ها را به صورت دستی پاک کنید .
    اگر می دانید که برنامه کجا نصب شده ، شما خواهید توانست که فایل ها را به صورت دستی پاک کنید و یا کلا شاخهٔ نصب نرم افزار را از بین ببرید . اگر هیچ نظری ندارید که تمام فایل ها کجا قرار دارند ، باید فایل Makefile را مطالعه کنید و بفهمید که تمام فایل ها در کجا نصب شده اند ، و سپس آن ها را پاک کنید .
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 12:36 AM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X