ubuntuのaptでパッケージ管理を基礎を学ぼう!

目次

aptとは?

aptの概要

aptは「Advanced Package Tool」の略で、DebianベースのLinuxディストリビューションで使用されるパッケージ管理システムの一部です。パッケージ管理は、Linuxシステムのソフトウェアを効率的にインストール、アップデート、削除、管理するために重要です。

aptの歴史

Debianは1993年に設立されたオープンソースのLinuxディストリビューションの一つで、aptはDebianプロジェクトから派生しました。Debianの特徴の一つは強力なパッケージ管理システムです。Debianパッケージシステムは、初期にはdpkg(Debian Package)を中心としていましたが、より高度な依存関係の解決やリポジトリの自動管理を目的としてaptが開発されました。

apt-getは、1998年にDebianの一部として登場しリポジトリからのパッケージの自動ダウンロードとインストール、依存関係の解決、アップデート管理などを行うために使用されました。従来のdpkgでは手動での依存関係解決が必要でしたが、apt-getによってパッケージ管理がより効率的になりました。

その後、よりユーザーフレンドリーなインターフェースを提供するために、2014年頃にaptコマンドが導入されました。aptは、apt-getに比べてわかりやすい出力と複数の機能を一つのコマンドセットに統合した操作性が特徴です。例えばapt-get、apt-cache、apt-configなどの機能が統合され、aptとして単一のコマンドセットとして使えるようになっています。

apt-getとapt

UbuntuやDebianの公式ドキュメントでは、ユーザーフレンドリーな操作を目的としてaptの使用が推奨されています。特に、一般的なパッケージ管理作業ではaptのほうが使いやすく、明確な出力と操作性を提供します。ただし、特殊な用途や高度な操作を行う場合には、apt-getの機能が必要になることもあります。

aptは、apt-getよりも使いやすく、ユーザーフレンドリーなパッケージ管理コマンドとして設計されています。特に一般ユーザーやシステム管理者が日常的に行う操作に適しており、直感的なインターフェースと出力を提供します。対して、apt-getは、特殊な機能や高度な操作に適しており、従来のパッケージ管理作業を行う際に使用されることが多いです。どちらを選ぶかは、目的と操作の必要性によります。

リポジトリ

リポジトリは、Linuxディストリビューションがソフトウェアパッケージを提供するためのオンラインサーバーです。UbuntuやDebianなどのディストリビューションは、複数のリポジトリを持っており各種ソフトウェアを提供しています。

  • /etc/apt/sources.listファイル
    メインのリポジトリを定義するファイルで、UbuntuやDebianの公式リポジトリなどが含まれます。
  • /etc/apt/sources.list.d/ディレクトリ
    追加のリポジトリを定義するファイルを置く場所で、非公式リポジトリやPPA(Personal Package Archive)なども含まれることがあります。

aptの基本的な使い方

前提

ubuntu 20.04.3 LTS

パッケージのアップデート

aptを使用するには、通常ターミナルを開いてコマンドを実行します。以下に、一般的なaptコマンドとその使い方をいくつか示します。aptはパッケージのインストール、削除、アップグレードなど、システム全体に影響を与える操作を行い、その際にシステムの設定や重要なファイルの変更が含まれます。そのため、実行するためには管理者権限(root権限)が必要です。通常はコマンドの前にsudoをつけて実行を行います。

apt updateはシステムが使用しているパッケージリポジトリのリストを更新するためのコマンドです。リポジトリのパッケージリストを更新しますが、パッケージリストを最新の状態にするだけでシステムのアップグレードは行いません。このコマンドを実行すると、システムはリポジトリの情報をダウンロードし、システム上のパッケージリストを更新します。これには、パッケージ名、バージョン、依存関係、リポジトリのURLなどが含まれます。

sudo apt update

パッケージのアップグレード

apt updateによって更新されたパッケージリストを使って、システム上の既存パッケージをアップグレードします。このコマンドは、既存パッケージのアップグレードのみを行います。新しいパッケージをインストールしたり、既存パッケージを削除したりはしません。つまり、システム上の既存のパッケージのバージョンを上げることを目的としています。システムのアップデートを行う際には、まずapt updateを実行してからapt upgradeを実行します。

sudo apt upgrade

パッケージのインストール

apt updateで更新したパッケージリポジトリのリストに基づいて指定したパッケージをインストールします。インストールする際はapt upgradeと同様にapt updateを実行してapt installを実行します。

sudo apt install <パッケージ>

パッケージの削除

パッケージを削除するコマンドにはapt removeとapt purgeがあります。前者はパッケージの設定ファイルを残しますが、後者は設定ファイルを含めて完全に削除をなります。状況に応じて使い分けてもよいですが、私は余計なファイルを残したくないのでpurgeを利用することが多いです。

sudo apt remove <パッケージ>
sudo apt purge <パッケージ>

パッケージのキャッシュクリア

aptは、インストールやアップグレードのためにダウンロードしたパッケージファイルをシステム内のキャッシュディレクトリに保存します。これにより同じパッケージを再ダウンロードせずにインストールや再インストールができるので、インターネット帯域幅と時間を節約できます。パッケージのインストールやアップグレードが完了し、再利用の必要がない場合はキャッシュをクリアしてディスクスペースを確保するときに使います。

sudo apt clean

パッケージの検索

システムが参照しているリポジトリ(/etc/apt/sources.listや/etc/apt/sources.list.d/)内のパッケージを検索します。

sudo apt search <キーワー>

パッケージの情報確認

パッケージに関するメタ情報を確認します。具体的にはパッケージ名、バージョン、アーキテクチャ、依存関係、推奨パッケージ、提案パッケージ、リポジトリ情報などを取得することができます。

sudo apt show <キーワー>

まとめ

utbuntuの基本となるaptのコマンドをまとめました。installやupdateはよく使うコマンドと思いますが、削除系や確認系のコマンドも覚えておくとaptの管理がしやすくなりますね。便利な使い方がありましたら適宜更新していきます!

参考

Linuxをマスターしたい人のための実践Ubuntu

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Hack Luck Labの管理人hakula(ハクラ)です。2012年にSIerに新卒入社し、SE、新規事業、情シスを担当。その後、ITコンサルを経て、現在はバックエンドエンジニア。過去にはC#、SQL Server、JavaScriptで開発を行い、現在はPython、Rest Framework、Postgresql、Linux、AWSなどを使用しています。ノーコードツールやDX関連も興味あり。「技術は価値を生むために使う」ことが信条で、顧客や組織への貢献を重視しています。

目次