فدک - لینوکس - آشنایی با روش‎های نصب برنامه
آخرین تغییرات : 2014-11-30تعداد بازدید : 274

آشنایی با روش‎های نصب برنامه


  1. بسته‎های ‪RPM‬‬
  2. ‫بسته‎های‪DEB‬‬
  • ‬بسته‎های ‪Tarball‬‬
  • ‫١- وابستگی‎های برنامه )‪(Dependencies‬‬ ‫
  • ‫3- ابزار‎های توسعه)‪(Development Tools‬‬ ‫
  • ‫4-.پایگاه داده‎ی بسته‎های نصب شده‬

  • ‫با توجه به گستردگی توزیع‎های لینوکس مسلما روش‎های نصب نرم افزار‎ها نیز متفاوت خواهد بود‬ ‫. در ابتدا به تعریف مفهوم کد منبع یا ‪ Source Code‬می پردازم . یک نرم افزار در ابتـدا فقـط یـک سـری‬ ‫حروف و کلمات است که یـک برنامـه نـویس آن هـا را در محیطـی خـاص و یایـک ویرایـشگر مـتن معمـولی‬ ‫می نویسد این نوشته‎ها " سورس کد" برنامه یا " کد منبع" برنامه نام دارند. این کد‎ها را می‌توانیـد در یـک‬ ‫ویرایشگر متن معمولی وارسی کنید،اما برای کامپیوتر معنایی ندارند ! چرا که کامپیوتر شما فقط زبـان 0 و 1‬ ‫را متوجه می‌شود.بنابراین باید این برنامه‎ی نوشته شده را به زبان کامپیوتر ترجمه کنیم، این کـار ترجمـه را‬ ‫" کامپایل " می‌گویند.درواقع شما کدمنبع را کامپایل می‌کنید تا کـامپیوتر شـما آن رادرک کنـد. بـه فایـل‬ ‫حاصل از کامپایل فایل "باینری" می‌گویند. دلیل این نام گذاری این است که فایل حاصـل از کامپایـل فقـط‬ ‫برمبنای دو )2‪ (Base‬می باشد،یعنی فقط شامل صفر و یک است. بنابراین وقتی می‌گوییم برنامه‎ای بازمتن‬ ‫)‪( OpenSourec‬است این بدان معناست که کد‎های منبع آن در اختیار دیگران قرار دارد و در برنام هـای‬ ‫‪ CloseSource‬یا سورس بسته این کد‎های منبع در اختیار شما قرار نمی‎گیرد وفقط فایل‎های باینری در‬ ‫اختیار شما قرار می‌گیرد.

    ‬ ‫یکی از محبوب ترین راه‎های نصب نرم افزار در لینوکس نصب از کد منبع یـا بـه اصـلاح درسـت تـر‬ ‫کامپایل از سورس کد برنامه است.در وینـدوز مایکروسـافت شـما همـواره بـسته هـای بـاینری را در سیـستم‬ ‫خودنصب می‌کردید،این بسته‎های باینری که از پیش کامپایل شده‎اند بـر اسـاس یـک اسـتاندارد کلـی کـه‬ ‫سیستم عامل )ویندوز( دارد، کامپایل شده‎اند بنابر این شما نمی‎توانید به راحتی برروی آن هـا مـانور دهیـد‬ ‫،اما در لینوکس قضیه کمی متفاوت است،شما می‌توانید کد منبـع را بگیریـد و از اول روی سیـستم خودتـان‬ ‫کامپایل کنید .شاید بپرسید این چه مزیتی دارد؟ زمـانی کـه شـما برنامـه‎ای را در سیـستم خودتـان شخـصا‬ ‫کامپایل می‌کنید می‌توانید آن را بر اساس نیاز‎های خودتان تنظیم کنید.)در اصطلاح صحیح تـر مـی توانیـد‬ ‫نرم افزار راباتوجه به شرایط خود بهینه سازی -‪-optimization‬کنید.( حسن این کار در آن است که برنامـه‬ ‫ی نصب شده در سیستم شما کاملابا سیستم شما خوانایی دارد و اگر شما به امکاناتی که برنامه ارائه می‌دهـد‬ ‫نیازی ندارید می‌توانید به سادگی آن امکانات را زمان کامپایل ندیده بگیرید.

    ‬ ‫بنابراین اولین روش نصب برنامه کامپایل از سورس کد بود،این روش تا حدودی وقت گیر است و نیاز‬ ‫به تجربه دارد تابتوانید به بهترین روش ممکن برنامه‎ی خود را کامپایل کنید،البته گاهی راهی جـز کامپایـل‬ ‫نرم افزار ندارید .برای همین توزیع کنندگان لینوکس به فکر ایجاد روشـی کـاربر پـسندتر افتادنـد تـا کـاربران‬ ‫بتوانند در زمانی کوتاه تر و با روشی ساده تر برنامه‎های خود را نصب کنند، این دیدگاه باعـث بوجـود آمـدن‬ ‫بسته‎های نرم افزاری ‪ RPM‬و ‪ DEB‬شد . این بسته‎ها اغلب همانند بسته‎های نـرم افـزاری وینـدوز از قبـل‬ ‫کامپایل شده‎اند )البته این فقط یک مقایسه‎ی ناشیانهات و در عمل با بسته‎های ویندوزی بسیار متفاوتند( و‬ ‫شما از طریق یک مدیر بسته می‌توانید این بسته‎ها را مدیریت کنید. مدیر بسته‎ها در لینوکس تقریبا همـان‬ ‫مختلف است. البته باید توجه داسته باشید که این بسته‎ها هم می‌توانند حاوی سورس کد نیز باشند. نکته ی‬ ‫قابل توجه دیگر این است که این بسته‎ها می‌توانند شامل فایل‎های کمکی )‪ (Help‬و مستندات دیگر مربوط‬ ‫به برنامه باشند.‬

    ‫شما برنامه‎ی خود رااز هر راهی که نصب کنید در اغلب موارد فایل‎های آن در مسیر‎های ‪/usr/bin‬‬ ‫و ‪ /bin‬و ‪ /usr/sbin‬قرار می‌گیرنـد و فایـل هـای مربـوط بـه پیکـره بنـدی آن در دایرکتـوری ‪ /etc‬قـرار‬ ‫می گیرند. بنابراین ما در لینوکس چیز به نام رجیستری نداریم و تنظیمات مربوط بـه برنامـه هـا در فایـل هـا‬ ‫ذخیره می‌شوند که در بیشتر موارد این فایل‎هافایل‎های هستند که به راحتی قابل خواندن و ویرایش کـردن‬ ‫با ویرایشگر‎های معمولی متن می‌باشند.‬

    ‫بسته‎ها:چرا به برنامه‎ها بسته )‪ (Pakage‬میگویند؟ اغلب برنامه‎ها امروزه شامل فایل‎های بـسیاری‬ ‫می باشند،از جمله فایل‎های باینری،فایل‎های پیکره بندی و فایل هـای مربـوط بـه راهنمـا و روش نـصب و‬ ‫مجوز‎های برنامه که به ‪ Documentation‬یا مستندات معروف هستند. بنـابراین مـی بینـیم یـک برنامـه‬ ‫همراه خود تعداد بسیاری فایل به همراه دارد،تمام این فایل‎ها به صورت فشرده در یک بسته قار می‌گیرند‬ ‫،خواه این یک بسته‎ی ‪ RPM‬باشد یا یک بسته‎ی ‪ DEB‬یا حتی یک بسته‎ی ‪ Tarball‬باشد. برای آشـنایی‬ ‫هرچه بیشتر شما با انواع بسته‎های نرم افزاری ما در این مقاله به سه نمونه‎ی عمده‎ی بسته‎های نرم افـزاری‬ ‫لینوکس اشاره می‌کنیم،باید توجه داشته باشید که در این مقاله قصد آموزش کار با بسته‎های نرم افـزاری را‬ ‫نداریم و تنها به معرفی انواع بسته‎ها بسنده خواهیم کرد.

    بسته‎های ‪RPM‬‬

    ‫یکی از معروف ترین بـسته هـای نـرم افـزاری لینـوکس بـسته هـای ‪ RPM‬می باشـد. ‪ RPM‬مخفـف‬ ‫‪ RedHat Pakage Manager‬می باشد،همان طور که از اسم آن بر می‌آید ابـداع شـرکت ‪RedHat‬‬ ‫‪ Linux‬می باشد اما در توزیع‎های مختلفی از این بسته‎ها استفاده می‌شودو جالب تر این که از این بسته‎ها‬ ‫می توانید در سیستم هـای شـبه یـونیکس دیگـر ماننـد ‪ FreeBSD‬و ‪ SunSolaries‬نیـز قابـل اسـتفاده‬ ‫هستند.بسته‎های ‪ RPM‬با پسوند ‪ rpm‬شناخته می‌شوند .‬ ‫از جمل ـه توزی ـع ه ـایی ک ـه از ب ـسته ه ـای ‪ rpm‬اس ـتفاده م ـی کنن ـد م ـی ت ـوان لین ـوکس ‪Mandrake‬‬ ‫ـ‬ ‫ـ ـ ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ‬ ‫ـ ـ‬ ‫ـ‬ ‫و‪ LinuxPCC‬و لینوکس ‪ YellowDog‬را که بر پایه‎ی ردهت است و بـرای سیـستم هـای بـا پردازنـده ی‬ ‫‪ PowerPC‬طراحی شده و نیز توزیع ‪ SuSE‬را نام برد.البته توزیع‎های دیگری نیز از این بسته هـا اسـتفاده‬ ‫می کنند .برای مدیریت بسته‎های ‪ rpm‬شـما مـی توانیـد از مـدیر بـسته هـای ‪ rpm‬اسـتفاده کنیـد. اگـر‬ ‫می خواهید در خط فرمان و براساس محیط متنی کار کنید می‌توانید از دستور ‪ rpm‬برای مدیریت اسـتفاده‬ ‫کنید. اما اگر می‌خواهید از محیط گرافیکی برای مدیریت استفاده کنید بـا توجـه بـه توزیـع شـما ایـن ابـزار‬ ‫متفاوت است. کاربران ‪ SuSE‬با ابزار ‪ YaST‬می توانند این کار را بکنند،کاربران ‪ Mandrake‬می توانند بـا‬ ‫از بسته‎های ‪ rpm‬مخصوص خود اسـتفاده مـی کننـد کـه جـز آن توزیـع در توزیـع دیگـری قابـل اسـتفاده‬ ‫نمی باشد.‬ ‫بسیارخوب تا این جا بسته‎های ‪ RPM‬را شناختیم، حال قبل از معرفی بسته‎های ‪ DEB‬به نحـوه ی‬ ‫نام گذاری بسته‎های ‪ RPM‬خواهیم پرداخت. برای آن که کاربران بـا دیـدن نـام بـسته‎ی ‪ rpm‬بـه راحتـی‬ ‫بتوانند متوجه محتویات آن بشوند از یک استاندارد برای نام گذاری این بسته هـا اسـتفاده مـی شـود.ایـن نـام‬ ‫گذاری مانند زیر است :‬ ‫‪pakagename-a.b.c-x.arch.rpm‬‬ ‫در این نام گذاری همان طور که معلوم است از سمت چپ اولین بخش نام نرم افزار اصلی ماست مـثلا‬ ‫‪ xchat‬یا ‪ gaim‬اما سایر اجزا :‬ ‫‪ a.b.c‬نسخه ینرم افزاری است که دردست دارید، این شماره نسخه را اغلب نویسنده‎ی برنامه تعیین‬ ‫می کند مثلا 6,2,2 یا 7,6,5‪.a‬‬ ‫‪ x‬این شاره به شماره‎ی ‪ number build‬یا ‪ relase number‬معروف است.این شماره در واقع‬ ‫نشان دهنده‎ی تغییرات کوچکیست که اغلب هم کار نویسنده‎ی برنامه نیست مثلا یک وصله یا ‪ Patch‬برای‬ ‫رفـع یـک مـشکل )‪ (bug‬یـا یـا تغییـر یـک فایـل نـصب یـا اضـافه شـدن یـک فایـل راهنمـا یـا ‪ help‬یـا‬  ‫‪ Documentation‬به فایل‬ ‫‪ arch‬این بخش از نام مربوط می‌شود به معماری پردازنده‎ای که از آن استفاده می‌کنید. بسته‎های‬ ‫‪ RPM‬برروی معماری‎های مختلفی از پردازنده قابل اجراست،از جمله 68‪ x‬یا ‪ SPARC‬یا ‪ Alpha‬نیز-‪IA‬‬ ‫46 بنابر این لازم است که نوع پردازنده‎ی مورد پشتیبانی را در نام فایـل بگنجـانیم تـا در آینـده بتـوانیم بـه‬ ‫راحتی از آن برای پردازنده‎ی خودمان استفاده کنیم.برای پردازنده‎های 68‪ x‬این جا 683‪ i‬نوشته می‌شـود.‬ ‫این پردازنده‎ها باقی مانده‎ی نسل 68308 هستند که شرکت اینتل آن‎ها را تولید می‌کند،البته بایـد خـاطر‬ ‫نشان کنم که در حال حاضر وقتی می‌گوییم 68‪ x‬منظور ما هر پردازنده‎ای سازگار با ایـن معمـاری اسـت از‬ ‫جمله ‪ AMD‬مدل‎های ‪ Duron‬و ‪ Athlon‬و یا پنتیوم هـای ‪Pro ,I,II,II,IV‬و نیـز پنتیـوم ‪ MMX‬ویـا‬ ‫پردازنده‎های سازگار با 68‪x‬شرکت ‪ Transmeta‬یا ‪ Cyrix‬بنابراین امـروزه فقـط ایـن اینتـل نیـست کـه‬ ‫پردازنده‎های خانواده‎ی 68‪ x‬را تولید می‌کند. اگـر بـسته ی‪ RPM‬شـما بـرای پنتیـوم بهینـه سـازی شـده‬ ‫باشداین مقدار 6851 و 686‪ i‬خواهد بود. البتـه ‪RPM‬بـرای پردازنـده هـای دیگـر نیـز وجـود دارد از جملـه‬ ‫‪ PowerPC‬که با ‪ ppc‬مشخص می‌شود. نکته‎ی قابل توجه این است که اگر بسته‎ی ‪ rpm‬شـما محتـوی‬ ‫فایل متنی یا ‪ Documentation‬یا هر چیز دیگری باشد که به پردازنده )‪ (CPU‬بستگی ندارد ایـن مقـدار‬ ‫‪ noarch‬خواهد بود.‬ ‫نرم افزار است که یک بازی لینوکس است.که بسته‎ی ما ‪build‬شـماره‎ی 58 نـسخه‎ی 31,2 آن اسـت کـه‬ ‫برای معماری 68‪ x‬طراحی شده است.‬

    ‫بسته‎های‪DEB‬‬

    ‫بسته‎ی دیگری که بسیار استفاده می‌شود،بسته‎ی دبیان یا ‪ DEB‬می باشد، این بسته‎ها نیز مانند‬ ‫بسته‎های ‪ RPM‬هستند و کار کردن با آن‎ها مانند کار با ‪ RPM‬ها ساده است. این بسته‎ها را دبیان توسـعه‬ ‫داده است و هم اکنون توزیع‎های فراوانی از لیبرانت تا ‪ DammnSmallLinux‬از ایـن بـسته هـا اسـتفاده‬ ‫می کنند،در واقع هر توزیع مبتنی بر دبیان از این بسته هـا اسـتفاده مـی کنـد.بـسته هـای ‪ rpm‬و ‪ deb‬را‬ ‫نمی توان به جای یکدیگر استفاده کرد اما می‌توان آ نها را به یکدیگر تبدیل کرد،البته این تبدیل نیز همیشه‬ ‫موففقیت آمیز نخواهد بود.بسته‎های دبیان نیز مانند ‪ rpm‬برای معماریهای متفاوتی نوشته شده اسـت .بـرای‬ ‫مدیریت بسته‎های دبیان در خط فرمان از ابزار ‪ dpkg‬استفاده مـی شـود ‪ dpkg‬بـسیار شـبیه ‪RedHat‬‬ ‫‪ pakage Manager‬یا ‪ rpm‬است .)منظور ابزار ‪ rpm‬است که برای مدیریت بسته‎های ‪ RPM‬اسـتفاده‬ ‫می شود.(. البته در دبیان و توزیع‎های مبتنی بر دبیان ابزار دیگری نیز برای مدیریت بسته‎های نرم افزاری در‬ ‫خط فرمان وجودداردکه کار با بسته‎های نرم افزاری را بسیار راحت تر و شیرین تر می‌کنـد،ایـن ابـزار ‪APT‬‬ ‫نام دارد.‪ APt‬مخفف ‪ Advanced Pakage Tool‬می باشد. )تلفظ کنیـد اپـت /‪ (/æpt‬یکـی از خـواص‬ ‫بستههای ‪ RPM‬و‪ DEB‬این است که شما نی توانید به راحتی و از طریق همین ابزار‎های مدیریت بسته بسته‬ ‫های خودرا در چند ثانیه یاحداکثر چند دقیقه به روز بکنید و لی اگر برنامه‎ای را از کد منبع آن کامپایل کنید‬ ‫برای هر بار به روز رسانی مجبورید برنامه را از ابتدا کامپایل کنید.البته برای مدیریت بسته‎های نرم افـزاری در‬ ‫دبیان نیز برنامه‎های مختلفی وجوددارد مانند ‪ synaptic‬ویا برای مدیریت بسته‎هادر خط فرمان امـا کمـی‬ ‫راحت تر مانند ‪ . dselect‬نام گذاری بسته‎های دبیان نیز مانند ‪ RPM‬است با کمی تفاوت در ظاهر که برای‬ ‫طولانی نشدن بحث به آن اشاره نمی‎کنیم.

    ‬بسته‎های ‪Tarball‬‬

    ‫در حقیقت بسته‎های ‪ Tarball‬چیـزی جـز بـسته هـای آرشـیو شـده نیـستند، ایـن بـسته هـا را‬ ‫می توانیددر هر توزیعی استفاده کنید و مانند ‪ RPM‬و ‪ DEB‬وابسته به توزیع نیستند. بـسته هـای ‪Tarball‬‬ ‫همان بسته‎هایی هستند کـه بـا ابـزار ‪ tar‬در خـط فرمـان تولیـد مـی شـوندو توسـط یکـی از برنامـه هـای‬ ‫‪ compres‬یا ‪ gzip‬یا 2‪ bzip‬فشرده شده اند. این بسته‎های فشرده شده فقط حاوی فایل‎ها هستند و بعد‬ ‫از باز کردن آن‎ها می‌توان در باره‎ی روش نصب آن‎ها تصمیم گرفت. بسته‎های ‪ tarball‬می تواننـد ماننـد‬ ‫‪ RPM‬و ‪ Debian‬حاوی سورس کد، فایل‎های باینری و همچنین مستندات برنامه باشدالبته در اغلب موارد‬ ‫این بسته ا با ‪ gzip‬فشرده می‌شوند که پسوند حاصل ‪ .tar.gz‬می شود و البته برای این که حجـم اطلاعـات‬ ‫رد و دلی در اینترنت کمتر شود از فرمت 2‪ .tar.bz‬استفاده می‌شود که بسته‎های آرشیو ‪ tar‬را با برنامه ی‬ ‫حجم کم تری دارند چرا که الگوریتم فشرده سازی در این دو متفاوت است.(‬ ‫اطلاعات ضروری در زمان نصب برنامه‬

    ‫١- وابستگی‎های برنامه )‪(Dependencies‬‬ ‫

    وابستگی‎های نرم افزاری یا همان ‪ Dependencies‬در واقع آن برنامه‎هاو نیاز‎هایی‬ ‫است که باید داشته باشید تا برنامه‎ی شما بتواندکار کند!! درواقع شما برای نـصب یـک‬ ‫برنامه اغلب به یک پیش نیاز احتیاج دارید، مثلا برای بسیاری از برنامه هـای لینـوکس‬ ‫لازم است تا شما کتابخانه‎های ‪ C‬را داشته باشید. در واقع وقتی می‌گوییم یـک برنامـه‬ ‫فلان وابستگی‎ها را می‌خواهد یعنی اولا بدون آن نیازمندی‎ها نمی‎تواند کار کنـد و در‬ ‫ثانی می‌توان نتیجه گرفت که آن برنامه از برنامههایی که در اصطلاح وابستگی نام دارند‬ ‫برای کار کردن استفاده می‌کند.‬ ‫توجه داشته باشید که مفهوم پیشنهادی یا ‪ Recommended‬با وابـستگی متفـاوت‬ ‫است،اگر وابستگی‎ها را نصب نکنید برنامه‎ی شما کار نخواهد کرد اما اگـر پیـشنهادی‬ ‫ها را نصب نکنید برنامه‎ی شما کار خواهد کرد. پس این ‪ Recommended‬هـا بـه‬ ‫چه کاری می‌آیند؟ اگر شما این ‪ Recommended‬هارا نصب کنید برنامـه‎ی شـما‬ ‫بهتر کار می‌کنه یا بهتر بگویم بازدهی برنامه‎ی شما بیشتر خواهدشد.‬ ‫یکی از خواص بسته‎های ‪ Debian‬و ‪rpm‬هوشمندی آن‎ها نصبت بـه شـناخت ایـن‬ ‫پیش نیاز‎هاست،در واقع وقتی شمایک بسته‎ی ‪ Debian‬را نصب می‌کنیـد خـودش‬ ‫به دنبال پیش نیاز‎ها می‌گردد و پیش نیاز‎ها را نیز برای شما نصب می‌کند.البته بسته‬ ‫های ‪ RPM‬این هوشمندی راندارند اما برنامه‎های مدیریت بسته‎های ‪ rpm‬این کار را‬ ‫می کنند یعنی زمانی که شما از دستور ‪ rpm‬برای نصب استفاده می‌کنید این برنامـه‬ ‫است که تشخیص می‌دهد ثبل از نصب باید چه برنامه‎های دیگـری نـصب شـود و بـه‬ ‫شمااعلام می‌کند که این بسته ا را نیز نصب کنیدو یا خودش نصب می‌کند. امـا بـسته‬ ‫های دبیان در ذات خود این قابلیت را دارا هستند که پـیش نیـاز‎هایـشان را تـشخیص‬ ‫بدهند ولی بسته‎های ‪ Tarball‬فاقد این هوشمندی هستند و باید خودتان بـا مطالعـه‬ ‫ی فایل‎های ‪ README‬و ‪ INSATLL‬ویا دیگر راهنماهای موجود در بسته یا سایت‬ ‫آن پیش نیاز‎ها را یافته و آن‎ها را نصب کنید.‬ ‫شده بودند یا به دلیل خرابیشان برنامها کار نمی‎کـرد!!( در لینـوکس نیـز کتابخانـه هـا‬ ‫همان مسئولیت را به عهده دارند اما پسوند خاصی ندارند چرا که هـر زبـان از کتابخانـه‬ ‫های خوداستفاده می‌کند.خوب این مسئولیت کتابخانه‎ها چیست؟ کتابخانه‎ها یکسری‬ ‫فایل هستند که شامل یکسری توابع و روتین برای برنامه می‌باشـند، شـما مـی توانیـد‬ ‫یک فایل کتابخانه درست کنید و تمام توابعی که در برنامه‎ی شما استفاده مـی شـود را‬ ‫در آن قرار دهید و از برنامه‎ی خود بخواهید که این توابع را از فایل مذکور اجرا کند،این‬ ‫کار چه فایده‎ای دارد؟ فکـر کنیـد همکـار شـمانیز مـی خواهـد برنامـه‎ای بنویـسید او‬ ‫می تواند از ابتدا شروع کند و تمام توابع رادر برنامه‎ی خود تعریف کند،این کـار باعـث‬ ‫صرف وقت بیشتر و خستگی بیـشتر و نیـز حجـم بیـشتر فایـل هـا مـی شـود.راه حـل‬ ‫هوشمندانه این است که توابع مشترک برنامه‎ها را در یک فایل کتابخانه‎ای قرار دهید و‬ ‫هر کسی که به آن توابع احتیاج داشت زمان اجرای برنامه این توابع را فرابخواند. به ایـن‬ ‫ترتیب لازم نیست که شما هر بار تمام توابع را تعریف کنید کافیست یکبار این توابـع در‬ ‫کتابخانه‎ای نوشته شوند و کاربران این کتابخانه ا را در سیستم خودنـصب کننـد،حـالا‬ ‫شما و همارانتان و دیگران بدون دغدغه‎ی حجم زیاد و تعریف مجدد توابـع بـه نوشـتن‬ ‫برنامه مشغول می‌شوید.)حالا متوجه شدید چرا به این برنامه‎ها کتابخانه می‌گویند؟‬ ‫از جمله معروف ترین کتابخانه می‌توان به کتابخانه‎های ‪ C‬اشاره کرد که با نام ‪ libc‬و‬ ‫در توزیع‎های مدرن تر به نام ‪ glibc‬وجود دارند و یا کتابخانه‎ی معروف ‪ +GTK‬کـه‬ ‫شما یک بار نصب می‌کنید و تمام برنامه هـای محـیط گرافیکـی گنـوم از آن اسـتفاده‬ ‫می کنند.‬

    ‫3- ابزار‎های توسعه)‪(Development Tools‬‬ ‫

    اگر شما تصمیم به کامپایل یک برنامه گرفته اید باید فایل‎های کتبخانه‎ای و ابزار‎های‬ ‫توسعه‎ی مربوط به آن برنامه را داشته باشید. مثلا اگر برنامه‎ای به زبان ‪ C‬داریـد بایـد‬ ‫یک کامپـایلر بـرای ‪ C‬داشـته باشـید و کتابخانـه هـای مربـوط بـه آن را نیـز بایـد در‬ ‫سیستمتان داشته باشید. اگر شما نیازی به کامپایل برنامه‎ها ندارید لازم نیست تا ابـزار‬ ‫های توسعه رانیز نصب کنید. درواقع وقتی شما یک برنامه را کامپایل مـی کنیـد ماننـد‬ ‫این است که شما برنامه نویسید و برنامه رانوشتیدو کد آن راآماده کردید و می‌خواهیـد‬ ‫آن را به زبان ماشین ترجمه کنید،خوب برای این کـار بـه ابـزاری نیـاز داریـد بـه نـام‬ ‫معروف ‪ gcc‬جزو ایـن ابـزار‎هاسـت، ‪gcc‬کـه یـک کامپـایلر اسـت و تحـت مجـوز‬ ‫‪GNU/GPL‬نیز منتشر سـده اسـت مجموعـه‎ای اسـت از کامپـایلر هـای زبـان هـای‬ ‫مختلف، البته این اسم آن نیز معلوم است!!!!‪GNU Compiler Collection‬‬

    ‫4-.پایگاه داده‎ی بسته‎های نصب شده‬

    ‫پایگاه داده‎ی بسته‎های نصب شده یـا بـه زبـان سـاده تـر ‪Installed package‬‬ ‫!! ‪Database‬محلی است که اطلاعات بسته‎های نصب شده‎ی سیستم در آن قرار‬ ‫دارد. شاید شما بخواهیدبدانید که فایل کتابخانه‎ای ‪ X‬یا ‪ Y‬آیا نصب شده است یا نـه؟‬ ‫یا می‌خواهید بدانی چه نسخه‎ای از برنامـه در سیـستم شـما موجـود اسـت،یـا حتـی‬ ‫می خواهید بدانید برای برنامه‎ی شـما چـه نیـاز منـدی هـایی لازم اسـت؟ تمـام ایـن‬ ‫اطلاعات و اطلاعات دیگر در یک پایگاه داده ذخیره می‌شود.برای بسته‎های ‪Debian‬‬ ‫ایـن مـسیر اغلـب در مـسیر /‪ var/lib/dpkg‬اسـت و بـرای ‪ RPM‬ایـن مـسیر‬ ‫/‪var/lib/rpm‬است،اما برای ‪ Tarball‬هیچ پایگاهی وجـود نـدارد!! البتـه توزیـع‬ ‫‪SlackWare‬خودش توسط برنامه‎ای به نام ‪ slackware Package Tool‬یـا‬ ‫‪pkgtool‬برای بسته‎های ‪ Tarball‬ای که از طریق این برنامه نصب می‌شـوند یـک‬ ‫پایگاه داده می‌سازد اما این فقط مختص توزیع است و ایـن امکـان در تمـام توزیـع هـا‬ ‫موجود نیست.به همین دلیل است که اغلب بـسته هـای ‪ Slackware‬را جـزو بـسته‬ ‫های هوشمند به شمار نمی‎آورند چرا که تنها یک آرشیو فشرده است و حتی نمی‎تواند‬ ‫وابستگی‎ها یا ‪ Dependency‬های خود را پیدا کند.‬ ‫نصب نرم افزار در لینوکس، تمام آنچه در این مقاله خواندید روش هـای مختلـف نـصب در لینـوکس‬ ‫است،می بینید که شما انتخاب‎های مختلفی دارید و به یک انتخـاب وابـسته نیـستید، امیـدوارم ایـن مقالـه‬ ‫برایتان مفید بوده و مطالبی جدید برایتان داشته باشد.‬

    مریم مهربخش


          

    2000-2016 CMS Fadak. ||| Version : 4.2-b1 ||| This page was produced in : 0.006 Seconds