آموزش کامپایل و نصب برنامه ها در Ubuntu
#1
Note 
همانطور که می دانید ٬ گاها در لینوکس ٬ ما به برنامه هایی بر می خوریم که فایل مخصوص نصبی آن در توزیع مورد نظرمان موجود نیست . فرض کنید برنامه ای را برای نصب در اوبونتو یافته اید که فایل DEB آن موجود نیست و تنها سورس کد آن به صورت یک فایل زیپ شده و غالبا در فرمت tar.gz موجود است و یا حتی شاید برنامه ی مورد نظر شما با فرمت DEB ورژن پایینی دارد و ورژن بالاتر آن به صورت سورس کد عرضه شده است . بنابراین ٬ شما نیاز خواهید داشت تا کامپایل کردن و نصب برنامه از طریق سورس کدشان را بیاموزید .

سورس چیست ؟

برای اینکه با مفهموم سورس آشنا شویم ٬  لازم است بدانیم که چگونه یک برنامه ٬ از کامپیوتر برنامه نویس آن به کامپیوتر ما وارد می شود و ما می توانیم از آن استفاده کنیم .

ابتدا برنامه نویسان برنامه ای را با زبان های مختلف برنامه نویسی همانند C ٬ Basic ٬ Perl و ... می نویسند . چیزی که برنامه نویس در زبان های برنامه نویسی تهیه می کند ٬ مجموعه ای از دستور عمل هاست که ما به آنها سورس کد یا سورس میگوییم . کامپیوتر شما هیچیک از این سورس کد ها را نمی فهمد .برای مثال فرض کنید شما به زبان پارسی صحبت می کنید و کسی برای شما فرانسوی صحبت کند . مسلما شما چیزی از کلمات او نخواهید فهمید . بنابراین کامپیوتر شما به یک مترجم برای فهم سورس کد نیاز دارد .

به زبان های مختلفی که برنامه نویسان برای نوشتن یک برنامه از آنها استفاده می کنند High Level Languages و به زبان هایی که کامپیوتر شما قادر به فهم آنها می باشد Low Level Language می گوییم .

بنابراین ما به واسطه ای نیاز داریم تا High Level Languages ها را به Low Level Languages تبدیل کند . این مترجم یا واسطه ها اغلب به اسکریپت ( Script ) معروفند .

مشکل اسکریپت ها این است که برای ترجمه و اجرای یک برنامه از قالب سورس آن در کامپیوتر شما ٬ به زمان زیادی نیاز دارند .
زیرا آنها باید عمل پردازش ترجمه ی سورس ٬ تبدیل سورس به زبانی که قابل فهم برای کامپیوتر شماست و در آخر اجرای نهایی آن برنامه را همزمان برای شما انجام دهند . این دقیقا مثل این است که شما یک کتاب فرانسوی را به کمک لغت نامه به پارسی ترجمه کرده و از آن سر در بیاورید ! 

بنابراین اکثر برنامه ها از یک کامپایلر به جای اسکریپت ها استفاده می کنند . کامپایلر قبل از اجرای یک برنامه ی سورس ٬ به طور کامل ٬  High Level Languages ها را به Low Level Languages تبدیل می کنند .

بنابراین هیچ پردازشی به صورت همزمان ( مانند اسکریپت ها ) اتفاق نمی افتد . این دقیقا مثل آن است که شما یک کتاب فرانسوی را که به طور کامل به پارسی ترجمه شده ٬ بخوانید .

به همین دلیل ما برای ترجمه ی سورس یک برنامه و اجرای آن از کامپایلر ها استفاده می کنیم .

Tarball ها و محتویات یک سورس کد :


tarball به فایل هایی می گوییم که به کمک دستور tar در لینوکس ساخته شده اند و دارای فایل هایی در داخل خود می باشند ( همانند فایل zip در ویندوز یا sit در MAC )

تقریبا تمامی سورس کد ها به صورت tarball هستند زیرا استفاده از tarball ها می تواند حجم سورس را کمپرس کرده و تمامی فایل های لازم یک سورس را در د اخل یک فایل برای ما فراهم آورد .

