بخشی از مقاله

*انواع بسته های نرم افزاری در محیط لینوکس

بسته‌های نرم‌افزاری کار نصب نرم‌افزارهای کاربردی را در لینوكس آسان کرده‌اند. دیگر لازم نیست برای نصب هر نرم‌افزار، کاربر کدهای منبع را دریافت کرده، آنها را کامپایل نموده و نصب کند. کاری که بسیاری از کاربران از انجام آن ناتوان هستند.


همانطور که متوجه شدید، بسته‌های نرم‌افزاری حاوی برنامه‌های قابل اجرا و آماده برای نصب هستند. ممکن است در اینترنت به انواع مختلفی از بسته‌های نرم‌افزاری برخورد نمایید که البته همه آنها حاوی نرم‌افزارهای آماده برای نصب نیستند که جلوتر درباره آنها توضیح خواهم داد. پر کاربردترین بسته‌های آماده نصب نرم‌افزارهای کاربردی، بسته‌های نوع rpm و deb هستند. در این مقاله ما به بررسی بسته‌های نرم‌افزاری با فرمت rpm و مدیریت آنها خواهیم پرداخت و در مقاله جداگانه‌ای، مدیریت بسته‌های deb را که مخصوص لینوكس debian و توزیع‌های مبتنی بر آن است را بررسی خواهیم کرد.


در سيستم عامل لينوكس (Redhat) براي خواندن ديسك (فلاپي) يا CD-Rom ابتدا بايد فلاپي يا CD مورد نظر را Mount (اتصال) كنيم. براي اين كار بر روي ناحيه‌ي خالي ميز كار (Desktop) راست كليك كرده، از منوي ظاهر شده گزينه Mount سپس اگر فلاپي ديسك داشتيم، گزينه فلاپي (ديسك) و اگر CD-Rom داشتيم، گزينه فوق را انتخاب مي‌كنيم. براي نصب Package يا بسته‌هاي نرم‌افزاري ابتدا بايد CD مورد نظر را Mount كنيم كه اگر به صورت Auto Run باشد، به صورت خودكار اجرا مي‌شود، در غير اين صورت بايد مراحل نصب را طي كرد.


براي نصب در محيط متني بايد دستوراتي را در پنجره Terminal براي نصب Package تايپ كرده كه در اين تحقيق به بررسي اين روش مي‌پردازيم.

دلايل استفاده از محيط متني در لينوكس
1. برخي دستورات و فرامين پايه‌اي سيستم‌هاي عامل، از جمله پيكربندي اوليه‌ي سيستم‌ها و حتي شبكه‌هاي كامپيوتري را هنوز هم فقط در محيط متني مي‌توان به اجرا درآورد.


2. اصولاً كار در خط فرمان به دليل اجتناب از بكارگيري رابط‌هاي گرافيكي كه حجم بالايي از منابع سيستم، از جمله حافظه را اشغال مي‌كنند، بسيار بيشتر و كم‌خطرتر است.
3. در واقع كليه‌ي برنامه‌هاي اجرايي در محيط گرافيكي به نحوي پس از اخذ دستورات ويژوال يا بصري از كاربر همان فرامين متني را براي انجام عمليات خود در پس زمينه اجرا مي‌كنند و چه بسا به دليل ايرادات موجود در نرم‌افزارها، گاهي اين دستورات را به كندي اجرا شده و يا آنها را به درستي نيز اجرا نمايند.
4. Shen كار در محيط فرمان متني و اجراي دستورات در محيط‌هايي از جمله نيازهاي اصلي مديران سيستم و كاربران پيشرفته كامپيوار است و هيچگاه به كلي منسوخ نخواهد شد.
5. KDE برخي سيستم‌هاي عامل همچون لينوكس با وجود توسعه چشمگير رابط‌هاي گرافيكي نظير GNOME و ... هنوز به فرامين متني وابسته و بدون داشتن اين فرامين نمي‌توان از اين سيستم‌ها بطور كامل و موثر بهره برد.
درک نامگذاری و فرمت بسته های نرم‌افزاری
وقتی بسته ای را از اینترنت دانلود می‌کنید، می‌بینید که از یک نام، تعدادی شماره، نقطه، gz و tar تشکیل شده است. خوب اینها چه معنی دارند؟ ابتدا این اعداد و حرفها پیچیده به نظر می‌رسند در صورتی که اگر برایتان شرح داده شوند، بسیار ساده هستند. پس از مدتی به این شیوه نامگذاری عادت خواهید کرد. بیشتر بسته های نرم‌افزاری لینوکس از قاعده نامگذاری GNU استفاده می‌کنند. مثال‌های زیر فرمت‌های گوناگون بسته های نرم‌افزاری را نشان می‌دهد:


