Product SiteDocumentation Site

6.4. رابط‌های کاربری: aptitude و synaptic

APT یک برنامه ++C است که کد اصلی آن در کتابخانه اشتراکی libapt-pkg نگهداری می‌شود. با استفاده از یک کتابخانه اشتراکی می‌توان به راحتی برنامه‌هایی مانند رابط‌های کاربری گرافیکی را ایجاد کرد، چرا که کد داخل کتابخانه به راحتی می‌تواند مورد استفاده قرار گیرد. به لحاظ تاریخی، apt-get تنها به عنوان یک رابط کاربری امتحانی برای libapt-pkg نوشته شده بود اما موفقیت آن خلاف این حقیقت را نشان می‌دهد.

6.4.1. aptitude

aptitude یک برنامه تعاملی است که می‌تواند در محیط نیمه گرافیکی کنسول استفاده شود. شما می‌توانید فهرستی از بسته‌های نصب شده و موجود را جستجو، اطلاعات موجود را بررسی و بسته‌های مورد نیاز خود را نصب یا حذف کنید. برنامه به طور خاص برای استفاده مدیرسیستم‌ها طراحی شده است، به صورتی که رفتار پیش‌فرض به نسبت هوشمندانه‌تری در مقایسه با apt-get داشته و رابط کاربری آن نیز راحت‌تر باشد.
مدیر بسته aptitude

شكل 6.1. مدیر بسته aptitude

زمانی که اجرا می‌شود، aptitude فهرستی از بسته‌ها را متناسب با وضعیت (نصب‌شده، نصب‌نشده، یا نصب‌شده ولی غیرموجود روی سرور اصلی -- سایر قسمت‌ها به نمایش وظایف، بسته‌های مجازی و بسته‌های جدیدی که به تازگی روی سرور اصلی نمایان شده‌اند می‌پردازند) آن‌ها نمایش می‌دهد. برای بهبود وضعیت جستجو، نماهای دیگری نیز وجود دارد. در تمام موارد، aptitude فهرستی را نمایش می‌دهد که شامل بسته‌ها و طبقه‌بندی مربوط به آنان است. طبقه‌بندی‌ها طبق یک ساختار درختی مرتب شده‌اند که شاخه‌های آن می‌توانند با استفاده از کلید Enter، [ و ] باز و بسته شوند. + برای نصب، - برای حذف و _ برای حذف کامل بسته استفاده می‌شوند (نکته اینکه همین عملیات در رابطه با طبقه‌بندی‌ها نیز صورت می‌گیرند، به صورتی که تمام بسته‌های موجود در آن طبقه‌بندی را شامل می‌شوند). u فهرست موجود از بسته‌ها را بروزرسانی کرده در صورتی که Shift+u به بروزرسانی کل سیستم می‌پردازد. g خلاصه وضعیت عملیات پیش‌رو را گزارش می‌دهد در صورتی که فشردن مجدد آن باعث شروع عملیات می‌گردد و q از نمای فعلی خارج می‌شود. اگر در نمای اولیه باشید، فشردن آن منجر به خروج از aptitude می‌شود.
برای جستجوی یک بسته می‌توانید کلید / را فشار دهید و عبارت مورد نظر را وارد کنید. این الگو نام بسته را مد نظر قرار می‌دهد اما می‌تواند شامل توضیحات (اگر همراه با ~d باشد)، یا قسمت آن نیز شود (با ~s) یا به سایر ویژگی‌های موجود در مستندات. همان الگو می‌تواند برای فیلتر کردن بسته‌های نمایش داده شده نیز استفاده گردد: کلید l را فشار دهید (مانند limit) و الگو را وارد کنید.
مدیریت “automatic flag” بسته‌های دبیان ( قسمت 6.2.7, “ردیابی خودکار بسته‌های نصب شده” را مشاهده کنید) در aptitude کار بسیار ساده‌ای است. با مرور بسته‌های نصب شده این امکان وجود دارد که آن‌ها را با استفاده از Shift+m به عنوان بسته خودکار نشانه‌گذاری کرده یا با کلید m این نشانه‌گذاری را حذف کنیم. “بسته‌های خودکار” با حرف “A” نمایش داده می‌شوند. این قابلیت، همچنین روشی ساده را برای بسته‌های نصب شده روی ماشین در نظر می‌گیرد، بدون تمام کتابخانه‌ها و وابستگی‌هایی که به آن‌ها اهمیت نمی‌دهید. الگوی مرتبطی که قبل از این با استفاده از l ممکن بود حال با ترکیب ~i!~M وجود دارد. معنی آن این است که می‌خواهید بسته‌های نصب‌شده‌ای (~i) را ببینید که به عنوان بسته خودکار نشانه‌گذاری نشده‌اند (!~M).

6.4.1.1. مدیریت توصیه‌ها، پیشنهادها و وظایف