برای کامپایل کردن یک سورس کد ابتدا ما باید فایل tar آنرا Extract کرده و فایل های داخل آنرا بیرون بیاوریم . در میحط گرافیکی لینوکس این کار براحتی و با کلیک راست کردن بر روی فایل tar و زدن گزینه ی Extract امکان پذیر هست . چنانچه به میحط گرافیکی دسترسی نداشتیم و یا مایل به استفاده از ترمینال برای Extract کردن سورس بودیم از دستورات زیر ٬ بسته به فرمت فایل سورس مان استفاده می کنیم :
کد:
tar zxvf packagename.tgz -C ~/source
tar zxvf packagename.tar.gz -C ~/source
tar jxvf packagename.bz -C ~/source
tar jxvf packagename.tar.bz2 -C ~/source
( packagename نام پکیج سورس مان می باشد . در مثال های بالا برای اینکه فایل های Extract شده در یکجا به صورت منظم قرار بگیرند ٬ در دایرکتوری Home ( /~ ) فلدری به نام source ساختیم و با سوییچ C- فایل های Extract شده را به فلدر source منتقل می کنیم . )

چنانچه از فرمت فایل سورس اطمینان و آگاهی ندارید و نمیدانید که باید از کدامیک از دستورات بالا استفاده کنید ٬ می توانید به کمک دستور FILE فرمت فایل مورد نظرتان را تشخیص دهید :
کد:
file packagename
حالا باید وارد فلدر Extract شده ی سورس شوید و دستورات زیر را به ترتیب اجرا کنید .
کد:
configure/.
این دستور تمامی Dependency های لازم ( وابستگی ها و Library ها ) برای نصب یک برنامه را چک کرده و محیط را برای نصب برنامه آماده می کند .
کد:
make
این دستور ٬ سورس کد را کامپایل کرده و آنرا به زبانی که برای کامپیوتر ما قابل فهم باشد تبدیل می کند .
کد:
sudo make install
به کمک این دستور ما دسترسی های مدیریتی لازم برای نوشتن در فایل ها و فلدر های سیستمی را اخذ کرده و برنامه ی سورس را که هم اکنون کامپایل شده ٬ نصب می کنیم .
کد:
make clean
و در آخر به کمک این دستور عمل پاکسازی فایل های تمپ و اضافه که بعد از عملیات کامپایل و نصب دیگر به آنها نیازی نداریم را انجام میدهیم .

ذکر این نکته لازم است که در اوبونتو شما برای انجام عملیات کامپایل و نصب برنامه های سورس به برنامه های :
کد:
build-essential
checkinstall
libgtk1.2-dev
نیاز دارید که می توانید آنها را به کمک Synaptic دانلود و نصب کنید .

همچنین برای پاک کردن یک برنامه که آنرا به کمک سورس آن نصب کرده اید می توانید از دستور sudo rm و یا make uninstall ( دستور make uninstall در مورد همه ی برنامه ها جوابگو نیست ) استفاده کنید .

و در آخر برای اجرای برنامه ی نصب شده ٬ کافیست در اوبونتو Alt + F2 را زده و در محیط Run نام آن برنامه را تایپ و Enter کنید .

ubuntu-ir.blogfa.com

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note آموزش نصب لینوکس مینت در کنار ویندوز BaNNer LorD 0 759 02-01-2014 ساعت 15:51
آخرین ارسال: BaNNer LorD
Note آموزش نصب KDE4 BaNNer LorD 0 501 30-07-2013 ساعت 13:48
آخرین ارسال: BaNNer LorD
Note آموزش کامپایل کردن فایل cpp در لینوکس BaNNer LorD 0 589 30-07-2013 ساعت 13:46
آخرین ارسال: BaNNer LorD
Note آموزش فدورا/linux sector 0 591 28-06-2013 ساعت 12:53
آخرین ارسال: sector
Note غیرفعال کردن صداهای خوش‏آمدگویی در Ubuntu Comodo 0 359 19-05-2013 ساعت 17:56
آخرین ارسال: Comodo
Note آموزش لینوکس (دستورات Shell) SteveN 1 1,345 13-03-2013 ساعت 10:24
آخرین ارسال: SteveN
Note آموزش نصب و پیکربندی سرور لینوکس <Script> 0 564 28-10-2012 ساعت 16:40
آخرین ارسال: <Script>
Note آموزش گرفتن فیلم از محیط لینوکس SOFTAFZAR 0 501 17-09-2012 ساعت 13:49
آخرین ارسال: SOFTAFZAR
Note آموزش رايت CD در لينوکس SOFTAFZAR 0 415 13-09-2012 ساعت 18:45
آخرین ارسال: SOFTAFZAR

کاربرانِ درحال بازدید از این موضوع:   1 مهمان