①Linux入門

apt完全ガイド【Ubuntuのソフト管理を極める】

①Linux入門
記事内に広告が含まれています。

「ソフトウェアをインストールしたいけど、apt updateapt upgrade ってどう違うの?」

この記事では、Ubuntu / Debian系Linuxのパッケージ管理コマンド apt を完全解説します。インストール・更新・削除の操作から、リポジトリの仕組みまでわかりやすく説明します。

aptとは? パッケージ管理の基本

apt(Advanced Package Tool)は、Ubuntu / Debian系Linuxでソフトウェアを管理するためのコマンドです。インターネット上の「リポジトリ(パッケージの倉庫)」からソフトウェアをダウンロード・インストール・更新・削除できます。

Windowsの「Microsoft Store」やmacOSの「Homebrew」に相当する仕組みです。apt は内部的に dpkg(低レベルのパッケージ管理ツール)を使っており、依存関係の解決を自動で行います。

なお aptapt-get の使いやすい版です。日常的な操作は apt、シェルスクリプトでは後方互換性のある apt-get を使うのが慣例です。

update と upgrade の違い(最重要)

最も混乱しやすい点がここです。update はリストの更新、upgrade は実際のインストールです。

# ① まずリストを最新化(必ず最初に実行する)
$ sudo apt update

# ② インストール済みパッケージを最新版に更新
$ sudo apt upgrade

# ③ 2つをまとめて実行(よく使うパターン)
$ sudo apt update && sudo apt upgrade -y

-y オプションは「確認プロンプトに自動でyes」という意味です。スクリプトや自動化で使います。

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

# 基本構文
$ sudo apt install パッケージ名

# nginxをインストール
$ sudo apt install nginx

# 複数パッケージを同時にインストール
$ sudo apt install nginx git curl

# 確認プロンプトを自動でyes(-y)
$ sudo apt install -y nginx

# 特定バージョンを指定してインストール
$ sudo apt install nginx=1.18.0-0ubuntu1

パッケージの削除

削除コマンドは3種類あり、何を残すかによって使い分けます。

# パッケージを削除(設定ファイルは残る)
$ sudo apt remove nginx

# パッケージを設定ファイルごと完全削除
$ sudo apt purge nginx

# 不要になった依存パッケージを削除
$ sudo apt autoremove

# 完全クリーンアップ(purge + autoremove を組み合わせる)
$ sudo apt purge nginx && sudo apt autoremove

パッケージの検索・情報確認

# パッケージを名前・説明文から検索
$ apt search nginx

# パッケージの詳細情報を表示(バージョン・依存関係など)
$ apt show nginx

# インストール済みパッケージの一覧
$ apt list --installed

# 更新可能なパッケージの一覧
$ apt list --upgradable

リポジトリの仕組み

apt がパッケージを取得する場所を「リポジトリ」といいます。リポジトリの一覧は /etc/apt/sources.list/etc/apt/sources.list.d/ ディレクトリに記述されています。

# sources.list の内容を確認
$ cat /etc/apt/sources.list

# サードパーティリポジトリの追加例(PPAの場合)
$ sudo add-apt-repository ppa:リポジトリ名
$ sudo apt update    # 追加後は必ずupdate

# GPGキーを使ったリポジトリ追加(現在の推奨方法)
$ curl -fsSL https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/example.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/example.gpg] https://example.com/apt stable main" | sudo tee /etc/apt/sources.list.d/example.list
$ sudo apt update

キャッシュのクリア

# ダウンロード済みパッケージのキャッシュを削除
$ sudo apt clean

# 古いバージョンのキャッシュのみ削除
$ sudo apt autoclean

# ディスク使用量の確認
$ du -sh /var/cache/apt/archives/

よく使うaptコマンド早見表

apt vs apt-get どちらを使う?

場面推奨理由
ターミナルでの手動操作apt進捗バー表示など視認性が高い
シェルスクリプト・自動化apt-get出力形式が安定していて後方互換性あり
パッケージ情報の詳細確認apt-cache showより詳細な情報を取得できる

apt update / upgrade / install の関係

コマンド何をするか実行タイミング
apt updateパッケージリストを最新化(実際のインストールはしない)upgrade/install の前に必ず実行
apt upgradeインストール済みパッケージを最新版に更新定期的なメンテナンス時
apt install パッケージ名新しいパッケージをインストール新しいソフトを入れるとき

remove / purge / autoremove の使い分け

コマンド何を削除するか設定ファイル
apt remove パッケージ名パッケージ本体を削除残る
apt purge パッケージ名パッケージ本体+設定ファイルを削除削除される
apt autoremove不要になった依存パッケージを削除

よく使うaptコマンド早見表

コマンド説明
sudo apt updateパッケージリスト更新
sudo apt upgrade全パッケージ更新
sudo apt install nginxnginxをインストール
sudo apt remove nginxnginxを削除(設定残す)
sudo apt purge nginxnginxを完全削除
sudo apt autoremove不要パッケージを削除
apt list –installedインストール済み一覧
apt search キーワードパッケージを検索
apt show パッケージ名パッケージ情報を表示

まとめ:この記事で学んだこと

  • apt update:パッケージリストをリポジトリから最新化(実際のインストールは行わない)
  • apt upgrade:インストール済みパッケージを最新版に更新
  • apt install:新しいパッケージをインストール(依存関係も自動解決)
  • apt remove:削除(設定ファイルは残る)
  • apt purge:設定ファイルごと完全削除
  • apt autoremove:不要になった依存パッケージを削除
  • 日常操作は apt、スクリプトは apt-get を使うのが慣例

関連記事

プロセス管理完全ガイド【ps/kill/systemctl】

Linuxユーザー・グループ管理【useradd/usermod完全解説】

📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。

コメント

タイトルとURLをコピーしました