• آموزش کامپایل و نصب برنامه ها در 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 881 02-01-2014 ساعت 15:51
    آخرین ارسال: BaNNer LorD
    Note آموزش نصب KDE4 BaNNer LorD 0 593 30-07-2013 ساعت 13:48
    آخرین ارسال: BaNNer LorD
    Note آموزش کامپایل کردن فایل cpp در لینوکس BaNNer LorD 0 701 30-07-2013 ساعت 13:46
    آخرین ارسال: BaNNer LorD
    Note آموزش فدورا/linux sector 0 678 28-06-2013 ساعت 12:53
    آخرین ارسال: sector
    Note غیرفعال کردن صداهای خوش‏آمدگویی در Ubuntu Comodo 0 418 19-05-2013 ساعت 17:56
    آخرین ارسال: Comodo
    Note آموزش لینوکس (دستورات Shell) SteveN 1 1,583 13-03-2013 ساعت 10:24
    آخرین ارسال: SteveN
    Note آموزش نصب و پیکربندی سرور لینوکس <Script> 0 643 28-10-2012 ساعت 16:40
    آخرین ارسال: <Script>
    Note آموزش گرفتن فیلم از محیط لینوکس SOFTAFZAR 0 563 17-09-2012 ساعت 13:49
    آخرین ارسال: SOFTAFZAR
    Note آموزش رايت CD در لينوکس SOFTAFZAR 0 484 13-09-2012 ساعت 18:45
    آخرین ارسال: SOFTAFZAR

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