mycoolapp-4.2.3.i386.rpm
mycoolapp-4.2.3.tar.gz
mycoolapp-4.2.3.src.tar.gz
mycoolapp-4.2.3.bin.SPARC.tar.gz
mycoolapp-4.2.3.bin.ELF.static.tar.gz


این مثالها بسته های مختلف یک نرم‌افزار هستند. نام این بسته نرم‌افزاری mycoolapp است. پس از نام بسته ، شماره نسخه آن که 4.2.3 است قرار دارد. اولین شماره شماره اصلی یا major، دومین شماره شماره فرعی یا minor و آخرین شماره شماره وصله یا patch است. پس از شماره نسخه، نقطه ای قرار دارد که بعد از آن بخش های انتخابی قرار دارند که نشانگر محتوای بسته و چگونگی فشرده سازی آن هستند.

 

خط نخست یک بسته نرم‌افزاری rpm را نشان می‌دهد. rpm مخفف Redhat Package Manager است. i386 که قبل از rpm قرار دارد، نشان دهنده این است که بسته حاوی نرم‌افزار اجرایی برای کامپیوترهای PC معمولی است. فرمت rpm که ابتدا توسط Redhat ارائه شد، اکنون تبدیل به یک استاندارد برای پخش بسته های نرم‌افزاری لینوکس شده است. ببیشتر توزیع‌های لینوكس مانند ردهت، زوزه، ماندریک و... از این سیستم بسته بندی نرم‌افزار استفاده می‌کنند.

rpm در مقابل کد منبع
بسته هایی که بصورت فرمت rpm ارائه می‌شوند به سادگی قابل نصب بوده و برداشتن آنها نیز به سادگی امکان پذیر است. برای مدیریت بسته‌های rpm هم ابزارهای گرافیکی و هم ابزارهای متنی وجود دارند. در صورتی که در دنیای لینوکس تازه کار هستید، همیشه سعی کنید از این فرمت برای دریافت نرم‌افزارها استفاده نمایید.


- RPM: نصب نرم‌افزارها با استفاده از بسته‌های rpm بسیار آسان است. برای نصب یک بسته rpm شما نیازی به دانستن اطلاعاتی در مورد makefile ها و کامپایلرها ندارید. همانطور که در بالا نیز اشاره کردم، ابزارهایی نیز برای مدیریت این بسته‌ها فراهم آمده است. هنگامی که یک بسته rpm را نصب می‌کنید، ابزارهای rpm سایر نرم‌افزارهای احتمالی مورد نیاز این بسته را نیز بررسی کرده و در صورت نیاز به نصب بسته دیگری به شما اعلام می‌کنند.

 


- کد منبع (Source Code) : برخی اوقات تا ایجاد بسته های rpm یک نرم‌افزار، مدتی طول می‌کشد. در این مواقع باید از کد منبع آن استفاده کنید. همچنین می‌توانید با ایجاد تغییراتی در کد منبع نرم‌افزار، آنرا برای خود مناسبتر کنید. اکثر کاربران حرفه ای لینوکس کار کردن با کد منبع را ترجیح می‌دهند.


