GNU/Linux >> Linux の 問題 >  >> Debian

Debian –インストール日ごとにAptベースのシステムのパッケージを一覧表示しますか?

インストールされたパッケージをインストール日別に一覧表示するにはどうすればよいですか?

私はdebian/ubuntuでこれを行う必要があります。他のディストリビューションの回答もいいでしょう。

特定のコードをコンパイルするためにたくさんのものをインストールしましたが、インストールする必要のあるパッケージのリストを取得したいと思います。

承認された回答:

Red HatのようなRPMベースのディストリビューションは簡単です:

rpm -qa --last

Debianやその他のdpkgベースのディストリビューションでは、特定の問題も簡単です:

grep install /var/log/dpkg.log

ログファイルがローテーションされていない場合は、次のことを試してください。

grep install /var/log/dpkg.log /var/log/dpkg.log.1

一般的に、dpkg およびapt dpkg-queryにそのようなフィールドがないため、インストール日を追跡していないようです。 マニュアルページ。

そして最終的には古い/var/log/dpkg.log.* ファイルはログローテーションによって削除されるため、システムの履歴全体が提供されるとは限りません。

数回表示される1つの提案(このスレッドなど)は、/var/lib/dpkg/infoを確認することです。 ディレクトリ。
そこにあるファイルは、次のようなものを試すことを提案しています。

ls -t /var/lib/dpkg/info/*.list | sed -e 's/.list$//' | head -n 50

選択に関する質問に答えるために、ここに最初のパスがあります。

日付ごとにパッケージのリストを作成する

$ find /var/lib/dpkg/info -name "*.list" -exec stat -c $'%nt%y' {} ; | 
    sed -e 's,/var/lib/dpkg/info/,,' -e 's,.listt,t,' | 
    sort > ~/dpkglist.dates

インストールされているパッケージのリストを作成する

$ dpkg --get-selections | sed -ne '/tinstall$/{s/[[:space:]].*//;p}' | 
    sort > ~/dpkglist.selections

2つのリストに参加する

$ join -1 1 -2 1 -t $'t' ~/dpkglist.selections ~/dpkglist.dates 
    > ~/dpkglist.selectiondates

何らかの理由で、私にとってはそれほど多くの違いが出力されないため、--get-selectionsについてバグまたは無効な仮定がある可能性があります。 意味します。

find . -mtime -<days> またはhead -n <lines> 、出力形式を必要に応じて変更します。例:

$ find /var/lib/dpkg/info -name "*.list" -mtime -4 | 
    sed -e 's,/var/lib/dpkg/info/,,' -e 's,.list$,,' | 
    sort > ~/dpkglist.recent

$ join -1 1 -2 1 -t $'t' ~/dpkglist.selections ~/dpkglist.recent 
    > ~/dpkglist.recentselections

過去4日間にインストールされた(変更された?)選択のみを一覧表示します。

おそらくsortを削除することもできます dpkg --get-selectionsで使用されるソート順を確認した後のコマンド findを作成します より効率的なコマンド。


Debian
  1. Debian – Aptプリファレンスで非フリーをブロックする方法は?

  2. Debian –インタラクティブなプロンプトで個々のDebian 8パッケージのインストールを自動化しますか?

  3. Docker(Debianベースのオペレーティングシステム)をインストールする

  1. Debian /UbuntuLinuxシステムにインストールされているすべてまたは特定のパッケージを一覧表示する方法

  2. Ubuntu/Debianでパッケージを管理するためのAptgetコマンドの例

  3. Ubuntu、Debian、または Linux Mint でリポジトリ内のすべてのパッケージを一覧表示する方法 [APT]

  1. Debianベースのシステム、たった1つのGUIプログラム、他には何もありませんか?

  2. Debian – Devuan / debianのインストールを開始できませんか?

  3. Debian – 32ビット(x86)のDebianベースのシステムを64ビットに変換する方法は?