APT-CACHE(8) APT APT-CACHE(8)

apt-cache - پرس‌وجو و جستجو در حافظه پنهان APT

apt-cache [-agipns] [-o=config_string] [-c=config_file] {gencaches | showpkg pkg... | showsrc pkg... | stats | dump | dumpavail | unmet | search regex... | show pkg [{=pkg_version_number | /target_release}]... | depends pkg [{=pkg_version_number | /target_release}]... | rdepends pkg [{=pkg_version_number | /target_release}]... | pkgnames [prefix] | dotty pkg [{=pkg_version_number | /target_release}]... | xvcg pkg [{=pkg_version_number | /target_release}]... | policy [pkg...] | madison pkg... | {-v | --version} | {-h | --help}}

apt-cache عملیات گوناگونی را روی حافظه پنهان بسته‌های APT انجام می‌دهد. apt-cache وضعیت سیستم را تغییر نمی‌دهد، اما عملیاتی را برای جستجو و تولید خروجی‌های کاربردی از فراداده‌های بسته‌ها فراهم می‌کند. این فراداده‌ها از طریق دستور «update» به عنوان مثال توسط apt-get دریافت و به‌روزرسانی می‌شوند، بنابراین اگر از آخرین به‌روزرسانی مدت زیادی گذشته باشد ممکن است قدیمی باشند، اما در عوض apt-cache مستقل از در دسترس بودن مخازن پیکربندی‌شده (مثلاً در حالت آفلاین) کار می‌کند.

مگر اینکه گزینه -h یا --help مشخص شده باشد، یکی از دستورهای زیر باید داده شود.

gencaches

دستور gencaches حافظه پنهان بسته‌های APT را ایجاد می‌کند. این کار در صورت مفقود بودن یا قدیمی بودن حافظه پنهان، به صورت ضمنی توسط تمام دستوراتی که به این حافظه پنهان نیاز دارند انجام می‌شود.

showpkg pkg...

دستور showpkg اطلاعات مربوط به بسته‌های ذکرشده در خط فرمان را نمایش می‌دهد. آرگومان‌های باقی‌مانده نام بسته‌ها هستند. نسخه‌های موجود و وابستگی‌های معکوس هر بسته ذکرشده، و همچنین وابستگی‌های مستقیم برای هر نسخه فهرست می‌شوند. وابستگی‌های مستقیم (معمولی) بسته‌هایی هستند که بسته مورد نظر به آن‌ها وابسته است؛ وابستگی‌های معکوس بسته‌هایی هستند که به بسته مورد نظر وابسته هستند. بنابراین، وابستگی‌های مستقیم باید برای یک بسته برآورده شوند، اما نیازی به برآورده شدن وابستگی‌های معکوس نیست. برای نمونه، apt-cache showpkg libreadline2 خروجی مشابه زیر تولید می‌کند:
Package: libreadline2
Versions: 2.1-12(/var/state/apt/lists/foo_Packages),
Reverse Depends:
  libreadlineg2,libreadline2
  libreadline2-altdev,libreadline2
Dependencies:
2.1-12 - libc5 (2 5.4.0-0) ncurses3.0 (0 (null))
Provides:
2.1-12 -
Reverse Provides:
بدین ترتیب می‌توان مشاهده کرد که بسته libreadline2، نسخه 2.1-12، به libc5 و ncurses3.0 وابسته است که برای کارکرد libreadline2 باید نصب شده باشند. به نوبه خود، libreadlineg2 و libreadline2-altdev به libreadline2 وابسته هستند. اگر libreadline2 نصب باشد، libc5 و ncurses3.0 (و ldso) نیز باید نصب باشند؛ اما نیازی به نصب libreadlineg2 و libreadline2-altdev نیست. برای درک معنای دقیق بخش‌های باقی‌مانده خروجی، بهتر است به کد منبع apt مراجعه کنید.

stats

دستور stats برخی آمارها را درباره حافظه پنهان نمایش می‌دهد. هیچ آرگومان دیگری انتظار نمی‌رود. آمارهای ارائه‌شده عبارتند از:
•تعداد کل نام‌های بسته (Total package names) تعداد نام بسته‌های موجود در حافظه پنهان است.
•بسته‌های عادی (Normal packages) تعداد نام‌های بسته‌های عادی و معمولی است؛ این‌ها بسته‌هایی هستند که تطابق یک‌به‌یک میان نام آن‌ها و نامی که سایر بسته‌ها برای وابستگی‌های خود استفاده می‌کنند وجود دارد. اکثر بسته‌ها در این دسته قرار می‌گیرند.
•بسته‌های کاملاً مجازی (Pure virtual packages) تعداد بسته‌هایی است که فقط به عنوان یک نام بسته مجازی وجود دارند؛ یعنی بسته‌ها صرفاً نام بسته مجازی را «ارائه» (provide) می‌دهند و هیچ بسته‌ای واقعاً از این نام به عنوان نام واقعی خود استفاده نمی‌کند. برای مثال، در سیستم دبیان «mail-transport-agent» یک بسته کاملاً مجازی است؛ چندین بسته «mail-transport-agent» را ارائه می‌دهند، اما هیچ بسته‌ای با نام واقعی «mail-transport-agent» وجود ندارد.
•بسته‌های مجازی منفرد (Single virtual packages) تعداد بسته‌های مجازی است که تنها یک بسته آن بسته مجازی خاص را ارائه می‌دهد. برای نمونه، در سیستم دبیان، «X11-text-viewer» یک بسته مجازی است، اما تنها یک بسته، یعنی xless، بسته «X11-text-viewer» را ارائه می‌دهد.
•بسته‌های مجازی ترکیبی (Mixed virtual packages) تعداد بسته‌هایی است که یا یک بسته مجازی خاص را ارائه می‌دهند یا نام بسته مجازی را به عنوان نام اصلی بسته خود دارند. برای نمونه، در سیستم دبیان «debconf» هم یک بسته واقعی است و هم توسط بسته debconf-tiny ارائه می‌شود.
•مفقود (Missing) تعداد نام‌های بسته‌ای است که در یک وابستگی به آن‌ها ارجاع داده شده اما توسط هیچ بسته‌ای ارائه نشده‌اند. بسته‌های مفقود ممکن است زمانی ظاهر شوند که به توزیع کامل دسترسی وجود ندارد، یا زمانی که یک بسته (واقعی یا مجازی) از توزیع حذف شده باشد. معمولاً از عبارات Conflicts یا Breaks به آن‌ها ارجاع داده می‌شود.
•تعداد کل نسخه‌های متمایز (Total distinct versions) تعداد نسخه‌های بسته موجود در حافظه پنهان است. اگر به بیش از یک توزیع دسترسی وجود داشته باشد (برای مثال stable و unstable)، این مقدار می‌تواند به طور قابل توجهی بیشتر از تعداد کل نام‌های بسته باشد.
•تعداد کل وابستگی‌ها (Total dependencies) تعداد روابط وابستگی است که توسط تمام بسته‌های موجود در حافظه پنهان درخواست شده است.

showsrc pkg...

دستور showsrc تمامی رکوردهای بسته سورس (منبع) را که با نام‌های بسته داده‌شده مطابقت دارند نمایش می‌دهد. تمام نسخه‌ها و همچنین تمام رکوردهایی که اعلام می‌کنند این نام یک بسته دوتایی (باینری) است نمایش داده می‌شوند. از گزینه --only-source برای نمایش صرفاً نام بسته‌های سورس استفاده کنید.

dump

دستور dump فهرستی کوتاه از تمامی بسته‌های موجود در حافظه پنهان را نمایش می‌دهد. این دستور عمدتاً برای اشکال‌زدایی کاربرد دارد.

dumpavail

دستور dumpavail فهرستی از بسته‌های موجود را در خروجی استاندارد چاپ می‌کند. این خروجی برای استفاده همراه با dpkg(1) مناسب بوده و توسط روش dselect(1) به کار می‌رود.

unmet

دستور unmet خلاصه‌ای از تمامی وابستگی‌های برآورده‌نشده در حافظه پنهان بسته‌ها را نمایش می‌دهد.

show pkg...

دستور show عملیاتی مشابه dpkg --print-avail انجام می‌دهد؛ این دستور رکوردهای بسته را برای بسته‌های نام‌برده نمایش می‌دهد.

search regex...

دستور search یک جستجوی متنی کامل در تمام فهرست‌های بسته‌های موجود برای الگوی عبارت باقاعده POSIX داده‌شده انجام می‌دهد؛ به regex(7) مراجعه کنید. این دستور نام‌ها و توضیحات بسته‌ها را برای یافتن موارد منطبق با عبارت باقاعده جستجو می‌کند و نام بسته به همراه توضیحات کوتاه آن، شامل نام‌های بسته‌های مجازی را چاپ می‌کند. اگر گزینه --full مشخص شده باشد، خروجی همانند خروجی دستور show برای هر بسته منطبق تولید می‌شود؛ و اگر گزینه --names-only مشخص شده باشد، توضیحات طولانی جستجو نمی‌شوند و فقط نام بسته و بسته‌های ارائه‌شده جستجو می‌گردند.

می‌توان از آرگومان‌های مجزا برای مشخص کردن چندین الگوی جستجو استفاده کرد که با یکدیگر عطف منطقی (AND) می‌شوند.

depends pkg...

دستور depends فهرستی از تمام وابستگی‌های یک بسته و تمام بسته‌های احتمالی دیگر که می‌توانند آن وابستگی را برآورده کنند نمایش می‌دهد.

rdepends pkg...

دستور rdepends فهرستی از تمام وابستگی‌های معکوس یک بسته را نمایش می‌دهد.

pkgnames [prefix]

این دستور نام تمام بسته‌هایی را که APT می‌شناسد چاپ می‌کند. آرگومان اختیاری یک پیشوند برای فیلتر کردن فهرست نام‌ها است. خروجی برای استفاده در قابلیت تکمیل با کلید Tab در پوسته مناسب است و بسیار سریع تولید می‌شود. این دستور بهتر است همراه با گزینه --generate استفاده شود.

توجه داشته باشید که بسته‌ای که APT آن را می‌شناسد لزوماً برای بارگیری در دسترس، قابل نصب یا نصب‌شده نیست؛ برای مثال بسته‌های مجازی نیز در فهرست تولیدشده قرار می‌گیرند.

dotty pkg...

دستور dotty فهرستی از بسته‌ها را در خط فرمان دریافت کرده و خروجی مناسبی برای استفاده توسط dotty از بسته GraphViz[1] تولید می‌کند. نتیجه مجموعه‌ای از گره‌ها و یال‌ها خواهد بود که روابط بین بسته‌ها را نشان می‌دهند. به صورت پیش‌فرض، بسته‌های داده‌شده تمام بسته‌های وابسته را ردیابی می‌کنند؛ این امر می‌تواند منجر به یک نمودار بسیار بزرگ شود. برای محدود کردن خروجی تنها به بسته‌هایی که در خط فرمان وارد شده‌اند، گزینه APT::Cache::GivenOnly را تنظیم کنید.

گره‌های حاصل دارای چندین شکل هستند: بسته‌های عادی به شکل جعبه، بسته‌های کاملاً مجازی به شکل مثلث، بسته‌های مجازی ترکیبی به شکل لوزی و بسته‌های مفقود به شکل شش‌ضلعی هستند. جعبه‌های نارنجی به معنای متوقف شدن بازگشت هستند (بسته‌های برگ)، خطوط آبی نشان‌دهنده پیش‌وابستگی‌ها (Pre-Depends) و خطوط سبز نشان‌دهنده تداخل‌ها (Conflicts) هستند.

توجه: dotty نمی‌تواند مجموعه‌های بزرگ‌تر بسته‌ها را به تصویر بکشد.

xvcg pkg...

مشابه dotty، اما برای xvcg از ابزار VCG[2].

policy [pkg...]

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

madison pkg...

دستور madison در apt-cache تلاش می‌کند تا فرمت خروجی و زیرمجموعه‌ای از قابلیت‌های ابزار مدیریت آرشیو دبیان، یعنی madison را شبیه‌سازی کند. این دستور نسخه‌های موجود یک بسته را در قالب یک جدول نمایش می‌دهد. بر خلاف madison اصلی، این دستور فقط می‌تواند اطلاعات معماری‌ای را نمایش دهد که APT فهرست بسته‌های آن را دریافت کرده است (APT::Architecture).

تمام گزینه‌های خط فرمان را می‌توان با استفاده از فایل پیکربندی تنظیم کرد؛ توضیحات، گزینه پیکربندی مربوطه را مشخص می‌کنند. برای گزینه‌های بولی (منطقی)، می‌توانید تنظیمات فایل پیکربندی را با استفاده از مواردی مانند -f-، --no-f، -f=no یا چندین شکل مختلف دیگر لغو کنید.

-p, --pkg-cache

فایل مورد نظر برای ذخیره حافظه پنهان بسته‌ها را انتخاب می‌کند. حافظه پنهان بسته‌ها، حافظه پنهان اصلی است که توسط تمام عملیات استفاده می‌شود. مولفه پیکربندی: Dir::Cache::pkgcache.

-s, --src-cache

فایل مورد نظر برای ذخیره حافظه پنهان منابع (سورس) را انتخاب می‌کند. این منبع فقط توسط gencaches استفاده می‌شود و نسخه‌ای تجزیه‌شده از اطلاعات بسته را از منابع راه دور ذخیره می‌کند. هنگام ساخت حافظه پنهان بسته‌ها، از حافظه پنهان منابع برای جلوگیری از تجزیه مجدد تمامی فایل‌های بسته استفاده می‌شود. مولفه پیکربندی: Dir::Cache::srcpkgcache.

-q, --quiet

حالت بی‌صدا؛ خروجی مناسب برای ثبت در گزارش را با حذف نشانگرهای پیشرفت تولید می‌کند. تعداد بیشتر حرف q خروجی را بی‌صداتر می‌کند (حداکثر تا ۲). همچنین می‌توانید از -q=# برای تعیین سطح بی‌صدا بودن استفاده کنید که تنظیمات فایل پیکربندی را لغو می‌کند. مولفه پیکربندی: quiet.

-i, --important

فقط وابستگی‌های مهم را چاپ می‌کند؛ برای استفاده همراه با unmet و depends. باعث می‌شود فقط روابط Depends و Pre-Depends چاپ شوند. مولفه پیکربندی: APT::Cache::Important.

--no-pre-depends, --no-depends, --no-recommends, --no-suggests, --no-conflicts, --no-breaks, --no-replaces, --no-enhances

به صورت پیش‌فرض دستورات depends و rdepends تمامی وابستگی‌ها را چاپ می‌کنند. این رفتار را می‌توان با این گزینه‌ها که نوع وابستگی مشخص‌شده را نادیده می‌گیرند، تغییر داد. مولفه پیکربندی: APT::Cache::ShowDependencyType به عنوان مثال: APT::Cache::ShowRecommends.

--implicit

به طور پیش‌فرض depends و rdepends تنها وابستگی‌هایی را چاپ می‌کنند که به صراحت در فراداده‌ها قید شده‌اند. با این گزینه، وابستگی‌هایی که به صورت ضمنی و بر اساس داده‌های دیده‌شده اضافه می‌شوند نیز نمایش داده خواهند شد. برای نمونه عبارت Conflicts: foo به صورت ضمنی بیان می‌کند که این بسته با بسته «foo» از هر معماری دیگری نیز تداخل دارد. مولفه پیکربندی: APT::Cache::ShowImplicit.

-f, --full

رکوردهای کامل بسته را هنگام جستجو چاپ می‌کند. مولفه پیکربندی: APT::Cache::ShowFull.

-a, --all-versions

رکوردهای کامل را برای تمام نسخه‌های موجود چاپ می‌کند. این حالت پیش‌فرض است؛ برای غیرفعال کردن آن از --no-all-versions استفاده کنید. اگر --no-all-versions مشخص شود، تنها نسخه کاندید (نسخه‌ای که برای نصب انتخاب خواهد شد) نمایش داده می‌شود. این گزینه فقط برای دستور show کاربرد دارد. مولفه پیکربندی: APT::Cache::AllVersions.

-g, --generate

بازسازی خودکار حافظه پنهان بسته‌ها را انجام می‌دهد، به جای استفاده از حافظه پنهان به همان صورتی که هست. این حالت پیش‌فرض است؛ برای خاموش کردن آن، از --no-generate استفاده کنید. مولفه پیکربندی: APT::Cache::Generate.

--names-only, -n

تنها نام بسته و نام بسته‌های ارائه‌شده را جستجو می‌کند، نه توضیحات طولانی را. مولفه پیکربندی: APT::Cache::NamesOnly.

--all-names

باعث می‌شود pkgnames تمام نام‌ها، از جمله بسته‌های مجازی و وابستگی‌های مفقود را چاپ کند. مولفه پیکربندی: APT::Cache::AllNames.

--recurse

دستورات depends و rdepends را بازگشتی می‌کند تا تمامی بسته‌های ذکرشده یک بار چاپ شوند. مولفه پیکربندی: APT::Cache::RecurseDepends.

--installed

خروجی دستورات depends و rdepends را به بسته‌هایی که در حال حاضر نصب هستند محدود می‌کند. مولفه پیکربندی: APT::Cache::Installed.

--with-source filename

فایل داده‌شده را به عنوان یک منبع برای فراداده‌ها اضافه می‌کند. این گزینه را می‌توان برای افزودن چندین فایل تکرار کرد. موارد پشتیبانی‌شده فعلی عبارتند از فایل‌های *.deb، *.dsc، *.changes، Sources و Packages و همچنین دایرکتوری‌های بسته سورس. تطابق فایل‌ها صرفاً بر اساس نام فایل است، نه محتوای آن‌ها!

فایل‌های Sources و Packages می‌توانند به هر فرمتی که apt پشتیبانی می‌کند فشرده شوند، تا زمانی که پسوند صحیح را داشته باشند. اگر لازم است چندین فایل از این دست را در یک دایرکتوری ذخیره کنید، می‌توانید نامی دلخواه را که آخرین نویسه آن یک زیرخط («_») است پیشوند قرار دهید. مثال: my.example_Packages.xz

توجه داشته باشید که این منابع به عنوان منابع قابل اعتماد در نظر گرفته می‌شوند (به apt-secure(8) مراجعه کنید). مولفه پیکربندی: APT::Sources::With.

-h, --help

نمایش خلاصه کوتاهی از نحوه استفاده.

-v, --version

نمایش نسخه برنامه.

--audit

پیام‌های ممیزی (audit) و اعلان (notice) را نمایش می‌دهد. این گزینه حالت quiet را لغو می‌کند، اما فقط برای پیام‌های اعلان، نه پیام‌های پیشرفت.

-c, --config-file

فایل پیکربندی؛ یک فایل پیکربندی را برای استفاده مشخص می‌کند. برنامه فایل پیکربندی پیش‌فرض و سپس این فایل پیکربندی را می‌خواند. اگر تنظیمات پیکربندی باید پیش از تجزیه فایل‌های پیکربندی پیش‌فرض اعمال شوند، فایلی را با متغیر محیطی APT_CONFIG مشخص کنید. برای اطلاعات مربوط به نحو، به apt.conf(5) مراجعه کنید.

-o, --option

تنظیم یک گزینه پیکربندی؛ این یک گزینه دلخواه پیکربندی را تنظیم می‌کند. نحو به صورت -o Foo::Bar=bar است. -o و --option می‌توانند چندین بار برای تنظیم گزینه‌های مختلف استفاده شوند.

--cli-version

یک نسخه خاص CLI را درخواست می‌کند. این الگویی است که یک نسخه به صورت MAJOR.MINOR را می‌پذیرد. می‌توانید نسخه MINOR را حذف کنید، که در این صورت از آخرین نسخه فرعی پشتیبانی‌شده استفاده خواهد شد.

مسیرهای نسخه‌ها به شرح زیر ارائه می‌شوند: نسخه 3.2 نسخه‌های معادل 0.32، 1.22 و 2.12 دارد که ویژگی‌های جدیدی را برای نسخه‌های اصلی مشخص‌شده پیاده‌سازی می‌کنند.

یک حالت خاص الگوی نسخه X.9 است: نسخه‌ای مانند 2.9 با 3.0 دنبال می‌شود، اما 2.10 مستقیماً پس از 2.8 قرار می‌گیرد؛ با توجه به اینکه ما از اعداد نسخه فرد به عنوان سری‌های توسعه استفاده می‌کنیم (2.9 سری توسعه 3.0 است).

این ویژگی در APT 3.1.10 معرفی شده است و جایگزین پیکربندی مختص باینری می‌شود. می‌توانید از APT::Version برای اثر مشابه در باینری‌های قدیمی‌تر استفاده کنید؛ برای مثال از -o APT::Version=2 برای ایجاد رفتاری شبیه به سری 2.x در apt(8) استفاده کنید.

مقدار پیش‌فرض، نسخه فعلی APT برای apt(8) و 0.(10 * major + minor) برای دستورات کلاسیک است. سری 0.X به تدریج منسوخ می‌شود (soft-deprecated) و سایر دستورات در آینده به سری 2.x منتقل خواهند شد.

--no-color, --color

روشن یا خاموش کردن رنگ‌ها. رنگ‌ها به‌طور پیش‌فرض در پایانه‌های پشتیبانی‌شده برای apt(8) روشن هستند و همچنین می‌توان آن‌ها را با استفاده از متغیرهای محیطی NO_COLOR یا APT_NO_COLOR غیرفعال کرد، یا با استفاده از گزینه و حوزه پیکربندی APT::Color بیشتر پیکربندی کرد؛ برای اطلاعات بیشتر به apt.conf(5) مراجعه کنید.

/etc/apt/sources.list

مکان‌های دریافت بسته‌ها. مولفه پیکربندی: Dir::Etc::SourceList.

/etc/apt/sources.list.d/

قطعه‌فایل‌ها برای مکان‌های دریافت بسته‌ها. مولفه پیکربندی: Dir::Etc::SourceParts.

/var/lib/apt/lists/

ناحیه ذخیره‌سازی برای اطلاعات وضعیت هر منبع بسته مشخص‌شده در sources.list(5). مولفه پیکربندی: Dir::State::Lists.

/var/lib/apt/lists/partial/

ناحیه ذخیره‌سازی برای اطلاعات وضعیت در حال انتقال. مولفه پیکربندی: Dir::State::Lists (عبارت partial به صورت ضمنی ضمیمه می‌شود)

apt.conf(5), sources.list(5), apt-get(8), apt-patterns(7)

apt-cache در عملکرد عادی مقدار صفر و در صورت بروز خطا مقدار ده‌دهی ۱۰۰ را بازمی‌گرداند.

صفحه باگ‌های APT[3]. اگر مایل به گزارش باگ در APT هستید، لطفاً /usr/share/doc/debian/bug-reporting.txt یا دستور reportbug(1) را ببینید.

Jason Gunthorpe

تیم APT

1.
GraphViz
2.
ابزار VCG
3.
صفحه باگ‌های APT
14 March 2024 APT 3.3.3