ویژگی جالب دیگر از aptitude این است که به توصیه‌های موجود در نصب بسته‌ها احترام گذاشته در صورتی که کاربر را برای نصب این بسته‌ها به صورت مورد به مورد در جریان می‌گذارد. برای نمونه، بسته gnome استفاده از gdebi را توصیه می‌کند، زمانی که اولی را انتخاب می‌کنید دومی نیز به صورت بسته خودکار نشانه‌گذاری و نصب می‌گردد (اگر روی سیستم موجود نباشد). فشردن کلید g این موضوع را روشن می‌کند: gdebi در صفحه عملیات معلق به صورت خلاصه و در فهرست بسته‌های نصب‌شده خودکار که برای رفع وابستگی‌های استفاده می‌شوند، نمایش داده می‌شود. اگرچه، می‌توانید قبل از آغاز عملیات انتخاب کنید که این بسته نصب نگردد.
نکته اینکه قابلیت ردیابی این توصیه‌ها برای عملیات بروزرسانی موجود نیست. برای نمونه، اگر نسخه جدیدی از gnome بسته‌ای را توصیه کند که قبل از این توصیه نشده بود، بسته برای نصب نشانه‌گذاری نخواهد شد. اگرچه، در صفحه بروزرسانی نمایش داده می‌شود تا مدیرسیستم بتواند آن را نصب کند.
پیشنهادات موجود در بسته‌ها نیز به حساب می‌آیند، اما به روشی که متناسب با وضعیت آن‌ها باشد. برای نمونه، از آنجایی که gnome استفاده از dia-gnome را پیشنهاد می‌کند، این بسته در صفحه عملیات معلق نمایش داده می‌شود (در قسمت مربوط به بسته‌های پیشنهادی). با این روش، بسته در دسترس مدیرسیستم خواهد بود تا تصمیم بگیرد که نصب بشود یا خیر. از آنجایی که تنها یک پیشنهاد است و نه یک وابستگی یا توصیه، بسته به صورت خودکار انتخاب نخواهد شد -- انتخاب آن نیازمند دخالت کاربر است (بنابراین، بسته به صورت خودکار نشانه‌گذاری نمی‌گردد).
به شیوه مشابه، به یاد دارید که aptitude از مفهوم وظیفه استفاده هوشمندانه‌ای می‌کند. از آنجایی که وظایف به صورت طبقه‌بندی شده در صفحه بسته‌های موجود نمایش می‌یابند، می‌توانید یک وظیفه کامل را برای نصب یا خذف علامت‌گذاری کرده یا فهرستی از بسته‌های مشخص در یک طبقه‌بندی را انتخاب کنید.

6.4.1.2. الگوریتم‌های بهتر

برای نتیجه‌گیری در این قسمت، یادآوری می‌کنیم که aptitude در مقایسه با apt-get از الگوریتم‌های بهتری برای حل مشکل در شرایط دشوار بهره می‌برد. زمانی که مجموعه دستوراتی انتخاب می‌شوند و این دستورات به ناپایدار شدن سیستم منجر می‌گردند، aptitude سناریوهای مختلفی را در نظر گرفته و آن‌ها را به ترتیب اولویت ارتباط، نمایش می‌دهد. اگرچه، این الگوریتم‌ها هیچگاه کامل نیستند. خوشبختانه این امکان وجود دارد که عملیات مورد نیاز را به صورت دستی فراخوانی کرد. زمانی که این عملیات دستی دچار مشکل گردند، قسمت بالایی صفحه تعدادی از بسته‌های “broken” را نمایش می‌دهد (که می‌توانید با فشار دادن کلید b آن‌ها را مشاهده کنید). در اینجا امکان ایجاد راه حل به صورت دستی برای این بسته‌ها وجود دارد. به طور مشخص، می‌توانید با فشردن کلید Enter بین نسخه‌های مختلف از آن بسته حرکت کنید. اگر انتخاب یکی از این نسخه‌ها مشکل را حل کرد، نباید از آن چشم‌پوشی کنید. زمانی که تعداد بسته‌های “broken” به صفر رسیدند، می‌توانید به صفحه خلاصه وضعیت رفته و عملیات را از سر گیرید.

6.4.2. synaptic

synaptic یک مدیر بسته گرافیکی برای دبیان است که بر اساس رابط گرافیکی +GTK طراحی شده است. تمام فیلترهای مورد استفاده در آن، امکان دسترسی سریع به بسته‌های موجود، نصب‌شده، قابل بروزرسانی، منسوخ‌شده و سایر گزینه‌ها را به کاربر می‌دهد. اگر در میان این فهرست‌ها جستجو کنید، می‌توانید عملیات مربوط به هر بسته را انتخاب کرده (نصب، بروزرسانی، حذف و حذف کامل)؛ این عملیات اما بلافاصله صورت نمی‌پذیرند، اما در یک فهرست وظیفه قرار می‌گیرند. تنها با یک کلیک می‌توان عملیات مورد نظر را تایید و انجام داد.
مدیر بسته synaptic

شكل 6.2. مدیر بسته synaptic