리눅스/Debian or Ubuntu

우분투(Ubuntu) 패키지 관리 - apt-cache 명령 사용법

씨실과 날실 2020. 5. 16. 09:00



apt-cache 설명

apt-cache는 시스템 상태를 조작하지 않지만  update 명령을 통해 가져온 패키지 메타 데이터에서 각종 유용한 정보를 검색하고 생성하는 기능을 합니다.


apt-cache 명령 구문의 예(synopsis)

SYNOPSIS
       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 명령(commands)

gencaches

gencaches는 APT의 패키지 캐시를 만듭니다. 캐시가 누락되었거나 오래되어 APT의 다른 명령들을 수행하는데 캐시를 재생성할 필요가 있는경우 내부적으로 자동 실행됩니다.

study@study-VirtualBox:~$ sudo apt-cache gencaches
[sudo] study의 암호: 
패키지 목록을 읽는 중입니다... 완료
study@study-VirtualBox:~$ 

showpkg pkg ...

showpkg는 명령줄에 나열된 패키지에 대한 정보를 표시합니다.

나열된 각 패키지의 사용 가능한 버전 및 역방향 종속성과 각 버전의 순방향 종속성이 나열됩니다.

순방향 (정상) 종속성은 해당 패키지가 의존하는 패키지입니다. 역 의존성은 해당 패키지에 의존하는 패키지입니다.

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가 작동하려면 libc5 및 ncurses3.0을 설치해야합니다.
반대로 libreadlineg2 및 libreadline2-altdev는 libreadline2에 의존합니다.
libreadline2가 설치된 경우 libc5 및 ncurses3.0 (및 ldso)도 설치해야합니다. libreadlineg2 및 libreadline2-altdev를 설치할 필요는 없습니다.


