APTコマンドでインストールされているすべてのファイルを一覧表示する方法

APTコマンドでインストールされているすべてのファイルを一覧表示する方法

頑張ったAPTパッケージでインストールされているすべてのファイルを一覧表示するには?。しかし、問題は、例えば次のとおりです。

実行すると、sudo apt install libvirt-daemon-system1つのパッケージしかインストールされません(この場合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

コマンドの後に生成されたすべてのファイルのリストを取得する1つのオプションは、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

その後、2つのファイルを比較して変更内容を確認できます。例えばそして

comm files-{before,after}

または

meld files-{before,after}

これは、パッケージのアップグレード中のパッケージの削除およびファイルの削除にも適用されます。ユーザーのfind方法では削除された内容を確認できません。

新しい(またはアップグレードされた)パッケージでインストールされたファイルにのみ興味がある場合は、最近変更されたファイルのリストを表示できます。X分、例えば10:

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

またはZshを使用している場合:

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

関連情報