خوب به مثال بالا برمی‌گردیم. در دوخط بعدی بسته‌هایی قرار دارند که حاوی کد منبع نرم‌افزار هستند. هـمـانطور که مـی‌بـینید، این بسته‌ها توسط دستور tar آرشیو شده (tar) و توسط دستور gzip فشرده شده‌اند (gz). شما از این دو فرمان برای باز کردن و خارج کردن از حالت فشردگی بسته‌های نرم‌افزاری استفاده خواهید کرد.


بین شماره های نسخه و پسوند های tar.gz بخش های اختیاری می‌توانند قرار گیرند. این بخش ها توسط نقطه از هم جدا می‌شوند و اطلاعات خاصی مانند نوع پردازنده‌ای که کدهای اجرایی بر روی آنها اجرا خواهد شد، نوع کدهای اجرایی و ... را فراهم می‌کنند. برای مثال bin.SPARC نشان می‌دهد که بسته حاوی کدهای اجرایی است که بر روی ایستگاههای کاری مبتنی بر پردازنده‌های SPARC اجرا خواهد شد.

ایجاد و نصب نرم افزارها از کدهای منبع
در صورتی که هیچ کد اجرایی برای نرم افزار مورد نیاز شما وجود نداشته باشد، و یا نیاز داشته باشید تا نرم افزار مربوطه را مطابق نیاز خود تغییر دهید، باید از کد منبع استفاده نمایید. کدهای منبع ممکن است هم بصورت بسته های rpm و هم بصورت بسته های tar/gz وجود داشته باشند.
معمولا در اکثر اوقات هنگام کامپایل و نصب برنامه‌های کاربردی با استفاده از کدهای منبع به خوبی پیش رفته و اشکالی پیش نمی‌آید. ولی برای اینکه بتوانید بهتر اشکالات احتمالی را رفع نمایید، دانستن برنامه نوسی برایتان بسیار مفید خواهد بود.


به طور کلی استفاده از کدهای منبع را به کاربرانی که تازه کار با لینوکس را آغاز کرده‌اند، ممکن است کمی دشوار باشد. پس بهتر است پس از اینکه مقداری با تجربه‌تر شدید از این بسته‌ها استفاده نمایید. برای کاربران مبتدی، استفاده از بسته‌های آماده نصب مانند rpm و deb بسیار راحت‌تر است.


البته در صورتی که کنجکاو هستید و مایلید این نوع نصب را هم آزمایش نمایید، من شما را بر حذر نمی‌دارم. فقط دقت نمایید که چه کاری را دارید انجام می‌دهید.


نکته : برای اینکه بتوانید از کدهای منبع برای تولید برنامه‌ها استفاده کنید، به ابزارهایی مانند کامپایلر ها و لینکرها و کتابخانه ها نیاز دارید. مجموعه این ابزارها تحت عنوان Development Tools در توزیع‌های مختلف لینوکس موجود هستند. برای اینکه قادر باشید تا برنامه‌های موجود بصورت کدهای منبع را کامپایل و نصب نمایید، حتما به این ابزارها نیاز دارید. بنابراین آنها را نصب نمایید.

 

استفاده از بسته های tar/gz
تقریبا تمام بسته های کد منبع که در اینترنت موجود هستند، با این فرمت ارائه می‌شوند. برای استفاده و نصب نرم افزارهایی که با این بسته ها ارائه می‌شوند باید مراحل زیر را انجام دهید :
- بسته مربوطه را از اینترنت و یا CD در یک دایرکتوری خالی کپی نمایید.
- بسته را با استفاده دستور gzip یا gunzip از حالت فشردگی خارج نمایید. نتیجه این کار یک بسته با فرمت tar است. به مثال زیر توجه کنید :
$ gzip -d mycoolapp.tar.gz
- برای باز کردن بسته tar از دستور ذکر شده در مثال زیر استفاده نمایید . این دستور تمام فایلهای موجود در بسته را در یک دایرکتوری درون دایرکتوری جاری باز می‌کند.
$ tar xvf mycoolapp.tar
- با استفاده از دستور cd وارد دایرکتوری مربوطه شوید.
- در صورتی که همراه با بسته فایلهایی به نام INSTALL و یا README ارائه شده است، ابتدا حتما آنها را مطالعه نمایید.
- در مرحله بعدی باید بسته را برای کامپایل شدن پیکربندی نمایید. برای این منظور باید از دستور configure استفاده نمایید . به مثال زیر توجه نمایید:
$ ./configure


