شما یک بسته نرم افزاری با پسوند .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 را مطالعه کنید و بفهمید که تمام فایل ها در کجا نصب شده اند، و سپس آن ها را پاک کنید.
کامنت