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

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

yum/dnf と apt の違いは?

Red Hat 系システムで使用される yum/dnf と Debian 系システムで使用される apt では、下記の様な違いがあります。

  • yum/dnf は RPM 形式のパッケージを使用するのに対し、apt は DEB 形式のパッケージを使用します。
  • yum/dnf は /etc/yum.repos.d 配下の repo ファイルを使用してリポジトリを管理するのに対し、apt は /etc/apt/sources.list.d 配下のファイルを使用してリポジトリを管理します。
  • yum/dnf は yum、dnf コマンドにサブコマンドを指定してパッケージ管理をするのに対し、apt は apt-get や apt-cache コマンドなど、様々なコマンドを使用してパッケージ管理をします (この点については次節で詳しく説明します)。

基本の操作方法 (検索、インストール、アップデート、削除)

apt-get コマンドの基本操作 (パッケージの検索、インストール、アップデート、削除) について、それぞれ説明します。

  • 検索
    特定のパッケージを検索するには、apt-cache コマンドを実行します。
    例えば、git というパッケージを検索する場合は、下記の様なコマンドになります。

    # apt-cache search git
    eject - Linux での CD のイジェクトおよび CD チェンジャー操作
    freetype-doc - FreeType 2 font engine, development documentation
    fwupd - ファームウェア更新デーモン
    fwupd-doc - Firmware update daemon documentation (HTML format)
    gir1.2-geocodeglib-1.0 - geocode-glib ライブラリの introspection データ
    gir1.2-gxps-0.1 - GObject introspection data for the gpxs library
    git - 速く、スケーラブルな分散型リビジョン管理システム
    repo - repository management tool built on top of git
    steam-installer - Intaller for valve's Steam digital software delivery system
    w3-recs - Recommendations of the World Wide Web Consortium (W3C)
    xtrs - emulator for TRS-80 Model I/III/4/4P computers
    steam - valve's Steam digital software delivery system
    

    この時、結果には git という文字列を含むパッケージすべてと、要約 (説明文) が表示されます。

  • インストール
    パッケージをインストールするには、apt-get install コマンドを実行します。
    例えば、git というパッケージをインストールする場合は、下記の様なコマンドになります。

    # apt-get install git
    パッケージリストを読みjんでいます... 完了
    依存関係ツリーを作成しています... 完了
    状態情報を読み取っています... 完了
    …
    以下のパッケージが新たにインストールされます:
     git git-man liberror-perl
    アップグレード: 0個、新規インストール: 3個、削除: 0個、保留: 592個。
    4,146 kb のアーカイブを取得する必要があります。
    この操作後に追加で 21.0 MB のディスク容量が消費されます。
    続行しますか? [Y/n]
    

    この時、指定したパッケージのみではなく git と依存関係があるパッケージも併せてインストールされます。

    なお、上記の様にインストールを開始する前に 続行しますか? [Y/n] の文字列が表示され、インストールを続行するかを聞かれます。Y (もしくは y) を押下するとインストール続行、n を押下するとインストールを中止します。

  • アップデート
    パッケージをアップデートするには、apt-get upgrade コマンドを実行します。
    例えば、既にインストール済みの apt というパッケージをアップデートする場合は、下記の様なコマンドになります。

    # apt-get upgrade apt
    パッケージリストを読みjんでいます... 完了
    依存関係ツリーを作成しています... 完了
    状態情報を読み取っています... 完了
    アップグレードパッケージを検出しています... 完了
    …
    以下のパッケージはアップグレードされます:
     accountsservice alsa-ucm-conf amd64-microcode apparmor apport apport-gtk apt
     apt-utils avahi-autolpd avahi-daemon avahi-utils base-files bash
     bind9-dnsutils bind9-host bind9-libs bluez bluez-cups bluez-obexd brltty
    …
    (長いため省略)
    …
    アップグレード: 570個、新規インストール: 0個、削除: 0個、保留: 22個。
    344 standard security updates
    786 MB 中 682 MB のアーカイブを取得する必要があります。
    この操作後に追加で 299 MB のディスク容量が消費されます。
    続行しますか? [Y/n]
    
  • 削除
    パッケージをシステム上から削除するには、apt-get remove コマンドを実行します。
    例えば、既にインストール済みの git というパッケージを削除する場合は、下記の様なコマンドになります。

    # apt-get remove git
    パッケージリストを読みjんでいます... 完了
    依存関係ツリーを作成しています... 完了
    状態情報を読み取っています... 完了
    …
    以下のパッケージは「削除」されます:
     git
    アップグレード: 0個、新規インストール: 0個、削除: 1個、保留: 592個。
    この操作後に追加で 18.9 MB のディスク容量が解放されます。
    続行しますか? [Y/n]
    

apt-cache、apt-get コマンドについての補足事項

  • apt-get install コマンド実行時に対象パッケージが既にインストール済みである場合はアップデートが実行され、反対に apt-get upgrade コマンド実行時に対象パッケージがインストールされていない場合はインストールが実行されます。
  • 特定のパッケージではなく、システム全体のパッケージをアップデートしたい場合は、パッケージの指定なしで apt-get upgrade コマンドを使用します。
    ただし、このコマンドはカーネルやその他の重要なシステムコンポーネントをインストールしないため、これらを含めてアップグレードするには apt-get dist-upgrade コマンドを使用します。
  • 特定のパッケージではなく、システム全体で他のどのパッケージからも必要とされていない (依存関係がない) パッケージを自動的に削除するために、apt-get autoremove コマンドが使用できます。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

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

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

コメントを残す

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