概要
この記事はDebian系のパッケージ管理で使われるコマンド、aptについて書いたものです。
apt update
apt upgrade
apt dist-upgrade
この3つの違いが気になったので、調べてまとめました。
↓ パパッと知りたい人向け
コマンド | 意味 |
---|---|
update | パッケージ情報を更新するコマンド(アップデートできるものを示す) |
upgrade | インストールされているパッケージを更新するコマンド(現行の依存関係を重視) |
dist-upgrade | ディストリビューション全体を最新版にアップグレードする(必要に応じて依存関係を見直す) |
以降、ひとつずつ詳しく載せていきます。
この記事は初学者が書いています
載っている情報に間違いのある可能性がありますので、ご了承ください。
apt update
apt update
は、アップデートが可能なパッケージの情報を更新します。
具体的な処理内容は、/etc/apt/sources.list
に書かれているリストに基づいて、リポジトリからパッケージインデックスファイルを取得します。
その後、そのファイルを/var/lib/apt/lists
に納めるという流れです。
リポジトリとは?
ソフトウェアのデータベースのことです。そういうサーバーがあるらしいです。
パッケージインデックスファイルとは?
ソフトウェアデータベース(リポジトリ)にあるパッケージ情報のことで、新たな更新やインストールがあった場合の更新情報が記録されています。ゲームの最新パッチみたいなものですかね。
パッケージの更新はしない
更新やインストールができるパッケージ一覧を更新するだけで、実際に行わない。
apt upgrade
実際にパッケージを更新するコマンド。
apt updateで手に入れた最新情報を使って、パッケージの更新をします。
このコマンドでは、現行の依存関係に気を配り、維持しようとします。
もう少しかみ砕いて書くと、最新版パッケージに必要な新規パッケージの追加や、使わなくなったパッケージの削除はしません。
これは新規インストールや削除が、システムに予想外の被害を発生させないためです。
さらに、upgradeが対象にしているのは、インストール済みパッケージだけで、OSの心臓部分であるカーネルに関しては更新しません。
apt upgrade
まとめ
・パッケージ情報のみ更新する(新規インストール, 削除はしない)
・現状の依存関係を維持する
以上の2点を抑えましょう。
apt dist-upgrade
upgradeとほぼ同じ。
違うのは新しい依存関係を適用することで新しいパッケージのインストールや、使わなくなったパッケージを削除してくれるところです。
カーネル関係も更新してくれるので、ディストリビューション全体のアップデートと考えていいと思います。
なぜこのコマンドをするの?
Ubuntuを入れた状態では、構成するソフトウェアが最新の状態ではありません。
各種アプリケーションは、パッケージとして用意されているので、それを更新することで最新版になれます。
Ubuntuでは、このパッケージを管理するのにAPTという仕組みを使っています。
APTはapt
コマンドを使って、インターネット上にあるパッケージを保存しているサイトから、最新のモノを手に入れてアップデートしてくれます。
これが上で説明していたコマンドをする理由です。
最後におまけ
apt upgrade
をするときに、-y
をつけることで途中の認証をスキップできます。