study@study-VirtualBox:~$ apt-cache showpkg mc
Package: mc
Versions: 
3:4.8.24-2ubuntu1 (/var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_focal_universe_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_focal_universe_binary-amd64_Packages
                  MD5: 252a5c5aeeb7425db45357d4ab8aa55f
 Description Language: en
                 File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_focal_universe_i18n_Translation-en
                  MD5: 252a5c5aeeb7425db45357d4ab8aa55f


Reverse Depends: 
  mc-data,mc 3:4.8.1
  x2gothinclient-chroot,mc
  mc-data,mc 3:4.8.1
  findutils,mc 3:4.8.11-1
  junior-system,mc
  forensics-extra,mc
  debmake,mc
  debian-reference-common,mc
  afterstep,mc
  findutils:i386,mc 3:4.8.11-1
Dependencies: 
3:4.8.24-2ubuntu1 - libc6 (2 2.15) libext2fs2 (2 1.37) libglib2.0-0 (2 2.59.2) libgpm2 (2 1.20.7) libslang2 (2 2.2.4) libssh2-1 (2 1.2.8) mc-data (5 3:4.8.24-2ubuntu1) mime-support (0 (null)) perl (0 (null)) unzip (0 (null)) arj (0 (null)) bzip2 (0 (null)) catdvi (16 (null)) texlive-binaries (0 (null)) dbview (0 (null)) djvulibre-bin (0 (null)) epub-utils (0 (null)) file (0 (null)) genisoimage (0 (null)) gv (0 (null)) imagemagick (0 (null)) libaspell-dev (0 (null)) links (16 (null)) w3m (16 (null)) lynx (0 (null)) odt2txt (0 (null)) poppler-utils (0 (null)) python (0 (null)) python-boto (0 (null)) python-tz (0 (null)) xpdf (16 (null)) pdf-viewer (0 (null)) zip (0 (null)) 
Provides: 
3:4.8.24-2ubuntu1 - mcedit (= ) 
Reverse Provides: 
study@study-VirtualBox:~$ 

stats

stats는 캐시에 대한 일부 통계를 표시합니다.

study@study-VirtualBox:~$ apt-cache stats
전체 패키지 이름 : 98721 (2,764 k)
전체 패키지 구조: 95616 (4,207 k)
  일반 패키지: 62862
  순수 가상 패키지: 1180
  단일 가상 패키지: 17676
  혼합 가상 패키지: 2268
  빠짐: 11630
개별 버전 전체: 65432 (5,758 k)
개별 설명 전체: 134067 (3,218 k)
전체 의존성: 423320/130449 (10.6 M)
전체 버전/파일 관계: 31336 (752 k)
전체 설명/파일 관계: 2995 (71.9 k)
전체 제공 매핑: 25300 (607 k)
전체 패턴 문자열: 187097 (4,291 k)
전체 빈 용량: 99.7 k
차지하는 전체 용량: 32.7 M
Total buckets in PkgHashTable: 50503
  Unused: 8751
  Used: 41752
  Utilization: 82.6723%
  Average entries: 2.29009
  Longest: 59
  Shortest: 1
Total buckets in GrpHashTable: 50503
  Unused: 7085
  Used: 43418
  Utilization: 85.9711%
  Average entries: 2.27373
  Longest: 10
  Shortest: 1
study@study-VirtualBox:~$ 

showsrc pkg ...

showsrc는 주어진 패키지 이름과 일치하는 모든 소스 패키지 레코드를 표시합니다. 이름을 이진 패키지로 선언하는 모든 레코드뿐만 아니라 모든 버전이 표시됩니다.

study@study-VirtualBox:~$ apt-cache showsrc mc
Package: mc
Format: 3.0 (quilt)
Binary: mc, mc-data
Architecture: any all
Version: 3:4.8.24-2ubuntu1
Priority: optional
Section: universe/utils
Maintainer: Dmitry Smirnov 
Uploaders: Yury V. Zaytsev  ,Andreas Tille  ,Denis Briand 
Standards-Version: 4.5.0
Build-Depends: debhelper-compat (= 12), autopoint, intltool, bison, check, e2fslibs-dev, gettext, libaspell-dev, libglib2.0-dev, libgpm-dev [linux-any], libslang2-dev, libssh2-1-dev, libx11-dev, unzip
Homepage: https://www.midnight-commander.org
Vcs-Browser: https://salsa.debian.org/debian/mc
Vcs-Git: https://salsa.debian.org/debian/mc.git
Directory: pool/universe/m/mc
Package-List:
 mc deb utils optional arch=any
 mc-data deb utils optional arch=all
Files:
 49fd0f3bafef2d9715af3aa0160d4dea 2131 mc_4.8.24-2ubuntu1.dsc
 3a11df2dd379dd67c497c8d2c344715c 2434988 mc_4.8.24.orig.tar.xz
 66ada892ef1489c1d403e106ede7a455 48656 mc_4.8.24-2ubuntu1.debian.tar.xz
Checksums-Sha1:
 fb5e148fb79a25d144d7a5ba9a4fc04d4cc4d7c4 2131 mc_4.8.24-2ubuntu1.dsc
 b6513fcbd88f480733373eac4ea294e42dc41b6d 2434988 mc_4.8.24.orig.tar.xz
 4ec6c709523a8f86edc333ae88ed52a8112fee0e 48656 mc_4.8.24-2ubuntu1.debian.tar.xz
Checksums-Sha256:
 e07134e83f478d62c316b628d83a60ccb1b8b5ec84018309e06321bbc7469343 2131 mc_4.8.24-2ubuntu1.dsc
 859f1cc070450bf6eb4d319ffcb6a5ac29deb0ac0d81559fb2e71242b1176d46 2434988 mc_4.8.24.orig.tar.xz
 4a83c52fe26fe0ccaef9e578e59e78465b65f75171be6134fa453cb5288c9222 48656 mc_4.8.24-2ubuntu1.debian.tar.xz

study@study-VirtualBox:~$ 
소스 패키지 이름만 표시하려면 --only-source 옵션을 사용하시면됩니다.


dump

dump는 캐시에 있는 모든 패키지의 간단한 목록을 보여줍니다. 주로 디버깅용입니다.

study@study-VirtualBox:~$ apt-cache dump | less


Using Versioning System: Standard .deb
Package: libdatrie-doc
 Version: 0.2.12-3
     File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_focal_main_bina
ry-amd64_Packages
  Depends: libjs-jquery (null)
  Depends: www-browser (null)
 Description Language: 
                 File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_foc
al_main_binary-amd64_Packages
                  MD5: 3c4cf47e143e5cda7e76fc0d96a20eb5
 Description Language: en
                 File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_foc
al_main_i18n_Translation-en
                  MD5: 3c4cf47e143e5cda7e76fc0d96a20eb5
Package: libdatrie-doc:i386
Package: libfstrcmp0-dbg
 Version: 0.7.D001-1.1build1
     File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_focal_universe_
binary-amd64_Packages
  Depends: libfstrcmp0 0.7.D001-1.1build1
 Description Language: 
                 File: /var/lib/apt/lists/kr.archive.ubuntu.com_ubuntu_dists_foc
:

dumpavail

dumpavail은 stdout에 사용 가능한 목록을 출력합니다. 이는 dpkg (1)와 함께 사용하기에 적합하며 dselect (1) 방법으로 사용됩니다.

stdout는 표준출력을 의미하며 따로 설정하지 않는다면 stdout은 모니터입니다.


study@study-VirtualBox:~$ study@study-VirtualBox:~$ apt-cache dumpavail | less

Package: accountsservice
Architecture: amd64
Version: 0.6.55-0ubuntu11
Priority: standard
Section: gnome
Origin: Ubuntu
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian freedesktop.org maintainers 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 452
Depends: dbus, libaccountsservice0 (= 0.6.55-0ubuntu11), libc6 (>= 2.4), libglib2.0-0 (>= 2.44), libpolkit-gobject-1-0 (>= 0.99)
Suggests: gnome-control-center
Filename: pool/main/a/accountsservice/accountsservice_0.6.55-0ubuntu11_amd64.deb
Size: 60940
MD5sum: 87a0e27c83950d864d901ceca0f2b49c
SHA1: ce92ea3783ca4ca6cdb5115381379f9c1317566b
SHA256: e34884d71bb98002bf0c775479aa31ee5011ded1abf969ffe6496874de499f42
Homepage: https://www.freedesktop.org/wiki/Software/AccountsService/
Description: query and manipulate user account information
Task: standard
Description-md5: 8aeed0a03c7cd494f0c4b8d977483d7e
:

unmet

unmet은 패키지 캐시의 모든 충족되지 않은 종속성에 대한 요약을 표시합니다.

study@study-VirtualBox:~$ study@study-VirtualBox:~$ apt-cache unmet | less



multimedia-recording 패키지의 0.8ubuntu1 버전의 의존성이 맞지 않습니다:
 제안: ardour3
 제안: beast
 제안: composite
 제안: jack-mixer
 제안: jack-oscrolloscope
 제안: jokosher
 제안: mp4v2-utils
 제안: non-mixer
 제안: rezound
simgrid-java 패키지의 3.24+dfsg-3 버전의 의존성이 맞지 않습니다:
 제안: java-virtual-machine
python3-nose-parameterized 패키지의 0.3.4-5 버전의 의존성이 맞지 않습니다:
 제안: python-nose-parameterized-doc
libpam0g:i386 패키지의 1.3.1-5ubuntu4 버전의 의존성이 맞지 않습니다:
 제안: libpam-doc:i386
gtranslator 패키지의 3.36.0-1 버전의 의존성이 맞지 않습니다:
 제안: libpeas-1.0-python2loader
nslint 패키지의 3.0a2-1.1build1 버전의 의존성이 맞지 않습니다:
 제안: bind
multimedia-audio-plugins 패키지의 0.8ubuntu1 버전의 의존성이 맞지 않습니다:
 추천: avw.lv2
 추천: nekobee
:
추천: zynadd
 제안: camomile
 제안: csound-doc
 제안: ingen
 제안: jcgui
 제안: ll-scope
 제안: lv2fil
 제안: sineshaper
 제안: slv2-doc
 제안: slv2-jack
 제안: vst3sdk
 제안: zynjacku
multimedia-ladi 패키지의 0.8ubuntu1 버전의 의존성이 맞지 않습니다:
 추천: ladish
 제안: laditools
dynamips 패키지의 0.2.14-1build1 버전의 의존성이 맞지 않습니다:
 제안: gns3
g++-9-multilib-mipsisa32r6el-linux-gnu 패키지의 9.3.0-10ubuntu1cross1 버전의 의
존성이 맞지 않습니다:
 제안: lib64stdc++6-9-dbg-mipsr6el-cross (>= 9.3.0-10ubuntu1cross1)
 제안: libn32stdc++6-9-dbg-mipsr6el-cross (>= 9.3.0-10ubuntu1cross1)
debian-goodies 패키지의 0.84 버전의 의존성이 맞지 않습니다:
 제안: libgnome2-bin
:

show pkg...

show는 dpkg --print-avail와 비슷한 기능을 수행합니다. 지정된 패키지의 패키지 레코드를 표시합니다.

tudy@study-VirtualBox:~$ apt-cache show mc
Package: mc
Architecture: amd64
Version: 3:4.8.24-2ubuntu1
Priority: optional
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers 
Original-Maintainer: Dmitry Smirnov 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1466
Provides: mcedit
Depends: libc6 (>= 2.15), libext2fs2 (>= 1.37), libglib2.0-0 (>= 2.59.2), libgpm2 (>= 1.20.7), libslang2 (>= 2.2.4), libssh2-1 (>= 1.2.8), mc-data (= 3:4.8.24-2ubuntu1)
Recommends: mime-support, perl, unzip
Suggests: arj, bzip2, catdvi | texlive-binaries, dbview, djvulibre-bin, epub-utils, file, genisoimage, gv, imagemagick, libaspell-dev, links | w3m | lynx, odt2txt, poppler-utils, python, python-boto, python-tz, xpdf | pdf-viewer, zip
Filename: pool/universe/m/mc/mc_4.8.24-2ubuntu1_amd64.deb
Size: 477304
MD5sum: be6dd72ead48d029d466c970fd1a2036
SHA1: 49ceeb5d0c353b63828f1fbcd63c127eaa02a7ad
SHA256: b6304901da46cd653f063fb84f96dfcbae0fed5dd768a0c528117b7170e3f106
Homepage: https://www.midnight-commander.org
Description-en: Midnight Commander - a powerful file manager
 GNU Midnight Commander is a text-mode full-screen file manager. It
 uses a two panel interface and a subshell for command execution. It
 includes an internal editor with syntax highlighting and an internal
 viewer with support for binary files. Also included is Virtual
 Filesystem (VFS), that allows files on remote systems (e.g. FTP, SSH
 servers) and files inside archives to be manipulated like real files.
Description-md5: 252a5c5aeeb7425db45357d4ab8aa55f

study@study-VirtualBox:~$ 

search regex...

search는 뒤이어 주어진 POSIX 정규식 패턴을 조건으로 삼아 사용 가능한 모든 패키지 목록에서 전체 텍스트 검색을 수행하여 조건을 충족하는 패키지를 찾아 패키지 이름과 설명을 출력합니다..(regex (7) 참조).

study@study-VirtualBox:~$ apt-cache search ^mc | less

--full 옵션을 사용하면 일치하는 각 패키지에 대해 show와 동일한 내용이 출력됩니다.

--names-only 옵션을 사용하면 정규식 조건을 패키지 이름에만 적용하여 검색하고 패키지 설명 내용은 검색 대상이 아닙니다.

study@study-VirtualBox:~$ apt-cache --names-only search ^mc | less


mcl - 마르코프 클러스터 알고리즘
mcron - 규칙적인 시간에 작업을 실행하기 위한 Guile 기반 프로그램
mcstrans - SELinux core policy utilities (mcstrans utilities)
mc - Midnight Commander - a powerful file manager
mc-data - Midnight Commander - a powerful file manager -- data files
mcabber - small Jabber (XMPP) console client
mccs - multi-critera CUDF solver
mce-dev - development files for mce
mce-doc - Documentation files for mce D-Bus API
mcl-doc - documentation for mcl
mcollective - Marionette Collective clustering framework - server
mcollective-client - Marionette Collective clustering framework - clients
mcollective-common - Marionette Collective clustering framework - common files
mcollective-doc - Marionette Collective clustering framework - documentation
mcollective-plugins-centralrpclog - mcollective plugin for central rpc log management
mcollective-plugins-facts-facter - mcollective plugin for collecting facts via facter
mcollective-plugins-filemgr - mcollective plugin for file management
mcollective-plugins-iptables - mcollective plugin for iptables
mcollective-plugins-logstash - mcollective plugin for log stashing
mcollective-plugins-nettest - mcollective plugin for nettest
mcollective-plugins-nrpe - mcollective plugin for nagios nrpe
:
별도의 인수를 사용하여 함께 여러 검색 패턴을 지정할 수 있습니다.


depends pkg...

depend는 패키지가 갖는 각 종속성 및 해당 종속성을 충족시킬 수있는 가능한 모든 다른 패키지의 목록을 보여줍니다.

study@study-VirtualBox:~$ apt-cache depends mc
mc
  의존: libc6
  의존: libext2fs2
  의존: libglib2.0-0
  의존: libgpm2
  의존: libslang2
  의존: libssh2-1
  의존: mc-data
  추천: mime-support
  추천: perl
  추천: unzip
    unzip:i386
  제안: arj
  제안: bzip2
    bzip2:i386
 |제안: catdvi
  제안: texlive-binaries
    texlive-binaries:i386
  제안: dbview
  제안: djvulibre-bin
    djvulibre-bin:i386
  제안: epub-utils
  제안: file
    file:i386
  제안: genisoimage
  제안: gv
  제안: imagemagick
    graphicsmagick-imagemagick-compat
    imagemagick:i386
    imagemagick-6.q16:i386
    imagemagick-6.q16
  제안: libaspell-dev
 |제안: links
 |제안: w3m
    w3m:i386
  제안: lynx
    lynx:i386
  제안: odt2txt
  제안: poppler-utils
    poppler-utils:i386
  제안: 
    python-is-python2
  제안: 
  제안: python-tz
 |제안: 
  제안: 
    okular
    atril
    evince
    gv
    mupdf
    qpdfview
    viewpdf.app
    zathura-pdf-poppler
  제안: zip
    zip:i386
study@study-VirtualBox:~$ 


rdepends pkg...

rdepends는 패키지가 가지고있는 각각의 역 종속성 목록을 보여줍니다.

study@study-VirtualBox:~$ apt-cache rdepends mc
mc
Reverse Depends:
  mc-data
  x2gothinclient-chroot
  mc-data
  findutils
  junior-system
  forensics-extra
  debmake
  debian-reference-common
  afterstep
study@study-VirtualBox:~$ 


종속성(의존성)과 역종속성(역의존성)

종속성

해당 패키지가 의존하는 패키지입니다. 즉 해당 패키지를 사용하기 위해 충족되어야 하는 패키지를 뜻합니다.

역종속성

해당 패키지에 의존하는 패키지입니다. 즉, 해당 패키지를 필수 조건으로 하는 패키지를 뜻합니다.


pkgnames [prefix]

APT가 알고 있는 각 패키지의 이름을 출력합니다. 추가되는 인수는 이름 목록을 필터링하기 위한 접두사입니다.

이 명령은 --generate 옵션과 함께 사용하는 것을 권장합니다.

APT가 알고있는 패키지에  다운로드, 설치 또는 설치에 반드시 필요한 것들에 국한된 것은 어닙니다. 가상 패키지도 생성된 목록에 나열됩니다.


dotty pkg...

dotty는 지정한 패키지들 각각의 모든 종속성 관계를 출력합니다.

GraphViz [1] 패키지에서 dotty가 사용하기에 적합한 출력을 생성합니다.

결과는 패키지 간의 관계를 나타내는 노드 및 에지 세트입니다.

이것은 매우 큰 그래프를 생성 할 수 있습니다. 명령 행에 나열된 패키지로만 출력을 제한하려면 APT :: Cache :: GivenOnly 옵션을 설정하십시오.

결과 노드는 여러 가지 모양을 갖습니다.

일반 패키지는 상자,

순수 가상 패키지는 삼각형,

혼합 가상 패키지는 다이아몬드,

누락 된 패키지는 육각형입니다.

주황색 상자는 재귀가 중지되었음을 의미하며 (leaf 패키지)

파란색 선은 사전 종속적이며

녹색 선은 충돌합니다.


GraphViz 패키지 설치

study@study-VirtualBox:~$ sudo apt install graphviz
[sudo] study의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  libann0 libcdt5 libcgraph6 libgts-0.7-5 libgts-bin libgvc6 libgvpr2
  liblab-gamut1 libpathplan4
제안하는 패키지:
  gsfonts graphviz-doc
다음 새 패키지를 설치할 것입니다:
  graphviz libann0 libcdt5 libcgraph6 libgts-0.7-5 libgts-bin libgvc6
  libgvpr2 liblab-gamut1 libpathplan4
0개 업그레이드, 10개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
1,880 k바이트 아카이브를 받아야 합니다.
이 작업 후 9,205 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libann0 amd64 1.1.2+doc-7build1 [26.0 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libcdt5 amd64 2.42.2-3build2 [18.7 kB]
받기:3 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libcgraph6 amd64 2.42.2-3build2 [41.3 kB]
받기:4 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libgts-0.7-5 amd64 0.7.6+darcs121130-4 [150 kB]
받기:5 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libpathplan4 amd64 2.42.2-3build2 [21.9 kB]
받기:6 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libgvc6 amd64 2.42.2-3build2 [647 kB]
받기:7 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libgvpr2 amd64 2.42.2-3build2 [167 kB]
받기:8 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 liblab-gamut1 amd64 2.42.2-3build2 [177 kB]
받기:9 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 graphviz amd64 2.42.2-3build2 [590 kB]
받기:10 http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 libgts-bin amd64 0.7.6+darcs121130-4 [41.3 kB]
내려받기 1,880 k바이트, 소요시간 12초 (160 k바이트/초)                        
Selecting previously unselected package libann0.
(데이터베이스 읽는중 ...현재 188603개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../0-libann0_1.1.2+doc-7build1_amd64.deb ...
Unpacking libann0 (1.1.2+doc-7build1) ...
Selecting previously unselected package libcdt5:amd64.
Preparing to unpack .../1-libcdt5_2.42.2-3build2_amd64.deb ...
Unpacking libcdt5:amd64 (2.42.2-3build2) ...
Selecting previously unselected package libcgraph6:amd64.
Preparing to unpack .../2-libcgraph6_2.42.2-3build2_amd64.deb ...
Unpacking libcgraph6:amd64 (2.42.2-3build2) ...
Selecting previously unselected package libgts-0.7-5:amd64.
Preparing to unpack .../3-libgts-0.7-5_0.7.6+darcs121130-4_amd64.deb ...
Unpacking libgts-0.7-5:amd64 (0.7.6+darcs121130-4) ...
Selecting previously unselected package libpathplan4:amd64.
Preparing to unpack .../4-libpathplan4_2.42.2-3build2_amd64.deb ...
Unpacking libpathplan4:amd64 (2.42.2-3build2) ...
Selecting previously unselected package libgvc6.
Preparing to unpack .../5-libgvc6_2.42.2-3build2_amd64.deb ...
Unpacking libgvc6 (2.42.2-3build2) ...
Selecting previously unselected package libgvpr2:amd64.
Preparing to unpack .../6-libgvpr2_2.42.2-3build2_amd64.deb ...
Unpacking libgvpr2:amd64 (2.42.2-3build2) ...
Selecting previously unselected package liblab-gamut1:amd64.
Preparing to unpack .../7-liblab-gamut1_2.42.2-3build2_amd64.deb ...
Unpacking liblab-gamut1:amd64 (2.42.2-3build2) ...
Selecting previously unselected package graphviz.
Preparing to unpack .../8-graphviz_2.42.2-3build2_amd64.deb ...
Unpacking graphviz (2.42.2-3build2) ...
Selecting previously unselected package libgts-bin.
Preparing to unpack .../9-libgts-bin_0.7.6+darcs121130-4_amd64.deb ...
Unpacking libgts-bin (0.7.6+darcs121130-4) ...
liblab-gamut1:amd64 (2.42.2-3build2) 설정하는 중입니다 ...
libgts-0.7-5:amd64 (0.7.6+darcs121130-4) 설정하는 중입니다 ...
libpathplan4:amd64 (2.42.2-3build2) 설정하는 중입니다 ...
libann0 (1.1.2+doc-7build1) 설정하는 중입니다 ...
libcdt5:amd64 (2.42.2-3build2) 설정하는 중입니다 ...
libcgraph6:amd64 (2.42.2-3build2) 설정하는 중입니다 ...
libgts-bin (0.7.6+darcs121130-4) 설정하는 중입니다 ...
libgvc6 (2.42.2-3build2) 설정하는 중입니다 ...
libgvpr2:amd64 (2.42.2-3build2) 설정하는 중입니다 ...
graphviz (2.42.2-3build2) 설정하는 중입니다 ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
study@study-VirtualBox:~$ 


그래프 문서 생성

study@study-VirtualBox:~$ apt-cache dotty mc > mc-dependency-graph.dot


study@study-VirtualBox:~$ dot -Tpng mc-dependency-graph.dot

study@study-VirtualBox:~$ dot -Tpng mc-dependency-graph.dot
세그멘테이션 오류 (core dumped)
study@study-VirtualBox:~$ 

xvcg pkg ...

dotty와 동일한 기능을 합니다.

The same as dotty, only for xvcg from the VCG tool[2].

study@study-VirtualBox:~$ apt-cache xvcg mc | less


graph: { title: "packages"
xmax: 700 ymax: 700 x: 30 y: 30
layout_downfactor: 8
edge: { sourcename: "mc" targetname: "libc6" class: 2 }
edge: { sourcename: "mc" targetname: "libext2fs2" class: 2 }
edge: { sourcename: "mc" targetname: "libglib2.0-0" class: 2 }
edge: { sourcename: "mc" targetname: "libgpm2" class: 2 }
edge: { sourcename: "mc" targetname: "libslang2" class: 2 }
edge: { sourcename: "mc" targetname: "libssh2-1" class: 2 }
edge: { sourcename: "mc" targetname: "mc-data" class: 2 }
edge: { sourcename: "libc6" targetname: "libgcc-s1" class: 2 }
edge: { sourcename: "libc6" targetname: "libcrypt1" class: 2 }
edge: { sourcename: "libc6" targetname: "openrc" class: 2 label: "conflicts" color: lightgreen }
edge: { sourcename: "libc6" targetname: "hurd" class: 2 label: "breaks" color: lightgreen }
edge: { sourcename: "libc6" targetname: "iraf-fitsutil" class: 2 label: "breaks" color: lightgreen }
edge: { sourcename: "libc6" targetname: "libtirpc1" class: 2 label: "breaks" color: lightgreen }
edge: { sourcename: "libc6" targetname: "locales" class: 2 label: "breaks" color: lightgreen }
edge: { sourcename: "libc6" targetname: "locales-all" class: 2 label: "breaks" c:



policy [pkg ...]

policy는 환경 설정 파일과 관련된 문제를 디버그하는 데 도움이됩니다.

지정한 패키지의 우선 순위 선택에 대한 자세한 정보를 출력한다.

인수 없이 사용되면 소스의 우선순위를 출력합니다.

그렇지 않으면 명명 된 패키지의 우선 순위 선택에 대한 자세한 정보를 인쇄합니다.


madison pkg ...

apt-cache의 madison 명령은 데비안 아카이브 관리 도구인 madison의 출력 형식과 기능의 일부를 모방하여 작동합니다.

study@study-VirtualBox:~$ apt-cache madison mc
        mc | 3:4.8.24-2ubuntu1 | http://kr.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        mc | 3:4.8.24-2ubuntu1 | http://kr.archive.ubuntu.com/ubuntu focal/universe Sources
study@study-VirtualBox:~$ 


사용 가능한 패키지 버전을 표 형식으로 표시합니다.

원본 madison와 달리 APT가 가져온 패키지 목록의 아키텍처에 대한 정보만 표시할 수 있습니다.






apt-cache 옵션 (Options)

모든 명령행 옵션은 구성 파일을 사용하여 설정할 수 있으며, 설명은 설정할 구성 옵션을 나타냅니다. 부울 옵션의 경우 -f-, -no-f, -f=no 또는 다른 변형을 사용하여 구성 파일을 재정의할 수 있습니다.


-p, --pkg-cache

Dir::Cache::pkgcache

패키지 캐시를 저장할 파일을 선택합니다.

패키지 캐시는 모든 작업에서 사용되는 기본 캐시입니다.


-s, --src-cache

Dir::Cache::srcpkgcache

소스 캐시를 저장할 파일을 선택합니다.

소스는 gencache에서만 사용되며 원격 소스의 구문 분석된 버전의 패키지 정보를 저장합니다.

패키지 캐시를 빌드할 때 모든 패키지 파일의 구문 분석을 피하기 위해 소스 캐시가 사용됩니다.


-q, --quiet

quiet

진행 표시를 생략하고 로깅에 적합한 출력을 생성합니다. -qq는 더 많으 정보 생략을 합니다.

-q=#을 사용하여 구성 파일을 대체하여 생략 수준을 설정할 수도 있습니다.


-i, --important

APT::Cache::Important

중요한 종속성만 출력합니다. unmet, depends와 같이 쓰입니다..

종속 및 사전 종속 관계만 프린트됩니다.


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

APT::Cache::ShowDependencyType

기본적으로 종속성(depends) 및 역종속성(rdepends)은 모든 종속성을 인쇄합니다.

생략 가능한 지정 종속성 유형을 플래그로 조정할 수 있습니다.

예 : APT::Cache::ShowRecommends


--implicit

APT::Cache::ShowImplicit

기본적으로 메타 데이터에 명시적으로 기술된 종속성과 역종속성만 출력됩니다.

이 옵션을 사용하면 데이터를 기반으로 암시적으로 추가된 종속성도 표시됩니다.

Conflicts: foo

예 : 이 패키지는 다른 아키텍처의 패키지 foo와 충돌함을 나타냅니다.


-f, --full

APT::Cache::ShowFull

검색할 때 전체 패키지 레코드를 프린트합니다.

-a, --all-versions

APT::Cache::AllVersions

사용 가능한 모든 버전에 대한 전체 기록을 출력합니다.

이것이 기본값입니다.

끄려면 --no-all-versions를 사용하십시오. --no-all-versions를 지정하면 andidate 버전만 표시됩니다 (설치용으로 선택된 버전).

이 옵션은 show 명령에만 적용됩니다.


-g, --generate

APT :: Cache :: Generate

기존의 캐시를 사용하지 않고 패키지 캐시를 재생성합니다. 이것이 기본값입니다. 끄려면 --no-generate를 사용하십시오.


-n, --names-only

APT::Cache::NamesOnly

설명을 제외하고  패키지 이름만 가지고 검색합니다.


--all-names

APT::Cache::AllNames

pkgnames가 가상 패키지 및 누락된 종속성을 포함하여 모든 이름을 출력합니다.


--recurse

APT::Cache::RecurseDepends

언급된 모든 패키지가 출력되도록 종속성과 역종속성을 반복합니다.


-installed

APT::Cache::Installed

의존성 및 역종속성의 출력을 현재 설치된 패키지로 제한합니다.


--with-source filename

APT::Sources::With

지정된 파일을 메타 데이터의 소스로 추가합니다.

여러 파일을 추가하기 위해 반복 할 수 있습니다.

현재 * .deb, * .dsc, * .changes의 소스 및 패키지 파일과 소스 패키지 디렉토리가 지원됩니다.

파일은 내용이 아닌 이름만을 기준으로 일치합니다.

소스와 패키지는 올바른 확장자를 가지는 한 지원하는 모든 형식으로 압축 가능합니다.

하나의 디렉토리에 이러한 파일을 여러 개 저장해야 하는 경우 이름 앞에 마지막 문자로 밑줄 ( "_")을 가지는 접두사를 붙일 수 있습니다

예 : my.example_Packages.xz

이러한 소스는 신뢰할 수있는 것으로 취급됩니다 (apt-secure (8) 참조).


-h, --help

간단한 사용법 요약을 보여줍니다.


-v, --version

프로그램 버전을 보여줍니다.


-c, --config-file

사용할 구성 파일을 지정합니다.

프로그램은 기본 구성 파일을 읽은 다음 이 구성 파일을 읽습니다.

기본 구성 파일을 구문 분석하기 전에 구성 설정을 설정해야하는 경우 APT_CONFIG 환경 변수를 사용하여 파일을 지정하십시오. 구문 정보는 apt.conf (5)를 참조하십시오.


-o, --option

구성 옵션을 설정하십시오. 이것은 임의의 구성 옵션을 설정합니다.

구문은 -o Foo::Bar=bar입니다.

-o 및 --option을 여러 번 사용하여 각기 다른 옵션을 설정할 수 있습니다.