特定のaptまたはdebパッケージが最後に更新された日時を確認してください。

特定のaptまたはdebパッケージが最後に更新された日時を確認してください。

特定のパッケージが最後に更新された日時を返すコマンドはありますか?現在私はxorgがいつ最後に更新されたかに興味があります(いくつかのソフトウェアには複数のパッケージが含まれていることを知っています)、これはさまざまなパッケージについてよく知りたいことです。私はLinux Mintを使用しています。 (はい、Mintに更新履歴のGUI機能があることはわかっていますが、スクロールが必要で人のミスが発生する可能性があります。)

ベストアンサー1

特定のパッケージでは、

zgrep -h "status installed package" /var/log/dpkg.log* | sort | tail -n 1

パッケージが最後に正常にインストールされた時刻を通知します。これはパッケージの状態を反映しているため、アップグレードも含まれます。これにはDebian派生物のすべてのパッケージ操作が含まれているため、どのパッケージ管理ツール(直接、PackageKitなど)をdpkg使用しても関係なく機能します。dpkgapt

例えば、

$ zgrep -h "status installed xserver-xorg-core" /var/log/dpkg.log* | sort | tail -n 1
2022-08-07 06:40:54 status installed xserver-xorg-core:amd64 2:1.20.11-1+deb11u2

そのような場合apt(直接使用しない限り、通常はそうですdpkg)、履歴からより多くの情報を取得できます。

zcat -f $(ls -tr /var/log/apt/history.log*)|awk -v RS= '/package/{s=$0}; END{print s}'

これは、パッケージが最後に作業に参加した時間aptとそれに影響を与えたコマンドを伝えます。たとえば、

$ zcat -f $(ls -tr /var/log/apt/history.log*)|awk -v RS= '/xserver-xorg-core/{s=$0}; END{print s}'
Start-Date: 2022-08-07  06:40:51
Commandline: /usr/bin/unattended-upgrade
Upgrade: xserver-xorg-core:amd64 (2:1.20.11-1+deb11u1, 2:1.20.11-1+deb11u2)
End-Date: 2022-08-07  06:41:01

(わかりましたなぜ`ls`を解析しないのですか*(そしてどうすればいいですか?)ここでは、ファイル名が安全であると仮定します。これは、デフォルトのログ回転のデフォルト設定の場合です。また、IFSデフォルト値に設定されているとします。 )

パッケージファイルchangelog.Debian.gzの一番上のエントリは、ディストリビューションで最後に変更された時期を示します。

$ zcat /usr/share/doc/xserver-xorg-core/changelog.Debian.gz | head -n 7
xorg-server (2:1.20.11-1+deb11u2) bullseye-security; urgency=medium

  * xkb: add request length validation for XkbSetGeometry (CVE-2022-2319)
  * xkb: swap XkbSetDeviceInfo and XkbSetDeviceInfoCheck (CVE-2022-2320)
  * Closes: #1014903.

 -- Emilio Pozuelo Monfort <[email protected]>  Fri, 05 Aug 2022 10:00:36 +0200

おすすめ記事