知っておくとちょっと便利!パッケージマネージャについて4 ~Debian 系システム編・続き~

今号は、前号の「パッケージマネージャについて」の続きになります!
今回は Debian 系システムの apt で、以前紹介できなかったサブコマンドについてご紹介します。

apt の便利なサブコマンド

  • パッケージの情報を表示
    apt-cache show コマンドを実行すると、特定のパッケージの詳細な情報を表示します。

    例えば、git というパッケージの情報を表示する場合は、下記の様なコマンドになります。

    # apt-cache show git
    …
    Package: git
    Architecture: amd64
    Version: 1:2.34.1-1ubuntu1.6
    Multi-Arch: foreign
    Priority: optional
    Section: vcs
    Origin: Ubuntu
    Maintainer: Ubuntu Developers 
    original-Maintainer: Jonathan Nieder 
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Installed-Size: 18484
    Provides: git-completion, git-core
    Depends: libc6 (>= 2.34), libcurl3-gnutls (>= 7.56.1), libexpat1 (>= 2.0.1), libpcre2-8-0 (>= 10.34), zlib1g (>= 1:1.2.0), perl, liberror-perl, git-man (= 1:2.34.1-.)
    Recommends: ca-certificates, patch, less, ssh-client
    Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit, git-doc, git-email, git-gui, gitk, gitweb, git-cvs, git-mediawiki, git-svn
    …
    (長いため省略)
    

    この時、結果にはアーキテクチャ、パッケージバージョン、ライセンス情報、依存パッケージ (Depends) の情報など、様々な情報が表示されます。

    なお、上記のコマンドはネットワーク上のリポジトリから情報を取得してくるため、対象のパッケージがインストールされていなくても情報が表示されます。

  • パッケージの依存関係を表示
    apt-cache depends コマンドを実行すると、特定のパッケージの依存関係を表示します。
    例えば、git というパッケージと依存関係のあるパッケージ一覧を表示する場合は、下記の様なコマンドになります。
    依存関係の情報は apt-cache show でも確認できますが、apt-cache depends の方が整理された状態で、より分かりやすく表示されます。
    # apt-cache depends git
      Depends: libc6
      Depends: libcurl3-gnutls
      Depends: libexpat1
      Depends: libpcre2-8-0
      Depends: zlib1g
      Depends: perl
      Depends: liberror-perl
      Depends: git-man
      Depends: git-man
      Recommends: ca-certificates
      Recommends: patch
        patch:i386
      Recommends: less
        less:i386
      Recommends: 
        openssh-client
        openssh-client:i386
      Suggests: gettext-base
        gettext-base:i386
      Suggests: git-daemon-run
      Suggests: git-daemon-sysvinit
      Suggests: git-doc
      Suggests: git-email
      Suggests: git-gui
      Suggests: gitk
      Suggests: gitweb
      Suggests: git-cvs
      Suggests: git-mediawiki
      Suggests: git-svn
    

    この時、結果にはDepends、Recommends、Suggests という 3種類の情報が表示されます。

    ・Depends:対象のパッケージが動作するために必須となる、依存パッケージ
    ・Recommends:依存パッケージではないが、インストールが推奨されるパッケージ
    ・Suggests:依存パッケージではないが、あると便利な機能を提供するパッケージ

    パッケージをインストールする際、デフォルトの動作では Depends、Recommends のパッケージがインストールされます。

    ただし、–no-install-recommends オプションを指定した場合 Recommends はインストールされず、Depends のパッケージのみがインストールされます。

    # apt-get install --no-install-recommends git
    
  • パッケージのリストを表示
    apt list コマンドを実行すると、特定の条件に合致するパッケージのリストを表示します。
    例えば、git という文字列から始まるパッケージのリスト (一覧) を表示する場合は、下記の様なコマンドになります。
    # apt list git*
    …
    git-absorb/jammy 0.6.6-2build2 amd64 [installed]
    git-all/jammy-updates,jammy-updates,jammy-security,jammy-security, 1:2.34.1-1ubuntu1.11 all
    git-annex-remote-rclone/jammy,jammy 0.6-1 all
    git-annex/jammy 8.20210223-2ubuntu2 amd64
    git-autofixup/jammy,jammy 0.003001-2 all
    git-big-picture/jammy,jammy 1.1.1-1 all
    git-build-recipe/jammy,jammy 0.3.6 all
    git-buildpackage-rpm/jammy,jammy 0.9.25 all
    git-buildpackage/jammy,jammy 0.9.25 all
    git-bump/jammy,jammy 1.1.0-2 all
    …
    (長いため省略)
    

    上記は、ご利用環境で有効になっているリポジトリから、指定した条件でパッケージを検索しています。

    また、上記の条件に併せてインストール済みパッケージのみを抽出することができます。

    例えば、git という文字列から始まるパッケージのうち、インストール済みのパッケージのみを表示する場合は、下記の様なコマンドになります。

    # apt list --installed git*
    

補足:apt 関連のコマンドの実行履歴は確認できる?

apt には dnf history のようなサブコマンドはありません。
そのため /var/log/apt 配下に出力されるログから確認する必要があります。

/var/log/apt 配下には、下記の様なログが出力されます。

  • /var/log/apt/history.log
    パッケージのインストール/アップデート/削除などの実行履歴を記録するログです。
  • /var/log/apt/term.log
    パッケージのインストール/アップデート/削除などを実行した際、コンソール上に表示された内容を記録するログです。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です