توجه : حتما و حتما فایلهای INSTALL و README همراه با بسته را مطالعه نمایید. ممکن است که برای پیکربندی بسته لازم باشد تا آرگومانهای دیگری به دستور configure اضافه نمایید.
این دستور بسته برای برای کامپایل ش

دن آماده نموده و فایلهای لازم برای این کار را ایجاد می‌کند. ضمنا در صورتی که از شما آرگومان یا گزینه‌ای دریافت کرده باشد، آنرا نیز در فایلهای مربوط به کامپایل و نصب اعمال می‌کند.
- در صورتی که همه چیز به خوبی پیش رفت و هیچ پیام خطایی مشاهده نکردید، اکنون باید برنامه را کامپایل نمایید. برای این منظور باید از دستور make استفاده کنید. به مثال زیر توجه کنید:
$ make


- خوب در این مرحله کامپیوترتان شروع به کامپایل کردن برنامه می‌کند. در صورتی که برنامه بزرگی را کامپایل کنید و یا پردازنده کامپیوترتان قدیمی باشد، ممکن است این بخش کمی طول بکشد. در صورتی که پس از اتمام کار هیچگونه پیغام خطایی روی صفحه مشاهده نکردید معنی آن این است که برنامه بدون هیچ مشکلی کامپایل شده است و اکنون آماده نصب می‌باشد. برای نصب برنامه باید مجوزهای کاربر ریشه را داشته باشید. برای این کار از دستور su برای ورود به حالت کاربر ریشه استفاده کنید.


- برای نصب برنامه کامپایل شده باید از دستور make intall استفاده کنید.با این کار برنامه در محل خود نصب شده و از این پس می‌توانید آنرا از خط فرمان اجرا نمایید. به مثال زیر توجه کنید :


$ make install
توجه : هنگامی که یک برنامه را از طریق کد منبع نصب می کنید، هیچ آیکون و یا میانبر گرافیکی برای اجرای آن ایجاد نمی‌شود. برای اینکه بتوانید آنرا به راحتی اجرا کنید، خودتان باید برای آنها آیکون و میانبر ایجاد کنید.


نکته: بدلیل اینکه دستور gzip بسته اصلی را حذف نموده و یک بسته tar ایجاد می‌کند، در صورتی که مایل به نگهداری یک نسخه از کد منبع هستید، یک کپی از آنرا در یک مسیر جداگانه نگهداری نمایید.
- پس از اینکه نصب برنامه نیز به موفقیت به پایان رسید، می‌توانید با استفاده از دستور rm و گزینه R تمام فایلهای کد منبع را پاک کنید تا فضای دیسک شما بی جهت اشغال نشود. در صورتی که فقط بخواهید برنامه کامپایل شده را از داخل کدهای منبع پاک کرده و کدهای منبع را نگهداری کنید، از دستور make clean استفاده کنید. به مثال زیر توجه نمایید:


$ make clean
- برخی بسته‌های کد منبع، گزینه make uninstall را نیز پشتیبانی می‌کنند که از طریق آن می‌توانید برنامه‌ای را که نصب کرده‌اید، از روی کامپیوترتان پاک کنید.

نصب بسته های rpm در لینوکس
امروزه بسیاری از توزیع های لینوکس بعلت سادگی و قابلیتهای غیر قابل انکار بسته های نرم افزاری با فرمت rpm از این تکنولوژی برای نصب بسته های نرم افزاری با استفاده از دستور rpm، استفاده میکنند . نصب بسته های rpm هم ازطریق رابط گرافیکی و هم از راه تایپ مستقیم دستورات در خط فرمان لینوکس امکانپذیر است.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید