apt-cache jest częścią systemu zarządzania pakietami apt zaprojektowanego dla Debian GNU Linux, apt-cache służy wyłącznie do przeglądania bazy danych dostępnych do instalacji pakietów i jest to jedna pierwszych z rzeczy za które pokochałem pracę z linuksem, dlaczego? wyjaśnię to na pierwszym przykładzie…

wyszukiwanie pakietów do instalacji

apt-cache search %s

Wyszukuje pakiety zawierające poszukiwaną frazę, wyszukiwanie odbywa się po nazwie i pełnym opisie pakietów. Poniżej zamieszczam jeden ze świetnych przykładów na to jak nie znając nazwy programu, mogłem w mniej niż minutę zainstalować i użyć programu do merge-owania i ekstrakcji plików PDF (pdfshuffler)

$ apt-cache search merge pdf
texlive-extra-utils - TeX Live: TeX auxiliary programs
gimp-plugin-registry - repository of optional extensions for GIMP
pct-scanner-scripts - scan and create merged DjVu and PDF documents for archiving
pdfchain - graphical user interface for the PDF Tool Kit
pdfsam - PDF Split and Merge
pdfshuffler - merge, split and re-arrange pages from PDF documents
pdftk - tool for manipulating PDF documents
pdftk-dbg - tool for manipulating PDF documents (debugging symbols)
texlive-latex-extra - TeX Live: LaTeX additional packages

Wyświetlanie szczegółów danego pakietu

apt-cache show %s

Polecenia show używam gdy chcę przeczytać opis paczki przed instalacją, wymagane jest podanie dokładnej nazwy pakietu, w tym celu znakomicie sprawdza się klawisz TAB do autouzupełniania i podpowiadania nazw lub końcówek nazw pakietów.

$apt-cache show cloc
Package: cloc
Priority: optional
Section: universe/devel
Installed-Size: 402
Maintainer: Ubuntu Developers 
Original-Maintainer: Jari Aalto 
Architecture: all
Version: 1.60-1.1
Depends: perl, libregexp-common-perl, libalgorithm-diff-perl
Filename: pool/universe/c/cloc/cloc_1.60-1.1_all.deb
Size: 71260
MD5sum: ec41ba250987d4aa062880a7b6785d70
SHA1: b2bd70f7f8a2704ddf72c73484058a6d341d7d09
SHA256: bdb8c29d6db7444db229637d37fb789249456a6e2fd82ef3a53c738c4514016e
Description-en: statistics utility to count lines of code
 Count physical lines of source code in the given files (may be
 archives such as compressed tarballs or zip files) and/or
 recursively below the given directories.
 .
 Counts blank lines, comment lines, and physical lines of source code
 in many programming languages. It is written entirely in Perl, using
 only modules from the standard distribution.
Description-md5: 46f1c02e62dfd50de10eefa0ee79ac14
Homepage: http://freshmeat.net/projects/cloc
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Przegląd wersji i zależności danego pakietu

apt-cache showpkg %

showpkg wyświetla szczegóły wersji oraz listę zależności, jeśli dany pakiet jest dostępny w repozytoriach w kilku różnych wersjach, to polecenie pokaże je wszystkie.

Package: iftop
Versions: 
1.0~pre4-3 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-amd64_Packages
                  MD5: f7e93593aba6acc7b5a331b49f97466f
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_binary-i386_Packages
                  MD5: f7e93593aba6acc7b5a331b49f97466f
 Description Language: en
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_xenial_universe_i18n_Translation-en
                  MD5: f7e93593aba6acc7b5a331b49f97466f


Reverse Depends: 
  freedombox-setup,iftop
  iftop:i386,iftop
Dependencies: 
1.0~pre4-3 - libc6 (2 2.7) libncurses5 (2 6) libpcap0.8 (2 0.9.8) libtinfo5 (2 6) iftop:i386 (32 (null)) 
Provides: 
1.0~pre4-3 - 
Reverse Provides: 

apt-cache madison %

Ta funkcja to naśladowca Debianowego narzędzia madison, wyświetlająca dostępne wersje pakietu w wersji tabelarycznej, w odróżnieniu od oryginalnego madison’a, apt-cache madison pokazuje tylko pakiety dopasowane do architektury systemu. W miejsce % należy wpisać dokładną nazwę pakietu.

$ apt-cache madison chromium-browser
chromium-browser | 73.0.3683.86-0ubuntu0.16.04.1 | http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
chromium-browser | 73.0.3683.86-0ubuntu0.16.04.1 | http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages
chromium-browser | 49.0.2623.108-0ubuntu1.1233 | http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
chromium-browser | 49.0.2623.108-0ubuntu1.1233 | http://archive.ubuntu.com/ubuntu xenial/universe Sources
chromium-browser | 73.0.3683.86-0ubuntu0.16.04.1 | http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources
chromium-browser | 73.0.3683.86-0ubuntu0.16.04.1 | http://security.ubuntu.com/ubuntu xenial-security/universe Sources
apt-cache rdepends %

rdepends (jak reverse depends) dosłownie pokazuje listę odwrotnej zależności danego pakietu, czyli listę paczek które go wymagają
w miejsce % należy wpisać dokładną nazwę pakietu

Pozostałe polecenia

apt-cache stats

Statystyki pamięci podręcznej apt-cache. Liczba brakujących pakietów (w linii 6) mówi nam o tym ile pakietów nie zostało dostarczonych w dystrybucji (repozytoriach), a które są wymienione w zależnościach. Brakujące pakiety mogą mówić o tym że dana dystrybucja linuksa nie jest kompletna lub pakiety zostały usunięte, zazwyczaj są to odwołania z konfliktów zależności lub tzw. Break statements.

wynik z wysoce eksplorowanego Linux Mint 9 Miętowy Remix (2012)

Liczba nazw pakietów: 40481 (1943k)
  Zwykłych pakietów: 30772
  Czysto wirtualnych pakietów: 785
  Pojedynczych pakietów wirtualnych: 2517
  Mieszanych pakietów wirtualnych: 304
  Brakujących: 6103
W sumie różnych wersji: 35676 (1998k)
W sumie różnych opisów: 39583 (950k)
W sumie zależności: 235924 (6606k)
W sumie zależności wersja/plik: 39323 (629k)
W sumie zależności opis/plik: 39583 (633k)
W sumie mapowań zapewnień: 7655 (153k)
W sumie dopasowanych napisów: 219 (3021)
Sumaryczny rozmiar obszaru zależności od wersji: 1206k
Sumaryczny rozmiar niewykorzystanego miejsca: 79,4k
Całkowity rozmiar: 11,4M

statystyki z Linux Mint 18.3 (2019)

Liczba nazw pakietów: 74954 (1499 k)
Liczba wszystkich typów pakietów: 115493 (5082 k)
  Zwykłych pakietów: 86203
  Czysto wirtualnych pakietów: 2404
  Pojedynczych pakietów wirtualnych: 8848
  Mieszanych pakietów wirtualnych: 2922
  Brakujących: 15116
W sumie różnych wersji: 103589 (8287 k)
W sumie różnych opisów: 171634 (4119 k)
W sumie zależności: 766019/233629 (19,1 M)
W sumie zależności wersja/plik: 17392 (417 k)
W sumie zależności opis/plik: 40562 (973 k)
W sumie mapowań zapewnień: 31766 (762 k)
W sumie dopasowanych napisów: 167064 (3781 k)
Sumaryczny rozmiar niewykorzystanego miejsca: 15,6 k
Całkowity rozmiar: 44,4 M
Total buckets in PkgHashTable: 50503
  Unused: 11426
  Used: 39077
  Utilization: 77.3756%
  Average entries: 2.95552
  Longest: 15
  Shortest: 1
Total buckets in GrpHashTable: 50503
  Unused: 11426
  Used: 39077
  Utilization: 77.3756%
  Average entries: 1.91811
  Longest: 8
  Shortest: 1
apt-cache unmet

unmet pokazuje niespełnione zależności zainstalowanych paczek/programów

apt-cache unmet | nl

pokazanie liczby niespełnionych zależności

apt-cache pkgnames

pkgnames wyświetla listę wszystkich dostępnych paczek w kolejności ich zaczytania (nie jest alfabetyczna)

mniej istotne polecenia:
apt-cache add %s – dodaje paczkę do źródeł apt-cache
apt-cache gencaches %s – buduje pakiet źródłowy i paczkę
apt-cache dump – wyświetla wszystkie zależności (jak apt-cache depends) wszystkich dostępnych w repozytoriach paczek w „czytelnej” formie; uwaga: dużo tekstu ma do wygenerowania
apt-cache dumpavail – wyświetla całą zawartość pliku apt-cache; uwaga: piekielnie dużo tekstu ma do wygenerowania
apt-cache dotty – generuje plik ze źródłem dla graphviz, celem stworzenia grafu z pakietami i ich zależnościami, uwaga: sam plik źródłowy dla języka DOT (graphviz) może zajmować nawet 7 MB, nie polecam generowania grafu z tak dużego pliku.

więcej przykładów:
http://www.ccl.net/cca/software/UNIX/updating-redhat/apt-howto/how-to-use-apt-cache.html