APT 명령으로 설치된 모든 파일을 나열하는 방법

APT 명령으로 설치된 모든 파일을 나열하는 방법

나는 노력했다APT 패키지로 설치된 모든 파일을 나열하는 방법은 무엇입니까?. 그러나 문제는 예를 들면 다음과 같습니다.

실행하면 sudo apt install libvirt-daemon-system하나의 패키지만 설치되지 않습니다(이 경우 libvirt-daemon-system). 또한 아래에 언급된 패키지도 설치합니다.다음과 같은 새 패키지가 설치됩니다.

$ sudo apt install libvirt-daemon-system
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libcacard0 libfdt1 libibverbs1 libiscsi7 libpmem1 librados2 librbd1
  librdmacm1 libslirp0 libspice-server1 libusbredirparser1 libvirglrenderer1 libvirt-clients libvirt-daemon libvirt-daemon-driver-qemu
  libvirt-daemon-driver-storage-rbd libvirt-daemon-system-systemd libvirt0 msr-tools ovmf qemu-block-extra qemu-kvm qemu-system-common
  qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios
Suggested packages:
  libvirt-daemon-driver-lxc libvirt-daemon-driver-vbox libvirt-daemon-driver-xen libvirt-daemon-driver-storage-gluster
  libvirt-daemon-driver-storage-zfs numad auditd nfs-common open-iscsi radvd systemtap zfsutils samba vde2 debootstrap
The following NEW packages will be installed:
  cpu-checker ibverbs-providers ipxe-qemu ipxe-qemu-256k-compat-efi-roms libcacard0 libfdt1 libibverbs1 libiscsi7 libpmem1 librados2 librbd1
  librdmacm1 libslirp0 libspice-server1 libusbredirparser1 libvirglrenderer1 libvirt-clients libvirt-daemon libvirt-daemon-driver-qemu
  libvirt-daemon-driver-storage-rbd libvirt-daemon-system libvirt-daemon-system-systemd libvirt0 msr-tools ovmf qemu-block-extra qemu-kvm
  qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios
0 upgraded, 33 newly installed, 0 to remove and 1 not upgraded.
Need to get 22.4 MB of archives.
After this operation, 93.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]

그래서 전체 사진을 찍으려고 달리진 않았어요dpkg -L libvirt-daemon-system

명령 후에 생성된 모든 파일 목록을 얻는 한 가지 옵션은 apt install다음을 실행하는 것입니다.

dpkg -L libvirt-daemon-system
dpkg -L cpu-checker
dpkg -L ibverbs-providers
dpkg -L ipxe-qemu
....

하지만 내 생각엔 긴 과정이 될 것 같아.

또 다른 옵션은 패키지를 설치한 후 다음 명령을 실행하는 것입니다.

sudo find / -xdev -mtime -5 -type f ! -path '/home/blueray/*' ! -path '/timeshift/*'

명령 후에 생성된 모든 파일 목록을 얻는 더 나은 솔루션이 있습니까 apt install?

답변1

이후에 설치된 패키지 목록을 다음 대상에 제공할 수 있습니다 dpkg -L.

dpkg -L libvirt-daemon-system cpu-checker ibverbs-providers ipxe-qemu \
        ipxe-qemu-256k-compat-efi-roms libcacard0 libfdt1 libibverbs1 \
        libiscsi7 libpmem1 librados2 librbd1 librdmacm1 libslirp0  \
        libspice-server1 libusbredirparser1 libvirglrenderer1 \
        libvirt-clients libvirt-daemon libvirt-daemon-driver-qemu \
        libvirt-daemon-driver-storage-rbd libvirt-daemon-system \
        libvirt-daemon-system-systemd libvirt0 msr-tools ovmf \
        qemu-block-extra qemu-kvm qemu-system-common qemu-system-data \
        qemu-system-gui qemu-system-x86 qemu-utils seabios

대부분의 경우 이는 그리 길지 않습니다(비록결과예, 이 경우에도 마찬가지입니다.)

몇 가지 준비를 하면 패키지에 의해 설치된 모든 파일을 나열할 수 있습니다(유지 관리자 스크립트에 의한 변경 사항 제외). 를 실행하기 전에 apt패키징 시스템에 알려진 모든 파일 목록을 저장하십시오.

sort -u /var/lib/dpkg/info/*.list > files-before

실행한 후 apt다른 파일에 다시 저장하세요.

sort -u /var/lib/dpkg/info/*.list > files-after

그런 다음 두 파일을 비교하여 변경된 내용을 확인할 수 있습니다.예를 들어그리고

comm files-{before,after}

또는

meld files-{before,after}

이는 패키지 업그레이드 중 패키지 삭제 및 파일 삭제에도 적용됩니다. 사용자의 find방법에서는 삭제된 내용을 확인할 수 없습니다.

새(또는 업그레이드된) 패키지로 설치된 파일에만 관심이 있는 경우 최근 수정된 파일 목록을 볼 수 있습니다.엑스분,예를 들어10:

find /var/lib/dpkg/info -name \*.list -mmin -10 -exec sort -u {} +

또는 Zsh를 사용하는 경우:

sort -u /var/lib/dpkg/info/*.list(mm-10)

관련 정보