شما یک بسته نرم افزاری با پسوند .tar. gz یا .tar. bz2 دریافت کرده اید و نمی دانید که باید با آن چه کار کنید . و یا شاید می دانید که این بسته سورس کد نرم افزار است و شما باید کامپایلش کنید ، ولی نمی دانید چطور . نگران نباشید ، کامپایل کردن نرم افزار در گنو / لینوکس به سختی چیزی که به نظر می رسد نیست !
روند انجام کار :
روند نصب نرم افزار هایی که در بسته های .tar. gz و .tar. bz2 می آیند ، همیشه یک شکل نیست ، ولی معمولا به صورت زیر است :
اگر خوش شانس باشید ، با اجرای این دستورات ساده شما عملیات بازکردن ، پیکربندی، کامپایل و نصب بسته نرم افزاری را انجام داده اید و حتی نیاز ندارید که بدانید چه کار می کنید. به هر حال بهتر است که یک نگاه نزدیک تر به این مراحل بیاندازیم و ببینیم معنایشان چیست .
مرحله اول. بازگشایی :
شاید شما متوجه این نکته شده اید که بستهٔ شامل سورس کدِ نرم افزارتان با پسوندی مانند .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 رسیدیم . پس از دانلود بسته ، با دستور زیر آن را از حالت فشرده خارج می کنید :
همانطور که می بینید دستور tar با گزینه ها (options) ی xvzf برای بازگشایی tarball همراه است . اگر شما بسته ای با پسوند tar. bz2 دارید ، باید به دستور tar بفهمانید که این بسته gzip شده نیست . پس این کار را با استفاده از گزینهٔ j به جای استفاده از z انجام می دهید ، به صورت زیر :
چیزی که بعد از بازگشایی رخ می دهد ، به بسته ربط دارد . اما در بیشتر مواقع شاخه ای با اسم بسته ساخته می شود . شاخهٔ تازه ساخته شده در همان شاخه ای ایجاد می شود که الان در آن قرار دارید ، برای اطمینان می توانید از دستور ls استفاده کنید :
در مثال ما بازگشایی بسته pkg. tar. gz همان چیزی را که انتظارش می رفت را انجام داد و شاخه ای با اسم بسته ایجاد کرد ، حالا باید به شاخهٔ جدید وارد شوید :
هر سندی که در این شاخه یافتید ، نظیر README یا INSTALL را مطالعه کنید . در اغلب مواقع نکات بسیار مهمی در این اسناد ذکر شده است . از جملهٔ این نکات می توان به وابستگی های نرم افزار ( نرم افزار های دیگری که برای کامپایل درست نرم افزار حاضر باید روی سیستمتان نصب باشد ) و دستورات خاصی که برای کامپایل نرم افزار به آن ها نیاز دارید اشاره کرد . پس لازم است قبل از ادامهٔ این مراحل یک نگاهی به این نکات بیاندازید.
مرحله دوم. پیکربندی :
حالا پس از نقل مکان به شاخهٔ بستهٔ نرم افزاری ، نوبت به پیکربندی بسته می رسد . معمولا ، و نه همیشه ( این همان دلیلی است که مجبورتان می کند که فایل های README و INSTALL را بخوانید ) این عمل با اجرای اسکریپت configure انجام می گیرد.
این اسکریپت را با دستور زیر اجرا می کنید :
پس از اجرای اسکریپت پیکربندی ، شما هنوز هیچ چیزی را کامپایل نکرده اید . Configure فقط سیستم را چک کرده و مقادیر را به متغیر های وابستگی سیستم اختصاص می دهد . این مقادیر برای تولید Makefile استفاده می شود . Makefile نیز به نوبه خود binary اصلی را تولید می کند .
وقتی شما اسکریپت پیکربندی را اجرا می کنید ، شاهد گروهی از پیغام های عجیب و غریب خواهید بود که روی صفحهٔ نمایشات بالا می روند . این طبیعی است و نباید نگرانش باشید . اگر configure اخطاری پیدا کند ، در موردش توضیح داده و خارج می شود . به هر حال اگر همه چیز آن طور که باید انجام شد configure از چیزی شکایتی نمی کند و خارج می شود .
اگر configure بدون اخطار خارج شد ، نوبت آن رسیده که به مرحله بعد برویم .
مرحله سوم . ساختن :
سرانجام نوبت به ساختن فایل باینری (binary) رسیده است ، برنامه ای که قابلیت اجرا داشته باشد و با استفاده از کد منبع تولید می شود . این کار با استفاده از فرمان make صورت می گیرد :
توجه داشته باشید که فرمان make به فایل Makefile برای ساختن برنامه نیازمند است . در غیر این صورت نمی داند که چه کار باید بکند . این همان دلیل مهمی است که باید به خاطرش فرمان اسکریپت configure به درستی تا پایان تمام شود ، و یا فایل Makefile به روش دیگری تولید شود .
وقتی که شما make را اجرا می کنید ، دوباره با مقداری از پیغام های نا آشنا بر روی صفحهٔ نمایشتان روبرو می شوید . این کاملا طبیعی است و چیزی برای نگران شدن وجود ندارد . این مرحله ممکن است مقداری طول بکشد ، که به اندازهٔ برنامه و سرعت کامپیو تر شما بستگی دارد . اگر این کار را دارید با یک کامپیو تر قدیمی انجام می دهید ، آن هم با یک پردازنده ضعیف ، بروید و یک فنجان قهوه برای خود آماده کنید . در این زمان من معمولا صبرم را کاملا از دست می دهم .
اگر همه چیز همانطور که باید پیش برود ، فایل اجراییتان آمادهٔ اجرا و انجام کارش است . حالا نوبت به قدم آخر یعنی نصب نرم افزار می رسد .
مرحلهٔ چهارم . نصب :
سرانجام به مرحلهٔ آخر رسیدیم . وقتی که می خواهید این کار را انجام دهید ، باید مجوز ریشه داشته باشید . اگر کار ها را با کاربر عادی انجام داده اید ، می توانید با فرمان su تبدیل به کاربر ریشه شوید . این فرمان از شما پسوورد ریشه را خواهد پرسید و سپس شما برای مرحلهٔ آخر آماده اید !
دوباره پیغام های عجیب و غریبی را می بینید که بر روی صفحه نمایشتان بالا می روند . بعد از پایانش ، تبریک می گویم : شما نرم افزار را نصب کرده و آماده اید تا اجرایش کنید !
به این دلیل که در این مرحله ما تغییری در اسکریپت configure اجرا نکردیم ، برنامه در محل عادی سیستم نصب شد . در بسیاری از موارد این محل /usr/local/bin می باشد ( یا هر جای دیگری که برنامه هایتان در آنجا نصب شده ) و طبیعتا در PATH سیستمتان قرار دارد . شما می توانید این برنامه را با تایپ اسمش اجرا کنید .
و یک نکتهٔ دیگر :
اگر با su وارد کاربر ریشه شده اید ، بهتر است که دوباره به کاربر عادی برگردید ، که این کار را می توانید با استفاده از کلید های ترکیبی CTRL+D و یا تایپ فرمان exit انجام دهید .
تمیز کاری :
حدس می زنم که به فضای خالی دیسکتان نیازمندید . اگر موردتان این است ، می توانید بی خیال تعدادی از فایل ها که نیازی بهشان ندارید بشوید . وقتی که فرمان make را اجرا می کنید ، مقدار زیادی از فایل ها که برای تولید فایل باینری نیازمندشان هستیم تولید می شوند ، ولی بعد از نصب دیگر بی استفاده می شوند و فقط فضای دیسکتان را اشغال می کنند . این همان دلیلی است که باید سیستمتان را تمیز کنید :
به هر حال ، مطمئن شوید که فایل Makefileتان را نگه می دارید . این فایل بعد ها که می خواهید برنامه را از سیستمتان پاک کنید مورد نیازتان می شود !
پاک کردن :
خوب ، فکر می کنید که بعد از گذشتن از همهٔ این مراحل دیگر به این نرم افزار نیازی ندارید ؟ پاک کردن نرم افزار هایی که کامپایل کرده اید به آسانی پاک کردن نرم افزار های نصب شده توسط مدیر بسته هایتان نیست .
اگر تصمیم دارید که نرم افزاری را که خودتان کامپایل کرده اید را پاک کنید ، بدیهی است که باید مثل گذشته یک کاری انجام دهید . خواندن اسنادی که همراه با بستهٔ نرم افزار دانلود کرده اید و ببینید که چیزی در مورد پاک کردن نرم افزار می گوید یا خیر . اگر نه ، می توانید شروع به کشیدن مو هایتان کنید !
اگر فایل Makefileتان را پاک نکرده اید ، ممکن است که بتوانید برنامه را با اجرای دستور uninstall پاک کنید :
اگر می بینید که متن های عجیب و غریب روی صفحه تان بالا و پایین می رود ( اما دیگر این جا احتمالا منظور این نوشته ها را باید فهمیده باشید ) نشانهٔ خوبی است . اگر شروع به شکایت کرد ، نشانهٔ بدی است . پس شما باید فایل ها را به صورت دستی پاک کنید .
اگر می دانید که برنامه کجا نصب شده ، شما خواهید توانست که فایل ها را به صورت دستی پاک کنید و یا کلا شاخهٔ نصب نرم افزار را از بین ببرید . اگر هیچ نظری ندارید که تمام فایل ها کجا قرار دارند ، باید فایل Makefile را مطالعه کنید و بفهمید که تمام فایل ها در کجا نصب شده اند ، و سپس آن ها را پاک کنید .
روند انجام کار :
روند نصب نرم افزار هایی که در بسته های .tar. gz و .tar. bz2 می آیند ، همیشه یک شکل نیست ، ولی معمولا به صورت زیر است :
کد PHP:
tar xvzf package. tar. gz (or tar xvjf package. tar. bz2)
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: ~/dls$ tar xvzf pkg. tar. gz
کد PHP:
me@puter: ~/dls$ tar xvjf pkg. tar. bz2
کد PHP:
me@puter: ~/dls$ ls
pkg pkg. tar. gz
me@puter: ~/dls$
کد PHP:
me@puter: ~/dls$ cd pkg
me@puter: ~/dls/pkg$
مرحله دوم. پیکربندی :
حالا پس از نقل مکان به شاخهٔ بستهٔ نرم افزاری ، نوبت به پیکربندی بسته می رسد . معمولا ، و نه همیشه ( این همان دلیلی است که مجبورتان می کند که فایل های README و INSTALL را بخوانید ) این عمل با اجرای اسکریپت configure انجام می گیرد.
این اسکریپت را با دستور زیر اجرا می کنید :
کد PHP:
me@puter: ~/dls/pkg$ ./configure
وقتی شما اسکریپت پیکربندی را اجرا می کنید ، شاهد گروهی از پیغام های عجیب و غریب خواهید بود که روی صفحهٔ نمایشات بالا می روند . این طبیعی است و نباید نگرانش باشید . اگر configure اخطاری پیدا کند ، در موردش توضیح داده و خارج می شود . به هر حال اگر همه چیز آن طور که باید انجام شد configure از چیزی شکایتی نمی کند و خارج می شود .
اگر configure بدون اخطار خارج شد ، نوبت آن رسیده که به مرحله بعد برویم .
مرحله سوم . ساختن :
سرانجام نوبت به ساختن فایل باینری (binary) رسیده است ، برنامه ای که قابلیت اجرا داشته باشد و با استفاده از کد منبع تولید می شود . این کار با استفاده از فرمان make صورت می گیرد :
کد PHP:
me@puter: ~/dls/pkg$ make
وقتی که شما make را اجرا می کنید ، دوباره با مقداری از پیغام های نا آشنا بر روی صفحهٔ نمایشتان روبرو می شوید . این کاملا طبیعی است و چیزی برای نگران شدن وجود ندارد . این مرحله ممکن است مقداری طول بکشد ، که به اندازهٔ برنامه و سرعت کامپیو تر شما بستگی دارد . اگر این کار را دارید با یک کامپیو تر قدیمی انجام می دهید ، آن هم با یک پردازنده ضعیف ، بروید و یک فنجان قهوه برای خود آماده کنید . در این زمان من معمولا صبرم را کاملا از دست می دهم .
اگر همه چیز همانطور که باید پیش برود ، فایل اجراییتان آمادهٔ اجرا و انجام کارش است . حالا نوبت به قدم آخر یعنی نصب نرم افزار می رسد .
مرحلهٔ چهارم . نصب :
سرانجام به مرحلهٔ آخر رسیدیم . وقتی که می خواهید این کار را انجام دهید ، باید مجوز ریشه داشته باشید . اگر کار ها را با کاربر عادی انجام داده اید ، می توانید با فرمان su تبدیل به کاربر ریشه شوید . این فرمان از شما پسوورد ریشه را خواهد پرسید و سپس شما برای مرحلهٔ آخر آماده اید !
کد PHP:
me@puter: ~/dls/pkg$ su
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/pkg$ make clean
پاک کردن :
خوب ، فکر می کنید که بعد از گذشتن از همهٔ این مراحل دیگر به این نرم افزار نیازی ندارید ؟ پاک کردن نرم افزار هایی که کامپایل کرده اید به آسانی پاک کردن نرم افزار های نصب شده توسط مدیر بسته هایتان نیست .
اگر تصمیم دارید که نرم افزاری را که خودتان کامپایل کرده اید را پاک کنید ، بدیهی است که باید مثل گذشته یک کاری انجام دهید . خواندن اسنادی که همراه با بستهٔ نرم افزار دانلود کرده اید و ببینید که چیزی در مورد پاک کردن نرم افزار می گوید یا خیر . اگر نه ، می توانید شروع به کشیدن مو هایتان کنید !
اگر فایل Makefileتان را پاک نکرده اید ، ممکن است که بتوانید برنامه را با اجرای دستور uninstall پاک کنید :
کد PHP:
root@puter: /home/me/dls/pkg# make uninstall
اگر می دانید که برنامه کجا نصب شده ، شما خواهید توانست که فایل ها را به صورت دستی پاک کنید و یا کلا شاخهٔ نصب نرم افزار را از بین ببرید . اگر هیچ نظری ندارید که تمام فایل ها کجا قرار دارند ، باید فایل Makefile را مطالعه کنید و بفهمید که تمام فایل ها در کجا نصب شده اند ، و سپس آن ها را پاک کنید .