مقاله ای دیگر از سایت تکنوتاکس دات کام :
در مقابل سیستم مدیریت بستههای نرمافزاری RPM ، سیستم APT متعلق به دبیان قرار دارد که ویژگیهای بسیار جالبتری نسبت به RPM داشته و مشکلات کاربر را در تعامل با آن به حداقل رسانده است. برای مثال در این سیستم مشکل Dependencies یا وابستگیهای نرمافزاری عملا حل شدهاست. با توجه به گسترش استفاده از توزیعهای مبتنی بر دبیان مانند لیبرانت و Knoppix در بین کاربران این راهنما می تواند بسیار مفید باشد .
مدیریت بستههای DEB نرمافزارهایی که همراه با توزیع دبیان ارائه میشوند، در بستههایی قرار دارند که حاوی مجموعهای از برنامهها، اسکریپتها و فایلهای کمکی است. در صورتی که یک برنامه به یک کتابخانه یا برنامه دیگری روی کامپیوتر شما نیاز داشته باشد، بسته آنرا نیز برای شما نصب خواهد کرد. به این بستههای ثالث، وابستگیهای نرمافزاری یا Dependencies گویند.
برای نصب بستههای نرمافزارهای در لینوکس دبیان و یا توزیعها مبتنی بر آن مانند لیبرانت و Knoppix، راههای مختلفی وجود دارند: -استفاده از یک بسته دبیان : راحتترین و عمومیترین روش نصب نرمافزارهای کاربردی میباشد. -استفاده از بستههای tar/gz حاوی کدهای منبع: این کار هنگامی صورت میگیرد که بسته دبیان یک نرمافزار خاص وجود نداشته باشد. -تبدیل یک بسته از سایر فرمتها مانند rpm به deb: البته این راه ممکن است برخی اوقات مفید باشد، ولی همیشه قابل استفاده نیست. -استفاده از یک برنامه نصب ثالث: برخی نرمافزارهای بازمتن به این صورت و به همراه یک برنامه نصب کننده ارائه میشوند. از این نرمافزارها میتوان به مجموعه اداری OpenOffice اشاره نمود. استفاده از این برنامهها بسیار آسان میباشد. به هر صورت از هر روشی که استفاده نمایید، برای نصب یا حذف نرمافزار باید بصورت کاربر ریشه وارد شده باشید.
مدیریت بستههای دبیان قبل از نصب، حذف یا ارتقا نرمافزار، شما باید چیزهایی یاد بگیرید: -سیکل حیاتی یک بسته -اطلاعات درون بستهها شامل: -محتویات بستهها -نام بستهها -اولویتها -وابستگیهای نرمافزاری -وضعیتها -پرچمهای بستهها
سیکل حیاتی یک بسته مدیریت بستههای دبیان از اصطلاحات خاصی برای شرح اعمال انجام شده با بستهها استفاده میکند: -دانلود شده (Downloaded): بستهها از روی CD یا اینترنت به روی دستگاه شما منتقل شدهاند. -بازشده (Unpacked): فایلهای بسته باز شدهاند، ولی هنوز آماده استفاده نیستند. -کامپایل شده (Compiled): یک کد اجرایی از بسته حاوی کدهای منبع ایجاد شده است. -پیکربندی شده (Configured): بسته آماده برای استفاده روی سیستم است، ولی هنوز نصب نشده است. -نصب شده (Installed): بسته آماده استفاده است. -برداشته شده (Deinstalled): بسته بجز فایلهای پیکربندی آن، از روی کامپیوتر حذف شده است. -حذف شده (Purged): کل بسته شامل فایلهای پیکربندی از روی کامپیوتر حذف شده است.
اطلاعات درون بستهها بستههای نرمافزاری حاوی مقداری اطلاعات مختلف هستند. شما میتوانید یک برنامه را بدون مطالعه این اطلاعات نصب نمایید، ولی خواندن آن از ایجاد بسیاری از مشکلات جلوگیری خواهد کرد. برای مثال ممکن است یک بسته با بسته دیگری تداخل داشته باشد و یا حجم نصب شده یک بسته ممکن است از اندازه موجود روی دیسک سخت شما بیشتر باشد.
محتویات بستهها بستههای دبیان ممکن است حاوی کد اجرایی یا کدهای منبع باشند. یک بسته حاوی کد اجرایی، دارای یک برنامه کامپایل شده است که میتوانید بلافاصله پس از نصب آنرا اجرا نمایید. بستههای حاوی کدهای منبع قبل از استفاده باید کامپایل شوند. یک بسته حاوی کدهای اجرایی حاوی اقلام زیر میباشد: -برنامه نرمافزاری. -فایل conffiles که حاوی لیست فایلهای پیکربندی بسته میباشند. -فایلهای پیکربندی که برا ینصب و برداشتن بسته مورد نیاز میباشند. -اسکریپتهای نصب که هنگام استفاده از ابزارهای بستههای نرمافزاری به طور خودکار اجرا میشوند. برخی از آنها ممکن است به ورودیهای کاربر نیاز داشته باشند. اسکریپتها معمولا در مسیر var/lib/dpkg/inf قرار دارند و به طور عام ۴ عدد هستند: -preinst: قبل از نصب بسته اجرا میشود. -postinst: بعد از نصب بسته اجرا میشود. -prerm: قبل از حذف بشته اجرا میشود. -postrm: بعد از حذف بسته اجرا میشود. -فایلهای man و info که حاوی کمک برنامه هستند. -فایل کنترل که حاوی خلاصهای از کتابخانههای مورد نیاز بسته، نام و نسخه بسته، اولویت بسته، اندازه نصب شده آن، تهیه کننده آن و سایر اطلاعات اولیه میباشد.
نام بستههای نرمافزاری برای نصب یا حذف یک بسته، شما تنها به نام آن نیاز دارید. در سایر موارد، ممکن است به نام کامل بسته نیاز داشته باشید. ساختار نامگذاری بستههای نرمافزاری دبیان بصورت program_version-revision_processor.deb میباشد. به عبارت دیگر: -نام بسته که برخی اوقات یک نام مخفف است. -شماره نسخه -شماره اصلاحیه -نوع پردازنده مانند i386 برای ماشینهای اینتل -پسوند deb که نشانگر یک بسته دبیان است. البته توزیعهای مبتنی بر دبیان نیز از این پسوند ممکن است استفاده کنند.
اولویتهای بستهها اولویت یک بسته نرمافزاری در فایل کنترل آن لیست شده است. اولویت نشانگر حد اهمیت بسته برای سیستمعامل است: -Requires: بسته باید حتما بطور صحیح کار کند. به عبارت دیگر بسته یکی از اجرای پایهای سیستم عامل است. -Important: سیستم بصورت حیاتی به بسته نیاز ندارد، ولی قابلیتهایی پایهای به سیستم اضافه میکند. بسیاری از بستههای رده Important، بعنوان بخشی از سیستمعامل نصب میشوند. -Standard: سیستم از وجود این بسته سود خواهد برد. -Optional: بیشتر سیستمها دارای این بسته هستند. -Extra: یا سیستم به این بسته نیازی ندارد و یا با بستهای از اولویتهای بالاتر تداخل دارد. این بستهها باید با مطالعه و تحقیق دقیقتری نصب شوند.
وابستگیهای نرمافزاری وابستگیهای یک بسته نرمافزاری در فایل کنترل آن لیست شدهاند. وابستگیهای نرمافزاری نشانگر چگونگی تعامل یک بسته با یستههای دیگر نرمافزاری و کتابخانههای برنامه نویسی هستند. -Depends: بسته به یسته یا بستههای دیگری برای عملکرد صحیح نیاز دارد. ممکن است به نسخه خاصی از یک برنامه دیگر نیاز داشته باشد. این نوع وابستگی معمولا در مورد فایلهای کتابخانهای رواج دارد. -Recommends: بسته با یک بسته دیگر بهتر کار خواهد کرد ولی به طور اساسی به آن نیازی ندارد. -Suggests: در بیشتر موارد بسته با بسته دیگری بهتر کار خواهد کرد. -Conflicts: بسته با یک بسته دیگر کار نخواهد کرد. دو بسته به همراه هم نباید نصب شوند زیرا یکی یا هردوی آنها از کار خواهند افتاد. -Replaces: بسته هنگام نصب بسته یا بستههایی را جایگزین خواهد کرد. تحقیق کنید که در چنین مواردی مشکلی برای سیستمعامل یا سایر برنامهها رخ ندهد. -Provides: بسته حاوی بسته دیگری است یا حداقل دارای همان کارکرد میباشد. -Predepends: بسته به بسته دیگری برای اجرا نیاز دارد. باید بسته مورد نظر را قبل از نصب این بسته نصب کنید.
فایلهای مدیریت بستههای نرمافزاری فایلهای مهم مدیریت بستههای نرمافزاری عبارتند از: -فایل etc/apt/sources.list : منابع اینترنتی برای استفاده به همراه apt و gnome-apt-pkgset. -فایلvar/state/apt/cdroms.list : لیست درایوهای CD قابل استفاده با apt. -فایل etc/apt/apt.conf : فایل پیکربندی apt. -فایل var/lib/dpkg/available : لیست بستههای موجود روی سیستم. -فایل var/lib/dpkg/status : لیست وضعیت بستههای موجود روی سیستم.
وضعیت بستهها (Package Statuses) هنگامی که از ابزارهای مدیریت بستهها استفاده میکنید، یک بسته نرمافزاری ممکن است دارای وضعیتهای زیر باشد: -Config-Files: تنها فایلهای پیکربندی بسته روی سیستم وجود دارند. -Half-configured: پیکربندی شروع شده ولی ناقص مانده است. -Half-installed: نصب بسته شروع شده ولی ناقص مانده است. -Installed: یسته بازشده، پیکربندی شده و نصب شدهاست. -Not-installed: هیچ بخشی از بسته نصب نشده است. -Unpacked: بسته باز شدهاست، ولی پیکربندی نشده است.
وضعیتهای انتخاب (Selection States) با توجه به اینکه شما مایلید چه کاری با یک بسته انجام دهید، آن بسته میتواند وضعیتهای مختلفی داشته باشد. وضعیت بستهها را میتوانید با استفاده از دستور dpkg مشاهده نمایید: -Install: بسته برای پیکربندی و نصب انتخاب شدهاست. -Deinstall: تمام فایلهای بسته بجز فایلهای پیکربندی آن برای حذف شدن انتخاب شدهاست. -Purge: تمام فایلهای یک بسته و حتی فایلهای پیکربندی آن برای حذف شدن انتخاب شدهاست. -Hold: بر روی نسخه جاری بسته، نوشته نخواهد شد. -Unknown: بسته هنوز باز نشده است.
پرچمهای بستهها (Package Flags) بستهها ممکن است به دو صورت نشانه گذاری شده باشند. برای نمایش پرچم یک بسته میتوانید از دستور dpkg استفاده نمایید: -Hold: هیچکاری با بسته انجام نخواهد شد مگر اینکه گزینه force-hold همراه با apt استفاده شود. -Reinst-required: بسته شکسته شده و نیاز به نصب مجدد دارد. امکان حذف بستته تنها با گزینه force-reinstreq همراه با apt وجود دارد.
نصب و برداشتن بستهها با استفاده از فرمان apt-get ابزار apt-get یا A Package Tool و یا Advanced Package Tool یکی از قدرتمندترین ابزارهای شناخته شده برای بستههای نرمافزاری میباشد. با اینکه هنوز در حال توسعه میباشد، میتواند با یک دستور سیستم شما را از طریق اینترنت بروز کرده و یا در یک حرکت کلیه بستههای نرمافزاری موجود روی سیستم شما را بروز نماید. apt-get را میتوانید از خط فرمان اجرا نمایید و یا در برنامه قدیمی متنی مدیریت بستههای dselect در دبیان، آنرا به عنوان یک منبع انتخاب کنید. ابزار apt-get تنها یک دستور نیست، بلکه خود شامل مجموعهای از دستورات است. به طوری که شما علاوه بر ارسال گزینه به آن، باید دستورات خود را نیز ارسال نمایید. نحوه استفاده از آن بصورت زیر است:
apt-get options command package_name
دستورات عمومی apt-get عبارتند از: -install : این گزینه بسته را دریافت نموده، آنرا باز کرده و روی سیستم نصب میکند. -remove: این گزینه بسته را از روی سیستمتان حذف میکند. توجه داشته باشید که: -هنگام نصب ممکن است از شما سوالاتی پرسیده شود که آنها را باید با کلیدهای y و n جواب دهید. -برخی دستورات را میتوانید بدون وارد کردن نام بسته ارسال نمایید. در این صورت دستور در مورد کل سیستم اعمال خواهد شد. برای مثال دستور upgrade از این دستورات است. ولی سایر دستورات نیاز دارند تا نام بسته را مشخص نمایید. -برخی گزینهها را میتوانید همراه دستور ارسال نمایید و یا در فایل etc/apt/apt.conf تنظیم کنید. گزینههایی که در فایلهای پیکربندی وارد میکنید، را میتوانید با قرار دادن گزینه دیگری در خط فرمان بی اثر نمایید.
گزینههای دستور apt-get -b ، --build، --compile: بستههای حاوی کدهای منبع را پس از دریافت کامپایل میکند. d، --download-only-: بسته را دانلود میکند، ولی آنرا باز نخواهد کرد. f، --fix-broken-: وابستگیهای نرمافزاری مورد نیازی را که نصب نشدهاند، نصب میکند. force-yes--: یک عمل را با اعمال زور انجام میدهد. Ignore-hold--: پرچم Hold یک بسته را نادیده خواهد گرفت. m، --ignore-missing، --fix-missing-: بستههایی را که وجود ندارند و یا خراب هستند را نادیده خواهد گرفت. no-download--: از انجام دانلود جلوگیری خواهد نمود. no-upgrade--: از ارتقا بستهها جلوگیری خواهد نمود. u، --show-upgraded-: بستههایی را که ارتقا خواهند یافت، نشان میدهد. y، --yes، --assume-yes-: به تمام سوالات پرسیده شده با بله جواب خواهد داد.
فرامین دستور apt-get autoclean: فایلهای بستههایی را که امکان دانلود آنها دیگر از منابع وجود ندارد را حذف میکند. check: لیست بستهها را بروز کرده و برای وجود بستههای خراب جستجو میکند. clean: لیستهای محلی فایلهای بستههای دریافتی را پاک میکند. dist-upgrade: آخرین نسخههای تمام بستههای نصب شده را بهمراه وابستگیهای نرمافزاری آنها را نصب خواهد نمود. install: بسته مشخص شده را نصب میکند. remove: بسته مشخص شده را حذف میکند. source: کد منبع بسته مشخص شده را پیدا کرده و دانلود میکند. upgrade: آخرین نسخههای تمام بستههای نصب شده روی سیستم را دریافت و نصب خواهد کرد.
ویرایش لیستهای منبع (Source Lists) لیستهای منبع برای استفاده از apt-get ضروری هستند. بدون این لیستها، apt-get کاملا غیر قابل استفاده است. این لیستها مشخص کننده محلهایی هستند که apt-get در آنها به دنبال بستههای نرمافزاری خواهد گشت.
نکته: هنگامی که بستهای را به کمک apt-get نصب میکنید، ورودیهای موجود در لیستهای منبع به ترتیب قرارگیری در فایل لیست، بررسی میشوند.
امکان ویرایش منابع به سه صورت وجود دارد: -apt-setup: یک رابط متنی است که شما را هنگام ویرایش راهنمایی میکند. بسیاری از کاربران این ابزار را کامل میدانند، ولی بیشتر برای کاربران تازه کار مناسب است. -یک ویرایشگر متنی: با استفاده از آن میتوانید فایلهای منبع را بطور مستقیم ویرایش نمایید. بیشتر کاربران دبیان این روش را ترجیح میدهند. -apt-cdrom: یک ابزار مبتنی بر خط فرمان است که بطور خودکار CD های نصب دبیان را در درایو شناسایی کرده و آنها را در صورت نیاز متصل کرده و از حالت اتصال در میآورد.
استفاده از ویرایشگر متنی برای اضافه کردن منبع جدید -ابتدا بصورت کاربر ریشه وارد سیستم شوید. -یک ویرایشگر متنی مانند vi را باز کنید. -فایلهای etc/apt/sources.list و var/lib/apt/cdroms.list را ویرایش نمایید.
اضافه کردن یک دیسک جدید دبیان در لیست منابع دستور apt-cdrom add را تایپ کرده و دیسکهای خود را یک به یک وارد درایو کرده و کلید Enter را فشار دهید. گزینههای این دستور عبارتند از: a- یا through-- : دیسک را به دنبال بستهها اسکن میکند. البته این کار برای همه دیسکها لازم نیست. d- یا cdrom-- : محل اتصال CD-ROM را به دستور اعلام میکند. f- یا fast-- : فایلها را بدون بررسی به کامپیوتر شما کپی میکند. r- یا rename-- : به دیسک یک برچسب تازه اعطا میکند. پس از اینکه دیسکها را اضافه نمودید، از این پس برنامه apt-get میتواند از این دیسکها برای نصب بستههای نرمافزاری استفاده نماید.
مدیریت بستههای نرمافزاری به کمک دستور dpkg دستور dpkg مدیریت عمومی بستهها استفاده میشود. از این دستور میتوان برای نصب بستهها استفاده نمود، ولی قدرت و قابلیتهای آن کمتر از apt-get است. برای کاربران عادی، قدرت واقعی dpkg در دریافت اطلاعات از بستههای نصب شده روی سیستم و جستجو در محتویات آنها است. برای کاربران پیشرفتهتر، این دستور برای ایجاد بستههای دبیان نیز مفید میباشد.
گزینههای دستور dpkg -B یا auto-deconfigure-- : به طور خودکار یک بسته را هنگام حذف پستهای که به آن وابسته است، از حالت پیکربندی خارج مینماید. E- یا skip-same-version--: در صورتی که نسخه مشابه بستهای نصب شده باشد، آنرا نصب نخواهد کرد.
آرگومانهای دستور dpkg auto-select: بستهای را برای نصب یا حذف انتخاب کرده و یا از حالت انتخاب در خواهد آورد. Configure-any: در صورت لزوم، بستههای پیکربندی نشده را که این بسته به آنها نیاز دارد، پیکربندی خواهد کرد. Conflicts: عملیات نصب حتی با وجود تداخل بین بسته در حال نصب با بستههای دیگر انجام خواهد شد. depends: در مورد اشکالات وابستگیهای نرمافزاری هشدار خواهد داد ولی عملیات را متوقف نخواهد کرد. depends-version: در مورد اشکالات نسخههای نرمافزار هشدار خواهد داد. downgrade: عملیات نصب را حتی در صورتی که بسته جدیدتری نصب شده باشد، انجام خواهد داد. hold: بسته را با یک پرچم hold پردازش خواهد نمود. overwrite: فایلی را از یک بسته بر روی فایل دیگری متعلق به بسته دیگر خواهد نوشت. remove-reinstreq: بستههای شکسته (بستههایی که نصب آنها با شکست مواجه شده است) را حذف خواهد نمود.
عملیات دستور dpkg A- یا record-avail--: اطلاعات بسته روی سیستم شما را بروز خواهد نمود. C- یا audit--: سیستم را برای بستههای کامل نصب نشده جستجو خواهد کرد. c package یا control package-- : فایلهای موجود در یک بسته دبیان را نمایش خواهد داد. بجای package نام بسته قرار خواهد گرفت. configure package-- : یک بسته بازنشده را پیکربندی میکند. بجای package نام بسته و نه نام فایل بسته قرار خواهد گرفت. get-selection string--: بستههای انتخاب شده را نمایش میدهد. در صورتی که بجای string چیزی قرار نگیرد، تمام بستههای انتخاب شده نمایش داده خواهند شد. X package dicrectory- یا extract package directory-- : فایلهای یک بسته را در یک دایرکتوری باز خواهد نمود. i package- یا install package-- : این گزینه بستهای را که مشخص شدهاست، نصب خواهد نمود. l string- یا list string-- : وضعیت بستههایی را که در string ذکر شدهاند را چاپ میکند. L package- یا listfiles package-- : فایلهای موجود در یک بسته را لیست خواهد نمود. print-avail package-- : اطلاعات مربوط به بسته مشخص شده را روی صفحه چاپ خواهد نمود. purge package-- : بسته مشخص شده را حذف مینماید و فایلهای پیکربندی آن را نیز پاک میکند. r package- یا remove package-- : بسته مشخص شده را حذف مینماید. S filename- یا search filename-- : بستههای نصب شده را به دنبال یک فایل خاص جستجو مینماید. s package- یا status package--: وضعیت بسته مشخص شده را نمایش خواهد داد.
مثالهای عملی در این بخش مقاله آموزشی سیستم مدیریت بستههای دبیان را با چند مثال عملی کامل خواهیم نمود. در قدم نخست، پیش از آنکه بخواهید دستور apt-get را بکار گیرید، بد نیست وضعیت منابع خود را بررسی نمایید. برای این کار کافی است که با استفاده از یک ویرایشگر متنی، فایل etc/apt/sources.list را در حالتی که بصورت کاربر ریشه در سیستم هستید، باز کنید:
# vi /etc/spt/sources.list
در صورتی که اتصال شما به اینترنت ضعیف است (مانند اتصال مودم) میتوانید تمام خطوطی را که بستهها را از منابع اینترنتی منتقل خواهند نمود، بصورت Comment مشخص نمایید. (با قرار دادن علامت # در جلوی هر خط). آنها را حذف نکنید. ممکن است بعدا به آنها نیاز پیدا کنید. سپس بررسی نمایید که آیا خطوطی که با deb cdrom شروع میشوند در فایل وجود دارند یا خیر؟ در صورتی که وجود دارد و تمام CD های موجود شما را پوشش داده است، این به این معنی است که شما نیازی به اضافه کردن CD ندارید. در غیر این صورت، تغییرات را ذخیره نموده و از vi خارج شوید. اکنون باید CD های خود را به apt معرفی نمایید. برای این کار کافی است برای هر CD دستور زیر را یکبار تایپ و اجرا نمایید:
# apt-cdrom add
با این کار CD ها به برنامه apt اضافه شده و میتوانید با خیال راحت از apt-get استفاده نمایید. در صورتی که پس از این کار فایل sources.list را بررسی نمایید، خواهید دید که خطوط deb cdrom در آن اضافه شدهاند. اکنون چند مثال برای حذف و برداشتن بستهها ذکر میکنم. همانطور که در بالا نیز اشاره شد، برای حذف و اضافه کردن بستهها از دو دستور apt-get و dpkg میتوان استفاده نمود. apt-get را وقتی استفاده میکنیم که بسه مورد نظر در یکی از دیسکها قرار دارد و ما نه محل آنرا میدانیم و نه شماره دیسک را. کافی است با دستور install فرمان نصب آنرا صادر نماییم. Apt-get در بانک اطلاعاتی خود جستجو نموده و به ما اعلام خواهد کرد که کدام دیسک را در درایو قرار دهیم:
# apt-get install mysql-server
بزرگترین مزیت apt-get در این است که تمامی فایلها و وابستگیهای نرمافزاری بسته مشخص شده نیز نصب خواهند شدو عملیات نصب بدون مشکل وابستگیها به اتمام خواهد رسید. مثلا دستوری که در مثال بالا ارائه شد، mysql-client، mysql-common و تمام بستههای مورد نیاز را نیز نصب خواهد نمود. دستور dpkg را هنگامی استفاده مینمایید که یک بسته منفرد deb از اینترنت دریافت کردهاید و مایلید آنرا در سیستمتان نصب نمایید:
# dpkg -i php4_4.3.2-i386.deb
برای حذف یک بسته میتوانید دستور زیر را وارد نمایید:
# apt-get remove mysql-server
و یا:
# dpkg -r php4
در صورتی که دیسکهای نسخه جدیدتر بدستتان رسید، میتوانید سیستم دبیان یا مبتنی بر دبیان (مانند لیبرانت یا Knoppix) خود را با استفاده از آن به نسخه جدیدتر ارتقا دهید. برای این کار طبق روال گذشته CD های جدید برا به apt اضافه نموده و دستورات زیر را صادر نمایید:
# apt-get update # apt-get upgrade
سیستمتان به روز خواهد شد! البته در صورتی که یک اتصال قوی به اینترنت دارید، میتوانید با باز کردن اتصالهای موجود در فایل sources.list به اینترنت، عمل ارتقا را مستقیما با استفاده از اینترنت انجام دهید.
منبع : سایت technotux.com |