سه شنبه, ۱ خرداد, ۱۴۰۳ / 21 May, 2024
مجله ویستا

روش های نصب برنامه ها در لینوکس


روش های نصب برنامه ها در لینوکس

یکی از محبوب ترین راه های نصب نرم افزار در لینوکس نصب از کد منبع یا به اصلاح درست تر کامپایل از سورس کد برنامه است در ویندوز مایکروسافت شما همواره بسته های باینری را در سیستم خودنصب می کردید, این بسته های باینری که از پیش کامپایل شده اند براساس یک استاندارد کلی که سیستم عامل ویندوز دارد , کامپایل شده اند بنابر این شما نمی توانید به راحتی برروی آنها مانور دهید, اما در لینوکس قضیه کمی متفاوت است, شما می توانید کد منبع را بگیرید و از اول روی سیستم خودتان کامپایل کنید

با توجه به گستردگی توزیع های لینوکس مسلما روش های نصب نرم افزار ها نیز متفاوت خواهد بود . در ابتدا به تعریف مفهون کد منبع یا Source Code می پردازم . یک نرم افزار در ابتدا فقط یک سری حروف و کلمات است که یک برنامه نویس آن ها را در محیطی خاص و یایک ویرایشگر متن معمولی می نویسد این نوشته ها " سورس کد" برنامه یا " کد منبع" برنامه نام دارند. این کد ها را می توانید در یک ویرایشگر متن معمولی وارسی کنید ،‌اما برای کامپیوتر معنایی ندارند ! چرا که کامپیوتر شما فقط زبان ۰ و ۱ را متوجه می شود.بنابراین باید این برنامه ی نوشته شده را به زبان کامپیوتر ترجمه کنیم ،‌ این کار ترجمه را " کامپایل " می گویند.درواقع شما کدمنبع را کامپایل می کنید تا کامپیوتر شما آن رادرک کند. به فایل حاصل از کامپایل فایل "باینری" می گویند. دلیل این نام گذاری این است که فایل حاصل از کامپایل فقط برمبنای دو (Base۲) می باشد ،‌یعنی فقط شامل صفر و یک است. بنابراین وقتی می گوییم برنامه ای بازمتن (OpenSourec )است این بدان معناست که کد های منبع آن در اختیار دیگران قرار دارد و در برنام های CloseSource یا سورس بسته این کد های منبع در اختیار شما قرار نمی گیرد وفقط فایل های باینری در اختیار شما قرار می گیرد.

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

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

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

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

II. بسته های RPM

یکی از معروف ترین بسته های نرم افزاری لینوکس بسته های RPM میباشد.RPM مخفف RedHat Pakage Manager می باشد ،‌همان طور که از اسم آن بر می آید ابداع شرکت RedHat Linux می باشد اما در توزیع های مختلفی از این بسته ها استفاده می شودو جالب تر این که از این بسته ها می توانید در سیستم های شبه یونیکس دیگر مانند FreeBSD و SunSolaries نیز قابل استفاده هستند.بسته های RPM با پسوند rpm شناخته می شوند .

از جمله توزیع هایی که از بسته های rpm استفاده می کنند می توان لینوکس Mandrake وLinuxPCC و لینوکس YellowDog را که بر پایه ی ردهت است و برای سیستم های با پردازنده ی PowerPC طراحی شده و نیز توزیع SuSE را نام برد.البته توزیع های دیگری نیز از این بسته ها استفاده می کنند .برای مدیریت بسته های rpm شما می توانید از مدیر بسته های rpm استفاده کنید. اگر می خواهید در خط فرمان و براساس محیط متنی کار کنید می توانید از دستور rpm برای مدیریت استفاده کنید. اما اگر می خواهید از محیط گرافیکی برای مدیریت استفاده کنید با توجه به توزیع شما این ابزار متفاوت است. کاربران SuSE با ابزار YaST می توانند این کار را بکنند ،‌کاربران Mandrake می توانند با rpmdrake بسته هایشان رامدیریت کنند. البته باید توجه داشته باشید که SuSE و Mandrake گاهی از بسته های rpm مخصوص خود استفاده می کنند که جز آن توزیع در توزیع دیگری قابل استفاده نمی باشد.

بسیارخوب تا این جا بسته های RPM را شناختیم ،‌ حال قبل از معرفی بسته های DEB به نحوه ی نام گذاری بسته های RPM خواهیم پرداخت. برای آن که کاربران با دیدن نام بسته ی rpm به راحتی بتوانند متوجه محتویات آن بشوند از یک استاندارد برای نام گذاری این بسته ها استفاده می شود.این نام گذاری مانند زیر است :

pakagename-a.b.c-x.arch.rpm

در این نام گذاری همان طور که معلوم است از سمت چپ اولین بخش نام نرم افزار اصلی ماست مثلا xchat یا gaim اما سایر اجزا :

.a.b.c نسخه ینرم افزاری است که دردست دارید، این شماره نسخه را اغلب نویسنده ی برنامه تعیین می کند مثلا ۲.۲.۶ یا ۵.۶.۷a.

x این شاره به شماره ی build number یا relase number معروف است.(شماره ی انتشار !)این شماره در واقع نشان دهنده ی تغییرات کوچکیست که اغلب هم کار نویسنده ی برنامه نیست مثلا یک وصله یا Patch برای رفع یک مشکل (bug) یا یا تغییر یک فایل نصب یا اضافه شدن یک فایل راهنما یا help یا Documentation به فایل .

arch این بخش از نام مربوط می شود به معماری پردازنده ای که از آن استفاده می کنید. بسته های RPM برروی معماری های مختلفی از پردازنده قابل اجراست ،‌از جمله x۸۶ یا SPARC یا Alpha نیزIA-۶۴ بنابر این لازم است که نوع پردازنده ی مورد پشتیبانی را در نام فایل بگنجانیم تا در آینده بتوانیم به راحتی از آن برای پردازنده ی خودمان استفاده کنیم.برای پردازنده های x۸۶ این جا i۳۸۶ نوشته می شود. این پردازنده ها باقی مانده ی نسل ۸۰۳۸۶ هستند که شرکت اینتل آن ها را تولید می کند ،‌البته باید خاطر نشان کنم که در حال حاضر وقتی می گوییم x۸۶ منظور ما هر پردازنده ای سازگار با این معماری است از جمله AMD مدل های Duron و Athlon و یا پنتیوم های Pro ,I,II,II,IVو نیز پنتیوم MMX ویا پردازنده های سازگار با x۸۶شرکت Transmeta یا Cyrix!! بنابراین امروزه فقط این اینتل نیست که پردازنده های خانواده ی x۸۶ را تولید می کند. اگر بسته یRPM شما برای پنتیوم بهینه سازی شده باشداین مقدار ۱۵۸۶ و i۶۸۶ خواهد بود. البته RPMبرای پردازنده های دیگر نیز وجود دارد از جمله PowerPC که با ppc مشخص می شود. نکته ی قابل توجه این است که اگر بسته ی rpm شما محتوی فایل متنی یا Documentation یا هر چیز دیگری باشد که به پردازنده (CPU) بستگی ندارد این مقدار noarch خواهد بود.

برای روشن تر شدن این نام گذاری به نام xbill-۲.۱.۳-۸۵.i۳۸۶.rpm دقت کنید. xbillنام این نرم افزار است که یک بازی لینوکس است.که بسته ی ما buildشماره ی ۸۵ نسخه ی ۲.۱۳ آن است که برای معماری x۸۶ طراحی شده است.


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.