بستههای نرمافزاری کار نصب نرمافزارهای کاربردی را در لینوکس آسان کردهاند. دیگر لازم نیست برای نصب هر نرمافزار، کاربر کدهای منبع را دریافت کرده، آنها را کامپایل نموده و نصب کند. کاری که بسیاری از کاربران از انجام آن ناتوان هستند.
همانطور که متوجه شدید، بستههای نرمافزاری حاوی برنامههای قابل اجرا و آماده برای نصب هستند. ممکن است در اینترنت به انواع مختلفی از بستههای نرمافزاری برخورد نمایید که البته همه آنها حاوی نرمافزارهای آماده برای نصب نیستند که جلوتر درباره آنها توضیح خواهم داد. پر کاربردترین بستههای آماده نصب نرمافزارهای کاربردی، بستههای نوع rpm و deb هستند. در این مقاله ما به بررسی بستههای نرمافزاری با فرمت rpm و مدیریت آنها خواهیم پرداخت و در مقاله جداگانهای، مدیریت بسته های deb را که مخصوص لینوکس debian و توزیعهای مبتنی بر آن است را بررسی خواهیم کرد.
در سیستم عامل لینوکس (Redhat) برای خواندن دیسک (فلاپی) یا CD-Rom ابتدا باید فلاپی یا CD مورد نظر را Mount (اتصال) کنیم. برای این کار بر روی ناحیهی خالی میز کار (Desktop) راست کلیک کرده، از منوی ظاهر شده گزینه Mount سپس اگر فلاپی دیسک داشتیم، گزینه فلاپی (دیسک) و اگر CD-Rom داشتیم، گزینه فوق را انتخاب میکنیم. برای نصب Package یا بستههای نرمافزاری ابتدا باید CD مورد نظر را Mount کنیم که اگر به صورت Auto Run باشد، به صورت خودکار اجرا میشود، در غیر این صورت باید مراحل نصب را طی کرد.
برای نصب در محیط متنی باید دستوراتی را در پنجره Terminal برای نصب Package تایپ کرده که در این تحقیق به بررسی این روش میپردازیم.
دلایل استفاده از محیط متنی در لینوکس
برخی دستورات و فرامین پایهای سیستمهای عامل، از جمله پیکربندی اولیهی سیستمها و حتی شبکههای کامپیوتری را هنوز هم فقط در محیط متنی میتوان به اجرا درآورد.
اصولاً کار در خط فرمان به دلیل اجتناب از بکارگیری رابطهای گرافیکی که حجم بالایی از منابع سیستم، از جمله حافظه را اشغال میکنند، بسیار بیشتر و کمخطرتر است.
در واقع کلیهی برنامههای اجرایی در محیط گرافیکی به نحوی پس از اخذ دستورات ویژوال یا بصری از کاربر همان فرامین متنی را برای انجام عملیات خود در پس زمینه اجرا میکنند و چه بسا به دلیل ایرادات موجود در نرمافزارها، گاهی این دستورات را به کندی اجرا شده و یا آنها را به درستی نیز اجرا نمایند.
Shen کار در محیط فرمان متنی و اجرای دستورات در محیطهایی از جمله نیازهای اصلی مدیران سیستم و کاربران پیشرفته کامپیوار است و هیچگاه به کلی منسوخ نخواهد شد.
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 بسیار راحتتر است.