Instiq
第4章 · リポジトリとパッケージ管理·v1.0.0·更新 2026/7/6·読了目安 約11分

変更要約: 初版(主題1.04・副主題1.04.1〜1.04.4に対応)

4.1aptコマンドによるパッケージ管理

この節の要点

Debian/Ubuntu 系のリポジトリを利用したパッケージ管理を学びます。aptapt-getapt-cacheapt-file)によるインストール・アップデート・アンインストール、特定のファイルを含むパッケージの検索、/etc/apt/sources.list によるリポジトリ設定を押さえます。

Linux のソフトウェア導入は「どこかからダウンロードして実行」ではなく、リポジトリ(配布サーバー)からパッケージを取り寄せ、依存関係ごと管理するのが基本です。Debian/Ubuntu 系の窓口が apt で、依存関係の自動解決が最大の価値です。

4.1.1apt の基本操作

  • インストール=apt install nginx/削除=apt remove nginx(設定も消すなら apt purge)/索引の更新apt update(リポジトリの最新情報を取得)/パッケージの更新apt upgrade
  • apt-getapt-cache=従来からの低レベルコマンド(apt はこれらの主要機能を統合した対話向けの新顔)。検索・情報表示=apt-cache search キーワードapt-cache show パッケージ(apt では apt searchapt show)。
  • 特定のファイルを含むパッケージを探すapt-fileapt-file search /usr/bin/convert未インストールのパッケージも検索対象。要 apt-file update)。
  • リポジトリの定義=/etc/apt/sources.list(および /etc/apt/sources.list.d/)。ここに列挙された URL から索引とパッケージを取得する。
試験ポイント

「apt update=索引の更新(パッケージ自体は更新しない)/apt upgrade=パッケージの更新」 の区別が最頻出です。「未インストールも含めてファイル→パッケージを逆引き=apt-file」「リポジトリ定義=/etc/apt/sources.list」 もセットで覚えます。

「nginx を最新にしたいのに古いまま」というトラブルの典型原因が、apt update の意味の誤解です。apt は手元に持っている索引(パッケージ一覧のカタログ)を基準に動くため、まず apt update でカタログを新しくし、それから apt upgrade(または apt install nginx で個別に)を実行する2段構えが正しい手順です。apt removeapt purge の違いも運用で効きます:remove は本体だけを消して設定ファイルを残す(再インストールで設定復活)、purge は設定ごと消します。「ImageMagick の convert コマンドはどのパッケージに入っている?」のような逆引きは、インストール済みなら dpkg -S(次節)、未インストールまで含めるなら apt-file と、対象範囲でツールを選びます。企業内ミラーや追加リポジトリを使う場合は /etc/apt/sources.list に行を足しますが、その後の apt update を忘れると新リポジトリは反映されません。

目的コマンド要点
索引を最新化apt updateパッケージは更新しない
全パッケージを更新apt upgradeupdate 後に実行
設定ごと削除apt purgeremove は設定を残す
ファイル→パッケージ逆引きapt-file search未インストールも対象
注意

ひっかけ: 「apt update を実行すればインストール済みパッケージが最新版になる」は誤りです。update が更新するのはリポジトリの索引だけで、パッケージ本体の更新は upgrade です。また「apt remove は設定ファイルも削除する」も誤り=設定ごと消すのは purge です。

apt update/upgrade の2段・apt-file 逆引き・sources.list の関係図。
update は索引・upgrade が本体

4.1.2この節のまとめ

  • update=索引・upgrade=本体の2段構え。install/remove/purge・検索は apt-cache(apt search)
  • ファイル逆引き=apt-file(未インストール含む)・リポジトリ定義=/etc/apt/sources.list

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. Ubuntu サーバーで、リポジトリの最新のパッケージ情報を取得してからインストール済みパッケージを最新化したい。正しい手順は?

Q2. まだインストールしていないパッケージも含めて、「/usr/bin/convert というファイルを提供するパッケージ」を調べたい。適切なコマンドは?

Q3. apt が参照するリポジトリの URL を定義しているファイルはどれ?

理解度を確認第4章「リポジトリとパッケージ管理」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。